[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 76cc87e 2/2: Merge commit 'ebee84452d6c68aa4032ad958b0b1b9
From: |
Stephen Leake |
Subject: |
[elpa] master 76cc87e 2/2: Merge commit 'ebee84452d6c68aa4032ad958b0b1b9c0abb53ef' |
Date: |
Tue, 12 May 2020 18:26:24 -0400 (EDT) |
branch: master
commit 76cc87e99ac3c9d68d419619ab9358ebbb9ccecf
Merge: 2c1c3da ebee844
Author: Stephen Leake <address@hidden>
Commit: Stephen Leake <address@hidden>
Merge commit 'ebee84452d6c68aa4032ad958b0b1b9c0abb53ef'
---
externals-list | 1 +
packages/ada-mode/NEWS | 30 +
packages/ada-mode/README | 2 +-
packages/ada-mode/ada-compiler-gnat.el | 21 +-
packages/ada-mode/ada-core.el | 78 +-
packages/ada-mode/ada-gnat-xref.el | 15 +-
packages/ada-mode/ada-indent-user-options.el | 4 +-
packages/ada-mode/ada-mode.el | 29 +-
packages/ada-mode/ada-mode.info | 152 +-
packages/ada-mode/ada-mode.texi | 78 +-
packages/ada-mode/ada-prj.el | 7 +
packages/ada-mode/ada-process.el | 4 +
packages/ada-mode/ada-skel.el | 47 +-
packages/ada-mode/ada-stmt.el | 7 +
packages/ada-mode/ada-xref.el | 8 +
packages/ada-mode/ada.wy | 459 +-
packages/ada-mode/ada_lr1_parse_table.txt.gz | Bin 3555116 -> 5209667
bytes
packages/ada-mode/ada_mode_wisi_parse.gpr.gp | 23 +-
packages/ada-mode/ada_process_actions.adb | 1400 +-
packages/ada-mode/ada_process_actions.ads | 956 +-
packages/ada-mode/ada_process_lalr_main.adb | 30965 ++++++++++---------
packages/ada-mode/ada_process_lr1_main.adb | 718 +-
packages/ada-mode/ada_re2c.c | 3774 ++-
packages/ada-mode/build.sh | 42 +-
packages/ada-mode/gnat-core.el | 50 +-
packages/ada-mode/gpr-mode.el | 4 +-
packages/ada-mode/gpr-mode.info | 7 +-
packages/ada-mode/gpr-process.el | 2 +-
packages/ada-mode/gpr-query.el | 577 +-
packages/ada-mode/gpr.wy | 4 +-
packages/ada-mode/gpr_process_actions.adb | 70 +-
packages/ada-mode/gpr_process_actions.ads | 70 +-
packages/ada-mode/gpr_process_main.adb | 2967 +-
packages/ada-mode/gpr_process_main.ads | 2 +-
packages/ada-mode/gpr_query-process_refresh.adb.gp | 32 -
packages/ada-mode/gpr_query.adb | 451 +-
packages/ada-mode/gpr_re2c.c | 139 +-
packages/ada-mode/gpr_re2c_c.ads | 2 +-
packages/ada-mode/install.sh | 4 +-
.../ada-mode/wisi-ada-format_parameter_list.adb | 4 +-
packages/ada-mode/wisi-ada.adb | 312 +-
packages/ada-mode/wisi-ada.ads | 34 +-
.../wisitoken-parse-lr-mckenzie_recover-ada.adb | 784 +-
.../wisitoken-parse-lr-mckenzie_recover-ada.ads | 96 +-
packages/wisi/NEWS | 20 +
packages/wisi/README | 2 +-
packages/wisi/emacs_wisi_common_parse.adb | 5 +-
packages/wisi/gen_emacs_wisi_lr_parse.adb | 4 +-
packages/wisi/gen_emacs_wisi_lr_text_rep_parse.adb | 4 +-
packages/wisi/gen_run_wisi_lr_parse.adb | 4 +-
packages/wisi/gen_run_wisi_lr_text_rep_parse.adb | 4 +-
packages/wisi/recover_stats.adb | 10 +-
packages/wisi/run_wisi_common_parse.adb | 21 +-
packages/wisi/sal-gen_bounded_definite_stacks.ads | 4 +-
.../sal-gen_bounded_definite_vectors_sorted.adb | 18 +-
.../sal-gen_bounded_definite_vectors_sorted.ads | 43 +-
.../wisi/sal-gen_definite_doubly_linked_lists.adb | 26 +-
.../wisi/sal-gen_definite_doubly_linked_lists.ads | 38 +-
...sal-gen_definite_doubly_linked_lists_sorted.adb | 32 +-
...sal-gen_definite_doubly_linked_lists_sorted.ads | 45 +-
packages/wisi/sal-gen_graphs.ads | 4 +-
.../sal-gen_indefinite_doubly_linked_lists.adb | 14 +-
.../sal-gen_indefinite_doubly_linked_lists.ads | 7 +-
.../sal-gen_unbounded_definite_red_black_trees.adb | 13 +-
.../sal-gen_unbounded_definite_red_black_trees.ads | 7 +-
.../wisi/sal-gen_unbounded_definite_stacks.adb | 13 +-
.../wisi/sal-gen_unbounded_definite_stacks.ads | 27 +-
.../wisi/sal-gen_unbounded_definite_vectors.adb | 1169 +-
.../wisi/sal-gen_unbounded_definite_vectors.ads | 45 +-
.../sal-gen_unbounded_definite_vectors_sorted.adb | 32 +-
.../sal-gen_unbounded_definite_vectors_sorted.ads | 24 +-
packages/wisi/sal.adb | 4 +-
packages/wisi/standard_common.gpr | 4 +-
packages/wisi/wisi-prj.el | 290 +-
packages/wisi/wisi-process-parse.el | 41 +-
packages/wisi/wisi-run-indent-test.el | 21 +-
packages/wisi/wisi-skel.el | 47 +-
packages/wisi/wisi.adb | 744 +-
packages/wisi/wisi.ads | 153 +-
packages/wisi/wisi.el | 144 +-
packages/wisi/wisi.info | 1294 +
packages/wisi/wisi.texi | 812 +
packages/wisi/wisitoken-bnf-generate.adb | 103 +-
packages/wisi/wisitoken-bnf-generate_packrat.adb | 4 +-
packages/wisi/wisitoken-bnf-generate_utils.adb | 10 +-
packages/wisi/wisitoken-bnf-generate_utils.ads | 10 +-
packages/wisi/wisitoken-bnf-output_ada.adb | 6 +-
packages/wisi/wisitoken-bnf-output_ada_common.adb | 91 +-
packages/wisi/wisitoken-bnf-output_ada_emacs.adb | 9 +-
packages/wisi/wisitoken-bnf.ads | 30 +-
.../wisi/wisitoken-generate-lr-lalr_generate.adb | 460 +-
.../wisi/wisitoken-generate-lr-lalr_generate.ads | 18 +-
.../wisi/wisitoken-generate-lr-lr1_generate.adb | 92 +-
.../wisi/wisitoken-generate-lr-lr1_generate.ads | 20 +-
packages/wisi/wisitoken-generate-lr.adb | 1068 +-
packages/wisi/wisitoken-generate-lr.ads | 56 +-
packages/wisi/wisitoken-generate-lr1_items.adb | 157 +-
packages/wisi/wisitoken-generate-lr1_items.ads | 39 +-
packages/wisi/wisitoken-generate.adb | 141 +-
packages/wisi/wisitoken-generate.ads | 51 +-
packages/wisi/wisitoken-lexer-re2c.adb | 5 +-
packages/wisi/wisitoken-lexer-regexp.adb | 3 +-
.../wisitoken-parse-lr-mckenzie_recover-base.adb | 136 +-
...wisitoken-parse-lr-mckenzie_recover-explore.adb | 842 +-
.../wisitoken-parse-lr-mckenzie_recover-parse.adb | 15 +-
.../wisi/wisitoken-parse-lr-mckenzie_recover.adb | 720 +-
.../wisi/wisitoken-parse-lr-mckenzie_recover.ads | 89 +-
packages/wisi/wisitoken-parse-lr-parser.adb | 597 +-
packages/wisi/wisitoken-parse-lr-parser.ads | 7 +-
packages/wisi/wisitoken-parse-lr-parser_lists.adb | 80 +-
packages/wisi/wisitoken-parse-lr-parser_lists.ads | 57 +-
.../wisi/wisitoken-parse-lr-parser_no_recover.adb | 211 +-
.../wisi/wisitoken-parse-lr-parser_no_recover.ads | 11 +-
packages/wisi/wisitoken-parse-lr.adb | 65 +-
packages/wisi/wisitoken-parse-lr.ads | 114 +-
.../wisi/wisitoken-parse-packrat-generated.adb | 11 +-
.../wisi/wisitoken-parse-packrat-generated.ads | 7 +-
.../wisi/wisitoken-parse-packrat-procedural.adb | 15 +-
.../wisi/wisitoken-parse-packrat-procedural.ads | 7 +-
packages/wisi/wisitoken-parse-packrat.adb | 15 +-
packages/wisi/wisitoken-parse-packrat.ads | 14 +-
packages/wisi/wisitoken-parse.adb | 33 +-
packages/wisi/wisitoken-parse.ads | 18 +-
packages/wisi/wisitoken-parse_table-mode.el | 28 +-
packages/wisi/wisitoken-productions.adb | 38 +-
packages/wisi/wisitoken-productions.ads | 28 +-
packages/wisi/wisitoken-syntax_trees-lr_utils.adb | 6 +-
packages/wisi/wisitoken-syntax_trees-lr_utils.ads | 4 +-
packages/wisi/wisitoken-syntax_trees.adb | 571 +-
packages/wisi/wisitoken-syntax_trees.ads | 235 +-
packages/wisi/wisitoken-text_io_trace.ads | 3 +-
packages/wisi/wisitoken-user_guide.info | 283 +-
packages/wisi/wisitoken-wisi_ada.adb | 8 +-
packages/wisi/wisitoken.adb | 28 +-
packages/wisi/wisitoken.ads | 58 +-
packages/wisi/wisitoken_grammar_actions.adb | 56 +-
packages/wisi/wisitoken_grammar_actions.ads | 56 +-
packages/wisi/wisitoken_grammar_main.adb | 690 +-
packages/wisi/wisitoken_grammar_re2c.c | 80 +-
packages/wisi/wisitoken_grammar_runtime.adb | 285 +-
packages/wisi/wisitoken_grammar_runtime.ads | 36 +-
141 files changed, 31218 insertions(+), 26332 deletions(-)
diff --git a/externals-list b/externals-list
index f2b7246..a641086 100644
--- a/externals-list
+++ b/externals-list
@@ -125,6 +125,7 @@
("phps-mode" :external
"https://github.com/cjohansson/emacs-phps-mode")
("pinentry" :subtree "https://github.com/ueno/pinentry-el.git")
("posframe" :external "https://github.com/tumashu/posframe")
+ ("prefixed-core" :external nil)
("psgml" :external "https://github.com/lenst/psgml.git")
("python" :core "lisp/progmodes/python.el")
;;FIXME:("org" :external ??) ;; Need to introduce snapshots!!
diff --git a/packages/ada-mode/NEWS b/packages/ada-mode/NEWS
index 944a7dd..5b03ceb 100644
--- a/packages/ada-mode/NEWS
+++ b/packages/ada-mode/NEWS
@@ -6,6 +6,36 @@ Please send ada-mode bug reports to address@hidden, with
'ada-mode' in the subject. If possible, use M-x report-emacs-bug.
+* Ada Mode 7.1
+11 May 2020
+
+** gpr_query Version 3
+
+** ada-mode fully supports non-ASCII text (the few remaining
+ ASCII-only regular expressions have been fixed).
+
+** gpr_query now starts in the background, and provides a completion
+ table of all symbols in the project.
+
+** keystroke C-M-i is bound to `completion-at-point', and uses the
+ symbol table provided by gpr-query.
+
+** Commands that prompt for a symbol (ie C-u C-c C-d
+ wisi-goto-spec/body and C-u M-. xref-find-definitions) use the
+ completion table provided by gpr_query. With a single C-u, all
+ symbols in the project are used; with two C-u, only
+ symbols defined in the current file are used.
+
+** ada-in-paramlist-p (used by ada-align and other things) no longer
+ parses the full buffer; it only parses if in parens, and only a
+ small region containing the parens.
+
+** Virtual tokens are used in indent, improving indent computation.
+
+** Error recovery is improved.
+
+** Fixes debbugs 40403, 40964, 37620
+
* Ada Mode 7.0.1
30 Jan 2020
diff --git a/packages/ada-mode/README b/packages/ada-mode/README
index ec8c774..85bb4de 100644
--- a/packages/ada-mode/README
+++ b/packages/ada-mode/README
@@ -1,4 +1,4 @@
-Emacs Ada mode version 7.0.1
+Emacs Ada mode version 7.1.0
Ada mode provides auto-casing, fontification, navigation, and
indentation for Ada source code files.
diff --git a/packages/ada-mode/ada-compiler-gnat.el
b/packages/ada-mode/ada-compiler-gnat.el
index 5663f51..beaa9cd 100644
--- a/packages/ada-mode/ada-compiler-gnat.el
+++ b/packages/ada-mode/ada-compiler-gnat.el
@@ -155,7 +155,7 @@ For `compilation-filter-hook'."
"regexp to extract a file name")
(defconst ada-gnat-quoted-name-regexp
- "\"\\([a-zA-Z0-9_.']+\\)\""
+ "\"\\([[:alnum:]_.']+\\)\""
"regexp to extract the quoted names in error messages")
(defconst ada-gnat-quoted-punctuation-regexp
@@ -204,7 +204,7 @@ Prompt user if more than one."
(save-excursion
(forward-line 1)
(skip-syntax-forward "^ ")
- (looking-at " use fully qualified name starting with \\([a-zA-Z0-9_]+\\)
to make")
+ (looking-at " use fully qualified name starting with \\([[:alnum:]_]+\\)
to make")
(match-string 1)
))
@@ -436,7 +436,7 @@ Prompt user if more than one."
(insert " " expected-keyword))
t)
- ((looking-at "\\(?:possible \\)?missing \"with \\([a-zA-Z0-9_.]+\\);")
+ ((looking-at "\\(?:possible \\)?missing \"with \\([[:alnum:]_.]+\\);")
;; also 'possible missing "with Ada.Text_IO; use Ada.Text_IO"' -
ignoring the 'use'
(let ((package-name (match-string-no-properties 1)))
(pop-to-buffer source-buffer)
@@ -543,9 +543,18 @@ Prompt user if more than one."
t)
((looking-at (concat "warning: formal parameter "
ada-gnat-quoted-name-regexp " is not referenced"))
- (let ((param (match-string 1)))
+ (let ((param (match-string 1))
+ cache)
(pop-to-buffer source-buffer)
- (ada-goto-declarative-region-start)
+ ;; Point is in a subprogram parameter list;
+ ;; ada-goto-declarative-region-start goes to the package,
+ ;; not the subprogram declarative_part (this is a change
+ ;; from previous wisi versions).
+ (setq cache (wisi-goto-statement-start))
+ (while (not (eq 'IS (wisi-cache-token cache)))
+ (forward-sexp)
+ (setq cache (wisi-get-cache (point))))
+ (forward-word)
(newline-and-indent)
(insert "pragma Unreferenced (" param ");"))
t)
@@ -774,7 +783,7 @@ Prompt user if more than one."
(save-match-data
(while (re-search-forward
(concat
- "[^a-zA-Z0-9)]\\('\\)\\[[\"a-fA-F0-9]+\"\\]\\('\\)"; 1, 2:
non-ascii character literal, not attributes
+ "[^[:alnum:])]\\('\\)\\[[\"a-fA-F0-9]+\"\\]\\('\\)"; 1, 2:
non-ascii character literal, not attributes
"\\|\\(\\[\"[a-fA-F0-9]+\"\\]\\)"; 3: non-ascii character in
identifier
)
end t)
diff --git a/packages/ada-mode/ada-core.el b/packages/ada-mode/ada-core.el
index 4157664..d6ca3d5 100644
--- a/packages/ada-mode/ada-core.el
+++ b/packages/ada-mode/ada-core.el
@@ -236,13 +236,13 @@ parser accepts; the parser always accepts a superset of
ada2012."
:safe #'symbolp)
(make-variable-buffer-local 'ada-language-version)
-(defun ada-in-case-expression ()
+(defun ada-in-case-expression (parse-result)
"Return non-nil if point is in a case expression."
- (save-excursion
- ;; Used by ada-align; we know we are in a paren.
- (wisi-goto-open-paren 1)
- (while (forward-comment 1))
- (looking-at "case")))
+ (when (wisi-in-paren-p parse-result)
+ (save-excursion
+ (wisi-goto-open-paren 1 parse-result)
+ (while (forward-comment 1))
+ (looking-at "case"))))
(defun ada-align ()
"If region is active, apply `align'. If not, attempt to align
@@ -259,9 +259,7 @@ current construct."
((ada-in-paramlist-p parse-result)
(ada-format-paramlist))
- ((and
- (wisi-in-paren-p parse-result)
- (ada-in-case-expression))
+ ((ada-in-case-expression parse-result)
;; align '=>'
(let* ((begin (nth 1 parse-result))
(end (scan-lists begin 1 0)))
@@ -274,14 +272,21 @@ current construct."
(defun ada-in-paramlist-p (parse-result)
"Return t if point is inside the parameter-list of a subprogram declaration.
PARSE-RESULT must be the result of `syntax-ppss'."
- (wisi-validate-cache (point-min) (point-max) nil 'navigate)
;; (info "(elisp)Parser State" "*syntax-ppss*")
(let (cache)
- (and (> (nth 0 parse-result) 0)
- ;; cache is nil if the parse failed
- (setq cache (wisi-get-cache (nth 1 parse-result)))
- (eq 'formal_part (wisi-cache-nonterm cache)))
- ))
+ (when (> (nth 0 parse-result) 0)
+ ;; In parens. Request parse of region containing parens; that
+ ;; will be expanded to include the subprogram declaration, if
+ ;; any,
+ (let* ((forward-sexp-function nil) ;; forward-sexp just does parens
+ (start (nth 1 parse-result))
+ (end (save-excursion (goto-char (nth 1 parse-result))
(forward-sexp) (point))))
+ (wisi-validate-cache start end nil 'navigate)
+ (setq cache (wisi-get-cache start))
+ ;; cache is nil if the parse failed
+ (when cache
+ (eq 'formal_part (wisi-cache-nonterm cache)))
+ ))))
(defun ada-format-paramlist ()
"Reformat the parameter list point is in."
@@ -625,9 +630,8 @@ If SRC-DIR is non-nil, use it as the default for
project.source-path."
(defun ada-prj-make-xref (label)
;; We use the autoloaded constructor here
+ ;; No new require here.
(funcall (intern (format "create-%s-xref" (symbol-name label))))
- ;; So far the only ada xref we have is gpr_query, which uses a
- ;; gnat-compiler object, so no new require here.
)
(defun ada-prj-require-prj ()
@@ -718,39 +722,45 @@ Deselects the current project first."
;; test/ada_mode-slices.adb
;; D1, D2 : Day := +Sun;
;;
- ;; For operators, return quoted operator, for gpr_query or gnatfind.
+ ;; For operators, return quoted operator
(cond
((wisi-in-comment-p)
- (error "Inside comment"))
+ nil)
((wisi-in-string-p)
;; In an operator, or a string literal
- (skip-chars-backward "+*/&<>=-")
- (cond
- ((and (= (char-before) ?\")
- (progn
- (forward-char -1)
- (looking-at (concat "\"\\(" ada-operator-re "\\)\""))))
- (concat "\"" (match-string-no-properties 1) "\""))
+ (let (start)
+ (skip-chars-backward "+*/&<>=-")
+ (setq start (point))
+ (cond
+ ((and (= (char-before) ?\")
+ (progn
+ (forward-char -1)
+ (looking-at (concat "\"\\(" ada-operator-re "\\)\""))))
+ (list start (match-end 1) (concat "\"" (match-string-no-properties 1)
"\"")))
(t
- (error "Inside string or character constant"))
- ))
+ nil)
+ )))
((looking-at (concat "\"\\(" ada-operator-re "\\)\""))
- (match-string-no-properties 0))
+ (list (match-beginning 0) (match-end 0) (match-string-no-properties 0)))
((looking-at ada-operator-re)
- (concat "\"" (match-string-no-properties 0) "\""))
+ (list (match-beginning 0) (match-end 0) (concat "\""
(match-string-no-properties 0) "\"")))
- ((memq (syntax-class (syntax-after (point))) '(2 3))
+ ((or (memq (syntax-class (syntax-after (1- (point)))) '(2 3))
+ (memq (syntax-class (syntax-after (point))) '(2 3)))
;; word or symbol syntax.
- (skip-syntax-backward "w_")
- (buffer-substring-no-properties (point) (save-excursion
(skip-syntax-forward "w_") (point))))
+ (let (start)
+ (skip-syntax-backward "w_")
+ (setq start (point))
+ (skip-syntax-forward "w_")
+ (list start (point) (buffer-substring-no-properties start (point)))))
(t
- (error "No identifier around"))
+ nil)
))
;;;; initialization
diff --git a/packages/ada-mode/ada-gnat-xref.el
b/packages/ada-mode/ada-gnat-xref.el
index 80ba7ce..8b3b340 100644
--- a/packages/ada-mode/ada-gnat-xref.el
+++ b/packages/ada-mode/ada-gnat-xref.el
@@ -79,9 +79,18 @@
(cl-defmethod wisi-xref-parse-final ((xref gnatxref-xref) _project
prj-file-name)
(setf (gnat-compiler-run-buffer-name xref) (gnat-run-buffer-name
prj-file-name gnatxref-buffer-name-prefix)))
+(cl-defmethod wisi-xref-completion-table ((_xref gnatxref-xref) _project)
+ (wisi-names t t))
+
+(cl-defgeneric wisi-xref-completion-regexp ((_xref gnatxref-xref))
+ wisi-names-regexp)
+
(defun ada-gnat-xref-adj-col (identifier col)
"Return COL adjusted for 1-index, quoted operators."
(cond
+ ((null col)
+ col)
+
((eq ?\" (aref identifier 0))
;; There are two cases here:
;;
@@ -124,11 +133,11 @@ elements of the result may be nil."
(concat "-aI" (mapconcat 'identity (wisi-prj-source-path project) "
-aI")))
(when (plist-get (ada-prj-plist project) 'obj_dir)
(concat "-aO" (mapconcat 'identity (plist-get (ada-prj-plist
project) 'obj_dir) " -aO")))
- (format "%s:%s:%d:%d"
+ (format "%s:%s:%s:%s"
identifier
(file-name-nondirectory file)
- line
- (ada-gnat-xref-adj-col identifier col))))
+ (or line "")
+ (or (ada-gnat-xref-adj-col identifier col) ""))))
(defun ada-gnat-xref-refs (project item all)
(with-slots (summary location) item
diff --git a/packages/ada-mode/ada-indent-user-options.el
b/packages/ada-mode/ada-indent-user-options.el
index 3f58573..0169d00 100644
--- a/packages/ada-mode/ada-indent-user-options.el
+++ b/packages/ada-mode/ada-indent-user-options.el
@@ -1,6 +1,6 @@
;; user options shared by Ada mode indentation engines -*- lexical-binding:t
-*-
;;
-;; Copyright (C) 2012, 2013, 2015, 2017 - 2019 Free Software Foundation, Inc.
+;; Copyright (C) 2012, 2013, 2015, 2017 - 2020 Free Software Foundation, Inc.
;;
;; Author: Stephen Leake <address@hidden>
;; Contributors: Simon Wright <address@hidden>
@@ -64,7 +64,7 @@ That is, one of:
- next non-blank line
- previous non-blank line
-Otherwise, they are indented as a with previous comments or code."
+Otherwise, they are indented as previous comments or code."
:type 'boolean
:safe #'booleanp)
(make-variable-buffer-local 'ada-indent-comment-gnat)
diff --git a/packages/ada-mode/ada-mode.el b/packages/ada-mode/ada-mode.el
index 1de8194..b0b05e7 100644
--- a/packages/ada-mode/ada-mode.el
+++ b/packages/ada-mode/ada-mode.el
@@ -6,8 +6,8 @@
;; Maintainer: Stephen Leake <address@hidden>
;; Keywords: languages
;; ada
-;; Version: 7.0.1
-;; package-requires: ((uniquify-files "1.0.1") (wisi "3.0.1") (emacs "25.0"))
+;; Version: 7.1.0
+;; package-requires: ((uniquify-files "1.0.1") (wisi "3.1.0") (emacs "25.0"))
;; url: http://www.nongnu.org/ada-mode/
;;
;; This file is part of GNU Emacs.
@@ -117,7 +117,7 @@
(defun ada-mode-version ()
"Return Ada mode version."
(interactive)
- (let ((version-string "7.0.1"))
+ (let ((version-string "7.1.0"))
(if (called-interactively-p 'interactive)
(message version-string)
version-string)))
@@ -191,6 +191,7 @@ nil, only the file name."
(define-key map "\C-c\C-f" 'wisi-show-parse-error)
(define-key map "\C-c\C-i" 'wisi-indent-statement)
(define-key map [3 backtab] 'wisi-indent-containing-statement);; C-c
backtab, translated from C-c S-tab
+ (define-key map "\C-\M-i" 'completion-at-point)
(define-key map "\C-c\C-l" 'wisi-show-local-references)
(define-key map "\C-c\C-m" 'ada-build-set-make)
(define-key map "\C-c\C-n" 'forward-sexp)
@@ -265,6 +266,7 @@ nil, only the file name."
["Previous placeholder" wisi-skel-prev-placeholder t]
)
("Edit"
+ ["Complete name at point" completion-at-point t]
["Expand skeleton" wisi-skel-expand t]
["Indent line or selection" indent-for-tab-command t]
["Indent current statement" wisi-indent-statement t]
@@ -293,7 +295,7 @@ nil, only the file name."
)
("Misc"
["Show last parse error" wisi-show-parse-error t]
- ["Refresh cross reference cache" ada-xref-refresh t]
+ ["Refresh cross reference cache" wisi-refresh-prj-cache t]
["Restart parser" wisi-kill-parser t]
)))
@@ -479,8 +481,8 @@ Runs `ada-syntax-propertize-hook'."
(save-match-data
(while (re-search-forward
(concat
- "[^a-zA-Z0-9)]\\('\\)[^'\n]\\('\\)"; 1, 2: character literal,
not attribute
- "\\|[^a-zA-Z0-9)]\\('''\\)"; 3: character literal '''
+ "[^[:alnum:])]\\('\\)[^'\n]\\('\\)"; 1, 2: character literal,
not attribute
+ "\\|[^[:alnum:])]\\('''\\)"; 3: character literal '''
)
end t)
;; syntax-propertize-extend-region-functions is set to
@@ -519,7 +521,7 @@ The extensions should include a `.' if needed.")
See `ff-other-file-alist'.")
(defconst ada-parent-name-regexp
- "\\([a-zA-Z0-9_\\.]+\\)\\.[a-zA-Z0-9_]+"
+ "\\([[:alnum:]_\\.]+\\)\\.[[:alnum:]_]+"
"Regexp for extracting the parent name from fully-qualified name.")
(defun ada-ff-special-extract-parent ()
@@ -608,7 +610,7 @@ Also sets ff-function-name for ff-pre-load-hook."
((entry_body entry_declaration)
(setq result (ada-which-function-1 "entry" nil)))
- (full_type_declaration
+ ((full_type_declaration private_type_declaration)
(setq result (ada-which-function-1 "type" nil)))
(package_body
@@ -861,7 +863,7 @@ compiler-specific compilation filters."
((entry_body entry_declaration)
(eq (wisi-cache-token cache) 'ENTRY))
- (full_type_declaration
+ ((full_type_declaration private_type_declaration)
(when include-type
(eq (wisi-cache-token cache) 'TYPE)))
@@ -1336,10 +1338,11 @@ comment: comment"
((code comment)
;; After code with no trailing comment, or after comment
;; test/ada_mode-conditional_expressions.adb
- ;; (if J > 42
- ;; -- comment indent matching GNAT style check
- ;; -- second line of comment
- prev-indent)
+ ;; K2 : Integer := (if J > 42
+ ;; -- comment indent matching GNAT style check
+ ;; then
+ ;;
+ (max prev-indent next-indent))
))
)))
diff --git a/packages/ada-mode/ada-mode.info b/packages/ada-mode/ada-mode.info
index 746829a..354b664 100644
--- a/packages/ada-mode/ada-mode.info
+++ b/packages/ada-mode/ada-mode.info
@@ -1,4 +1,4 @@
-This is ada-mode.info, produced by makeinfo version 6.3 from
+This is ada-mode.info, produced by makeinfo version 6.7 from
ada-mode.texi.
Copyright (C) 1999 - 2020 Free Software Foundation, Inc.
@@ -25,7 +25,7 @@ File: ada-mode.info, Node: Top, Next: Overview, Prev:
(dir), Up: (dir)
Top
***
-Ada Mode Version 7.0.1
+Ada Mode Version 7.1.0
* Menu:
@@ -58,7 +58,7 @@ Installation
Ada executables
-* Building GNATCOLL 2019::
+* Building GNATCOLL::
* Building the executables::
Customizing Ada mode
@@ -242,23 +242,34 @@ build gnatcoll xref from sources.
* Menu:
-* Building GNATCOLL 2019::
+* Building GNATCOLL::
* Building the executables::
-File: ada-mode.info, Node: Building GNATCOLL 2019, Next: Building the
executables, Up: Ada executables
+File: ada-mode.info, Node: Building GNATCOLL, Next: Building the
executables, Up: Ada executables
-2.2.1 Building GNATCOLL 2019
-----------------------------
+2.2.1 Building GNATCOLL
+-----------------------
+
+Download gnatcoll-db from <https://github.com/AdaCore/gnatcoll-db>;
+select the latest release branch (or the one that matches your
+compiler), click on the "clone or download" button, select "Download
+ZIP".
-Download the gnatcoll xref source file from
-<https://github.com/AdaCore/gnatcoll-db>; click on the "clone or
-download" button, select "Download ZIP".
+ Similarly, download gnatcoll-bindings from
+<https://github.com/AdaCore/gnatcoll-bindings/tree/20.2> (for
+gnatcoll-iconv).
Then unpack, build, and install the required components:
- tar xf ~/Downloads/gnatcoll-db-19.2.zip
- cd gnatcoll-db-19.2
+ tar xf ~/Downloads/gnatcoll-bindings-20.2.zip
+ cd gnatcoll-bindings-20.2
+ cd iconv
+ ./setup.py build
+ ./setup.py install
+
+ tar xf ~/Downloads/gnatcoll-db-20.2.zip
+ cd gnatcoll-db-20.2
make -C sql
make -C sql install
make -C sqlite
@@ -267,7 +278,7 @@ download" button, select "Download ZIP".
make -C xref install
-File: ada-mode.info, Node: Building the executables, Prev: Building GNATCOLL
2019, Up: Ada executables
+File: ada-mode.info, Node: Building the executables, Prev: Building
GNATCOLL, Up: Ada executables
2.2.2 Building the executables
------------------------------
@@ -1157,7 +1168,7 @@ name as one that was previously selected.
If 'Example_5' is the only project in the current emacs session,
'wisi-prj-find-dominating-cached' finds no project file (because
-'Example_4' is not a child directory of 'Example_5', so the default
+'Example_4' is not a child directory of 'Example_5'), so the default
strategy of "ask the user" is used, giving the prompt for a directory.
If 'Example_4' is also a project in the current emacs session,
@@ -1499,14 +1510,21 @@ File: ada-mode.info, Node: Identifier completion,
Next: Indentation, Prev: Mo
7 Identifier completion
***********************
-Emacs provides a general way of completing identifiers: 'M-/' (bound to
-'dabbrev-expand'). This is an easy way to type faster: you just have to
-type the first few letters of an identifier, and then loop through all
-the possible completions.
+Emacs provides two general ways of completing identifiers while typing:
+'M-/' (bound to 'dabbrev-expand'), and 'M-tab' (bound to
+'complete-symbol'.
+
+ This is an easy way to type faster: you just have to type the first
+few letters of an identifier, and then loop through all the possible
+completions.
+
+ 'complete-symbol' completes on all the symbols defined in the current
+project, as returned by 'gpr_query'.
If you have bound 'hippie-expand', that also uses 'dabbrev-expand'.
- 'M-/' works by parsing all open Ada files for possible completions.
+ 'dabbrev-expand' completes on all words in all open Ada files for
+possible completions, using simple Emacs syntax-class parsing.
For instance, if the words 'my_identifier' and 'my_subprogram' are
the only words starting with 'my' in any of the open Ada files, then you
@@ -1521,6 +1539,17 @@ will have this scenario:
This is a very fast way to do completion, and the casing of words
will also be respected.
+ Another place where identifier completion is used in the
+'xref-find-definitions' (<C-u M-.>) and 'wisi-goto-spec/body' (<C-u C-c
+C-d>) commands; these complete on all symbols in the project (provided
+by 'gpr_query'). With two 'C-u', the completion is limited to symbols
+defined in the current file.
+
+ Note that in Ada, for subprograms that have a specification in the
+'.ads' file and a body in the '.adb' file, <C-u C-u C-c C-d> returns the
+spec location only, so it will not find the function if invoked in the
+'.adb' file.
+
File: ada-mode.info, Node: Indentation, Next: Statement skeletons, Prev:
Identifier completion, Up: Top
@@ -2515,45 +2544,50 @@ their use in free software.
Tag Table:
Node: Top931
-Node: Overview2716
-Node: Why not LSP?3953
-Node: Installation4709
-Node: Ada Reference Manual5675
-Node: Ada executables5936
-Node: Building GNATCOLL 20198294
-Node: Building the executables8879
-Node: Customization9702
-Node: Slow response10202
-Node: Non-standard file names11928
-Node: Other compiler13807
-Node: Other cross-reference14382
-Node: Other customization15105
-Node: Compiling Executing19096
-Node: Compile commands19819
-Node: Compiling Examples22511
-Node: No project files23343
-Node: Set compiler options28659
-Node: Set source search path30712
-Node: Use wisi project file32949
-Node: Use multiple GNAT project files36556
-Node: Use a Makefile41400
-Node: Compiler errors43051
-Node: Project files43868
-Node: Project file overview44920
-Node: Project file variables45462
-Node: Moving Through Ada Code48902
-Node: Identifier completion51934
-Node: Indentation52968
-Node: Statement skeletons56497
-Node: Aligning code58140
-Node: Automatic casing59085
-Node: Comment Handling61272
-Node: Key summary61791
-Node: Developer overview64521
-Node: Directory structure64850
-Node: ELPA67537
-Node: Savannah68174
-Node: ada-france68526
-Node: GNU Free Documentation License68765
+Node: Overview2711
+Node: Why not LSP?3948
+Node: Installation4704
+Node: Ada Reference Manual5670
+Node: Ada executables5931
+Node: Building GNATCOLL8284
+Node: Building the executables9179
+Node: Customization9997
+Node: Slow response10497
+Node: Non-standard file names12223
+Node: Other compiler14102
+Node: Other cross-reference14677
+Node: Other customization15400
+Node: Compiling Executing19391
+Node: Compile commands20114
+Node: Compiling Examples22806
+Node: No project files23638
+Node: Set compiler options28954
+Node: Set source search path31007
+Node: Use wisi project file33244
+Node: Use multiple GNAT project files36851
+Node: Use a Makefile41696
+Node: Compiler errors43347
+Node: Project files44164
+Node: Project file overview45216
+Node: Project file variables45758
+Node: Moving Through Ada Code49198
+Node: Identifier completion52230
+Node: Indentation54028
+Node: Statement skeletons57557
+Node: Aligning code59200
+Node: Automatic casing60145
+Node: Comment Handling62332
+Node: Key summary62851
+Node: Developer overview65581
+Node: Directory structure65910
+Node: ELPA68597
+Node: Savannah69234
+Node: ada-france69586
+Node: GNU Free Documentation License69825
End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git a/packages/ada-mode/ada-mode.texi b/packages/ada-mode/ada-mode.texi
index 042236b..313e8e4 100644
--- a/packages/ada-mode/ada-mode.texi
+++ b/packages/ada-mode/ada-mode.texi
@@ -25,7 +25,7 @@ developing GNU and promoting software freedom.''
@titlepage
@sp 10
-@title Ada Mode Version 7.0.1
+@title Ada Mode Version 7.1.0
@page
@vskip 0pt plus 1filll
@insertcopying
@@ -37,7 +37,7 @@ developing GNU and promoting software freedom.''
@node Top, Overview, (dir), (dir)
@top Top
-Ada Mode Version 7.0.1
+Ada Mode Version 7.1.0
@end ifnottex
@menu
@@ -71,7 +71,7 @@ Installation
Ada executables
-* Building GNATCOLL 2019::
+* Building GNATCOLL::
* Building the executables::
Customizing Ada mode
@@ -252,22 +252,32 @@ does not include the xref package, which is required by
@file{gpr_query}. So we must build gnatcoll xref from sources.
@menu
-* Building GNATCOLL 2019::
+* Building GNATCOLL::
* Building the executables::
@end menu
-@node Building GNATCOLL 2019
-@subsection Building GNATCOLL 2019
+@node Building GNATCOLL
+@subsection Building GNATCOLL
-Download the gnatcoll xref source file from
-@url{https://github.com/AdaCore/gnatcoll-db}; click on the ``clone or
-download'' button, select ``Download ZIP''.
+Download gnatcoll-db from
+@url{https://github.com/AdaCore/gnatcoll-db}; select the latest
+release branch (or the one that matches your compiler), click on the
+``clone or download'' button, select ``Download ZIP''.
+
+Similarly, download gnatcoll-bindings from
+@url{https://github.com/AdaCore/gnatcoll-bindings/tree/20.2} (for
gnatcoll-iconv).
Then unpack, build, and install the required components:
@example
-tar xf ~/Downloads/gnatcoll-db-19.2.zip
-cd gnatcoll-db-19.2
+tar xf ~/Downloads/gnatcoll-bindings-20.2.zip
+cd gnatcoll-bindings-20.2
+cd iconv
+./setup.py build
+./setup.py install
+
+tar xf ~/Downloads/gnatcoll-db-20.2.zip
+cd gnatcoll-db-20.2
make -C sql
make -C sql install
make -C sqlite
@@ -276,6 +286,16 @@ make -C xref
make -C xref install
@end example
+@c To build gnatcoll-core with debug, edit the corresponding gpr file
+@c to delete @code{-gnatwe} (there are lots of warnings about license
+@c incompatibility, and a few other things). Then _do not_ build or
+@c install; just setup to create the .gpr files. Installing causes
+@c lots of spurious warnings about files need to be
+@c recompiled. Uninstall core, sql, sqlite, xref; add the build
+@c directories to GPR_PROJECT_PATH, add @code{BUILD=DEBUG} to the
+@c command line, edit the .gpr files to set OS. Sigh; that still
+@c doesn't work.
+
@node Building the executables
@subsection Building the executables
@@ -1222,7 +1242,7 @@ selected.
If @file{Example_5} is the only project in the current emacs session,
@code{wisi-prj-find-dominating-cached} finds no project file (because
-@file{Example_4} is not a child directory of @file{Example_5}, so the
+@file{Example_4} is not a child directory of @file{Example_5}), so the
default strategy of ``ask the user'' is used, giving the prompt for a
directory.
@@ -1236,7 +1256,9 @@ are not in the same directory tree, you will have this
problem.
The fix is to use a different function in
@code{project-find-functions}; @code{wisi-prj-current-cached}. This
uses a global variable to indicate what the current project is. wisi
-provides four different functions for @code{project-find-functions}.
@xref{Selecting projects, Selecting projects, Selecting projects, wisi}.
+provides four different functions for
+@code{project-find-functions}. @xref{Selecting projects, Selecting
+projects, Selecting projects, wisi}.
To change @code{project-find-functions}, execute:
@@ -1579,16 +1601,22 @@ this menu command.
@node Identifier completion, Indentation, Moving Through Ada Code, Top
@chapter Identifier completion
-Emacs provides a general way of completing identifiers: @kbd{M-/}
-(bound to @code{dabbrev-expand}). This is an easy way to type faster:
-you just have to type the first few letters of an identifier, and then
-loop through all the possible completions.
+Emacs provides two general ways of completing identifiers while typing:
@kbd{M-/}
+(bound to @code{dabbrev-expand}), and @kbd{M-tab} (bound to
+@code{complete-symbol}.
+
+This is an easy way to type faster: you just have to type the first
+few letters of an identifier, and then loop through all the possible
+completions.
+
+@code{complete-symbol} completes on all the symbols defined in the
+current project, as returned by @code{gpr_query}.
If you have bound @code{hippie-expand}, that also uses
@code{dabbrev-expand}.
-@kbd{M-/} works by parsing all open Ada files for possible
-completions.
+@code{dabbrev-expand} completes on all words in all open Ada files for
+possible completions, using simple Emacs syntax-class parsing.
For instance, if the words @samp{my_identifier} and @samp{my_subprogram}
are the only words starting with @samp{my} in any of the open Ada files,
@@ -1605,6 +1633,18 @@ Pressing @kbd{M-/} once more will bring you back to
@samp{my_identifier}.
This is a very fast way to do completion, and the casing of words will
also be respected.
+Another place where identifier completion is used in the
+@code{xref-find-definitions} (@key{C-u M-.}) and
+@code{wisi-goto-spec/body} (@key{C-u C-c C-d}) commands; these complete
+on all symbols in the project (provided by @code{gpr_query}). With two
+@kbd{C-u}, the completion is limited to symbols defined in the current
+file.
+
+Note that in Ada, for subprograms that have a specification in the
+@file{.ads} file and a body in the @file{.adb} file,
+@key{C-u C-u C-c C-d} returns the spec location only, so it will not
+find the function if invoked in the @file{.adb} file.
+
@node Indentation, Statement skeletons, Identifier completion, Top
@chapter Indentation
diff --git a/packages/ada-mode/ada-prj.el b/packages/ada-mode/ada-prj.el
new file mode 100644
index 0000000..c1f1e66
--- /dev/null
+++ b/packages/ada-mode/ada-prj.el
@@ -0,0 +1,7 @@
+;; dummy file to hide obsolete bundled version
+;;;
+;;; Keep this file until drop support for Emacs 26; core ada-mode deleted in
Emacs 27.
+
+(require 'ada-mode)
+(provide 'ada-prj)
+(message "'ada-prj' is obsolete; use 'ada-mode' instead")
diff --git a/packages/ada-mode/ada-process.el b/packages/ada-mode/ada-process.el
index 73d3efa..e783008 100644
--- a/packages/ada-mode/ada-process.el
+++ b/packages/ada-mode/ada-process.el
@@ -96,7 +96,9 @@
WITH
XOR
LEFT_PAREN
+ LEFT_SQUARE_BRACKET
RIGHT_PAREN
+ RIGHT_SQUARE_BRACKET
AMPERSAND
AT_SIGN
BAR
@@ -439,7 +441,9 @@
(WITH . "with")
(XOR . "xor")
(LEFT_PAREN . "(")
+ (LEFT_SQUARE_BRACKET . "[")
(RIGHT_PAREN . ")")
+ (RIGHT_SQUARE_BRACKET . "]")
(AMPERSAND . "&")
(AT_SIGN . "@")
(BAR . "|")
diff --git a/packages/ada-mode/ada-skel.el b/packages/ada-mode/ada-skel.el
index 3e54bdf..537a159 100644
--- a/packages/ada-mode/ada-skel.el
+++ b/packages/ada-mode/ada-skel.el
@@ -1,6 +1,6 @@
;;; ada-skel.el --- Extension to Ada mode for inserting statement skeletons
-*- lexical-binding:t -*-
-;; Copyright (C) 1987, 1993, 1994, 1996-2019 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 1993, 1994, 1996-2020 Free Software Foundation, Inc.
;; Authors: Stephen Leake <address@hidden>
@@ -121,7 +121,6 @@ This could end in a token recognized by `ada-skel-expand'."
"-- version 3.1, as published by the Free Software Foundation.\n"
"\n"
"pragma License (Modified_GPL);\n"
-
)
;;;;; Ada skeletons (alphabetical)
@@ -130,14 +129,14 @@ This could end in a token recognized by
`ada-skel-expand'."
"Insert accept statement with name from `str'."
()
"accept " str " do\n"
- "end " str ";")
+ "end " str ";\n")
(define-skeleton ada-skel-case
"Insert case statement."
()
"case " str " is\n"
"when " _ "=>\n"
- "end case;")
+ "end case;\n")
(define-skeleton ada-skel-declare
"Insert a block statement with an optional name (from `str')."
@@ -147,7 +146,7 @@ This could end in a token recognized by `ada-skel-expand'."
_
"begin\n"
"exception\n"
- "end " str | -1 ?\;)
+ "end " str | -1 ";\n")
(define-skeleton ada-skel-entry
"Insert entry statement with name from `str'."
@@ -155,14 +154,14 @@ This could end in a token recognized by
`ada-skel-expand'."
"entry " str " when " _ "\n"
"is\n"
"begin\n"
- "end " str ";")
+ "end " str ";\n")
(define-skeleton ada-skel-for
"Insert a for loop statement with an optional name (from `str')."
()
str & " :\n"
"for " _ " loop\n"
- "end loop " str | -1 ";")
+ "end loop " str | -1 ";\n")
(define-skeleton ada-skel-function-body
"Insert a function body with name from `str'."
@@ -171,12 +170,12 @@ This could end in a token recognized by
`ada-skel-expand'."
"is\n"
"begin\n"
_
- "end " str ";" >)
+ "end " str ";\n")
(define-skeleton ada-skel-function-spec
"Insert a function type specification with name from `str'."
()
- "function " str " return ;")
+ "function " str " return ;\n")
(define-skeleton ada-skel-header
"Insert a file header comment, with automatic copyright year and prompt for
copyright owner/license.
@@ -195,7 +194,7 @@ Each user will probably want to override this."
"if " _ " then\n"
"elsif then\n"
"else\n"
- "end if;")
+ "end if;\n")
(define-skeleton ada-skel-loop
"Insert a loop statement with an optional name (from `str')."
@@ -203,7 +202,7 @@ Each user will probably want to override this."
str & " :\n"
"loop\n"
"exit " str | -1 " when " _ ";\n"
- "end loop " str | -1 ";")
+ "end loop " str | -1 ";\n")
(define-skeleton ada-skel-package-body
"Insert a package body with name from `str'."
@@ -211,7 +210,7 @@ Each user will probably want to override this."
"package body " str " is\n"
_
"begin\n"
- "end " str ";")
+ "end " str ";\n")
(define-skeleton ada-skel-package-spec
"Insert a package specification with name from `str'.
@@ -220,7 +219,7 @@ See `ada-find-other-file' to create library level package
body from spec."
"package " str " is\n"
_
"private\n"
- "end " str ";")
+ "end " str ";\n")
(define-skeleton ada-skel-procedure-body
"Insert a procedure body with name from `str'."
@@ -229,19 +228,19 @@ See `ada-find-other-file' to create library level package
body from spec."
"is\n"
"begin\n"
_
- "end " str ";")
+ "end " str ";\n")
(define-skeleton ada-skel-procedure-spec
"Insert a procedure type specification with name from `str'."
()
- "procedure " str ";")
+ "procedure " str ";\n")
(define-skeleton ada-skel-protected-body
"Insert a protected body with name from `str'."
()
"protected body " str " is\n"
_
- "end " str ";")
+ "end " str ";\n")
(define-skeleton ada-skel-protected-spec
"Insert a protected type specification with name from `str'."
@@ -249,20 +248,20 @@ See `ada-find-other-file' to create library level package
body from spec."
"protected type " str " is\n"
_
"private\n"
- "end " str ";")
+ "end " str ";\n")
(define-skeleton ada-skel-record
"Insert a record type declaration with a type name from `str'."
()
"type " str " is record\n"
_
- "end record;")
+ "end record;\n")
(define-skeleton ada-skel-return
"Insert an extended return statement."
()
"return " _ " do\n"
- "end return;")
+ "end return;\n")
(define-skeleton ada-skel-select
"Insert a select statement."
@@ -270,7 +269,7 @@ See `ada-find-other-file' to create library level package
body from spec."
"select\n"
_
"else\n"
- "end select;")
+ "end select;\n")
(define-skeleton ada-skel-separate
"Insert a subunit body."
@@ -285,26 +284,26 @@ See `ada-find-other-file' to create library level package
body from spec."
"is\n"
_
"begin\n"
- "end " str ";")
+ "end " str ";\n")
(define-skeleton ada-skel-task-spec
"Insert a task specification with name from `str'."
()
"task type " str " is\n"
_
- "end " str ";")
+ "end " str ";\n")
(define-skeleton ada-skel-while
"Insert a while loop statement with an optional name (from `str')."
()
str & ":\n"
"while " _ " loop\n"
- "end loop " str | -1 ";")
+ "end loop " str | -1 ";\n")
(define-skeleton ada-skel-with-use
"Insert with and use context clauses with name from `str'."
()
- "with " str "; use " str ";")
+ "with " str "; use " str ";\n")
;;;;; token alist
diff --git a/packages/ada-mode/ada-stmt.el b/packages/ada-mode/ada-stmt.el
new file mode 100644
index 0000000..25cf111
--- /dev/null
+++ b/packages/ada-mode/ada-stmt.el
@@ -0,0 +1,7 @@
+;; dummy file to hide obsolete bundled version
+;;;
+;;; Keep this file until drop support for Emacs 26; core ada-mode deleted in
Emacs 27.
+
+(require 'ada-mode)
+(provide 'ada-stmt)
+(message "'ada-stmt' is obsolete; use 'ada-mode' instead")
diff --git a/packages/ada-mode/ada-xref.el b/packages/ada-mode/ada-xref.el
new file mode 100644
index 0000000..b72901f
--- /dev/null
+++ b/packages/ada-mode/ada-xref.el
@@ -0,0 +1,8 @@
+;;; ada-xref.el --- Dummy file to hide obsolete bundled version -*-
lexical-binding:t -*-
+;;; see xref-ada.el for Emacs 25 xref minor mode for ada-mode
+;;;
+;;; Keep this file until drop support for Emacs 26; core ada-mode deleted in
Emacs 27.
+
+(require 'ada-mode)
+(provide 'ada-xref)
+(message "'ada-xref' is obsolete; use 'ada-mode' instead")
diff --git a/packages/ada-mode/ada.wy b/packages/ada-mode/ada.wy
index 415d727..d50b89e 100644
--- a/packages/ada-mode/ada.wy
+++ b/packages/ada-mode/ada.wy
@@ -117,8 +117,10 @@
%keyword WITH "with"
%keyword XOR "xor"
-%token <left-paren> LEFT_PAREN "("
+%token <left-paren> LEFT_PAREN "("
%token <right-paren> RIGHT_PAREN ")"
+%token <left-paren> LEFT_SQUARE_BRACKET "["
+%token <right-paren> RIGHT_SQUARE_BRACKET "]"
%token <punctuation> AMPERSAND "&"
%token <punctuation> AT_SIGN "@"
@@ -175,7 +177,7 @@
;; Treat Ada comments, gnatprep preprocessor lines, and skeleton
;; placeholders as comments. Also terminate placeholder on newline,
;; EOF, to handle missing }. x04 is EOF.
-%non_grammar <comment> COMMENT %[
(("--"|"#if"|"#elsif"|"#else"|"#end")[^\n\x04]*)|("{"[^}\n\x04]*[}\n\x04]) ]%
+%non_grammar <comment> COMMENT %[
(("--"|"#if"|"#elsif"|"#else"|"#end")[^\n\x04]*)|("{"[^}\n\x04]*) ]%
;; '$' for gnatprep symbols.
%token <symbol> IDENTIFIER
@@ -287,10 +289,13 @@
%conflict REDUCE/REDUCE in state aggregate, aggregate on token RIGHT_PAREN
%conflict REDUCE/REDUCE in state association_opt, expression_opt on token
RIGHT_PAREN
%conflict REDUCE/REDUCE in state derived_type_definition,
derived_type_definition on token WITH
+%conflict REDUCE/REDUCE in state discrete_choice, discrete_subtype_definition
on token EQUAL_GREATER
+%conflict REDUCE/REDUCE in state discrete_choice, subtype_indication on token
EQUAL_GREATER
%conflict REDUCE/REDUCE in state full_type_declaration, full_type_declaration
on token NEW
%conflict REDUCE/REDUCE in state identifier_list, name on token COMMA
%conflict REDUCE/REDUCE in state name, direct_name on token USE
%conflict REDUCE/REDUCE in state primary, subtype_indication on token COMMA
+%conflict REDUCE/REDUCE in state primary, subtype_indication on token
EQUAL_GREATER
%conflict REDUCE/REDUCE in state primary, subtype_indication on token
RIGHT_PAREN
%conflict REDUCE/REDUCE in state range_list, discrete_subtype_definition on
token COMMA
%conflict REDUCE/REDUCE in state range_list, discrete_subtype_definition on
token RIGHT_PAREN
@@ -324,10 +329,6 @@
%conflict SHIFT/REDUCE in state task_body, task_body on token IS
%conflict SHIFT/REDUCE in state wisitoken_accept, wisitoken_accept on token
FOR
-%if parser = LALR
-%conflict REDUCE/REDUCE in state primary, subtype_indication on token
EQUAL_GREATER
-%end if
-
;;;; grammar rules
;;
;; The actions cache information in keywords that are significant for
@@ -381,21 +382,23 @@ abstract_tagged_limited_opt
abstract_subprogram_declaration
: overriding_indicator_opt subprogram_specification IS ABSTRACT
aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 2 statement-override 6
statement-end])
- (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken nil
nil]))%
+ (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken]))%
;
accept_statement
- : ACCEPT IDENTIFIER actual_parameter_part_opt parameter_profile_opt DO
handled_sequence_of_statements END identifier_opt SEMICOLON
+ : ACCEPT IDENTIFIER actual_parameter_part_opt parameter_profile_opt DO
handled_sequence_of_statements END
+ identifier_opt SEMICOLON
%((wisi-statement-action [1 statement-start 5 motion 9 statement-end])
(wisi-motion-action [1 5 [6 WHEN] 9])
(wisi-face-apply-action [2 nil font-lock-function-name-face 8 nil
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken [nil ada-indent] [ada-indent ada-indent] nil nil nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken [nil ada-indent]
+ [ada-indent ada-indent] nil ada-indent-broken
ada-indent-broken]))%
%((wisi-match-names 2 8))%
| ACCEPT IDENTIFIER actual_parameter_part_opt parameter_profile_opt SEMICOLON
%((wisi-statement-action [1 statement-start 5 statement-end])
(wisi-face-apply-action [2 nil font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken]))%
;
;; same as access_type_definition for our purposes
@@ -405,7 +408,7 @@ access_definition
;; type Procedure_Access_Type_8 is access
;; protected procedure
;; (A_Param : out Integer);
- %((wisi-indent-action [nil nil nil nil (wisi-anchored% 4
ada-indent-broken)]))%
+ %((wisi-indent-action [nil nil nil nil (wisi-anchored%- 4
ada-indent-broken)]))%
| null_exclusion_opt ACCESS protected_opt FUNCTION
parameter_and_result_profile
;; test/ada_mode-nominal.ads
@@ -436,22 +439,29 @@ actual_parameter_part_opt
;; All LEFT_PAREN in aggregate are indented 0 here. Special cases for
;; -1 are handled in 'primary'.
aggregate
- : LEFT_PAREN expression_opt WITH NULL RECORD RIGHT_PAREN ;;
extension_aggregate with null record
+ : LEFT_PAREN association_list RIGHT_PAREN ;; record_aggregate,
named_array_aggregate, positional_array_aggregate
+ %((wisi-indent-action [nil [(wisi-anchored 1 1) (wisi-anchored 1 1)]
(wisi-anchored 1 0)]))%
+ | LEFT_PAREN NULL RECORD RIGHT_PAREN ;; record_aggregate
+
+ | LEFT_PAREN expression_opt WITH NULL RECORD RIGHT_PAREN ;;
extension_aggregate with null record
%((wisi-indent-action [nil (wisi-anchored 1 1) (wisi-anchored 1 1) nil nil
(wisi-anchored 1 0)]))%
| LEFT_PAREN expression_opt WITH association_list RIGHT_PAREN ;;
extension_aggregate
%((wisi-indent-action [nil (wisi-anchored 1 1) (wisi-anchored 1 1)
[(wisi-anchored 1 1) (wisi-anchored 1 1)]
- (wisi-anchored 1 0)]))%
- | LEFT_PAREN NULL RECORD RIGHT_PAREN
+ (wisi-anchored 1 0)]))%
+
| LEFT_PAREN expression WITH DELTA association_list RIGHT_PAREN ;;
record_delta_aggregate, array_delta_aggregate
%((wisi-indent-action [nil (wisi-anchored 1 1) (wisi-anchored 1 1)
(wisi-anchored 1 1)
[(wisi-anchored 1 1) (wisi-anchored 1 1)]
(wisi-anchored 1 0)]))%
-
+
+ | LEFT_SQUARE_BRACKET expression WITH DELTA association_list
RIGHT_SQUARE_BRACKET ;; array_delta_aggregate
+ %((wisi-indent-action [nil (wisi-anchored 1 1) (wisi-anchored 1 1)
(wisi-anchored 1 1)
+ [(wisi-anchored 1 1) (wisi-anchored 1 1)]
+ (wisi-anchored 1 0)]))%
+
;; ARM 4.5.7(7), ARM 4.5.8(4) allow ( conditional|quantified_expression )
instead of (( ... ))
| LEFT_PAREN conditional_quantified_expression RIGHT_PAREN
%((wisi-indent-action [nil [(wisi-anchored 1 1) (wisi-anchored 1 1)]
(wisi-anchored 1 0)]))%
- | LEFT_PAREN association_list RIGHT_PAREN ;; record_aggregate,
named_array_aggregate, positional_array_aggregate
- %((wisi-indent-action [nil [(wisi-anchored 1 1) (wisi-anchored 1 1)]
(wisi-anchored 1 0)]))%
;
aliased_opt
@@ -477,7 +487,7 @@ array_type_definition
aspect_clause
: FOR attribute_reference USE expression_opt SEMICOLON ;;
attribute_definition_clause
%((wisi-statement-action [1 statement-start 5 statement-end])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken]))%
| enumeration_representation_clause
| record_representation_clause
| at_clause
@@ -502,13 +512,17 @@ assignment_statement
(wisi-hanging
(wisi-anchored% 2 ada-indent-broken)
(wisi-anchored% 3 ada-indent-broken))
- nil]))%
+ ada-indent-broken]))%
;
association_opt
: CHARACTER_LITERAL EQUAL_GREATER expression_opt ;; part of selector_name
that does not overlap name
- %((wisi-indent-action [nil ada-indent-broken
- [(wisi-anchored% 2 ada-indent-broken) (wisi-anchored%
2 ada-indent-broken)]]))%
+ %((wisi-indent-action [nil
+ ada-indent-broken
+ [(wisi-hanging%- (wisi-anchored% 2
ada-indent-broken)
+ (wisi-anchored% 2 (* 2
ada-indent-broken)))
+ (wisi-hanging%- (wisi-anchored% 2
ada-indent-broken)
+ (wisi-anchored% 2 (* 2
ada-indent-broken)))]]))%
| CHARACTER_LITERAL EQUAL_GREATER BOX ;; from formal_package_association_list
| discrete_choice_list EQUAL_GREATER expression_opt
;; We need wisi-hanging on expression_opt to recognize aspect_specification
for a special case.
@@ -534,13 +548,17 @@ association_opt
(wisi-anchored% 2 (* 2
ada-indent-broken)))]]))%
| discrete_choice_list EQUAL_GREATER BOX
%((wisi-indent-action [(wisi-hanging nil ada-indent-broken)
ada-indent-broken nil]))%
- | FOR IDENTIFIER IN discrete_choice_list EQUAL_GREATER expression ;;
iterated_component_association
- %((wisi-indent-action [nil nil nil (wisi-hanging nil ada-indent-broken)
ada-indent-broken
- [(wisi-hanging nil ada-indent-broken)
(wisi-hanging nil ada-indent-broken)]]))%
| expression
;; test/ada_mode-parens.adb Hello
%((wisi-indent-action [[(wisi-hanging nil ada-indent-broken) (wisi-hanging
nil ada-indent-broken)]]))%
| ;; empty
+
+ | FOR IDENTIFIER IN discrete_choice_list EQUAL_GREATER expression ;;
iterated_component_association
+ %((wisi-indent-action [nil nil nil (wisi-hanging nil ada-indent-broken)
ada-indent-broken
+ [(wisi-hanging nil ada-indent-broken)
(wisi-hanging nil ada-indent-broken)]]))%
+ | FOR iterator_specification EQUAL_GREATER expression ;;
iterated_component_association
+ %((wisi-indent-action [nil (wisi-hanging nil ada-indent-broken)
ada-indent-broken
+ [(wisi-hanging nil ada-indent-broken)
(wisi-hanging nil ada-indent-broken)]]))%
;
association_list
@@ -553,7 +571,7 @@ asynchronous_select
%((wisi-statement-action [1 statement-start 3 motion 8 statement-end])
(wisi-motion-action [1 3 8])
(wisi-indent-action [nil [ada-indent ada-indent] [nil
ada-indent-broken] ada-indent-broken
- [ada-indent ada-indent] nil nil nil]))%
+ [ada-indent ada-indent] nil ada-indent-broken
ada-indent-broken]))%
;
at_clause
@@ -594,12 +612,13 @@ block_statement
: block_label_opt DECLARE declarative_part_opt BEGIN
handled_sequence_of_statements END identifier_opt SEMICOLON
%((wisi-statement-action [1 statement-start 2 motion 4 motion 8
statement-end])
(wisi-motion-action [2 4 [5 WHEN] 8])
- (wisi-indent-action [nil nil [ada-indent ada-indent] nil [ada-indent
ada-indent] nil nil nil]))%
+ (wisi-indent-action [nil nil [ada-indent ada-indent] nil [ada-indent
ada-indent] nil ada-indent-broken
+ ada-indent-broken]))%
%((wisi-match-names 1 7))%
| block_label_opt BEGIN handled_sequence_of_statements END identifier_opt
SEMICOLON
%((wisi-statement-action [1 statement-start 2 motion 6 statement-end])
(wisi-motion-action [2 [3 WHEN] 6])
- (wisi-indent-action [nil nil [ada-indent ada-indent] nil nil nil]))%
+ (wisi-indent-action [nil nil [ada-indent ada-indent] nil
ada-indent-broken ada-indent-broken]))%
%((wisi-match-names 1 5))%
;
@@ -637,7 +656,7 @@ case_statement
: CASE expression_opt IS case_statement_alternative_list END CASE SEMICOLON
%((wisi-statement-action [1 statement-start 7 statement-end])
(wisi-motion-action [1 4 7])
- (wisi-indent-action [nil ada-indent-broken nil [ada-indent-when
ada-indent-when] nil nil nil]))%
+ (wisi-indent-action [nil ada-indent-broken nil [ada-indent-when
ada-indent-when] nil ada-indent-broken ada-indent-broken]))%
;
case_statement_alternative
@@ -689,7 +708,8 @@ compilation_unit_list
component_clause
: IDENTIFIER AT simple_expression RANGE simple_expression DOT_DOT
simple_expression SEMICOLON
%((wisi-statement-action [1 statement-start 8 statement-end])
- (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
+ ada-indent-broken ada-indent-broken
ada-indent-broken]))%
;
component_clause_list
@@ -702,10 +722,10 @@ component_declaration
%((wisi-statement-action [1 statement-start 7 statement-end])
(wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken
(wisi-anchored% 4 ada-indent-broken)
- ada-indent-broken nil]))%
+ ada-indent-broken ada-indent-broken]))%
| identifier_list COLON component_definition aspect_specification_opt
SEMICOLON
%((wisi-statement-action [1 statement-start 5 statement-end])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken]))%
;
component_definition
@@ -748,7 +768,8 @@ conditional_entry_call
: SELECT entry_call_alternative ELSE sequence_of_statements_opt END SELECT
SEMICOLON
%((wisi-statement-action [1 statement-start 3 motion 7 statement-end])
(wisi-motion-action [1 3 7])
- (wisi-indent-action [nil [ada-indent ada-indent] nil [ada-indent
ada-indent] nil nil nil]))%
+ (wisi-indent-action [nil [ada-indent ada-indent] nil [ada-indent
ada-indent] nil ada-indent-broken
+ ada-indent-broken]))%
;
conditional_quantified_expression
@@ -790,7 +811,7 @@ declaration
| identifier_list COLON CONSTANT COLON_EQUAL expression_opt SEMICOLON ;;
number_declaration
%((wisi-statement-action [1 statement-start 6 statement-end])
(wisi-indent-action [(wisi-hanging nil ada-indent-broken)
ada-indent-broken ada-indent-broken ada-indent-broken
- (wisi-anchored% 4 ada-indent-broken) nil]))%
+ (wisi-anchored% 4 ada-indent-broken)
ada-indent-broken]))%
| object_declaration
| package_declaration
| renaming_declaration
@@ -824,10 +845,10 @@ delay_alternative
delay_statement
: DELAY UNTIL expression_opt SEMICOLON
%((wisi-statement-action [1 statement-start 4 statement-end])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken]))%
| DELAY expression_opt SEMICOLON
%((wisi-statement-action [1 statement-start 3 statement-end])
- (wisi-indent-action [nil ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken]))%
;
derived_type_definition
@@ -938,7 +959,8 @@ entry_body
;; (Local_2 = 1)
(wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken
(wisi-anchored% 4 ada-indent-broken)
- nil [ada-indent ada-indent] nil [ada-indent
ada-indent] nil nil nil]))%
+ nil [ada-indent ada-indent] nil [ada-indent
ada-indent] nil ada-indent-broken
+ ada-indent-broken]))%
%((wisi-match-names 2 11))%
;
@@ -961,12 +983,12 @@ entry_declaration
(wisi-name-action 3)
(wisi-face-apply-action [3 nil font-lock-function-name-face])
(wisi-indent-action [nil nil ada-indent-broken ada-indent-broken
(wisi-anchored 4 1) (wisi-anchored 4 0)
- ada-indent-broken nil nil]))%
+ ada-indent-broken ada-indent-broken
ada-indent-broken]))%
| overriding_indicator_opt ENTRY IDENTIFIER parameter_profile_opt
aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 2 statement-override 6
statement-end])
(wisi-name-action 3)
(wisi-face-apply-action [3 nil font-lock-function-name-face])
- (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken
ada-indent-broken nil]))%
+ (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken]))%
;
enumeration_literal ;; enumeration_literal_specification
@@ -983,7 +1005,9 @@ enumeration_representation_clause
: FOR name USE aggregate SEMICOLON
%((wisi-statement-action [1 statement-start 5 statement-end])
(wisi-face-apply-action [2 font-lock-function-name-face
font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken nil]))%
+ (wisi-indent-action [nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken ada-indent-broken
ada-indent-broken]))%
;
enumeration_type_definition
@@ -1030,7 +1054,7 @@ exception_handler_list_opt
exit_statement
: EXIT identifier_opt WHEN expression_opt SEMICOLON
%((wisi-statement-action [1 statement-start 5 statement-end])
- (wisi-indent-action [nil nil nil ada-indent-broken nil]))%
+ (wisi-indent-action [nil nil nil ada-indent-broken ada-indent-broken]))%
| EXIT identifier_opt SEMICOLON
%((wisi-statement-action [1 statement-start 3 statement-end]))%
;
@@ -1054,7 +1078,7 @@ expression_function_declaration
;; IS does not start a block, so it is not "motion".
;;
%((wisi-statement-action [1 statement-start 2 statement-override 6
statement-end])
- (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken
ada-indent-broken nil]))%
+ (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken]))%
;
extended_return_object_declaration
@@ -1074,7 +1098,8 @@ extended_return_statement
: RETURN extended_return_object_declaration_opt DO
handled_sequence_of_statements END RETURN SEMICOLON
%((wisi-statement-action [1 statement-start 3 motion 7 statement-end])
(wisi-motion-action [1 3 [4 WHEN] 7])
- (wisi-indent-action [[nil ada-indent] ada-indent-broken nil [ada-indent
ada-indent] nil nil nil]))%
+ (wisi-indent-action [[nil ada-indent] ada-indent-broken nil [ada-indent
ada-indent] nil ada-indent-broken
+ ada-indent-broken]))%
| RETURN extended_return_object_declaration SEMICOLON
%((wisi-statement-action [1 statement-start 3 statement-end]))%
;; indent the same as a simple return statment
@@ -1098,21 +1123,27 @@ formal_object_declaration
expression_opt aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 9 statement-end])
(wisi-face-apply-action [5 font-lock-function-name-face
font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken ada-indent-broken
- (wisi-anchored% 6 ada-indent-broken)
ada-indent-broken nil]))%
+ (wisi-indent-action [nil
+ ada-indent-broken ada-indent-broken
ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken
+ (wisi-anchored% 6 ada-indent-broken)
ada-indent-broken ada-indent-broken]))%
| identifier_list COLON mode_opt access_definition COLON_EQUAL
expression_opt aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 8 statement-end])
(wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
- (wisi-anchored% 5 ada-indent-broken)
ada-indent-broken nil]))%
+ (wisi-anchored% 5 ada-indent-broken)
ada-indent-broken ada-indent-broken]))%
| identifier_list COLON mode_opt null_exclusion_opt name
aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 7 statement-end])
(wisi-face-apply-action [5 font-lock-function-name-face
font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
- ada-indent-broken nil]))%
+ (wisi-indent-action [nil
+ ada-indent-broken ada-indent-broken
ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken ada-indent-broken]))%
| identifier_list COLON mode_opt access_definition aspect_specification_opt
SEMICOLON
%((wisi-statement-action [1 statement-start 6 statement-end])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
+ ada-indent-broken]))%
;
formal_part
@@ -1125,18 +1156,18 @@ formal_subprogram_declaration
: WITH subprogram_specification IS ABSTRACT subprogram_default
aspect_specification_opt SEMICOLON
;; formal_abstract_subprogram_declaration
%((wisi-statement-action [1 statement-start 7 statement-end])
- (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken nil]))%
+ (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken ada-indent-broken]))%
| WITH subprogram_specification IS subprogram_default
aspect_specification_opt SEMICOLON
;; formal_concrete_subprogram_declaration
%((wisi-statement-action [1 statement-start 6 statement-end])
- (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken
ada-indent-broken nil]))%
+ (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken]))%
| WITH subprogram_specification IS ABSTRACT aspect_specification_opt
SEMICOLON
;; formal_abstract_subprogram_declaration
%((wisi-statement-action [1 statement-start 6 statement-end])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken ada-indent-broken]))%
| WITH subprogram_specification aspect_specification_opt SEMICOLON ;;
formal_concrete_subprogram_declaration
%((wisi-statement-action [1 statement-start 4 statement-end])
- (wisi-indent-action [nil nil ada-indent-broken nil]))%
+ (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken]))%
;
formal_type_declaration
@@ -1145,17 +1176,17 @@ formal_type_declaration
%((wisi-statement-action [1 statement-start 7 statement-end])
(wisi-face-apply-action [2 nil font-lock-type-face])
(wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken
- ada-indent-broken ada-indent-broken nil]))%
+ ada-indent-broken ada-indent-broken
ada-indent-broken]))%
| TYPE IDENTIFIER discriminant_part_opt IS TAGGED aspect_specification_opt
SEMICOLON
;; formal_incomplete_type_declaration
%((wisi-statement-action [1 statement-start 7 statement-end])
(wisi-face-apply-action [2 nil font-lock-type-face])
(wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
- ada-indent-broken nil]))%
+ ada-indent-broken ada-indent-broken]))%
| TYPE IDENTIFIER discriminant_part_opt aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 5 statement-end])
(wisi-face-apply-action [2 nil font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken]))%
;
formal_type_definition
@@ -1186,7 +1217,13 @@ formal_package_declaration
%((wisi-statement-action [1 statement-start 9 statement-end])
(wisi-face-apply-action [3 font-lock-function-name-face
font-lock-function-name-face
6 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken ada-indent-broken ada-indent-broken
ada-indent-broken nil]))%
+ (wisi-indent-action [nil
+ ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken
+ ada-indent-broken ada-indent-broken]))%
;
formal_package_actual_part
@@ -1210,7 +1247,8 @@ full_type_declaration
;; ada-indent-record-rel-type if type_definition is a record.
(wisi-indent-action [nil ada-indent-broken ada-indent-broken
[ada-indent-broken (ada-indent-record* 'TYPE
5 ada-indent-broken)]
- ada-indent-broken nil nil]))%
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ nil ada-indent-broken]))%
| task_type_declaration
| protected_type_declaration
;
@@ -1220,7 +1258,9 @@ function_specification
%((wisi-statement-action [1 statement-start])
(wisi-name-action 2)
(wisi-face-apply-action [2 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken]))%
+ (wisi-indent-action [nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken]))%
%((wisi-propagate-name 2))%
;
@@ -1268,27 +1308,41 @@ generic_instantiation
(wisi-name-action 2)
(wisi-face-apply-action [2 font-lock-function-name-face
font-lock-function-name-face
5 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken nil ada-indent-broken
ada-indent-broken ada-indent-broken nil]))%
+ (wisi-indent-action [nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ nil ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken ada-indent-broken]))%
| overriding_indicator_opt PROCEDURE name IS NEW name
aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 2 statement-override 8
statement-end])
(wisi-name-action 3)
(wisi-face-apply-action [3 font-lock-function-name-face
font-lock-function-name-face
6 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken ada-indent-broken nil]))%
+ (wisi-indent-action [nil
+ nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken ada-indent-broken]))%
| overriding_indicator_opt FUNCTION name IS NEW name
aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 2 statement-override 8
statement-end])
(wisi-name-action 3)
(wisi-face-apply-action [3 font-lock-function-name-face
font-lock-function-name-face
6 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil nil ada-indent-broken nil ada-indent-broken
ada-indent-broken ada-indent-broken
- nil]))%
+ (wisi-indent-action [nil
+ nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ nil ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken
+ ada-indent-broken]))%
;
generic_package_declaration
: generic_formal_part package_specification SEMICOLON
%((wisi-statement-action [1 statement-start 3 statement-end])
(wisi-motion-action [1 2 3])
- (wisi-indent-action [[nil ada-indent] nil nil]))%
+ (wisi-indent-action [[nil ada-indent] nil ada-indent-broken]))%
;
generic_renaming_declaration
@@ -1297,21 +1351,37 @@ generic_renaming_declaration
(wisi-name-action 3)
(wisi-face-apply-action [3 font-lock-function-name-face
font-lock-function-name-face
5 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken nil]))%
+ (wisi-indent-action [nil
+ nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken
+ ada-indent-broken]))%
| GENERIC PROCEDURE name RENAMES name aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 7 statement-end])
(wisi-name-action 3)
(wisi-face-apply-action [3 font-lock-function-name-face
font-lock-function-name-face
5 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil nil ada-indent-broken (ada-indent-renames 3)
ada-indent-broken ada-indent-broken
- nil]))%
+ (wisi-indent-action [nil
+ nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ (ada-indent-renames 3)
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken
+ ada-indent-broken]))%
| GENERIC FUNCTION name RENAMES name aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 7 statement-end])
(wisi-name-action 3)
(wisi-face-apply-action [3 font-lock-function-name-face
font-lock-function-name-face
5 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil nil ada-indent-broken (ada-indent-renames 3)
ada-indent-broken ada-indent-broken
- nil]))%
+ (wisi-indent-action [nil
+ nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ (ada-indent-renames 3)
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken
+ ada-indent-broken]))%
;
generic_subprogram_declaration
@@ -1323,7 +1393,7 @@ generic_subprogram_declaration
goto_label
: LESS_LESS IDENTIFIER GREATER_GREATER
%((wisi-face-apply-action [2 nil font-lock-constant-face])
- (wisi-indent-action [ada-indent-label nil nil]))%
+ (wisi-indent-action [ada-indent-label ada-indent-broken
ada-indent-broken]))%
;
handled_sequence_of_statements
@@ -1378,7 +1448,7 @@ if_statement
ada-indent-broken]
nil
[ada-indent ada-indent] nil nil
- [ada-indent ada-indent] nil nil nil]))%
+ [ada-indent ada-indent] nil ada-indent-broken
ada-indent-broken]))%
| IF expression_opt THEN sequence_of_statements_opt ELSE
sequence_of_statements_opt END IF SEMICOLON
%((wisi-statement-action [1 statement-start 3 motion 5 motion 9
statement-end])
(wisi-motion-action [1 3 5 9])
@@ -1386,21 +1456,21 @@ if_statement
ada-indent-broken]
nil
[ada-indent ada-indent] nil
- [ada-indent ada-indent] nil nil nil]))%
+ [ada-indent ada-indent] nil ada-indent-broken
ada-indent-broken]))%
| IF expression_opt THEN sequence_of_statements_opt elsif_statement_list END
IF SEMICOLON
%((wisi-statement-action [1 statement-start 3 motion 8 statement-end])
(wisi-motion-action [1 3 5 8])
(wisi-indent-action [nil [(wisi-hanging% ada-indent-broken (* 2
ada-indent-broken))
ada-indent-broken]
nil
- [ada-indent ada-indent] nil nil nil nil]))%
+ [ada-indent ada-indent] nil nil ada-indent-broken
ada-indent-broken]))%
| IF expression_opt THEN sequence_of_statements_opt END IF SEMICOLON
%((wisi-statement-action [1 statement-start 3 motion 7 statement-end])
(wisi-motion-action [1 3 7])
(wisi-indent-action [nil [(wisi-hanging% ada-indent-broken (* 2
ada-indent-broken))
ada-indent-broken]
nil
- [ada-indent ada-indent] nil nil nil]))%
+ [ada-indent ada-indent] nil ada-indent-broken
ada-indent-broken]))%
;
incomplete_type_declaration
@@ -1408,12 +1478,12 @@ incomplete_type_declaration
%((wisi-statement-action [1 statement-start 6 statement-end])
(wisi-name-action 2)
(wisi-face-apply-action [2 nil font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken ada-indent-broken]))%
| TYPE IDENTIFIER discriminant_part_opt SEMICOLON
%((wisi-statement-action [1 statement-start 3 statement-end])
(wisi-name-action 2)
(wisi-face-apply-action [2 nil font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken]))%
;
index_constraint
@@ -1494,12 +1564,13 @@ loop_statement
: block_label_opt iteration_scheme LOOP sequence_of_statements_opt END LOOP
identifier_opt SEMICOLON
%((wisi-statement-action [1 statement-start 2 statement-override 3 motion
8 statement-end])
(wisi-motion-action [2 3 8])
- (wisi-indent-action [nil nil nil [ada-indent ada-indent] nil nil nil
nil]))%
+ (wisi-indent-action [nil nil nil [ada-indent ada-indent] nil
ada-indent-broken ada-indent-broken
+ ada-indent-broken]))%
%((wisi-match-names 1 7))%
| block_label_opt LOOP sequence_of_statements_opt END LOOP identifier_opt
SEMICOLON
%((wisi-statement-action [1 statement-start 2 statement-override 4 motion
7 statement-end])
(wisi-motion-action [2 4 7])
- (wisi-indent-action [nil nil [ada-indent ada-indent] nil nil nil nil]))%
+ (wisi-indent-action [nil nil [ada-indent ada-indent] nil
ada-indent-broken ada-indent-broken ada-indent-broken]))%
%((wisi-match-names 1 6))%
;
@@ -1555,10 +1626,10 @@ name
;; (The_Switch.First ..
;; The_Switch.Last);
%((wisi-indent-action [nil
- (wisi-anchored% 1 ada-indent-broken)
- (wisi-hanging (wisi-anchored 2 1)
- (wisi-anchored 2 (+ 1
ada-indent-broken)))
- (wisi-anchored 2 0)]))%
+ (wisi-anchored% 1 ada-indent-broken)
+ (wisi-hanging (wisi-anchored 2 1)
+ (wisi-anchored 2 (+ 1
ada-indent-broken)))
+ (wisi-anchored 2 0)]))%
| name actual_parameter_part
;; type_conversion, function_call, procedure call, generic
@@ -1579,9 +1650,10 @@ name
;; := F_Long_Name
;; (A => True,
;; B => True);
- %((wisi-indent-action [nil (if ada-indent-hanging-rel-exp
- (wisi-anchored 1 ada-indent-broken)
- (wisi-anchored% 1 ada-indent-broken))]))%
+ %((wisi-indent-action [nil
+ (if ada-indent-hanging-rel-exp
+ (wisi-anchored 1 ada-indent-broken)
+ (wisi-anchored% 1 ada-indent-broken))]))%
| selected_component ;; starts with name
%()%
@@ -1639,37 +1711,40 @@ null_exclusion_opt_name_type
null_procedure_declaration
: overriding_indicator_opt procedure_specification IS NULL
aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 2 statement-override 6
statement-end])
- (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken
ada-indent-broken nil]))%
+ (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken]))%
;
object_declaration
: identifier_list COLON aliased_opt constant_opt subtype_indication
COLON_EQUAL
expression_opt aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 9 statement-end])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken ada-indent-broken
- (wisi-anchored%- 6 ada-indent-broken)
ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken
+ (wisi-anchored%- 6 ada-indent-broken)
ada-indent-broken ada-indent-broken]))%
| identifier_list COLON aliased_opt constant_opt access_definition
COLON_EQUAL
expression_opt aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 9 statement-end])
(wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken ada-indent-broken
- (wisi-anchored% 6 ada-indent-broken)
ada-indent-broken nil]))%
+ (wisi-anchored% 6 ada-indent-broken)
ada-indent-broken ada-indent-broken]))%
| identifier_list COLON aliased_opt constant_opt array_type_definition
COLON_EQUAL
expression_opt aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 9 statement-end])
(wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken ada-indent-broken
- (wisi-anchored% 6 ada-indent-broken)
ada-indent-broken nil]))%
+ (wisi-anchored% 6 ada-indent-broken)
ada-indent-broken ada-indent-broken]))%
| identifier_list COLON aliased_opt constant_opt subtype_indication
aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 7 statement-end])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
- ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken ada-indent-broken]))%
| identifier_list COLON aliased_opt constant_opt access_definition
aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 7 statement-end])
(wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
- ada-indent-broken nil]))%
+ ada-indent-broken ada-indent-broken]))%
| identifier_list COLON aliased_opt constant_opt array_type_definition
aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 7 statement-end])
(wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
- ada-indent-broken nil]))%
+ ada-indent-broken ada-indent-broken]))%
| single_task_declaration
| single_protected_declaration
;
@@ -1679,19 +1754,25 @@ object_renaming_declaration
%((wisi-statement-action [1 statement-start 8 statement-end])
(wisi-name-action 1)
(wisi-face-apply-action [4 font-lock-function-name-face
font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
- ada-indent-broken ada-indent-broken nil]))%
+ (wisi-indent-action [nil
+ ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken ada-indent-broken]))%
| IDENTIFIER COLON access_definition RENAMES name aspect_specification_opt
SEMICOLON
%((wisi-statement-action [1 statement-start 7 statement-end])
(wisi-name-action 1)
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
- ada-indent-broken nil]))%
+ (wisi-indent-action [nil
+ ada-indent-broken ada-indent-broken
ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken ada-indent-broken]))%
| IDENTIFIER COLON EXCEPTION RENAMES name aspect_specification_opt SEMICOLON
;; exception_renaming_declaration
%((wisi-statement-action [1 statement-start 7 statement-end])
(wisi-name-action 1)
(wisi-face-apply-action [5 font-lock-function-name-face nil])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
- ada-indent-broken nil]))%
+ (wisi-indent-action [nil
+ ada-indent-broken ada-indent-broken
ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken ada-indent-broken]))%
;
;; operator_symbol is STRING_LITERAL, in name
@@ -1712,8 +1793,13 @@ package_body
(wisi-motion-action [1 5 7 [8 WHEN] 11])
(wisi-face-apply-action [3 font-lock-function-name-face
font-lock-function-name-face
10 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken nil nil
[ada-indent ada-indent]
- nil [ada-indent ada-indent] nil
ada-indent-broken nil]))%
+ (wisi-indent-action [nil
+ ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ nil nil [ada-indent ada-indent]
+ nil [ada-indent ada-indent] nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken]))%
%((wisi-match-names 3 10))%
| PACKAGE BODY name aspect_specification_opt IS declarative_part_opt END
name_opt SEMICOLON
@@ -1722,8 +1808,12 @@ package_body
(wisi-motion-action [1 5 9])
(wisi-face-apply-action [3 font-lock-function-name-face
font-lock-function-name-face
8 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken nil [ada-indent ada-indent] nil
- nil nil]))%
+ (wisi-indent-action [nil
+ ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken nil [ada-indent ada-indent] nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken]))%
%((wisi-match-names 3 8))%
;
@@ -1732,7 +1822,10 @@ package_body_stub
%((wisi-statement-action [1 statement-start 7 statement-end])
(wisi-name-action 3)
(wisi-face-apply-action [3 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken nil
ada-indent-broken ada-indent-broken nil]))%
+ (wisi-indent-action [nil
+ ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ nil ada-indent-broken ada-indent-broken
ada-indent-broken]))%
;
package_declaration
@@ -1747,7 +1840,11 @@ package_renaming_declaration
(wisi-name-action 2)
(wisi-face-apply-action [2 font-lock-function-name-face
font-lock-function-name-face
4 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken nil]))%
+ (wisi-indent-action [nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken ada-indent-broken]))%
;
package_specification
@@ -1757,8 +1854,11 @@ package_specification
(wisi-motion-action [1 4 6])
(wisi-face-apply-action [2 font-lock-function-name-face
font-lock-function-name-face
9 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken nil
[ada-indent ada-indent] nil
- [ada-indent ada-indent] nil nil]))%
+ (wisi-indent-action [nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken nil [ada-indent ada-indent] nil
+ [ada-indent ada-indent] nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))]))%
%((wisi-match-names 2 9))%
| PACKAGE name aspect_specification_opt IS declarative_part_opt END name_opt
%((wisi-statement-action [1 statement-start 4 motion])
@@ -1766,7 +1866,10 @@ package_specification
(wisi-motion-action [1 4])
(wisi-face-apply-action [2 font-lock-function-name-face
font-lock-function-name-face
7 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken nil
[ada-indent ada-indent] nil nil]))%
+ (wisi-indent-action [nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken nil [ada-indent ada-indent] nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))]))%
%((wisi-match-names 2 7))%
;
@@ -1787,12 +1890,15 @@ parameter_profile_opt
parameter_specification
: identifier_list COLON aliased_opt mode_opt null_exclusion_opt name
COLON_EQUAL expression_opt
%((wisi-face-apply-action [6 font-lock-function-name-face
font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
- ada-indent-broken ada-indent-broken
(wisi-anchored% 7 ada-indent-broken)]))%
+ (wisi-indent-action [nil
+ ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken (wisi-anchored% 7
ada-indent-broken)]))%
| identifier_list COLON aliased_opt mode_opt null_exclusion_opt name
%((wisi-face-apply-action [6 font-lock-function-name-face
font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
- ada-indent-broken]))%
+ (wisi-indent-action [nil
+ ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))]))%
| identifier_list COLON aliased_opt access_definition COLON_EQUAL
expression_opt
%((wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
(wisi-anchored% 5 ada-indent-broken)]))%
@@ -1826,16 +1932,18 @@ pragma_g
;; ARM has 'pragma_argument_association'; this is a superset, and reduces
redundancy
%((wisi-statement-action [1 statement-start 6 statement-end])
(wisi-face-apply-action [2 nil font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
(wisi-anchored 3 1) (wisi-anchored 3 0) nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
(wisi-anchored 3 1) (wisi-anchored 3 0)
+ ada-indent-broken]))%
;; ARM 4.5.7(7), ARM 4.5.8(4) allow ( conditional|quantified_expression )
instead of (( ... ))
| PRAGMA IDENTIFIER LEFT_PAREN conditional_quantified_expression RIGHT_PAREN
SEMICOLON
%((wisi-statement-action [1 statement-start 6 statement-end])
(wisi-face-apply-action [2 nil font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
(wisi-anchored 3 1) (wisi-anchored 3 0) nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
(wisi-anchored 3 1) (wisi-anchored 3 0)
+ ada-indent-broken]))%
| PRAGMA IDENTIFIER SEMICOLON
%((wisi-statement-action [1 statement-start 3 statement-end])
(wisi-face-apply-action [2 nil font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken]))%
;
;; prefix is name
@@ -1862,7 +1970,8 @@ private_extension_declaration
(wisi-name-action 2)
(wisi-face-apply-action [2 nil font-lock-type-face])
(wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken ada-indent-broken
- ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken nil nil]))%
+ ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
+ nil ada-indent-broken]))%
;
private_type_declaration
@@ -1870,14 +1979,14 @@ private_type_declaration
%((wisi-statement-action [1 statement-start 8 statement-end])
(wisi-name-action 2)
(wisi-face-apply-action [2 nil font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken nil
ada-indent-broken ada-indent-broken nil
- nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken nil
ada-indent-broken ada-indent-broken
+ nil ada-indent-broken]))%
;
procedure_call_statement
: name SEMICOLON
%((wisi-statement-action [1 statement-start 2 statement-end])
- (wisi-indent-action [(wisi-hanging nil ada-indent-broken) nil]))%
+ (wisi-indent-action [(wisi-hanging- nil ada-indent-broken)
ada-indent-broken]))%
;
procedure_specification
@@ -1885,7 +1994,9 @@ procedure_specification
%((wisi-statement-action [1 statement-start])
(wisi-name-action 2)
(wisi-face-apply-action [2 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken]))%
+ (wisi-indent-action [nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken]))%
%((wisi-propagate-name 2))%
;
@@ -1902,7 +2013,8 @@ protected_body
(wisi-name-action 3)
(wisi-motion-action [1 5 9])
(wisi-face-apply-action [3 nil font-lock-type-face 8 nil
font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken nil nil
ada-indent nil nil nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken nil nil
ada-indent nil ada-indent-broken
+ ada-indent-broken]))%
%((wisi-match-names 3 8))%
;
@@ -1911,7 +2023,8 @@ protected_body_stub
%((wisi-statement-action [1 statement-start 7 statement-end])
(wisi-name-action 3)
(wisi-face-apply-action [3 nil font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
+ ada-indent-broken ada-indent-broken]))%
;
protected_definition
@@ -1959,14 +2072,15 @@ protected_type_declaration
(wisi-motion-action [1 6 [10 PRIVATE] 11])
(wisi-face-apply-action [3 nil font-lock-type-face])
(wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken nil nil
- ada-indent-broken ada-indent-broken
ada-indent-broken nil nil]))%
+ ada-indent-broken ada-indent-broken
ada-indent-broken nil ada-indent-broken]))%
%((wisi-match-names 3 10))%
| PROTECTED TYPE IDENTIFIER discriminant_part_opt aspect_specification_opt
IS protected_definition SEMICOLON
%((wisi-statement-action [1 statement-start 6 motion 8 statement-end])
(wisi-name-action 3)
(wisi-motion-action [1 6 [7 PRIVATE] 8])
(wisi-face-apply-action [3 nil font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken nil [nil ada-indent] nil nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken nil [nil ada-indent] nil
+ ada-indent-broken]))%
%((wisi-match-names 3 7))%
;
@@ -2004,17 +2118,23 @@ raise_statement
;; raise Constraint_Error
;; with Integer'Image (1) &
;; "help!";
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
(wisi-anchored% 3 ada-indent-broken) nil]))%
+ (wisi-indent-action [nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken (wisi-anchored% 3
ada-indent-broken)
+ ada-indent-broken]))%
| RAISE name SEMICOLON
%((wisi-statement-action [1 statement-start 3 statement-end])
- (wisi-indent-action [nil ada-indent-broken nil]))%
+ (wisi-indent-action [nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken]))%
| RAISE SEMICOLON
%((wisi-statement-action [1 statement-start 2 statement-end]))%
;
range_g
: name tick RANGE LEFT_PAREN expression_opt RIGHT_PAREN ;;
range_attribute_reference
- %((wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken (wisi-anchored 4 1) (wisi-anchored 4 0)]))%
+ %((wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken (wisi-anchored 4 1)
+ (wisi-anchored 4 0)]))%
| name tick RANGE ;; range_attribute_reference
| simple_expression DOT_DOT simple_expression
;
@@ -2043,12 +2163,14 @@ record_representation_clause
: FOR name USE RECORD mod_clause_opt component_clause_list END RECORD
SEMICOLON
%((wisi-statement-action [1 statement-start 5 statement-end])
(wisi-face-apply-action [2 font-lock-function-name-face
font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
- [(ada-indent-record* 'FOR 4 0)
(ada-indent-record* 'FOR 4 ada-indent)]
- (ada-indent-record 1 4 ada-indent)
- [(ada-indent-record* 'FOR 4 ada-indent)
(ada-indent-record* 'FOR 4 ada-indent)]
- (ada-indent-record* 'FOR 4 0)
- nil nil]))%
+ (wisi-indent-action [nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken
+ [(ada-indent-record* 'FOR 4 0) (ada-indent-record*
'FOR 4 ada-indent)]
+ (ada-indent-record 1 4 ada-indent)
+ [(ada-indent-record* 'FOR 4 ada-indent)
(ada-indent-record* 'FOR 4 ada-indent)]
+ (ada-indent-record* 'FOR 4 0)
+ ada-indent-broken ada-indent-broken]))%
;
relation_and_list
@@ -2111,7 +2233,7 @@ result_profile
(wisi-indent-action* 1
[nil
(wisi-anchored* 1 ada-indent-broken)
- (wisi-anchored* 1 ada-indent-broken)]))%
+ (wisi-anchored*- 1 ada-indent-broken)]))%
| RETURN access_definition
;; test/ada_mode-nominal.adb
;; function Function_Access_1
@@ -2128,7 +2250,8 @@ return_subtype_indication
selected_component
: name DOT IDENTIFIER
- %((wisi-face-mark-action [1 prefix 3 suffix]))%
+ %((wisi-face-mark-action [1 prefix 3 suffix])
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken]))%
%((wisi-merge-names 1 3))%
| name DOT CHARACTER_LITERAL
@@ -2149,11 +2272,12 @@ selective_accept
: SELECT select_alternative_list_opt ELSE sequence_of_statements_opt END
SELECT SEMICOLON
%((wisi-statement-action [1 statement-start 3 motion 7 statement-end])
(wisi-motion-action [1 [2 OR] 3 7])
- (wisi-indent-action [[nil ada-indent] [nil ada-indent] nil [ada-indent
ada-indent] nil nil nil]))%
+ (wisi-indent-action [[nil ada-indent] [nil ada-indent] nil [ada-indent
ada-indent] nil ada-indent-broken
+ ada-indent-broken]))%
| SELECT select_alternative_list_opt END SELECT SEMICOLON
%((wisi-statement-action [1 statement-start 5 statement-end])
(wisi-motion-action [1 [2 OR] 5])
- (wisi-indent-action [[nil ada-indent] [nil ada-indent] nil nil nil]))%
+ (wisi-indent-action [[nil ada-indent] [nil ada-indent] nil
ada-indent-broken ada-indent-broken]))%
;
select_alternative
@@ -2220,7 +2344,7 @@ simple_return_statement
;; 1.0 +
;; 2.0;
%((wisi-statement-action [1 statement-start 3 statement-end])
- (wisi-indent-action [nil ada-indent-broken nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken]))%
;
simple_statement
@@ -2250,7 +2374,7 @@ single_protected_declaration
(wisi-motion-action [1 4 7 [8 PRIVATE] 9])
(wisi-face-apply-action [2 nil font-lock-type-face])
(wisi-indent-action [nil ada-indent-broken nil nil ada-indent-broken
ada-indent-broken ada-indent-broken nil
- nil]))%
+ ada-indent-broken]))%
%((wisi-match-names 2 8))%
| PROTECTED IDENTIFIER aspect_specification_opt IS protected_definition
SEMICOLON
@@ -2258,7 +2382,7 @@ single_protected_declaration
(wisi-name-action 2)
(wisi-motion-action [1 4 [5 PRIVATE] 6])
(wisi-face-apply-action [2 nil font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken nil [nil ada-indent] nil
nil]))%
+ (wisi-indent-action [nil ada-indent-broken nil [nil ada-indent] nil
ada-indent-broken]))%
%((wisi-match-names 2 5))%
;
@@ -2269,7 +2393,7 @@ single_task_declaration
(wisi-motion-action [1 4 [8 PRIVATE] 11])
(wisi-face-apply-action [2 nil font-lock-type-face 9 nil
font-lock-type-face])
(wisi-indent-action [nil ada-indent-broken nil nil ada-indent-broken
ada-indent-broken ada-indent-broken nil
- nil nil nil]))%
+ nil ada-indent-broken ada-indent-broken]))%
%((wisi-match-names 2 10))%
| TASK IDENTIFIER aspect_specification_opt IS task_definition END
identifier_opt SEMICOLON
@@ -2277,14 +2401,14 @@ single_task_declaration
(wisi-name-action 2)
(wisi-motion-action [1 4 [5 PRIVATE] 8])
(wisi-face-apply-action [2 nil font-lock-type-face 6 nil
font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken nil [nil ada-indent] nil nil
nil nil]))%
+ (wisi-indent-action [nil ada-indent-broken nil [nil ada-indent] nil nil
ada-indent-broken ada-indent-broken]))%
%((wisi-match-names 2 7))%
| TASK IDENTIFIER aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 4 statement-end])
(wisi-name-action 2)
(wisi-face-apply-action [2 nil font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken nil nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken]))%
;
statement
@@ -2300,14 +2424,14 @@ subprogram_body
(wisi-motion-action [1 2 4 6 [7 WHEN] 10])
(wisi-face-apply-action [9 font-lock-function-name-face
font-lock-function-name-face])
(wisi-indent-action [nil [nil ada-indent] nil nil [ada-indent ada-indent]
- nil [ada-indent ada-indent] nil ada-indent-broken
nil]))%
+ nil [ada-indent ada-indent] nil ada-indent-broken
ada-indent-broken]))%
%((wisi-match-names 2 9))%
;
subprogram_body_stub
: overriding_indicator_opt subprogram_specification IS SEPARATE
aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 2 statement-override 6
statement-end])
- (wisi-indent-action [nil nil nil ada-indent-broken ada-indent-broken
nil]))%
+ (wisi-indent-action [nil nil nil ada-indent-broken ada-indent-broken
ada-indent-broken]))%
;
subprogram_declaration
@@ -2325,7 +2449,10 @@ subprogram_renaming_declaration
: overriding_indicator_opt subprogram_specification RENAMES name
aspect_specification_opt SEMICOLON
%((wisi-statement-action [1 statement-start 2 statement-override 6
statement-end])
(wisi-face-apply-action [4 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil nil (ada-indent-renames 2) ada-indent-broken
ada-indent-broken nil]))%
+ (wisi-indent-action [nil
+ nil (ada-indent-renames 2)
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken ada-indent-broken]))%
;
subprogram_specification
@@ -2342,7 +2469,8 @@ subtype_declaration
%((wisi-statement-action [1 statement-start 6 statement-end])
(wisi-name-action 2)
(wisi-face-apply-action [2 nil font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken nil nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken nil
+ ada-indent-broken]))%
;
subtype_indication
@@ -2364,7 +2492,9 @@ subtype_indication
subunit
: SEPARATE LEFT_PAREN name RIGHT_PAREN proper_body
%((wisi-statement-action [1 statement-start 5 statement-override])
- (wisi-indent-action [nil ada-indent-broken (wisi-anchored 2 1)
(wisi-anchored 2 0) nil]))%
+ (wisi-indent-action [nil
+ (wisi-hanging%- ada-indent-broken (* 2
ada-indent-broken))
+ (wisi-anchored 2 1) (wisi-anchored 2 0) nil]))%
;
task_body
@@ -2375,7 +2505,7 @@ task_body
(wisi-motion-action [1 5 7 [8 WHEN] 11])
(wisi-face-apply-action [3 nil font-lock-type-face 10 nil
font-lock-type-face])
(wisi-indent-action [nil nil ada-indent-broken nil nil [ada-indent
ada-indent]
- nil [ada-indent ada-indent] nil nil nil]))%
+ nil [ada-indent ada-indent] nil
ada-indent-broken ada-indent-broken]))%
%((wisi-match-names 3 10))%
;
@@ -2384,7 +2514,7 @@ task_body_stub
%((wisi-statement-action [1 statement-start 7 statement-end])
(wisi-name-action 3)
(wisi-face-apply-action [3 nil font-lock-type-face])
- (wisi-indent-action [nil nil ada-indent-broken nil ada-indent-broken
ada-indent-broken nil]))%
+ (wisi-indent-action [nil nil ada-indent-broken nil ada-indent-broken
ada-indent-broken ada-indent-broken]))%
;
;; LRM includes 'end identifier' here; we put that in
@@ -2408,22 +2538,24 @@ task_type_declaration
(wisi-motion-action [1 6 9 [10 PRIVATE] 13])
(wisi-face-apply-action [3 nil font-lock-type-face 12 nil
font-lock-type-face])
(wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken nil nil
- ada-indent-broken ada-indent-broken
ada-indent-broken nil nil nil nil]))%
+ ada-indent-broken ada-indent-broken
ada-indent-broken nil nil ada-indent-broken
+ ada-indent-broken]))%
%((wisi-match-names 3 12))%
| TASK TYPE IDENTIFIER discriminant_part_opt aspect_specification_opt IS
task_definition END identifier_opt SEMICOLON
%((wisi-statement-action [1 statement-start 6 motion 10 statement-end])
(wisi-name-action 3)
(wisi-face-apply-action [3 nil font-lock-type-face 9 nil
font-lock-type-face])
(wisi-motion-action [1 6 [7 PRIVATE] 10])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken nil [nil ada-indent] nil nil nil
- nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken nil [nil ada-indent] nil nil
+ ada-indent-broken ada-indent-broken]))%
%((wisi-match-names 3 9))%
| TASK TYPE IDENTIFIER discriminant_part_opt aspect_specification_opt
SEMICOLON
%((wisi-statement-action [1 statement-start 6 statement-end])
(wisi-name-action 3)
(wisi-face-apply-action [3 nil font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken nil nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-broken ada-indent-broken
+ ada-indent-broken]))%
;
term
@@ -2445,7 +2577,8 @@ timed_entry_call
: SELECT entry_call_alternative OR delay_alternative END SELECT SEMICOLON
%((wisi-statement-action [1 statement-start 3 motion 6 statement-end])
(wisi-motion-action [1 3 6])
- (wisi-indent-action [nil [ada-indent ada-indent] nil [ada-indent
ada-indent] nil nil nil]))%
+ (wisi-indent-action [nil [ada-indent ada-indent] nil [ada-indent
ada-indent] nil ada-indent-broken
+ ada-indent-broken]))%
;
triggering_alternative
@@ -2479,7 +2612,7 @@ variant_part
: CASE direct_name_opt IS variant_list END CASE SEMICOLON
%((wisi-statement-action [1 statement-start 7 statement-end])
(wisi-motion-action [1 4 7])
- (wisi-indent-action [nil ada-indent-broken nil ada-indent-when nil nil
nil]))%
+ (wisi-indent-action [nil ada-indent-broken nil ada-indent-when nil
ada-indent-broken ada-indent-broken]))%
;
variant_list
@@ -2501,34 +2634,34 @@ use_clause
: USE ALL TYPE name_list SEMICOLON
%((wisi-statement-action [1 statement-start 5 statement-end])
(wisi-face-apply-list-action [4 font-lock-function-name-face
font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-use nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-use ada-indent-broken]))%
| USE TYPE name_list SEMICOLON
%((wisi-statement-action [1 statement-start 4 statement-end])
(wisi-face-apply-list-action [3 font-lock-function-name-face
font-lock-type-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-use nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-use
ada-indent-broken]))%
| USE name_list SEMICOLON
%((wisi-statement-action [1 statement-start 3 statement-end])
(wisi-face-apply-list-action [2 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-use nil]))%
+ (wisi-indent-action [nil ada-indent-use ada-indent-broken]))%
;
with_clause
: LIMITED PRIVATE WITH name_list SEMICOLON
%((wisi-statement-action [1 statement-start 5 statement-end])
(wisi-face-apply-list-action [4 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-with nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-broken
ada-indent-with ada-indent-broken]))%
| LIMITED WITH name_list SEMICOLON
%((wisi-statement-action [1 statement-start 4 statement-end])
(wisi-face-apply-list-action [3 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-with nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-with
ada-indent-broken]))%
| PRIVATE WITH name_list SEMICOLON
%((wisi-statement-action [1 statement-start 4 statement-end])
(wisi-face-apply-list-action [3 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-broken ada-indent-with nil]))%
+ (wisi-indent-action [nil ada-indent-broken ada-indent-with
ada-indent-broken]))%
| WITH name_list SEMICOLON
%((wisi-statement-action [1 statement-start 3 statement-end])
(wisi-face-apply-list-action [2 font-lock-function-name-face
font-lock-function-name-face])
- (wisi-indent-action [nil ada-indent-with nil]))%
+ (wisi-indent-action [nil ada-indent-with ada-indent-broken]))%
;
;;; end of file
diff --git a/packages/ada-mode/ada_lr1_parse_table.txt.gz
b/packages/ada-mode/ada_lr1_parse_table.txt.gz
index 4ea747c..4184430 100644
Binary files a/packages/ada-mode/ada_lr1_parse_table.txt.gz and
b/packages/ada-mode/ada_lr1_parse_table.txt.gz differ
diff --git a/packages/ada-mode/ada_mode_wisi_parse.gpr.gp
b/packages/ada-mode/ada_mode_wisi_parse.gpr.gp
index 95b3e16..b39f513 100644
--- a/packages/ada-mode/ada_mode_wisi_parse.gpr.gp
+++ b/packages/ada-mode/ada_mode_wisi_parse.gpr.gp
@@ -24,13 +24,13 @@ with "wisitoken";
with "standard_common";
with "gnatcoll";
with "gnatcoll_sqlite";
-#if HAVE_GNATCOLL_XREF="yes"
with "gnatcoll_xref";
-#end if;
+#if HAVE_GNAT_UTIL="yes"
with "gnat_util";
--- #if HAVE_LIBADALANG="yes"
--- with "libadalang";
--- #end if;
+#end if;
+#if HAVE_LIBADALANG="yes"
+with "libadalang";
+#end if;
project Ada_Mode_Wisi_Parse is
for Main use
@@ -38,9 +38,12 @@ project Ada_Mode_Wisi_Parse is
"ada_mode_wisi_lr1_parse.ads",
"run_ada_lalr_parse.ads",
"run_ada_lr1_parse.ads",
--- #if HAVE_LIBADALANG="yes"
--- "run_ada_libadalang_parse.ads",
--- #end if;
+#if ELPA="no"
+ #if HAVE_LIBADALANG="yes"
+ "dump_libadalang_corrected.adb",
+ #end if;
+ "dump_wisitoken_corrected.adb",
+#end if;
"gpr_mode_wisi_parse.ads",
"run_gpr_parse.ads",
"gpr_query.adb"
@@ -67,7 +70,7 @@ project Ada_Mode_Wisi_Parse is
for Default_Switches ("Ada") use
Standard_Common.Compiler.Common_Switches &
Standard_Common.Compiler.Style_Checks &
- Standard_Common.Compiler.Debug_Switches;
+ Standard_Common.Compiler.Debug_Switches & "-gnat2020";
-- Generated files; lines too long, don't need debug
for Switches ("ada_process_actions.adb") use
@@ -96,7 +99,7 @@ project Ada_Mode_Wisi_Parse is
for Default_Switches ("Ada") use
Standard_Common.Compiler.Common_Switches &
Standard_Common.Compiler.Style_Checks &
- Standard_Common.Compiler.Release_Switches;
+ Standard_Common.Compiler.Release_Switches & "-gnat2020";
for Switches ("ada_process_actions.adb") use
Standard_Common.Compiler.Common_Switches &
diff --git a/packages/ada-mode/ada_process_actions.adb
b/packages/ada-mode/ada_process_actions.adb
index 10a0128..11788f3 100644
--- a/packages/ada-mode/ada_process_actions.adb
+++ b/packages/ada-mode/ada_process_actions.adb
@@ -27,8 +27,8 @@ package body Ada_Process_Actions is
procedure abstract_subprogram_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -41,15 +41,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int, Ada_Indent_Broken))),
- (False, (Simple, (Label => None))), (False, (Simple, (Label =>
None)))));
+ (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end abstract_subprogram_declaration_0;
procedure accept_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -64,8 +64,8 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (True, (Simple, (Label => None)), (Simple,
(Int, Ada_Indent))), (True, (Simple, (Int,
- Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Label
=> None))), (False, (Simple, (Label =>
- None))), (False, (Simple, (Label => None)))));
+ Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Label
=> None))), (False, (Simple, (Int,
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end accept_statement_0;
@@ -84,8 +84,8 @@ package body Ada_Process_Actions is
procedure accept_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -97,15 +97,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end accept_statement_1;
procedure access_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -117,15 +117,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Label => None))), (False,
(Simple, (Label => None))), (False, (Simple,
- (Anchored_1, 4, Ada_Indent_Broken)))));
+ (Anchored_2, 4, Ada_Indent_Broken)))));
end case;
end access_definition_0;
procedure access_definition_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -144,8 +144,8 @@ package body Ada_Process_Actions is
procedure access_definition_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -162,8 +162,8 @@ package body Ada_Process_Actions is
procedure actual_parameter_part_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -181,8 +181,8 @@ package body Ada_Process_Actions is
procedure actual_parameter_part_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -200,8 +200,27 @@ package body Ada_Process_Actions is
procedure aggregate_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
+ is
+ Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
+ begin
+ case Parse_Data.Post_Parse_Action is
+ when Navigate =>
+ null;
+ when Face =>
+ null;
+ when Indent =>
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (True, (Simple,
+ (Anchored_0, 1, 1)), (Simple, (Anchored_0, 1, 1))), (False, (Simple,
(Anchored_0, 1, 0)))));
+ end case;
+ end aggregate_0;
+
+ procedure aggregate_2
+ (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
+ Tree : in out WisiToken.Syntax_Trees.Tree;
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -215,13 +234,13 @@ package body Ada_Process_Actions is
(Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 1))), (False,
(Simple, (Label => None))), (False,
(Simple, (Label => None))), (False, (Simple, (Anchored_0, 1, 0)))));
end case;
- end aggregate_0;
+ end aggregate_2;
- procedure aggregate_1
+ procedure aggregate_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)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -235,13 +254,13 @@ package body Ada_Process_Actions is
(Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 1))), (True,
(Simple, (Anchored_0, 1, 1)), (Simple,
(Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 0)))));
end case;
- end aggregate_1;
+ end aggregate_3;
- procedure aggregate_3
+ procedure aggregate_4
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -255,13 +274,13 @@ package body Ada_Process_Actions is
(Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 1))), (False,
(Simple, (Anchored_0, 1, 1))), (True,
(Simple, (Anchored_0, 1, 1)), (Simple, (Anchored_0, 1, 1))), (False,
(Simple, (Anchored_0, 1, 0)))));
end case;
- end aggregate_3;
+ end aggregate_4;
- procedure aggregate_4
+ procedure aggregate_5
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -271,16 +290,17 @@ package body Ada_Process_Actions is
when Face =>
null;
when Indent =>
- Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (True, (Simple,
- (Anchored_0, 1, 1)), (Simple, (Anchored_0, 1, 1))), (False, (Simple,
(Anchored_0, 1, 0)))));
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
+ (Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 1))), (False,
(Simple, (Anchored_0, 1, 1))), (True,
+ (Simple, (Anchored_0, 1, 1)), (Simple, (Anchored_0, 1, 1))), (False,
(Simple, (Anchored_0, 1, 0)))));
end case;
- end aggregate_4;
+ end aggregate_5;
- procedure aggregate_5
+ procedure aggregate_6
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -293,13 +313,13 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (True, (Simple,
(Anchored_0, 1, 1)), (Simple, (Anchored_0, 1, 1))), (False, (Simple,
(Anchored_0, 1, 0)))));
end case;
- end aggregate_5;
+ end aggregate_6;
procedure array_type_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -318,8 +338,8 @@ package body Ada_Process_Actions is
procedure array_type_definition_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -338,8 +358,8 @@ package body Ada_Process_Actions is
procedure aspect_clause_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -351,15 +371,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end aspect_clause_0;
procedure aspect_specification_opt_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -377,8 +397,8 @@ package body Ada_Process_Actions is
procedure assignment_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -390,15 +410,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Hanging_0, (Anchored_1, 2,
Ada_Indent_Broken), (Anchored_1, 3,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end assignment_statement_0;
procedure association_opt_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -409,7 +429,8 @@ package body Ada_Process_Actions is
null;
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (True, (Simple, (Anchored_1, 2,
Ada_Indent_Broken)), (Simple, (Anchored_1, 2,
+ (Int, Ada_Indent_Broken))), (True, (Hanging_3, (Anchored_1, 2,
Ada_Indent_Broken), (Anchored_1, 2, 2 *
+ Ada_Indent_Broken)), (Hanging_3, (Anchored_1, 2, Ada_Indent_Broken),
(Anchored_1, 2, 2 *
Ada_Indent_Broken)))));
end case;
end association_opt_0;
@@ -417,8 +438,8 @@ package body Ada_Process_Actions is
procedure association_opt_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -438,8 +459,8 @@ package body Ada_Process_Actions is
procedure association_opt_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -457,8 +478,27 @@ package body Ada_Process_Actions is
procedure association_opt_4
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
+ is
+ Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
+ begin
+ case Parse_Data.Post_Parse_Action is
+ when Navigate =>
+ null;
+ when Face =>
+ null;
+ when Indent =>
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, (1 => (True,
(Hanging_0, (Label => None), (Int,
+ Ada_Indent_Broken)), (Hanging_0, (Label => None), (Int,
Ada_Indent_Broken)))));
+ end case;
+ end association_opt_4;
+
+ procedure association_opt_6
+ (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
+ Tree : in out WisiToken.Syntax_Trees.Tree;
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -473,13 +513,13 @@ package body Ada_Process_Actions is
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(True, (Hanging_0, (Label => None), (Int,
Ada_Indent_Broken)), (Hanging_0, (Label => None), (Int,
Ada_Indent_Broken)))));
end case;
- end association_opt_4;
+ end association_opt_6;
- procedure association_opt_5
+ procedure association_opt_7
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -489,16 +529,17 @@ package body Ada_Process_Actions is
when Face =>
null;
when Indent =>
- Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, (1 => (True,
(Hanging_0, (Label => None), (Int,
- Ada_Indent_Broken)), (Hanging_0, (Label => None), (Int,
Ada_Indent_Broken)))));
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Hanging_0,
+ (Label => None), (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (True, (Hanging_0,
+ (Label => None), (Int, Ada_Indent_Broken)), (Hanging_0, (Label =>
None), (Int, Ada_Indent_Broken)))));
end case;
- end association_opt_5;
+ end association_opt_7;
procedure asynchronous_select_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -513,16 +554,16 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (True, (Simple, (Int,
Ada_Indent)), (Simple, (Int, Ada_Indent))), (True, (Simple, (Label =>
None)), (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(True, (Simple, (Int, Ada_Indent)),
- (Simple, (Int, Ada_Indent))), (False, (Simple, (Label => None))),
(False, (Simple, (Label => None))), (False,
- (Simple, (Label => None)))));
+ (Simple, (Int, Ada_Indent))), (False, (Simple, (Label => None))),
(False, (Simple, (Int, Ada_Indent_Broken))),
+ (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end asynchronous_select_0;
procedure at_clause_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -539,8 +580,8 @@ package body Ada_Process_Actions is
procedure block_label_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -582,8 +623,8 @@ package body Ada_Process_Actions is
procedure block_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -599,7 +640,7 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label
=> None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label =>
- None))), (False, (Simple, (Label => None))), (False, (Simple, (Label
=> None)))));
+ None))), (False, (Simple, (Int, Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken)))));
end case;
end block_statement_0;
@@ -618,8 +659,8 @@ package body Ada_Process_Actions is
procedure block_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -632,7 +673,7 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label
- => None))), (False, (Simple, (Label => None))), (False, (Simple,
(Label => None)))));
+ => None))), (False, (Simple, (Int, Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken)))));
end case;
end block_statement_1;
@@ -651,8 +692,8 @@ package body Ada_Process_Actions is
procedure case_expression_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -671,8 +712,8 @@ package body Ada_Process_Actions is
procedure case_expression_alternative_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -691,8 +732,8 @@ package body Ada_Process_Actions is
procedure case_expression_alternative_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -709,8 +750,8 @@ package body Ada_Process_Actions is
procedure case_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -724,16 +765,16 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Label => None))),
(True, (Simple, (Int, Ada_Indent_When)),
- (Simple, (Int, Ada_Indent_When))), (False, (Simple, (Label =>
None))), (False, (Simple, (Label => None))),
- (False, (Simple, (Label => None)))));
+ (Simple, (Int, Ada_Indent_When))), (False, (Simple, (Label =>
None))), (False, (Simple, (Int,
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end case_statement_0;
procedure case_statement_alternative_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -752,8 +793,8 @@ package body Ada_Process_Actions is
procedure case_statement_alternative_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -770,8 +811,8 @@ package body Ada_Process_Actions is
procedure compilation_unit_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -789,8 +830,8 @@ package body Ada_Process_Actions is
procedure compilation_unit_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -808,8 +849,8 @@ package body Ada_Process_Actions is
procedure compilation_unit_list_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -838,8 +879,8 @@ package body Ada_Process_Actions is
procedure component_clause_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -850,17 +891,18 @@ package body Ada_Process_Actions is
null;
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int, Ada_Indent_Broken))),
- (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end component_clause_0;
procedure component_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -873,15 +915,15 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Anchored_1, 4,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end component_declaration_0;
procedure component_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -893,15 +935,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end component_declaration_1;
procedure component_list_4
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -918,8 +960,8 @@ package body Ada_Process_Actions is
procedure conditional_entry_call_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -933,16 +975,16 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (True, (Simple, (Int,
Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Label
=> None))), (True, (Simple, (Int,
- Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Label
=> None))), (False, (Simple, (Label =>
- None))), (False, (Simple, (Label => None)))));
+ Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Label
=> None))), (False, (Simple, (Int,
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end conditional_entry_call_0;
procedure declaration_9
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -955,15 +997,15 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False,
(Hanging_0, (Label => None), (Int,
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Anchored_1, 4,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end declaration_9;
procedure delay_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -974,15 +1016,16 @@ package body Ada_Process_Actions is
null;
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end delay_statement_0;
procedure delay_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -993,15 +1036,15 @@ package body Ada_Process_Actions is
null;
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end delay_statement_1;
procedure derived_type_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1021,8 +1064,8 @@ package body Ada_Process_Actions is
procedure derived_type_definition_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1039,8 +1082,8 @@ package body Ada_Process_Actions is
procedure discriminant_part_opt_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1058,8 +1101,8 @@ package body Ada_Process_Actions is
procedure elsif_expression_item_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1079,8 +1122,8 @@ package body Ada_Process_Actions is
procedure elsif_expression_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1097,8 +1140,8 @@ package body Ada_Process_Actions is
procedure elsif_statement_item_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1118,8 +1161,8 @@ package body Ada_Process_Actions is
procedure elsif_statement_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1136,8 +1179,8 @@ package body Ada_Process_Actions is
procedure entry_body_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1156,7 +1199,7 @@ package body Ada_Process_Actions is
Ada_Indent_Broken))), (False, (Simple, (Anchored_1, 4,
Ada_Indent_Broken))), (False, (Simple, (Label =>
None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label => None))),
(True, (Simple, (Int, Ada_Indent)), (Simple, (Int, Ada_Indent))),
(False, (Simple, (Label => None))), (False,
- (Simple, (Label => None))), (False, (Simple, (Label => None)))));
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end entry_body_0;
@@ -1175,8 +1218,8 @@ package body Ada_Process_Actions is
procedure entry_body_formal_part_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1196,8 +1239,8 @@ package body Ada_Process_Actions is
procedure entry_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1212,15 +1255,16 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Anchored_0, 4, 1))), (False, (Simple, (Anchored_0,
4, 0))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False,
(Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end entry_declaration_0;
procedure entry_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1234,15 +1278,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int, Ada_Indent_Broken))),
- (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Label
=> None)))));
+ (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end entry_declaration_1;
procedure enumeration_representation_clause_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1252,17 +1296,17 @@ package body Ada_Process_Actions is
when Face =>
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 1,
2)));
when Indent =>
- Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Hanging_3,
+ (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end enumeration_representation_clause_0;
procedure enumeration_type_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1280,8 +1324,8 @@ package body Ada_Process_Actions is
procedure exception_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1298,8 +1342,8 @@ package body Ada_Process_Actions is
procedure exception_handler_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1319,8 +1363,8 @@ package body Ada_Process_Actions is
procedure exception_handler_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1339,8 +1383,8 @@ package body Ada_Process_Actions is
procedure exception_handler_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1357,8 +1401,8 @@ package body Ada_Process_Actions is
procedure exit_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1370,15 +1414,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Label => None))), (False,
(Simple, (Int, Ada_Indent_Broken))), (False,
- (Simple, (Label => None)))));
+ (Simple, (Int, Ada_Indent_Broken)))));
end case;
end exit_statement_0;
procedure exit_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1395,8 +1439,8 @@ package body Ada_Process_Actions is
procedure expression_function_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1409,15 +1453,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int, Ada_Indent_Broken))),
- (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Label
=> None)))));
+ (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end expression_function_declaration_0;
procedure extended_return_object_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1437,8 +1481,8 @@ package body Ada_Process_Actions is
procedure extended_return_object_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1457,8 +1501,8 @@ package body Ada_Process_Actions is
procedure extended_return_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1473,15 +1517,15 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((True, (Simple,
(Label => None)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Int, Ada_Indent_Broken))), (False,
(Simple, (Label => None))), (True,
(Simple, (Int, Ada_Indent)), (Simple, (Int, Ada_Indent))), (False,
(Simple, (Label => None))), (False,
- (Simple, (Label => None))), (False, (Simple, (Label => None)))));
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end extended_return_statement_0;
procedure extended_return_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1498,8 +1542,8 @@ package body Ada_Process_Actions is
procedure formal_object_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1511,17 +1555,17 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Anchored_1, 6,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Hanging_3, (Int, Ada_Indent_Broken),
(Int, 2 * Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Anchored_1, 6,
Ada_Indent_Broken))), (False, (Simple,
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end formal_object_declaration_0;
procedure formal_object_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1534,15 +1578,16 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Anchored_1, 5,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end formal_object_declaration_1;
procedure formal_object_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1554,16 +1599,16 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Hanging_3, (Int, Ada_Indent_Broken),
(Int, 2 * Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end formal_object_declaration_2;
procedure formal_object_declaration_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1575,15 +1620,16 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end formal_object_declaration_3;
procedure formal_part_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1601,8 +1647,8 @@ package body Ada_Process_Actions is
procedure formal_subprogram_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1615,15 +1661,15 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple,
- (Label => None)))));
+ (Int, Ada_Indent_Broken)))));
end case;
end formal_subprogram_declaration_0;
procedure formal_subprogram_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1635,15 +1681,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int, Ada_Indent_Broken))),
- (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Label
=> None)))));
+ (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end formal_subprogram_declaration_1;
procedure formal_subprogram_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1655,15 +1701,16 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end formal_subprogram_declaration_2;
procedure formal_subprogram_declaration_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1674,15 +1721,15 @@ package body Ada_Process_Actions is
null;
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Label => None)))));
+ (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end formal_subprogram_declaration_3;
procedure formal_type_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1695,15 +1742,15 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end formal_type_declaration_0;
procedure formal_type_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1716,15 +1763,15 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end formal_type_declaration_1;
procedure formal_type_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1736,15 +1783,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end formal_type_declaration_2;
procedure formal_derived_type_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1761,8 +1808,8 @@ package body Ada_Process_Actions is
procedure formal_derived_type_definition_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1779,8 +1826,8 @@ package body Ada_Process_Actions is
procedure formal_package_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1791,18 +1838,18 @@ package body Ada_Process_Actions is
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1), (6,
1, 1)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Hanging_3, (Int,
Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))),
+ (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Hanging_3,
+ (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end formal_package_declaration_0;
procedure full_type_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1816,15 +1863,16 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (True, (Simple, (Int,
Ada_Indent_Broken)), (Simple, (Language, Ada_Indent_Record_1'Access,
69 & 5 & Ada_Indent_Broken))), (False,
- (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Label =>
None))), (False, (Simple, (Label => None)))));
+ (Hanging_3, (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))),
(False, (Simple, (Label => None))),
+ (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end full_type_declaration_0;
procedure function_specification_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1835,8 +1883,8 @@ package body Ada_Process_Actions is
when Face =>
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 1,
1)));
when Indent =>
- Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Hanging_3,
+ (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken)))));
end case;
end function_specification_0;
@@ -1855,8 +1903,8 @@ package body Ada_Process_Actions is
procedure generic_formal_part_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1874,8 +1922,8 @@ package body Ada_Process_Actions is
procedure generic_formal_part_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1892,8 +1940,8 @@ package body Ada_Process_Actions is
procedure generic_instantiation_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1904,18 +1952,18 @@ package body Ada_Process_Actions is
when Face =>
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 1, 1), (5,
1, 1)));
when Indent =>
- Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Label => None))),
(False, (Simple, (Int, Ada_Indent_Broken))),
- (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple,
- (Label => None)))));
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Hanging_3,
+ (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False,
(Simple, (Label => None))), (False, (Simple,
+ (Int, Ada_Indent_Broken))), (False, (Hanging_3, (Int,
Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))),
+ (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end generic_instantiation_0;
procedure generic_instantiation_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1928,17 +1976,18 @@ package body Ada_Process_Actions is
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1), (6,
1, 1)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int, Ada_Indent_Broken))),
- (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ (Label => None))), (False, (Hanging_3, (Int, Ada_Indent_Broken),
(Int, 2 * Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Hanging_3, (Int,
+ Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken)))));
end case;
end generic_instantiation_1;
procedure generic_instantiation_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1951,17 +2000,18 @@ package body Ada_Process_Actions is
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1), (6,
1, 1)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Label => None))), (False,
- (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ (Label => None))), (False, (Hanging_3, (Int, Ada_Indent_Broken),
(Int, 2 * Ada_Indent_Broken))), (False,
+ (Simple, (Label => None))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Hanging_3, (Int,
+ Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken)))));
end case;
end generic_instantiation_2;
procedure generic_package_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1974,15 +2024,15 @@ package body Ada_Process_Actions is
null;
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((True, (Simple,
(Label => None)), (Simple, (Int,
- Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple,
(Label => None)))));
+ Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken)))));
end case;
end generic_package_declaration_0;
procedure generic_renaming_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -1994,17 +2044,18 @@ package body Ada_Process_Actions is
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1), (5,
1, 1)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int, Ada_Indent_Broken))),
- (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple,
- (Label => None)))));
+ (Label => None))), (False, (Hanging_3, (Int, Ada_Indent_Broken),
(Int, 2 * Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Hanging_3, (Int,
Ada_Indent_Broken), (Int, 2 *
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end generic_renaming_declaration_0;
procedure generic_renaming_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2016,17 +2067,18 @@ package body Ada_Process_Actions is
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1), (5,
1, 1)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Language,
- Ada_Indent_Renames_0'Access, +3))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ (Label => None))), (False, (Hanging_3, (Int, Ada_Indent_Broken),
(Int, 2 * Ada_Indent_Broken))), (False,
+ (Simple, (Language, Ada_Indent_Renames_0'Access, +3))), (False,
(Hanging_3, (Int, Ada_Indent_Broken), (Int, 2
+ * Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end generic_renaming_declaration_1;
procedure generic_renaming_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2038,17 +2090,18 @@ package body Ada_Process_Actions is
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1), (5,
1, 1)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Language,
- Ada_Indent_Renames_0'Access, +3))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ (Label => None))), (False, (Hanging_3, (Int, Ada_Indent_Broken),
(Int, 2 * Ada_Indent_Broken))), (False,
+ (Simple, (Language, Ada_Indent_Renames_0'Access, +3))), (False,
(Hanging_3, (Int, Ada_Indent_Broken), (Int, 2
+ * Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end generic_renaming_declaration_2;
procedure generic_subprogram_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2068,8 +2121,8 @@ package body Ada_Process_Actions is
procedure goto_label_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2080,15 +2133,15 @@ package body Ada_Process_Actions is
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3,
0)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Int, Ada_Indent_Label))), (False,
- (Simple, (Label => None))), (False, (Simple, (Label => None)))));
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end goto_label_0;
procedure handled_sequence_of_statements_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2107,8 +2160,8 @@ package body Ada_Process_Actions is
procedure identifier_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2126,8 +2179,8 @@ package body Ada_Process_Actions is
procedure identifier_list_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2156,8 +2209,8 @@ package body Ada_Process_Actions is
procedure if_expression_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2179,8 +2232,8 @@ package body Ada_Process_Actions is
procedure if_expression_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2201,8 +2254,8 @@ package body Ada_Process_Actions is
procedure if_expression_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2223,8 +2276,8 @@ package body Ada_Process_Actions is
procedure if_expression_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2244,8 +2297,8 @@ package body Ada_Process_Actions is
procedure if_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2262,16 +2315,16 @@ package body Ada_Process_Actions is
(Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken)), (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple,
(Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label
=> None))), (False, (Simple, (Label => None))), (True, (Simple, (Int,
Ada_Indent)), (Simple, (Int,
- Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Label
- => None)))));
+ Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken)))));
end case;
end if_statement_0;
procedure if_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2288,15 +2341,15 @@ package body Ada_Process_Actions is
(Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken)), (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple,
(Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label
=> None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label =>
- None))), (False, (Simple, (Label => None))), (False, (Simple, (Label
=> None)))));
+ None))), (False, (Simple, (Int, Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken)))));
end case;
end if_statement_1;
procedure if_statement_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2311,16 +2364,16 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (True, (Hanging_2,
(Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken)), (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple,
(Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label
- => None))), (False, (Simple, (Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Label =>
- None)))));
+ => None))), (False, (Simple, (Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple,
+ (Int, Ada_Indent_Broken)))));
end case;
end if_statement_2;
procedure if_statement_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2335,15 +2388,15 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (True, (Hanging_2,
(Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken)), (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple,
(Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label
- => None))), (False, (Simple, (Label => None))), (False, (Simple,
(Label => None)))));
+ => None))), (False, (Simple, (Int, Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken)))));
end case;
end if_statement_3;
procedure incomplete_type_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2356,15 +2409,16 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end incomplete_type_declaration_0;
procedure incomplete_type_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2376,15 +2430,16 @@ package body Ada_Process_Actions is
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3,
2)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end incomplete_type_declaration_1;
procedure index_constraint_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2402,8 +2457,8 @@ package body Ada_Process_Actions is
procedure interface_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2420,8 +2475,8 @@ package body Ada_Process_Actions is
procedure interface_list_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2438,8 +2493,8 @@ package body Ada_Process_Actions is
procedure iteration_scheme_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2457,8 +2512,8 @@ package body Ada_Process_Actions is
procedure iteration_scheme_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2476,8 +2531,8 @@ package body Ada_Process_Actions is
procedure iterator_specification_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2494,8 +2549,8 @@ package body Ada_Process_Actions is
procedure iterator_specification_5
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2512,8 +2567,8 @@ package body Ada_Process_Actions is
procedure loop_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2528,8 +2583,8 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Label => None))), (True,
(Simple, (Int, Ada_Indent)), (Simple, (Int,
- Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Label
- => None))), (False, (Simple, (Label => None)))));
+ Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end loop_statement_0;
@@ -2548,8 +2603,8 @@ package body Ada_Process_Actions is
procedure loop_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2564,8 +2619,8 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label
- => None))), (False, (Simple, (Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Label =>
- None)))));
+ => None))), (False, (Simple, (Int, Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken)))));
end case;
end loop_statement_1;
@@ -2584,8 +2639,8 @@ package body Ada_Process_Actions is
procedure name_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2604,8 +2659,8 @@ package body Ada_Process_Actions is
procedure name_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2636,8 +2691,8 @@ package body Ada_Process_Actions is
procedure name_5
(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)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2690,8 +2745,8 @@ package body Ada_Process_Actions is
procedure null_exclusion_opt_name_type_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2708,8 +2763,8 @@ package body Ada_Process_Actions is
procedure null_exclusion_opt_name_type_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2726,8 +2781,8 @@ package body Ada_Process_Actions is
procedure null_exclusion_opt_name_type_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2744,8 +2799,8 @@ package body Ada_Process_Actions is
procedure null_exclusion_opt_name_type_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2762,8 +2817,8 @@ package body Ada_Process_Actions is
procedure null_procedure_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2776,15 +2831,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int, Ada_Indent_Broken))),
- (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Label
=> None)))));
+ (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end null_procedure_declaration_0;
procedure object_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2796,17 +2851,17 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Anchored_2, 6,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Hanging_3, (Int, Ada_Indent_Broken),
(Int, 2 * Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Anchored_2, 6,
Ada_Indent_Broken))), (False, (Simple,
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end object_declaration_0;
procedure object_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2820,15 +2875,15 @@ package body Ada_Process_Actions is
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Anchored_1, 6,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end object_declaration_1;
procedure object_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2842,15 +2897,15 @@ package body Ada_Process_Actions is
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Anchored_1, 6,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end object_declaration_2;
procedure object_declaration_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2862,16 +2917,16 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Hanging_3, (Int, Ada_Indent_Broken),
(Int, 2 * Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end object_declaration_3;
procedure object_declaration_4
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2884,15 +2939,15 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end object_declaration_4;
procedure object_declaration_5
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2905,15 +2960,15 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end object_declaration_5;
procedure object_renaming_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2926,16 +2981,17 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Hanging_3, (Int,
+ Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken)))));
end case;
end object_renaming_declaration_0;
procedure object_renaming_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2948,16 +3004,16 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Hanging_3, (Int, Ada_Indent_Broken),
(Int, 2 * Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end object_renaming_declaration_1;
procedure object_renaming_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2970,16 +3026,16 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Hanging_3, (Int, Ada_Indent_Broken),
(Int, 2 * Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end object_renaming_declaration_2;
procedure overriding_indicator_opt_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -2996,8 +3052,8 @@ package body Ada_Process_Actions is
procedure overriding_indicator_opt_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3014,8 +3070,8 @@ package body Ada_Process_Actions is
procedure package_body_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3030,10 +3086,11 @@ package body Ada_Process_Actions is
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1),
(10, 1, 1)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Label => None))),
- (False, (Simple, (Label => None))), (True, (Simple, (Int,
Ada_Indent)), (Simple, (Int, Ada_Indent))), (False,
- (Simple, (Label => None))), (True, (Simple, (Int, Ada_Indent)),
(Simple, (Int, Ada_Indent))), (False, (Simple,
- (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Hanging_3, (Int,
Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))),
+ (False, (Simple, (Label => None))), (False, (Simple, (Label =>
None))), (True, (Simple, (Int, Ada_Indent)),
+ (Simple, (Int, Ada_Indent))), (False, (Simple, (Label => None))),
(True, (Simple, (Int, Ada_Indent)), (Simple,
+ (Int, Ada_Indent))), (False, (Simple, (Label => None))), (False,
(Hanging_3, (Int, Ada_Indent_Broken), (Int, 2
+ * Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end package_body_0;
@@ -3052,8 +3109,8 @@ package body Ada_Process_Actions is
procedure package_body_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3067,10 +3124,10 @@ package body Ada_Process_Actions is
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1), (8,
1, 1)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None))), (True,
(Simple, (Int, Ada_Indent)), (Simple, (Int,
- Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Label
- => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Hanging_3, (Int,
Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))),
+ (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Label
=> None))), (True, (Simple, (Int,
+ Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Label
=> None))), (False, (Hanging_3, (Int,
+ Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, (Simple,
(Int, Ada_Indent_Broken)))));
end case;
end package_body_1;
@@ -3089,8 +3146,8 @@ package body Ada_Process_Actions is
procedure package_body_stub_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3102,17 +3159,17 @@ package body Ada_Process_Actions is
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 1,
1)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Label => None))),
- (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple,
- (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Hanging_3, (Int,
Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))),
+ (False, (Simple, (Label => None))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end package_body_stub_0;
procedure package_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3130,8 +3187,8 @@ package body Ada_Process_Actions is
procedure package_renaming_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3142,17 +3199,18 @@ package body Ada_Process_Actions is
when Face =>
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 1, 1), (4,
1, 1)));
when Indent =>
- Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Label => None)))));
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Hanging_3,
+ (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken))), (False,
+ (Hanging_3, (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))),
(False, (Simple, (Int,
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end package_renaming_declaration_0;
procedure package_specification_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3165,11 +3223,11 @@ package body Ada_Process_Actions is
when Face =>
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 1, 1), (9,
1, 1)));
when Indent =>
- Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Label => None))),
- (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, Ada_Indent))),
(False, (Simple, (Label => None))), (True,
- (Simple, (Int, Ada_Indent)), (Simple, (Int, Ada_Indent))), (False,
(Simple, (Label => None))), (False,
- (Simple, (Label => None)))));
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Hanging_3,
+ (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken))), (False,
+ (Simple, (Label => None))), (True, (Simple, (Int, Ada_Indent)),
(Simple, (Int, Ada_Indent))), (False, (Simple,
+ (Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label
+ => None))), (False, (Hanging_3, (Int, Ada_Indent_Broken), (Int, 2 *
Ada_Indent_Broken)))));
end case;
end package_specification_0;
@@ -3188,8 +3246,8 @@ package body Ada_Process_Actions is
procedure package_specification_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3201,10 +3259,10 @@ package body Ada_Process_Actions is
when Face =>
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 1, 1), (7,
1, 1)));
when Indent =>
- Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Label => None))),
- (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, Ada_Indent))),
(False, (Simple, (Label => None))), (False,
- (Simple, (Label => None)))));
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Hanging_3,
+ (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken))), (False,
+ (Simple, (Label => None))), (True, (Simple, (Int, Ada_Indent)),
(Simple, (Int, Ada_Indent))), (False, (Simple,
+ (Label => None))), (False, (Hanging_3, (Int, Ada_Indent_Broken),
(Int, 2 * Ada_Indent_Broken)))));
end case;
end package_specification_1;
@@ -3223,8 +3281,8 @@ package body Ada_Process_Actions is
procedure parameter_and_result_profile_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3242,8 +3300,8 @@ package body Ada_Process_Actions is
procedure parameter_specification_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3255,17 +3313,17 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Anchored_1, 7,
- Ada_Indent_Broken)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Hanging_3, (Int,
+ Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False,
+ (Simple, (Anchored_1, 7, Ada_Indent_Broken)))));
end case;
end parameter_specification_0;
procedure parameter_specification_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3277,16 +3335,16 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Hanging_3, (Int,
+ Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken)))));
end case;
end parameter_specification_1;
procedure parameter_specification_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3306,8 +3364,8 @@ package body Ada_Process_Actions is
procedure parameter_specification_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3326,8 +3384,8 @@ package body Ada_Process_Actions is
procedure paren_expression_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3345,8 +3403,8 @@ package body Ada_Process_Actions is
procedure pragma_g_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3358,15 +3416,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Anchored_0, 3,
- 1))), (False, (Simple, (Anchored_0, 3, 0))), (False, (Simple, (Label
=> None)))));
+ 1))), (False, (Simple, (Anchored_0, 3, 0))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end pragma_g_0;
procedure pragma_g_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3378,15 +3436,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Anchored_0, 3,
- 1))), (False, (Simple, (Anchored_0, 3, 0))), (False, (Simple, (Label
=> None)))));
+ 1))), (False, (Simple, (Anchored_0, 3, 0))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end pragma_g_1;
procedure pragma_g_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3397,15 +3455,15 @@ package body Ada_Process_Actions is
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3,
1)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end pragma_g_2;
procedure primary_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3422,8 +3480,8 @@ package body Ada_Process_Actions is
procedure primary_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3441,8 +3499,8 @@ package body Ada_Process_Actions is
procedure primary_4
(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)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3459,8 +3517,8 @@ package body Ada_Process_Actions is
procedure private_extension_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3476,15 +3534,15 @@ package body Ada_Process_Actions is
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False,
(Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False,
(Simple, (Int, Ada_Indent_Broken)))));
end case;
end private_extension_declaration_0;
procedure private_type_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3498,15 +3556,15 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Label => None))),
(False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple,
- (Label => None))), (False, (Simple, (Label => None)))));
+ (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end private_type_declaration_0;
procedure procedure_call_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3516,16 +3574,16 @@ package body Ada_Process_Actions is
when Face =>
null;
when Indent =>
- Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False,
(Hanging_0, (Label => None), (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False,
(Hanging_1, (Label => None), (Int,
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end procedure_call_statement_0;
procedure procedure_specification_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3536,8 +3594,8 @@ package body Ada_Process_Actions is
when Face =>
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 1,
1)));
when Indent =>
- Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Hanging_3,
+ (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken)))));
end case;
end procedure_specification_0;
@@ -3556,8 +3614,8 @@ package body Ada_Process_Actions is
procedure protected_body_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3573,7 +3631,7 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Label => None))),
(False, (Simple, (Label => None))), (False, (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label => None))),
- (False, (Simple, (Label => None))), (False, (Simple, (Label =>
None)))));
+ (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end protected_body_0;
@@ -3592,8 +3650,8 @@ package body Ada_Process_Actions is
procedure protected_body_stub_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3607,15 +3665,15 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end protected_body_stub_0;
procedure protected_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3646,8 +3704,8 @@ package body Ada_Process_Actions is
procedure protected_definition_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3677,8 +3735,8 @@ package body Ada_Process_Actions is
procedure protected_type_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3696,7 +3754,7 @@ package body Ada_Process_Actions is
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False,
(Simple, (Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False,
(Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False,
(Simple, (Int, Ada_Indent_Broken)))));
end case;
end protected_type_declaration_0;
@@ -3715,8 +3773,8 @@ package body Ada_Process_Actions is
procedure protected_type_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3732,7 +3790,7 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Label => None))), (True,
(Simple, (Label => None)), (Simple, (Int,
- Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple,
(Label => None)))));
+ Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken)))));
end case;
end protected_type_declaration_1;
@@ -3751,8 +3809,8 @@ package body Ada_Process_Actions is
procedure qualified_expression_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3771,8 +3829,8 @@ package body Ada_Process_Actions is
procedure quantified_expression_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3791,8 +3849,8 @@ package body Ada_Process_Actions is
procedure raise_expression_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3811,8 +3869,8 @@ package body Ada_Process_Actions is
procedure raise_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3822,17 +3880,17 @@ package body Ada_Process_Actions is
when Face =>
null;
when Indent =>
- Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Anchored_1, 3,
- Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Hanging_3,
+ (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken))), (False,
+ (Simple, (Anchored_1, 3, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end raise_statement_0;
procedure raise_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3842,16 +3900,16 @@ package body Ada_Process_Actions is
when Face =>
null;
when Indent =>
- Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Hanging_3,
+ (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken)))));
end case;
end raise_statement_1;
procedure raise_statement_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3868,8 +3926,8 @@ package body Ada_Process_Actions is
procedure range_g_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3888,8 +3946,8 @@ package body Ada_Process_Actions is
procedure record_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3910,8 +3968,8 @@ package body Ada_Process_Actions is
procedure record_representation_clause_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3921,21 +3979,21 @@ package body Ada_Process_Actions is
when Face =>
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 1,
2)));
when Indent =>
- Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (True, (Simple, (Language,
- Ada_Indent_Record_1'Access, 28 & 4 & 0)), (Simple, (Language,
Ada_Indent_Record_1'Access, 28 & 4 &
- Ada_Indent))), (False, (Simple, (Language,
Ada_Indent_Record_0'Access, 1 & 4 & Ada_Indent))), (True, (Simple,
- (Language, Ada_Indent_Record_1'Access, 28 & 4 & Ada_Indent)),
(Simple, (Language, Ada_Indent_Record_1'Access,
- 28 & 4 & Ada_Indent))), (False, (Simple, (Language,
Ada_Indent_Record_1'Access, 28 & 4 & 0))), (False,
- (Simple, (Label => None))), (False, (Simple, (Label => None)))));
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Hanging_3,
+ (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken))), (True,
+ (Simple, (Language, Ada_Indent_Record_1'Access, 28 & 4 & 0)),
(Simple, (Language, Ada_Indent_Record_1'Access,
+ 28 & 4 & Ada_Indent))), (False, (Simple, (Language,
Ada_Indent_Record_0'Access, 1 & 4 & Ada_Indent))), (True,
+ (Simple, (Language, Ada_Indent_Record_1'Access, 28 & 4 &
Ada_Indent)), (Simple, (Language,
+ Ada_Indent_Record_1'Access, 28 & 4 & Ada_Indent))), (False, (Simple,
(Language, Ada_Indent_Record_1'Access, 28
+ & 4 & 0))), (False, (Simple, (Int, Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken)))));
end case;
end record_representation_clause_0;
procedure requeue_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3952,8 +4010,8 @@ package body Ada_Process_Actions is
procedure requeue_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3970,8 +4028,8 @@ package body Ada_Process_Actions is
procedure result_profile_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -3982,15 +4040,15 @@ package body Ada_Process_Actions is
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 1,
2)));
when Indent =>
Indent_Action_1 (Parse_Data, Tree, Nonterm, Tokens, 1, ((False,
(Simple, (Label => None))), (False, (Simple,
- (Anchored_3, 1, Ada_Indent_Broken))), (False, (Simple, (Anchored_3,
1, Ada_Indent_Broken)))));
+ (Anchored_3, 1, Ada_Indent_Broken))), (False, (Simple, (Anchored_4,
1, Ada_Indent_Broken)))));
end case;
end result_profile_0;
procedure result_profile_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4008,8 +4066,8 @@ package body Ada_Process_Actions is
procedure selected_component_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4019,7 +4077,8 @@ package body Ada_Process_Actions is
when Face =>
Face_Mark_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, Prefix),
(3, Suffix)));
when Indent =>
- null;
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end selected_component_0;
@@ -4038,8 +4097,8 @@ package body Ada_Process_Actions is
procedure selected_component_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4056,8 +4115,8 @@ package body Ada_Process_Actions is
procedure selected_component_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4086,8 +4145,8 @@ package body Ada_Process_Actions is
procedure selected_component_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4104,8 +4163,8 @@ package body Ada_Process_Actions is
procedure selective_accept_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4120,15 +4179,15 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((True, (Simple,
(Label => None)), (Simple, (Int,
Ada_Indent))), (True, (Simple, (Label => None)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label =>
None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label => None))),
- (False, (Simple, (Label => None))), (False, (Simple, (Label =>
None)))));
+ (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end selective_accept_0;
procedure selective_accept_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4141,15 +4200,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((True, (Simple,
(Label => None)), (Simple, (Int,
Ada_Indent))), (True, (Simple, (Label => None)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label =>
- None))), (False, (Simple, (Label => None))), (False, (Simple, (Label
=> None)))));
+ None))), (False, (Simple, (Int, Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken)))));
end case;
end selective_accept_1;
procedure select_alternative_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4168,8 +4227,8 @@ package body Ada_Process_Actions is
procedure select_alternative_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4188,8 +4247,8 @@ package body Ada_Process_Actions is
procedure select_alternative_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4208,8 +4267,8 @@ package body Ada_Process_Actions is
procedure select_alternative_4
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4226,8 +4285,8 @@ package body Ada_Process_Actions is
procedure select_alternative_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4246,8 +4305,8 @@ package body Ada_Process_Actions is
procedure select_alternative_list_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4264,8 +4323,8 @@ package body Ada_Process_Actions is
procedure simple_return_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4276,15 +4335,15 @@ package body Ada_Process_Actions is
null;
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end simple_return_statement_0;
procedure simple_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4301,8 +4360,8 @@ package body Ada_Process_Actions is
procedure simple_statement_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4319,8 +4378,8 @@ package body Ada_Process_Actions is
procedure simple_statement_8
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4337,8 +4396,8 @@ package body Ada_Process_Actions is
procedure single_protected_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4355,7 +4414,7 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Label => None))),
(False, (Simple, (Label => None))), (False,
(Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False,
(Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False,
(Simple, (Int, Ada_Indent_Broken)))));
end case;
end single_protected_declaration_0;
@@ -4374,8 +4433,8 @@ package body Ada_Process_Actions is
procedure single_protected_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4390,7 +4449,7 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Label => None))),
(True, (Simple, (Label => None)), (Simple,
- (Int, Ada_Indent))), (False, (Simple, (Label => None))), (False,
(Simple, (Label => None)))));
+ (Int, Ada_Indent))), (False, (Simple, (Label => None))), (False,
(Simple, (Int, Ada_Indent_Broken)))));
end case;
end single_protected_declaration_1;
@@ -4409,8 +4468,8 @@ package body Ada_Process_Actions is
procedure single_task_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4428,7 +4487,7 @@ package body Ada_Process_Actions is
(Int, Ada_Indent_Broken))), (False, (Simple, (Label => None))),
(False, (Simple, (Label => None))), (False,
(Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False,
(Simple, (Label => None))), (False, (Simple,
- (Label => None))), (False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end single_task_declaration_0;
@@ -4447,8 +4506,8 @@ package body Ada_Process_Actions is
procedure single_task_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4464,7 +4523,7 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Label => None))),
(True, (Simple, (Label => None)), (Simple,
(Int, Ada_Indent))), (False, (Simple, (Label => None))), (False,
(Simple, (Label => None))), (False, (Simple,
- (Label => None))), (False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end single_task_declaration_1;
@@ -4483,8 +4542,8 @@ package body Ada_Process_Actions is
procedure single_task_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4496,15 +4555,16 @@ package body Ada_Process_Actions is
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3,
2)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Label => None))),
(False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end single_task_declaration_2;
procedure subprogram_body_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4521,7 +4581,7 @@ package body Ada_Process_Actions is
(Label => None)), (Simple, (Int, Ada_Indent))), (False, (Simple,
(Label => None))), (False, (Simple, (Label =>
None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label => None))),
(True, (Simple, (Int, Ada_Indent)), (Simple, (Int, Ada_Indent))),
(False, (Simple, (Label => None))), (False,
- (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Label =>
None)))));
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end subprogram_body_0;
@@ -4540,8 +4600,8 @@ package body Ada_Process_Actions is
procedure subprogram_body_stub_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4554,15 +4614,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Label => None))), (False,
(Simple, (Int, Ada_Indent_Broken))), (False,
- (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Label =>
None)))));
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end subprogram_body_stub_0;
procedure subprogram_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4580,8 +4640,8 @@ package body Ada_Process_Actions is
procedure subprogram_default_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4598,8 +4658,8 @@ package body Ada_Process_Actions is
procedure subprogram_renaming_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4611,8 +4671,9 @@ package body Ada_Process_Actions is
Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (4, 1,
1)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Label => None))), (False, (Simple, (Language,
Ada_Indent_Renames_0'Access, +2))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Label => None)))));
+ (Label => None))), (False, (Simple, (Language,
Ada_Indent_Renames_0'Access, +2))), (False, (Hanging_3, (Int,
+ Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False,
+ (Simple, (Int, Ada_Indent_Broken)))));
end case;
end subprogram_renaming_declaration_0;
@@ -4643,8 +4704,8 @@ package body Ada_Process_Actions is
procedure subtype_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4657,15 +4718,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False,
(Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False,
(Simple, (Int, Ada_Indent_Broken)))));
end case;
end subtype_declaration_0;
procedure subtype_indication_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4682,8 +4743,8 @@ package body Ada_Process_Actions is
procedure subtype_indication_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4700,8 +4761,8 @@ package body Ada_Process_Actions is
procedure subtype_indication_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4718,8 +4779,8 @@ package body Ada_Process_Actions is
procedure subtype_indication_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4736,8 +4797,8 @@ package body Ada_Process_Actions is
procedure subunit_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4747,17 +4808,17 @@ package body Ada_Process_Actions is
when Face =>
null;
when Indent =>
- Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Anchored_0, 2, 1))),
(False, (Simple, (Anchored_0, 2, 0))),
- (False, (Simple, (Label => None)))));
+ Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Hanging_3,
+ (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False,
(Simple, (Anchored_0, 2, 1))), (False,
+ (Simple, (Anchored_0, 2, 0))), (False, (Simple, (Label => None)))));
end case;
end subunit_0;
procedure task_body_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4775,7 +4836,7 @@ package body Ada_Process_Actions is
(Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Label => None))), (False,
(Simple, (Label => None))), (True, (Simple, (Int, Ada_Indent)),
(Simple, (Int, Ada_Indent))), (False, (Simple,
(Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int,
Ada_Indent))), (False, (Simple, (Label
- => None))), (False, (Simple, (Label => None))), (False, (Simple,
(Label => None)))));
+ => None))), (False, (Simple, (Int, Ada_Indent_Broken))), (False,
(Simple, (Int, Ada_Indent_Broken)))));
end case;
end task_body_0;
@@ -4794,8 +4855,8 @@ package body Ada_Process_Actions is
procedure task_body_stub_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4808,16 +4869,16 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Label => None))), (False,
- (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Label =>
- None)))));
+ (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end task_body_stub_0;
procedure task_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4836,8 +4897,8 @@ package body Ada_Process_Actions is
procedure task_definition_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4855,8 +4916,8 @@ package body Ada_Process_Actions is
procedure task_type_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4875,7 +4936,7 @@ package body Ada_Process_Actions is
Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False,
(Simple, (Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False,
(Simple, (Label => None))), (False, (Simple,
- (Label => None))), (False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end task_type_declaration_0;
@@ -4894,8 +4955,8 @@ package body Ada_Process_Actions is
procedure task_type_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4912,8 +4973,8 @@ package body Ada_Process_Actions is
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Label => None))), (True,
(Simple, (Label => None)), (Simple, (Int,
- Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Label
- => None))), (False, (Simple, (Label => None)))));
+ Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple,
(Label => None))), (False, (Simple, (Int,
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end task_type_declaration_1;
@@ -4932,8 +4993,8 @@ package body Ada_Process_Actions is
procedure task_type_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4946,15 +5007,16 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False,
(Simple, (Label => None)))));
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))),
(False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end task_type_declaration_2;
procedure timed_entry_call_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4968,16 +5030,16 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (True, (Simple, (Int,
Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Label
=> None))), (True, (Simple, (Int,
- Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Label
=> None))), (False, (Simple, (Label =>
- None))), (False, (Simple, (Label => None)))));
+ Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Label
=> None))), (False, (Simple, (Int,
+ Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end timed_entry_call_0;
procedure variant_part_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -4991,15 +5053,16 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Label => None))),
(False, (Simple, (Int, Ada_Indent_When))),
- (False, (Simple, (Label => None))), (False, (Simple, (Label =>
None))), (False, (Simple, (Label => None)))));
+ (False, (Simple, (Label => None))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end variant_part_0;
procedure variant_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -5016,8 +5079,8 @@ package body Ada_Process_Actions is
procedure variant_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -5036,8 +5099,8 @@ package body Ada_Process_Actions is
procedure use_clause_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -5049,15 +5112,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_Use))), (False, (Simple, (Label => None)))));
+ Ada_Indent_Use))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end use_clause_0;
procedure use_clause_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -5068,15 +5131,16 @@ package body Ada_Process_Actions is
Face_Apply_List_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3,
1, 2)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Use))),
(False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Use))),
(False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end use_clause_1;
procedure use_clause_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -5087,15 +5151,15 @@ package body Ada_Process_Actions is
Face_Apply_List_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2,
1, 1)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Use))), (False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Use))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end use_clause_2;
procedure with_clause_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -5107,15 +5171,15 @@ package body Ada_Process_Actions is
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
(Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_Broken))), (False, (Simple, (Int,
- Ada_Indent_With))), (False, (Simple, (Label => None)))));
+ Ada_Indent_With))), (False, (Simple, (Int, Ada_Indent_Broken)))));
end case;
end with_clause_0;
procedure with_clause_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -5126,15 +5190,16 @@ package body Ada_Process_Actions is
Face_Apply_List_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3,
1, 1)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_With))), (False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_With))), (False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end with_clause_1;
procedure with_clause_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -5145,15 +5210,16 @@ package body Ada_Process_Actions is
Face_Apply_List_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3,
1, 1)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_With))), (False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_Broken))), (False, (Simple, (Int,
Ada_Indent_With))), (False, (Simple, (Int,
+ Ada_Indent_Broken)))));
end case;
end with_clause_2;
procedure with_clause_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -5164,7 +5230,7 @@ package body Ada_Process_Actions is
Face_Apply_List_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2,
1, 1)));
when Indent =>
Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple,
(Label => None))), (False, (Simple,
- (Int, Ada_Indent_With))), (False, (Simple, (Label => None)))));
+ (Int, Ada_Indent_With))), (False, (Simple, (Int,
Ada_Indent_Broken)))));
end case;
end with_clause_3;
diff --git a/packages/ada-mode/ada_process_actions.ads
b/packages/ada-mode/ada_process_actions.ads
index ab2ace3..37b9c5d 100644
--- a/packages/ada-mode/ada_process_actions.ads
+++ b/packages/ada-mode/ada_process_actions.ads
@@ -24,15 +24,15 @@ package Ada_Process_Actions is
Descriptor : aliased WisiToken.Descriptor :=
(First_Terminal => 3,
- Last_Terminal => 108,
- First_Nonterminal => 109,
- Last_Nonterminal => 333,
- EOI_ID => 108,
- Accept_ID => 109,
+ Last_Terminal => 110,
+ First_Nonterminal => 111,
+ Last_Nonterminal => 335,
+ EOI_ID => 110,
+ Accept_ID => 111,
Case_Insensitive => True,
New_Line_ID => 1,
- String_1_ID => 107,
- String_2_ID => 106,
+ String_1_ID => 109,
+ String_2_ID => 108,
Image =>
(new String'("WHITESPACE"),
new String'("NEW_LINE"),
@@ -111,7 +111,9 @@ package Ada_Process_Actions is
new String'("WITH"),
new String'("XOR"),
new String'("LEFT_PAREN"),
+ new String'("LEFT_SQUARE_BRACKET"),
new String'("RIGHT_PAREN"),
+ new String'("RIGHT_SQUARE_BRACKET"),
new String'("AMPERSAND"),
new String'("AT_SIGN"),
new String'("BAR"),
@@ -368,9 +370,9 @@ package Ada_Process_Actions is
new String'("unary_adding_operator"),
new String'("use_clause"),
new String'("with_clause")),
- Terminal_Image_Width => 17,
+ Terminal_Image_Width => 20,
Image_Width => 38,
- Last_Lookahead => 108);
+ Last_Lookahead => 110);
type Token_Enum_ID is
(WHITESPACE_ID,
@@ -450,7 +452,9 @@ package Ada_Process_Actions is
WITH_ID,
XOR_ID,
LEFT_PAREN_ID,
+ LEFT_SQUARE_BRACKET_ID,
RIGHT_PAREN_ID,
+ RIGHT_SQUARE_BRACKET_ID,
AMPERSAND_ID,
AT_SIGN_ID,
BAR_ID,
@@ -719,1153 +723,1163 @@ package Ada_Process_Actions is
procedure abstract_subprogram_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure accept_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure accept_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure access_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure access_definition_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure access_definition_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure actual_parameter_part_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure actual_parameter_part_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure aggregate_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
- procedure aggregate_1
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
+ procedure aggregate_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure aggregate_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure aggregate_4
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure aggregate_5
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
+ procedure aggregate_6
+ (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
+ Tree : in out WisiToken.Syntax_Trees.Tree;
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure array_type_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure array_type_definition_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure aspect_clause_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure aspect_specification_opt_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure assignment_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure association_opt_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure association_opt_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure association_opt_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure association_opt_4
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
- procedure association_opt_5
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
+ procedure association_opt_6
+ (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
+ Tree : in out WisiToken.Syntax_Trees.Tree;
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
+ procedure association_opt_7
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure asynchronous_select_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure at_clause_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure block_label_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure block_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure block_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure case_expression_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure case_expression_alternative_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure case_expression_alternative_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure case_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure case_statement_alternative_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure case_statement_alternative_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure compilation_unit_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure compilation_unit_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure compilation_unit_list_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure component_clause_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure component_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure component_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure component_list_4
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure conditional_entry_call_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure declaration_9
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure delay_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure delay_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure derived_type_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure derived_type_definition_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure discriminant_part_opt_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure elsif_expression_item_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure elsif_expression_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure elsif_statement_item_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure elsif_statement_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure entry_body_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure entry_body_formal_part_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure entry_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure entry_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure enumeration_representation_clause_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure enumeration_type_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure exception_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure exception_handler_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure exception_handler_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure exception_handler_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure exit_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure exit_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure expression_function_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure extended_return_object_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure extended_return_object_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure extended_return_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure extended_return_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure formal_object_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure formal_object_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure formal_object_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure formal_object_declaration_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure formal_part_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure formal_subprogram_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure formal_subprogram_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure formal_subprogram_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure formal_subprogram_declaration_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure formal_type_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure formal_type_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure formal_type_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure formal_derived_type_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure formal_derived_type_definition_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure formal_package_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure full_type_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure function_specification_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure generic_formal_part_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure generic_formal_part_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure generic_instantiation_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure generic_instantiation_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure generic_instantiation_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure generic_package_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure generic_renaming_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure generic_renaming_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure generic_renaming_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure generic_subprogram_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure goto_label_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure handled_sequence_of_statements_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure identifier_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure identifier_list_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure if_expression_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure if_expression_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure if_expression_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure if_expression_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure if_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure if_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure if_statement_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure if_statement_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure incomplete_type_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure incomplete_type_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure index_constraint_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure interface_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure interface_list_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure iteration_scheme_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure iteration_scheme_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure iterator_specification_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure iterator_specification_5
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure loop_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure loop_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure name_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure name_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure name_5
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure null_exclusion_opt_name_type_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure null_exclusion_opt_name_type_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure null_exclusion_opt_name_type_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure null_exclusion_opt_name_type_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure null_procedure_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure object_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure object_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure object_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure object_declaration_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure object_declaration_4
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure object_declaration_5
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure object_renaming_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure object_renaming_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure object_renaming_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure overriding_indicator_opt_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure overriding_indicator_opt_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure package_body_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure package_body_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure package_body_stub_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure package_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure package_renaming_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure package_specification_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure package_specification_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure parameter_and_result_profile_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure parameter_specification_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure parameter_specification_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure parameter_specification_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure parameter_specification_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure paren_expression_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure pragma_g_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure pragma_g_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure pragma_g_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure primary_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure primary_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure primary_4
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure private_extension_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure private_type_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure procedure_call_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure procedure_specification_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure protected_body_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure protected_body_stub_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure protected_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure protected_definition_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure protected_type_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure protected_type_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure qualified_expression_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure quantified_expression_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure raise_expression_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure raise_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure raise_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure raise_statement_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure range_g_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure record_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure record_representation_clause_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure requeue_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure requeue_statement_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure result_profile_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure result_profile_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure selected_component_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure selected_component_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure selected_component_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure selected_component_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure selective_accept_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure selective_accept_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure select_alternative_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure select_alternative_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure select_alternative_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure select_alternative_4
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure select_alternative_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure select_alternative_list_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure simple_return_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure simple_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure simple_statement_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure simple_statement_8
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure single_protected_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure single_protected_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure single_task_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure single_task_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure single_task_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure subprogram_body_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure subprogram_body_stub_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure subprogram_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure subprogram_default_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure subprogram_renaming_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure subtype_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure subtype_indication_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure subtype_indication_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure subtype_indication_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure subtype_indication_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure subunit_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure task_body_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure task_body_stub_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure task_definition_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure task_definition_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure task_type_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure task_type_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure task_type_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure timed_entry_call_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure variant_part_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure variant_list_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure variant_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure use_clause_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure use_clause_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure use_clause_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure with_clause_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure with_clause_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure with_clause_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure with_clause_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
function accept_statement_0_check
(Lexer : access constant WisiToken.Lexer.Instance'Class;
Nonterm : in out WisiToken.Recover_Token;
diff --git a/packages/ada-mode/ada_process_lalr_main.adb
b/packages/ada-mode/ada_process_lalr_main.adb
index 9af10b0..8cf50f3 100644
--- a/packages/ada-mode/ada_process_lalr_main.adb
+++ b/packages/ada-mode/ada_process_lalr_main.adb
@@ -39,17 +39,17 @@ package body Ada_Process_LALR_Main is
use WisiToken.Parse.LR;
McKenzie_Param : constant McKenzie_Param_Type :=
(First_Terminal => 3,
- Last_Terminal => 108,
- First_Nonterminal => 109,
- Last_Nonterminal => 333,
+ Last_Terminal => 110,
+ First_Nonterminal => 111,
+ Last_Nonterminal => 335,
Insert =>
(4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 3,
4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4),
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4),
Delete =>
(4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4),
+ 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4),
Push_Back =>
(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -60,7 +60,7 @@ package body Ada_Process_LALR_Main is
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2),
+ 2, 2, 2, 2, 2, 2, 2, 2, 2),
Undo_Reduce =>
(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -80,15694 +80,16372 @@ package body Ada_Process_LALR_Main is
Table : constant Parse_Table_Ptr := new Parse_Table
(State_First => 0,
- State_Last => 1292,
+ State_Last => 1302,
First_Terminal => 3,
- Last_Terminal => 108,
- First_Nonterminal => 109,
- Last_Nonterminal => 333);
+ Last_Terminal => 110,
+ First_Nonterminal => 111,
+ Last_Nonterminal => 335);
begin
Table.McKenzie_Param := McKenzie_Param;
declare
procedure Subr_1
is begin
Table.States (0).Action_List.Set_Capacity (39);
- Add_Action (Table.States (0), 4, 1);
- Add_Action (Table.States (0), 5, 2);
- Add_Action (Table.States (0), 13, Reduce, (133, 1), 0, null, null);
- Add_Action (Table.States (0), 15, 3);
- Add_Action (Table.States (0), 17, Reduce, (133, 1), 0, null, null);
- Add_Action (Table.States (0), 18, 4);
- Add_Action (Table.States (0), 25, Reduce, (247, 2), 0, null, null);
- Add_Action (Table.States (0), 27, 5);
- Add_Action (Table.States (0), 28, 6);
- Add_Conflict (Table.States (0), 28, (133, 1), 0, null, null);
- Add_Action (Table.States (0), 29, Reduce, (247, 2), 0, null, null);
- Add_Action (Table.States (0), 30, 8);
- Add_Action (Table.States (0), 31, 9);
- Add_Action (Table.States (0), 32, 10);
- Add_Action (Table.States (0), 36, 11);
- Add_Action (Table.States (0), 37, Reduce, (133, 1), 0, null, null);
- Add_Action (Table.States (0), 40, 12);
- Add_Action (Table.States (0), 41, 13);
- Add_Action (Table.States (0), 46, 14);
- Add_Action (Table.States (0), 47, 15);
- Add_Action (Table.States (0), 48, 16);
- Add_Action (Table.States (0), 49, 17);
- Add_Action (Table.States (0), 50, Reduce, (247, 2), 0, null, null);
- Add_Action (Table.States (0), 51, 19);
- Add_Action (Table.States (0), 52, 20);
- Add_Action (Table.States (0), 57, 21);
- Add_Action (Table.States (0), 58, 22);
- Add_Action (Table.States (0), 60, 23);
- Add_Action (Table.States (0), 61, 24);
- Add_Action (Table.States (0), 63, 25);
- Add_Action (Table.States (0), 66, 26);
- Add_Action (Table.States (0), 69, 27);
- Add_Action (Table.States (0), 71, 28);
- Add_Action (Table.States (0), 73, Reduce, (133, 1), 0, null, null);
- Add_Action (Table.States (0), 74, 30);
- Add_Action (Table.States (0), 79, 31);
- Add_Action (Table.States (0), 94, 32);
- Add_Action (Table.States (0), 105, 33);
- Add_Action (Table.States (0), 106, 34);
- Add_Action (Table.States (0), 107, 35);
+ Add_Action (Table.States (0), 4, (116, 0), 1);
+ Add_Action (Table.States (0), 5, (306, 8), 2);
+ Add_Action (Table.States (0), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (0), 15, (142, 0), 3);
+ Add_Action (Table.States (0), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (0), 18, (164, 0), 4);
+ Add_Action (Table.States (0), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (0), 27, (193, 0), 5);
+ Add_Action (Table.States (0), 28, (124, 0), 6);
+ Add_Conflict (Table.States (0), 28, (135, 1), 0, null, null);
+ Add_Action (Table.States (0), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (0), 30, (213, 0), 8);
+ Add_Action (Table.States (0), 31, (306, 3), 9);
+ Add_Action (Table.States (0), 32, (225, 0), 10);
+ Add_Action (Table.States (0), 36, (335, 0), 11);
+ Add_Action (Table.States (0), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (0), 40, (249, 0), 12);
+ Add_Action (Table.States (0), 41, (306, 0), 13);
+ Add_Action (Table.States (0), 46, (249, 1), 14);
+ Add_Action (Table.States (0), 47, (216, 0), 15);
+ Add_Action (Table.States (0), 48, (260, 0), 16);
+ Add_Action (Table.States (0), 49, (145, 2), 17);
+ Add_Action (Table.States (0), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (0), 51, (267, 0), 19);
+ Add_Action (Table.States (0), 52, (279, 0), 20);
+ Add_Action (Table.States (0), 57, (293, 0), 21);
+ Add_Action (Table.States (0), 58, (199, 0), 22);
+ Add_Action (Table.States (0), 60, (318, 0), 23);
+ Add_Action (Table.States (0), 61, (129, 0), 24);
+ Add_Action (Table.States (0), 63, (316, 0), 25);
+ Add_Action (Table.States (0), 66, (308, 0), 26);
+ Add_Action (Table.States (0), 69, (209, 0), 27);
+ Add_Action (Table.States (0), 71, (334, 0), 28);
+ Add_Action (Table.States (0), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (0), 74, (335, 3), 30);
+ Add_Action (Table.States (0), 81, (242, 8), 31);
+ Add_Action (Table.States (0), 96, (220, 0), 32);
+ Add_Action (Table.States (0), 107, (134, 0), 33);
+ Add_Action (Table.States (0), 108, (242, 7), 34);
+ Add_Action (Table.States (0), 109, (242, 6), 35);
Table.States (0).Goto_List.Set_Capacity (83);
- Add_Goto (Table.States (0), 113, 36);
- Add_Goto (Table.States (0), 114, 37);
- Add_Goto (Table.States (0), 122, 38);
- Add_Goto (Table.States (0), 124, 39);
- Add_Goto (Table.States (0), 127, 40);
- Add_Goto (Table.States (0), 128, 41);
- Add_Goto (Table.States (0), 129, 42);
- Add_Goto (Table.States (0), 132, 43);
- Add_Goto (Table.States (0), 133, 44);
- Add_Goto (Table.States (0), 134, 45);
- Add_Goto (Table.States (0), 135, 46);
- Add_Goto (Table.States (0), 136, 47);
- Add_Goto (Table.States (0), 140, 48);
- Add_Goto (Table.States (0), 143, 49);
- Add_Goto (Table.States (0), 144, 50);
- Add_Goto (Table.States (0), 152, 51);
- Add_Goto (Table.States (0), 153, 52);
- Add_Goto (Table.States (0), 158, 53);
- Add_Goto (Table.States (0), 162, 54);
- Add_Goto (Table.States (0), 180, 55);
- Add_Goto (Table.States (0), 183, 56);
- Add_Goto (Table.States (0), 187, 57);
- Add_Goto (Table.States (0), 191, 58);
- Add_Goto (Table.States (0), 194, 59);
- Add_Goto (Table.States (0), 197, 60);
- Add_Goto (Table.States (0), 207, 61);
- Add_Goto (Table.States (0), 208, 62);
- Add_Goto (Table.States (0), 210, 63);
- Add_Goto (Table.States (0), 211, 64);
- Add_Goto (Table.States (0), 214, 65);
- Add_Goto (Table.States (0), 215, 66);
- Add_Goto (Table.States (0), 216, 67);
- Add_Goto (Table.States (0), 217, 68);
- Add_Goto (Table.States (0), 218, 69);
- Add_Goto (Table.States (0), 220, 70);
- Add_Goto (Table.States (0), 223, 71);
- Add_Goto (Table.States (0), 224, 72);
- Add_Goto (Table.States (0), 233, 73);
- Add_Goto (Table.States (0), 240, 74);
- Add_Goto (Table.States (0), 244, 75);
- Add_Goto (Table.States (0), 245, 76);
- Add_Goto (Table.States (0), 246, 77);
- Add_Goto (Table.States (0), 247, 78);
- Add_Goto (Table.States (0), 248, 79);
- Add_Goto (Table.States (0), 249, 80);
- Add_Goto (Table.States (0), 250, 81);
- Add_Goto (Table.States (0), 251, 82);
- Add_Goto (Table.States (0), 252, 83);
- Add_Goto (Table.States (0), 258, 84);
- Add_Goto (Table.States (0), 260, 85);
- Add_Goto (Table.States (0), 261, 86);
- Add_Goto (Table.States (0), 262, 87);
- Add_Goto (Table.States (0), 263, 88);
- Add_Goto (Table.States (0), 264, 89);
- Add_Goto (Table.States (0), 265, 90);
- Add_Goto (Table.States (0), 266, 91);
- Add_Goto (Table.States (0), 272, 92);
- Add_Goto (Table.States (0), 273, 93);
- Add_Goto (Table.States (0), 277, 94);
- Add_Goto (Table.States (0), 282, 95);
- Add_Goto (Table.States (0), 290, 96);
- Add_Goto (Table.States (0), 291, 97);
- Add_Goto (Table.States (0), 294, 98);
- Add_Goto (Table.States (0), 295, 99);
- Add_Goto (Table.States (0), 299, 100);
- Add_Goto (Table.States (0), 303, 101);
- Add_Goto (Table.States (0), 304, 102);
- Add_Goto (Table.States (0), 305, 103);
- Add_Goto (Table.States (0), 306, 104);
- Add_Goto (Table.States (0), 307, 105);
- Add_Goto (Table.States (0), 308, 106);
- Add_Goto (Table.States (0), 309, 107);
- Add_Goto (Table.States (0), 310, 108);
- Add_Goto (Table.States (0), 312, 109);
- Add_Goto (Table.States (0), 314, 110);
- Add_Goto (Table.States (0), 316, 111);
- Add_Goto (Table.States (0), 317, 112);
- Add_Goto (Table.States (0), 318, 113);
- Add_Goto (Table.States (0), 320, 114);
- Add_Goto (Table.States (0), 324, 115);
- Add_Goto (Table.States (0), 326, 116);
- Add_Goto (Table.States (0), 332, 117);
- Add_Goto (Table.States (0), 333, 118);
- Table.States (0).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 41, 13)));
+ Add_Goto (Table.States (0), 115, 36);
+ Add_Goto (Table.States (0), 116, 37);
+ Add_Goto (Table.States (0), 124, 38);
+ Add_Goto (Table.States (0), 126, 39);
+ Add_Goto (Table.States (0), 129, 40);
+ Add_Goto (Table.States (0), 130, 41);
+ Add_Goto (Table.States (0), 131, 42);
+ Add_Goto (Table.States (0), 134, 43);
+ Add_Goto (Table.States (0), 135, 44);
+ Add_Goto (Table.States (0), 136, 45);
+ Add_Goto (Table.States (0), 137, 46);
+ Add_Goto (Table.States (0), 138, 47);
+ Add_Goto (Table.States (0), 142, 48);
+ Add_Goto (Table.States (0), 145, 49);
+ Add_Goto (Table.States (0), 146, 50);
+ Add_Goto (Table.States (0), 154, 51);
+ Add_Goto (Table.States (0), 155, 52);
+ Add_Goto (Table.States (0), 160, 53);
+ Add_Goto (Table.States (0), 164, 54);
+ Add_Goto (Table.States (0), 182, 55);
+ Add_Goto (Table.States (0), 185, 56);
+ Add_Goto (Table.States (0), 189, 57);
+ Add_Goto (Table.States (0), 193, 58);
+ Add_Goto (Table.States (0), 196, 59);
+ Add_Goto (Table.States (0), 199, 60);
+ Add_Goto (Table.States (0), 209, 61);
+ Add_Goto (Table.States (0), 210, 62);
+ Add_Goto (Table.States (0), 212, 63);
+ Add_Goto (Table.States (0), 213, 64);
+ Add_Goto (Table.States (0), 216, 65);
+ Add_Goto (Table.States (0), 217, 66);
+ Add_Goto (Table.States (0), 218, 67);
+ Add_Goto (Table.States (0), 219, 68);
+ Add_Goto (Table.States (0), 220, 69);
+ Add_Goto (Table.States (0), 222, 70);
+ Add_Goto (Table.States (0), 225, 71);
+ Add_Goto (Table.States (0), 226, 72);
+ Add_Goto (Table.States (0), 235, 73);
+ Add_Goto (Table.States (0), 242, 74);
+ Add_Goto (Table.States (0), 246, 75);
+ Add_Goto (Table.States (0), 247, 76);
+ Add_Goto (Table.States (0), 248, 77);
+ Add_Goto (Table.States (0), 249, 78);
+ Add_Goto (Table.States (0), 250, 79);
+ Add_Goto (Table.States (0), 251, 80);
+ Add_Goto (Table.States (0), 252, 81);
+ Add_Goto (Table.States (0), 253, 82);
+ Add_Goto (Table.States (0), 254, 83);
+ Add_Goto (Table.States (0), 260, 84);
+ Add_Goto (Table.States (0), 262, 85);
+ Add_Goto (Table.States (0), 263, 86);
+ Add_Goto (Table.States (0), 264, 87);
+ Add_Goto (Table.States (0), 265, 88);
+ Add_Goto (Table.States (0), 266, 89);
+ Add_Goto (Table.States (0), 267, 90);
+ Add_Goto (Table.States (0), 268, 91);
+ Add_Goto (Table.States (0), 274, 92);
+ Add_Goto (Table.States (0), 275, 93);
+ Add_Goto (Table.States (0), 279, 94);
+ Add_Goto (Table.States (0), 284, 95);
+ Add_Goto (Table.States (0), 292, 96);
+ Add_Goto (Table.States (0), 293, 97);
+ Add_Goto (Table.States (0), 296, 98);
+ Add_Goto (Table.States (0), 297, 99);
+ Add_Goto (Table.States (0), 301, 100);
+ Add_Goto (Table.States (0), 305, 101);
+ Add_Goto (Table.States (0), 306, 102);
+ Add_Goto (Table.States (0), 307, 103);
+ Add_Goto (Table.States (0), 308, 104);
+ Add_Goto (Table.States (0), 309, 105);
+ Add_Goto (Table.States (0), 310, 106);
+ Add_Goto (Table.States (0), 311, 107);
+ Add_Goto (Table.States (0), 312, 108);
+ Add_Goto (Table.States (0), 314, 109);
+ Add_Goto (Table.States (0), 316, 110);
+ Add_Goto (Table.States (0), 318, 111);
+ Add_Goto (Table.States (0), 319, 112);
+ Add_Goto (Table.States (0), 320, 113);
+ Add_Goto (Table.States (0), 322, 114);
+ Add_Goto (Table.States (0), 326, 115);
+ Add_Goto (Table.States (0), 328, 116);
+ Add_Goto (Table.States (0), 334, 117);
+ Add_Goto (Table.States (0), 335, 118);
Table.States (1).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1), 105, 119);
- Table.States (1).Kernel := To_Vector (((114, 4, 4, False), (114,
4, 2, False)));
- Table.States (1).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 119)));
+ Add_Action (Table.States (1), 107, (116, 0), 119);
+ Table.States (1).Kernel := To_Vector ((((116, 0), 4, 4,
(2147483647, 0), 0), ((116, 1), 4, 2,
+ (2147483647, 0), 0)));
+ Table.States (1).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (116, 0), 107, 119)));
Table.States (2).Action_List.Set_Capacity (4);
- Add_Action (Table.States (2), 79, 31);
- Add_Action (Table.States (2), 105, 120);
- Add_Action (Table.States (2), 106, 34);
- Add_Action (Table.States (2), 107, 35);
+ Add_Action (Table.States (2), 81, (242, 8), 31);
+ Add_Action (Table.States (2), 107, (242, 5), 120);
+ Add_Action (Table.States (2), 108, (242, 7), 34);
+ Add_Action (Table.States (2), 109, (242, 6), 35);
Table.States (2).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (2), 129, 42);
- Add_Goto (Table.States (2), 240, 121);
- Add_Goto (Table.States (2), 273, 93);
- Add_Goto (Table.States (2), 294, 98);
- Table.States (2).Kernel := To_Vector ((0 => (304, 5, 2, False)));
- Table.States (2).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (3).Action_List.Set_Capacity (14);
- Add_Action (Table.States (3), 3, 122);
- Add_Action (Table.States (3), 35, Reduce, (193, 1), 0, null, null);
- Add_Action (Table.States (3), 39, 123);
- Add_Action (Table.States (3), 40, 124);
- Add_Action (Table.States (3), 41, 125);
- Add_Action (Table.States (3), 52, 126);
- Add_Action (Table.States (3), 76, 127);
- Add_Action (Table.States (3), 79, 31);
- Add_Action (Table.States (3), 95, 128);
- Add_Action (Table.States (3), 96, 129);
- Add_Action (Table.States (3), 104, 130);
- Add_Action (Table.States (3), 105, 120);
- Add_Action (Table.States (3), 106, 34);
- Add_Action (Table.States (3), 107, 35);
+ Add_Goto (Table.States (2), 131, 42);
+ Add_Goto (Table.States (2), 242, 121);
+ Add_Goto (Table.States (2), 275, 93);
+ Add_Goto (Table.States (2), 296, 98);
+ Table.States (2).Kernel := To_Vector ((0 => ((306, 8), 5, 2,
(2147483647, 0), 0)));
+ Table.States (2).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (3).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (3), 3, (200, 2), 122);
+ Add_Action (Table.States (3), 35, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (3), 39, (261, 4), 123);
+ Add_Action (Table.States (3), 40, (200, 3), 124);
+ Add_Action (Table.States (3), 41, (261, 1), 125);
+ Add_Action (Table.States (3), 52, (278, 0), 126);
+ Add_Action (Table.States (3), 76, (120, 0), 127);
+ Add_Action (Table.States (3), 77, (120, 5), 128);
+ Add_Action (Table.States (3), 81, (242, 8), 31);
+ Add_Action (Table.States (3), 97, (333, 1), 129);
+ Add_Action (Table.States (3), 98, (333, 0), 130);
+ Add_Action (Table.States (3), 106, (261, 0), 131);
+ Add_Action (Table.States (3), 107, (242, 5), 120);
+ Add_Action (Table.States (3), 108, (242, 7), 34);
+ Add_Action (Table.States (3), 109, (242, 6), 35);
Table.States (3).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (3), 118, 131);
- Add_Goto (Table.States (3), 129, 42);
- Add_Goto (Table.States (3), 192, 132);
- Add_Goto (Table.States (3), 193, 133);
- Add_Goto (Table.States (3), 198, 134);
- Add_Goto (Table.States (3), 240, 135);
- Add_Goto (Table.States (3), 259, 136);
- Add_Goto (Table.States (3), 273, 93);
- Add_Goto (Table.States (3), 276, 137);
- Add_Goto (Table.States (3), 283, 138);
- Add_Goto (Table.States (3), 284, 139);
- Add_Goto (Table.States (3), 285, 140);
- Add_Goto (Table.States (3), 286, 141);
- Add_Goto (Table.States (3), 287, 142);
- Add_Goto (Table.States (3), 288, 143);
- Add_Goto (Table.States (3), 294, 98);
- Add_Goto (Table.States (3), 302, 144);
- Add_Goto (Table.States (3), 321, 145);
- Add_Goto (Table.States (3), 322, 146);
- Add_Goto (Table.States (3), 331, 147);
- Table.States (3).Kernel := To_Vector ((0 => (140, 15, 6, False)));
- Table.States (3).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (4).Action_List.Set_Capacity (15);
- Add_Action (Table.States (4), 3, 122);
- Add_Action (Table.States (4), 39, 123);
- Add_Action (Table.States (4), 40, 124);
- Add_Action (Table.States (4), 41, 125);
- Add_Action (Table.States (4), 52, 126);
- Add_Action (Table.States (4), 70, 148);
- Add_Action (Table.States (4), 76, 127);
- Add_Action (Table.States (4), 79, 31);
- Add_Action (Table.States (4), 95, 128);
- Add_Action (Table.States (4), 96, 129);
- Add_Action (Table.States (4), 97, Reduce, (193, 1), 0, null, null);
- Add_Action (Table.States (4), 104, 130);
- Add_Action (Table.States (4), 105, 120);
- Add_Action (Table.States (4), 106, 34);
- Add_Action (Table.States (4), 107, 35);
+ Add_Goto (Table.States (3), 120, 132);
+ Add_Goto (Table.States (3), 131, 42);
+ Add_Goto (Table.States (3), 194, 133);
+ Add_Goto (Table.States (3), 195, 134);
+ Add_Goto (Table.States (3), 200, 135);
+ Add_Goto (Table.States (3), 242, 136);
+ Add_Goto (Table.States (3), 261, 137);
+ Add_Goto (Table.States (3), 275, 93);
+ Add_Goto (Table.States (3), 278, 138);
+ Add_Goto (Table.States (3), 285, 139);
+ Add_Goto (Table.States (3), 286, 140);
+ Add_Goto (Table.States (3), 287, 141);
+ Add_Goto (Table.States (3), 288, 142);
+ Add_Goto (Table.States (3), 289, 143);
+ Add_Goto (Table.States (3), 290, 144);
+ Add_Goto (Table.States (3), 296, 98);
+ Add_Goto (Table.States (3), 304, 145);
+ Add_Goto (Table.States (3), 323, 146);
+ Add_Goto (Table.States (3), 324, 147);
+ Add_Goto (Table.States (3), 333, 148);
+ Table.States (3).Kernel := To_Vector ((0 => ((142, 0), 15, 6,
(2147483647, 0), 0)));
+ Table.States (3).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (4).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (4), 3, (200, 2), 122);
+ Add_Action (Table.States (4), 39, (261, 4), 123);
+ Add_Action (Table.States (4), 40, (200, 3), 124);
+ Add_Action (Table.States (4), 41, (261, 1), 125);
+ Add_Action (Table.States (4), 52, (278, 0), 126);
+ Add_Action (Table.States (4), 70, (164, 0), 149);
+ Add_Action (Table.States (4), 76, (120, 0), 127);
+ Add_Action (Table.States (4), 77, (120, 5), 128);
+ Add_Action (Table.States (4), 81, (242, 8), 31);
+ Add_Action (Table.States (4), 97, (333, 1), 129);
+ Add_Action (Table.States (4), 98, (333, 0), 130);
+ Add_Action (Table.States (4), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (4), 106, (261, 0), 131);
+ Add_Action (Table.States (4), 107, (242, 5), 120);
+ Add_Action (Table.States (4), 108, (242, 7), 34);
+ Add_Action (Table.States (4), 109, (242, 6), 35);
Table.States (4).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (4), 118, 131);
- Add_Goto (Table.States (4), 129, 42);
- Add_Goto (Table.States (4), 192, 132);
- Add_Goto (Table.States (4), 193, 149);
- Add_Goto (Table.States (4), 198, 134);
- Add_Goto (Table.States (4), 240, 135);
- Add_Goto (Table.States (4), 259, 136);
- Add_Goto (Table.States (4), 273, 93);
- Add_Goto (Table.States (4), 276, 137);
- Add_Goto (Table.States (4), 283, 138);
- Add_Goto (Table.States (4), 284, 139);
- Add_Goto (Table.States (4), 285, 140);
- Add_Goto (Table.States (4), 286, 141);
- Add_Goto (Table.States (4), 287, 142);
- Add_Goto (Table.States (4), 288, 143);
- Add_Goto (Table.States (4), 294, 98);
- Add_Goto (Table.States (4), 302, 144);
- Add_Goto (Table.States (4), 321, 145);
- Add_Goto (Table.States (4), 322, 146);
- Add_Goto (Table.States (4), 331, 147);
- Table.States (4).Kernel := To_Vector (((162, 18, 2, False), (162,
18, 1, False)));
- Table.States (4).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
+ Add_Goto (Table.States (4), 120, 132);
+ Add_Goto (Table.States (4), 131, 42);
+ Add_Goto (Table.States (4), 194, 133);
+ Add_Goto (Table.States (4), 195, 150);
+ Add_Goto (Table.States (4), 200, 135);
+ Add_Goto (Table.States (4), 242, 136);
+ Add_Goto (Table.States (4), 261, 137);
+ Add_Goto (Table.States (4), 275, 93);
+ Add_Goto (Table.States (4), 278, 138);
+ Add_Goto (Table.States (4), 285, 139);
+ Add_Goto (Table.States (4), 286, 140);
+ Add_Goto (Table.States (4), 287, 141);
+ Add_Goto (Table.States (4), 288, 142);
+ Add_Goto (Table.States (4), 289, 143);
+ Add_Goto (Table.States (4), 290, 144);
+ Add_Goto (Table.States (4), 296, 98);
+ Add_Goto (Table.States (4), 304, 145);
+ Add_Goto (Table.States (4), 323, 146);
+ Add_Goto (Table.States (4), 324, 147);
+ Add_Goto (Table.States (4), 333, 148);
+ Table.States (4).Kernel := To_Vector ((((164, 0), 18, 2,
(2147483647, 0), 0), ((164, 1), 18, 1,
+ (2147483647, 0), 0)));
+ Table.States (4).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
Table.States (5).Action_List.Set_Capacity (3);
- Add_Action (Table.States (5), 72, Reduce, (221, 1), 0, null, null);
- Add_Action (Table.States (5), 97, Reduce, (221, 1), 0, null, null);
- Add_Action (Table.States (5), 105, 150);
+ Add_Action (Table.States (5), 72, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (5), 99, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (5), 107, (223, 0), 151);
Table.States (5).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (5), 221, 151);
- Table.States (5).Kernel := To_Vector (((191, 27, 2, False), (191,
27, 1, False)));
- Table.States (5).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 0)));
+ Add_Goto (Table.States (5), 223, 152);
+ Table.States (5).Kernel := To_Vector ((((193, 0), 27, 2,
(2147483647, 0), 0), ((193, 1), 27, 1,
+ (2147483647, 0), 0)));
+ Table.States (5).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 1), 0)));
Table.States (6).Action_List.Set_Capacity (4);
- Add_Action (Table.States (6), 79, 31);
- Add_Action (Table.States (6), 105, 152);
- Add_Action (Table.States (6), 106, 153);
- Add_Action (Table.States (6), 107, 35);
+ Add_Action (Table.States (6), 81, (242, 8), 31);
+ Add_Action (Table.States (6), 107, (166, 0), 153);
+ Add_Action (Table.States (6), 108, (166, 1), 154);
+ Add_Action (Table.States (6), 109, (242, 6), 35);
Table.States (6).Goto_List.Set_Capacity (7);
- Add_Goto (Table.States (6), 129, 154);
- Add_Goto (Table.States (6), 164, 155);
- Add_Goto (Table.States (6), 231, 156);
- Add_Goto (Table.States (6), 232, 157);
- Add_Goto (Table.States (6), 240, 158);
- Add_Goto (Table.States (6), 273, 93);
- Add_Goto (Table.States (6), 294, 98);
- Table.States (6).Kernel := To_Vector (((122, 28, 5, False), (128,
28, 4, False), (183, 28, 5, False), (230,
- 28, 0, False), (282, 28, 14, False)));
- Table.States (6).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 232, 0)));
+ Add_Goto (Table.States (6), 131, 155);
+ Add_Goto (Table.States (6), 166, 156);
+ Add_Goto (Table.States (6), 233, 157);
+ Add_Goto (Table.States (6), 234, 158);
+ Add_Goto (Table.States (6), 242, 159);
+ Add_Goto (Table.States (6), 275, 93);
+ Add_Goto (Table.States (6), 296, 98);
+ Table.States (6).Kernel := To_Vector ((((124, 0), 28, 5,
(2147483647, 0), 0), ((130, 0), 28, 4,
+ (2147483647, 0), 0), ((185, 0), 28, 5, (2147483647, 0), 0),
((232, 1), 28, 0, (234, 1), 0), ((284,
+ 0), 28, 14, (2147483647, 0), 0)));
+ Table.States (6).Minimal_Complete_Actions := To_Vector (((Shift,
(166, 0), 107, 153), (Reduce, (234, 1),
+ 0)));
Table.States (7).Action_List.Set_Capacity (4);
- Add_Action (Table.States (7), 79, 31);
- Add_Action (Table.States (7), 105, 120);
- Add_Action (Table.States (7), 106, 34);
- Add_Action (Table.States (7), 107, 35);
+ Add_Action (Table.States (7), 81, (242, 8), 31);
+ Add_Action (Table.States (7), 107, (242, 5), 120);
+ Add_Action (Table.States (7), 108, (242, 7), 34);
+ Add_Action (Table.States (7), 109, (242, 6), 35);
Table.States (7).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (7), 129, 42);
- Add_Goto (Table.States (7), 240, 159);
- Add_Goto (Table.States (7), 273, 93);
- Add_Goto (Table.States (7), 294, 98);
- Table.States (7).Kernel := To_Vector ((0 => (208, 29, 2, False)));
- Table.States (7).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
+ Add_Goto (Table.States (7), 131, 42);
+ Add_Goto (Table.States (7), 242, 160);
+ Add_Goto (Table.States (7), 275, 93);
+ Add_Goto (Table.States (7), 296, 98);
+ Table.States (7).Kernel := To_Vector ((0 => ((210, 0), 29, 2,
(2147483647, 0), 0)));
+ Table.States (7).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
Table.States (8).Action_List.Set_Capacity (8);
- Add_Action (Table.States (8), 29, 160);
- Add_Conflict (Table.States (8), 29, (211, 1), 1,
generic_formal_part_1'Access, null);
- Add_Action (Table.States (8), 47, 161);
- Add_Conflict (Table.States (8), 47, (211, 1), 1,
generic_formal_part_1'Access, null);
- Add_Action (Table.States (8), 48, 16);
- Add_Action (Table.States (8), 50, 162);
- Add_Conflict (Table.States (8), 50, (211, 1), 1,
generic_formal_part_1'Access, null);
- Add_Action (Table.States (8), 69, 163);
- Add_Action (Table.States (8), 71, 28);
- Add_Action (Table.States (8), 74, 164);
- Add_Action (Table.States (8), 105, 165);
+ Add_Action (Table.States (8), 29, (218, 2), 161);
+ Add_Conflict (Table.States (8), 29, (213, 1), 1,
generic_formal_part_1'Access, null);
+ Add_Action (Table.States (8), 47, (218, 0), 162);
+ Add_Conflict (Table.States (8), 47, (213, 1), 1,
generic_formal_part_1'Access, null);
+ Add_Action (Table.States (8), 48, (260, 0), 16);
+ Add_Action (Table.States (8), 50, (218, 1), 163);
+ Add_Conflict (Table.States (8), 50, (213, 1), 1,
generic_formal_part_1'Access, null);
+ Add_Action (Table.States (8), 69, (204, 0), 164);
+ Add_Action (Table.States (8), 71, (334, 0), 28);
+ Add_Action (Table.States (8), 74, (203, 0), 165);
+ Add_Action (Table.States (8), 107, (222, 1), 166);
Table.States (8).Goto_List.Set_Capacity (9);
- Add_Goto (Table.States (8), 199, 166);
Add_Goto (Table.States (8), 201, 167);
- Add_Goto (Table.States (8), 202, 168);
- Add_Goto (Table.States (8), 205, 169);
- Add_Goto (Table.States (8), 212, 170);
- Add_Goto (Table.States (8), 213, 171);
- Add_Goto (Table.States (8), 220, 172);
- Add_Goto (Table.States (8), 258, 173);
- Add_Goto (Table.States (8), 332, 174);
- Table.States (8).Kernel := To_Vector (((211, 30, 3, False), (211,
30, 0, False), (216, 30, 5, False), (216,
- 30, 5, False), (216, 30, 5, False)));
- Table.States (8).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 211, 1)));
+ Add_Goto (Table.States (8), 203, 168);
+ Add_Goto (Table.States (8), 204, 169);
+ Add_Goto (Table.States (8), 207, 170);
+ Add_Goto (Table.States (8), 214, 171);
+ Add_Goto (Table.States (8), 215, 172);
+ Add_Goto (Table.States (8), 222, 173);
+ Add_Goto (Table.States (8), 260, 174);
+ Add_Goto (Table.States (8), 334, 175);
+ Table.States (8).Kernel := To_Vector ((((213, 0), 30, 3,
(2147483647, 0), 0), ((213, 1), 30, 0, (213,
+ 1), 1), ((218, 0), 30, 5, (2147483647, 0), 0), ((218, 1), 30,
5, (2147483647, 0), 0), ((218, 2),
+ 30, 5, (2147483647, 0), 0)));
+ Table.States (8).Minimal_Complete_Actions := To_Vector (((Shift,
(204, 0), 69, 164), (Reduce, (213, 1),
+ 1)));
Table.States (9).Action_List.Set_Capacity (1);
- Add_Action (Table.States (9), 105, 175);
- Table.States (9).Kernel := To_Vector ((0 => (304, 31, 2, False)));
- Table.States (9).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 175)));
- Table.States (10).Action_List.Set_Capacity (14);
- Add_Action (Table.States (10), 3, 122);
- Add_Action (Table.States (10), 39, 123);
- Add_Action (Table.States (10), 40, 124);
- Add_Action (Table.States (10), 41, 125);
- Add_Action (Table.States (10), 52, 126);
- Add_Action (Table.States (10), 68, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (10), 76, 127);
- Add_Action (Table.States (10), 79, 31);
- Add_Action (Table.States (10), 95, 128);
- Add_Action (Table.States (10), 96, 129);
- Add_Action (Table.States (10), 104, 130);
- Add_Action (Table.States (10), 105, 120);
- Add_Action (Table.States (10), 106, 34);
- Add_Action (Table.States (10), 107, 35);
+ Add_Action (Table.States (9), 107, (306, 3), 176);
+ Table.States (9).Kernel := To_Vector ((0 => ((306, 3), 31, 2,
(2147483647, 0), 0)));
+ Table.States (9).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (306, 3), 107, 176)));
+ Table.States (10).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (10), 3, (200, 2), 122);
+ Add_Action (Table.States (10), 39, (261, 4), 123);
+ Add_Action (Table.States (10), 40, (200, 3), 124);
+ Add_Action (Table.States (10), 41, (261, 1), 125);
+ Add_Action (Table.States (10), 52, (278, 0), 126);
+ Add_Action (Table.States (10), 68, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (10), 76, (120, 0), 127);
+ Add_Action (Table.States (10), 77, (120, 5), 128);
+ Add_Action (Table.States (10), 81, (242, 8), 31);
+ Add_Action (Table.States (10), 97, (333, 1), 129);
+ Add_Action (Table.States (10), 98, (333, 0), 130);
+ Add_Action (Table.States (10), 106, (261, 0), 131);
+ Add_Action (Table.States (10), 107, (242, 5), 120);
+ Add_Action (Table.States (10), 108, (242, 7), 34);
+ Add_Action (Table.States (10), 109, (242, 6), 35);
Table.States (10).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (10), 118, 131);
- Add_Goto (Table.States (10), 129, 42);
- Add_Goto (Table.States (10), 192, 132);
- Add_Goto (Table.States (10), 193, 176);
- Add_Goto (Table.States (10), 198, 134);
- Add_Goto (Table.States (10), 240, 135);
- Add_Goto (Table.States (10), 259, 136);
- Add_Goto (Table.States (10), 273, 93);
- Add_Goto (Table.States (10), 276, 137);
- Add_Goto (Table.States (10), 283, 138);
- Add_Goto (Table.States (10), 284, 139);
- Add_Goto (Table.States (10), 285, 140);
- Add_Goto (Table.States (10), 286, 141);
- Add_Goto (Table.States (10), 287, 142);
- Add_Goto (Table.States (10), 288, 143);
- Add_Goto (Table.States (10), 294, 98);
- Add_Goto (Table.States (10), 302, 144);
- Add_Goto (Table.States (10), 321, 145);
- Add_Goto (Table.States (10), 322, 146);
- Add_Goto (Table.States (10), 331, 147);
- Table.States (10).Kernel := To_Vector (((223, 32, 7, False), (223,
32, 5, False), (223, 32, 6, False),
- (223, 32, 4, False)));
- Table.States (10).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
+ Add_Goto (Table.States (10), 120, 132);
+ Add_Goto (Table.States (10), 131, 42);
+ Add_Goto (Table.States (10), 194, 133);
+ Add_Goto (Table.States (10), 195, 177);
+ Add_Goto (Table.States (10), 200, 135);
+ Add_Goto (Table.States (10), 242, 136);
+ Add_Goto (Table.States (10), 261, 137);
+ Add_Goto (Table.States (10), 275, 93);
+ Add_Goto (Table.States (10), 278, 138);
+ Add_Goto (Table.States (10), 285, 139);
+ Add_Goto (Table.States (10), 286, 140);
+ Add_Goto (Table.States (10), 287, 141);
+ Add_Goto (Table.States (10), 288, 142);
+ Add_Goto (Table.States (10), 289, 143);
+ Add_Goto (Table.States (10), 290, 144);
+ Add_Goto (Table.States (10), 296, 98);
+ Add_Goto (Table.States (10), 304, 145);
+ Add_Goto (Table.States (10), 323, 146);
+ Add_Goto (Table.States (10), 324, 147);
+ Add_Goto (Table.States (10), 333, 148);
+ Table.States (10).Kernel := To_Vector ((((225, 0), 32, 7,
(2147483647, 0), 0), ((225, 1), 32, 5,
+ (2147483647, 0), 0), ((225, 2), 32, 6, (2147483647, 0), 0),
((225, 3), 32, 4, (2147483647, 0), 0)));
+ Table.States (10).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
Table.States (11).Action_List.Set_Capacity (2);
- Add_Action (Table.States (11), 49, 177);
- Add_Action (Table.States (11), 74, 178);
- Table.States (11).Kernel := To_Vector (((333, 36, 4, False), (333,
36, 3, False)));
- Table.States (11).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 74, 178)));
+ Add_Action (Table.States (11), 49, (335, 0), 178);
+ Add_Action (Table.States (11), 74, (335, 1), 179);
+ Table.States (11).Kernel := To_Vector ((((335, 0), 36, 4,
(2147483647, 0), 0), ((335, 1), 36, 3,
+ (2147483647, 0), 0)));
+ Table.States (11).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (335, 1), 74, 179)));
Table.States (12).Action_List.Set_Capacity (1);
- Add_Action (Table.States (12), 46, 179);
- Table.States (12).Kernel := To_Vector ((0 => (247, 40, 1, False)));
- Table.States (12).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 46, 179)));
+ Add_Action (Table.States (12), 46, (249, 0), 180);
+ Table.States (12).Kernel := To_Vector ((0 => ((249, 0), 40, 1,
(2147483647, 0), 0)));
+ Table.States (12).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (249, 0), 46, 180)));
Table.States (13).Action_List.Set_Capacity (1);
- Add_Action (Table.States (13), 97, 180);
- Table.States (13).Kernel := To_Vector ((0 => (304, 41, 1, False)));
- Table.States (13).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 180)));
+ Add_Action (Table.States (13), 99, (306, 0), 181);
+ Table.States (13).Kernel := To_Vector ((0 => ((306, 0), 41, 1,
(2147483647, 0), 0)));
+ Table.States (13).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (306, 0), 99, 181)));
Table.States (14).Action_List.Set_Capacity (3);
- Add_Action (Table.States (14), (25, 29, 50), (247, 1), 1,
overriding_indicator_opt_1'Access, null);
- Table.States (14).Kernel := To_Vector ((0 => (247, 46, 0, False)));
- Table.States (14).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 247, 1)));
+ Add_Action (Table.States (14), (25, 29, 50), (249, 1), 1,
overriding_indicator_opt_1'Access, null);
+ Table.States (14).Kernel := To_Vector ((0 => ((249, 1), 46, 0,
(249, 1), 1)));
+ Table.States (14).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (249, 1), 1)));
Table.States (15).Action_List.Set_Capacity (5);
- Add_Action (Table.States (15), 14, 181);
- Add_Action (Table.States (15), 79, 31);
- Add_Action (Table.States (15), 105, 120);
- Add_Action (Table.States (15), 106, 34);
- Add_Action (Table.States (15), 107, 35);
+ Add_Action (Table.States (15), 14, (250, 0), 182);
+ Add_Action (Table.States (15), 81, (242, 8), 31);
+ Add_Action (Table.States (15), 107, (242, 5), 120);
+ Add_Action (Table.States (15), 108, (242, 7), 34);
+ Add_Action (Table.States (15), 109, (242, 6), 35);
Table.States (15).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (15), 129, 42);
- Add_Goto (Table.States (15), 240, 182);
- Add_Goto (Table.States (15), 273, 93);
- Add_Goto (Table.States (15), 294, 98);
- Table.States (15).Kernel := To_Vector (((214, 47, 5, False), (248,
47, 6, False), (248, 47, 5, False),
- (249, 47, 5, False), (251, 47, 4, False), (252, 47, 4, False),
(252, 47, 3, False)));
- Table.States (15).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
+ Add_Goto (Table.States (15), 131, 42);
+ Add_Goto (Table.States (15), 242, 183);
+ Add_Goto (Table.States (15), 275, 93);
+ Add_Goto (Table.States (15), 296, 98);
+ Table.States (15).Kernel := To_Vector ((((216, 0), 47, 5,
(2147483647, 0), 0), ((250, 0), 47, 6,
+ (2147483647, 0), 0), ((250, 1), 47, 5, (2147483647, 0), 0),
((251, 0), 47, 5, (2147483647, 0), 0),
+ ((253, 0), 47, 4, (2147483647, 0), 0), ((254, 0), 47, 4,
(2147483647, 0), 0), ((254, 1), 47, 3,
+ (2147483647, 0), 0)));
+ Table.States (15).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
Table.States (16).Action_List.Set_Capacity (1);
- Add_Action (Table.States (16), 105, 183);
- Table.States (16).Kernel := To_Vector (((258, 48, 4, False), (258,
48, 6, False), (258, 48, 2, False)));
- Table.States (16).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 183)));
+ Add_Action (Table.States (16), 107, (260, 0), 184);
+ Table.States (16).Kernel := To_Vector ((((260, 0), 48, 4,
(2147483647, 0), 0), ((260, 1), 48, 6,
+ (2147483647, 0), 0), ((260, 2), 48, 2, (2147483647, 0), 0)));
+ Table.States (16).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (260, 0), 107, 184)));
Table.States (17).Action_List.Set_Capacity (15);
- Add_Action (Table.States (17), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (17), 28, 184);
- Add_Action (Table.States (17), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (17), 30, 8);
- Add_Action (Table.States (17), 40, 12);
- Add_Action (Table.States (17), 46, 14);
- Add_Action (Table.States (17), 47, 15);
- Add_Action (Table.States (17), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (17), 51, 19);
- Add_Action (Table.States (17), 63, 25);
- Add_Action (Table.States (17), 66, 26);
- Add_Action (Table.States (17), 69, 27);
- Add_Action (Table.States (17), 71, 28);
- Add_Action (Table.States (17), 74, 185);
- Add_Action (Table.States (17), 105, 186);
+ Add_Action (Table.States (17), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (17), 28, (124, 0), 185);
+ Add_Action (Table.States (17), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (17), 30, (213, 0), 8);
+ Add_Action (Table.States (17), 40, (249, 0), 12);
+ Add_Action (Table.States (17), 46, (249, 1), 14);
+ Add_Action (Table.States (17), 47, (216, 0), 15);
+ Add_Action (Table.States (17), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (17), 51, (267, 0), 19);
+ Add_Action (Table.States (17), 63, (316, 0), 25);
+ Add_Action (Table.States (17), 66, (308, 0), 26);
+ Add_Action (Table.States (17), 69, (209, 0), 27);
+ Add_Action (Table.States (17), 71, (334, 0), 28);
+ Add_Action (Table.States (17), 74, (335, 2), 186);
+ Add_Action (Table.States (17), 107, (222, 1), 187);
Table.States (17).Goto_List.Set_Capacity (50);
- Add_Goto (Table.States (17), 113, 36);
- Add_Goto (Table.States (17), 122, 38);
- Add_Goto (Table.States (17), 128, 41);
- Add_Goto (Table.States (17), 135, 46);
- Add_Goto (Table.States (17), 136, 47);
- Add_Goto (Table.States (17), 158, 187);
- Add_Goto (Table.States (17), 180, 55);
- Add_Goto (Table.States (17), 183, 56);
- Add_Goto (Table.States (17), 187, 57);
- Add_Goto (Table.States (17), 194, 59);
- Add_Goto (Table.States (17), 207, 61);
- Add_Goto (Table.States (17), 208, 62);
- Add_Goto (Table.States (17), 210, 63);
- Add_Goto (Table.States (17), 211, 64);
- Add_Goto (Table.States (17), 214, 65);
- Add_Goto (Table.States (17), 215, 66);
- Add_Goto (Table.States (17), 216, 67);
- Add_Goto (Table.States (17), 217, 68);
- Add_Goto (Table.States (17), 220, 70);
- Add_Goto (Table.States (17), 224, 72);
- Add_Goto (Table.States (17), 244, 75);
- Add_Goto (Table.States (17), 245, 76);
- Add_Goto (Table.States (17), 246, 77);
- Add_Goto (Table.States (17), 247, 78);
- Add_Goto (Table.States (17), 248, 79);
- Add_Goto (Table.States (17), 249, 80);
- Add_Goto (Table.States (17), 250, 81);
- Add_Goto (Table.States (17), 251, 82);
- Add_Goto (Table.States (17), 252, 83);
- Add_Goto (Table.States (17), 260, 85);
- Add_Goto (Table.States (17), 261, 86);
- Add_Goto (Table.States (17), 263, 88);
- Add_Goto (Table.States (17), 264, 89);
- Add_Goto (Table.States (17), 265, 90);
- Add_Goto (Table.States (17), 266, 91);
- Add_Goto (Table.States (17), 272, 92);
- Add_Goto (Table.States (17), 282, 95);
- Add_Goto (Table.States (17), 290, 96);
- Add_Goto (Table.States (17), 305, 103);
- Add_Goto (Table.States (17), 306, 104);
- Add_Goto (Table.States (17), 308, 106);
- Add_Goto (Table.States (17), 309, 107);
- Add_Goto (Table.States (17), 310, 108);
- Add_Goto (Table.States (17), 312, 109);
- Add_Goto (Table.States (17), 314, 110);
- Add_Goto (Table.States (17), 317, 112);
- Add_Goto (Table.States (17), 318, 113);
- Add_Goto (Table.States (17), 320, 114);
- Add_Goto (Table.States (17), 326, 116);
- Add_Goto (Table.States (17), 332, 117);
- Table.States (17).Kernel := To_Vector (((143, 49, 3, False), (333,
49, 3, False)));
- Table.States (17).Minimal_Complete_Actions := To_Vector (((Reduce,
247, 0), (Shift, 74, 185)));
+ Add_Goto (Table.States (17), 115, 36);
+ Add_Goto (Table.States (17), 124, 38);
+ Add_Goto (Table.States (17), 130, 41);
+ Add_Goto (Table.States (17), 137, 46);
+ Add_Goto (Table.States (17), 138, 47);
+ Add_Goto (Table.States (17), 160, 188);
+ Add_Goto (Table.States (17), 182, 55);
+ Add_Goto (Table.States (17), 185, 56);
+ Add_Goto (Table.States (17), 189, 57);
+ Add_Goto (Table.States (17), 196, 59);
+ Add_Goto (Table.States (17), 209, 61);
+ Add_Goto (Table.States (17), 210, 62);
+ Add_Goto (Table.States (17), 212, 63);
+ Add_Goto (Table.States (17), 213, 64);
+ Add_Goto (Table.States (17), 216, 65);
+ Add_Goto (Table.States (17), 217, 66);
+ Add_Goto (Table.States (17), 218, 67);
+ Add_Goto (Table.States (17), 219, 68);
+ Add_Goto (Table.States (17), 222, 70);
+ Add_Goto (Table.States (17), 226, 72);
+ Add_Goto (Table.States (17), 246, 75);
+ Add_Goto (Table.States (17), 247, 76);
+ Add_Goto (Table.States (17), 248, 77);
+ Add_Goto (Table.States (17), 249, 78);
+ Add_Goto (Table.States (17), 250, 79);
+ Add_Goto (Table.States (17), 251, 80);
+ Add_Goto (Table.States (17), 252, 81);
+ Add_Goto (Table.States (17), 253, 82);
+ Add_Goto (Table.States (17), 254, 83);
+ Add_Goto (Table.States (17), 262, 85);
+ Add_Goto (Table.States (17), 263, 86);
+ Add_Goto (Table.States (17), 265, 88);
+ Add_Goto (Table.States (17), 266, 89);
+ Add_Goto (Table.States (17), 267, 90);
+ Add_Goto (Table.States (17), 268, 91);
+ Add_Goto (Table.States (17), 274, 92);
+ Add_Goto (Table.States (17), 284, 95);
+ Add_Goto (Table.States (17), 292, 96);
+ Add_Goto (Table.States (17), 307, 103);
+ Add_Goto (Table.States (17), 308, 104);
+ Add_Goto (Table.States (17), 310, 106);
+ Add_Goto (Table.States (17), 311, 107);
+ Add_Goto (Table.States (17), 312, 108);
+ Add_Goto (Table.States (17), 314, 109);
+ Add_Goto (Table.States (17), 316, 110);
+ Add_Goto (Table.States (17), 319, 112);
+ Add_Goto (Table.States (17), 320, 113);
+ Add_Goto (Table.States (17), 322, 114);
+ Add_Goto (Table.States (17), 328, 116);
+ Add_Goto (Table.States (17), 334, 117);
+ Table.States (17).Kernel := To_Vector ((((145, 2), 49, 3,
(2147483647, 0), 0), ((335, 2), 49, 3,
+ (2147483647, 0), 0)));
+ Table.States (17).Minimal_Complete_Actions := To_Vector (((Reduce,
(249, 2), 0), (Shift, (335, 2), 74,
+ 186)));
Table.States (18).Action_List.Set_Capacity (4);
- Add_Action (Table.States (18), 79, 31);
- Add_Action (Table.States (18), 105, 120);
- Add_Action (Table.States (18), 106, 34);
- Add_Action (Table.States (18), 107, 35);
+ Add_Action (Table.States (18), 81, (242, 8), 31);
+ Add_Action (Table.States (18), 107, (242, 5), 120);
+ Add_Action (Table.States (18), 108, (242, 7), 34);
+ Add_Action (Table.States (18), 109, (242, 6), 35);
Table.States (18).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (18), 129, 42);
- Add_Goto (Table.States (18), 240, 188);
- Add_Goto (Table.States (18), 273, 93);
- Add_Goto (Table.States (18), 294, 98);
- Table.States (18).Kernel := To_Vector ((0 => (263, 50, 1, False)));
- Table.States (18).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
+ Add_Goto (Table.States (18), 131, 42);
+ Add_Goto (Table.States (18), 242, 189);
+ Add_Goto (Table.States (18), 275, 93);
+ Add_Goto (Table.States (18), 296, 98);
+ Table.States (18).Kernel := To_Vector ((0 => ((265, 0), 50, 1,
(2147483647, 0), 0)));
+ Table.States (18).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
Table.States (19).Action_List.Set_Capacity (3);
- Add_Action (Table.States (19), 14, 189);
- Add_Action (Table.States (19), 69, 190);
- Add_Action (Table.States (19), 105, 191);
- Table.States (19).Kernel := To_Vector (((265, 51, 5, False), (266,
51, 5, False), (272, 51, 8, False),
- (272, 51, 5, False), (305, 51, 7, False), (305, 51, 4, False)));
- Table.States (19).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 191)));
+ Add_Action (Table.States (19), 14, (267, 0), 190);
+ Add_Action (Table.States (19), 69, (274, 0), 191);
+ Add_Action (Table.States (19), 107, (307, 0), 192);
+ Table.States (19).Kernel := To_Vector ((((267, 0), 51, 5,
(2147483647, 0), 0), ((268, 0), 51, 5,
+ (2147483647, 0), 0), ((274, 0), 51, 8, (2147483647, 0), 0),
((274, 1), 51, 5, (2147483647, 0), 0),
+ ((307, 0), 51, 7, (2147483647, 0), 0), ((307, 1), 51, 4,
(2147483647, 0), 0)));
+ Table.States (19).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (307, 0), 107, 192)));
Table.States (20).Action_List.Set_Capacity (5);
- Add_Action (Table.States (20), 79, 31);
- Add_Action (Table.States (20), 97, 192);
- Add_Action (Table.States (20), 105, 120);
- Add_Action (Table.States (20), 106, 34);
- Add_Action (Table.States (20), 107, 35);
+ Add_Action (Table.States (20), 81, (242, 8), 31);
+ Add_Action (Table.States (20), 99, (279, 2), 193);
+ Add_Action (Table.States (20), 107, (242, 5), 120);
+ Add_Action (Table.States (20), 108, (242, 7), 34);
+ Add_Action (Table.States (20), 109, (242, 6), 35);
Table.States (20).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (20), 129, 42);
- Add_Goto (Table.States (20), 240, 193);
- Add_Goto (Table.States (20), 273, 93);
- Add_Goto (Table.States (20), 294, 98);
- Table.States (20).Kernel := To_Vector (((277, 52, 3, False), (277,
52, 2, False), (277, 52, 1, False)));
- Table.States (20).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 192)));
+ Add_Goto (Table.States (20), 131, 42);
+ Add_Goto (Table.States (20), 242, 194);
+ Add_Goto (Table.States (20), 275, 93);
+ Add_Goto (Table.States (20), 296, 98);
+ Table.States (20).Kernel := To_Vector ((((279, 0), 52, 3,
(2147483647, 0), 0), ((279, 1), 52, 2,
+ (2147483647, 0), 0), ((279, 2), 52, 1, (2147483647, 0), 0)));
+ Table.States (20).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (279, 2), 99, 193)));
Table.States (21).Action_List.Set_Capacity (4);
- Add_Action (Table.States (21), 79, 31);
- Add_Action (Table.States (21), 105, 120);
- Add_Action (Table.States (21), 106, 34);
- Add_Action (Table.States (21), 107, 35);
+ Add_Action (Table.States (21), 81, (242, 8), 31);
+ Add_Action (Table.States (21), 107, (242, 5), 120);
+ Add_Action (Table.States (21), 108, (242, 7), 34);
+ Add_Action (Table.States (21), 109, (242, 6), 35);
Table.States (21).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (21), 129, 42);
- Add_Goto (Table.States (21), 240, 194);
- Add_Goto (Table.States (21), 273, 93);
- Add_Goto (Table.States (21), 294, 98);
- Table.States (21).Kernel := To_Vector (((291, 57, 4, False), (291,
57, 2, False)));
- Table.States (21).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (22).Action_List.Set_Capacity (15);
- Add_Action (Table.States (22), 3, 122);
- Add_Action (Table.States (22), 21, Reduce, (196, 1), 0, null,
null);
- Add_Action (Table.States (22), 39, 123);
- Add_Action (Table.States (22), 40, 124);
- Add_Action (Table.States (22), 41, 125);
- Add_Action (Table.States (22), 52, 126);
- Add_Action (Table.States (22), 76, 127);
- Add_Action (Table.States (22), 79, 31);
- Add_Action (Table.States (22), 95, 128);
- Add_Action (Table.States (22), 96, 129);
- Add_Action (Table.States (22), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (22), 104, 130);
- Add_Action (Table.States (22), 105, 195);
- Add_Action (Table.States (22), 106, 34);
- Add_Action (Table.States (22), 107, 35);
+ Add_Goto (Table.States (21), 131, 42);
+ Add_Goto (Table.States (21), 242, 195);
+ Add_Goto (Table.States (21), 275, 93);
+ Add_Goto (Table.States (21), 296, 98);
+ Table.States (21).Kernel := To_Vector ((((293, 0), 57, 4,
(2147483647, 0), 0), ((293, 1), 57, 2,
+ (2147483647, 0), 0)));
+ Table.States (21).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (22).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (22), 3, (200, 2), 122);
+ Add_Action (Table.States (22), 21, Reduce, (198, 1), 0, null,
null);
+ Add_Action (Table.States (22), 39, (261, 4), 123);
+ Add_Action (Table.States (22), 40, (200, 3), 124);
+ Add_Action (Table.States (22), 41, (261, 1), 125);
+ Add_Action (Table.States (22), 52, (278, 0), 126);
+ Add_Action (Table.States (22), 76, (120, 0), 127);
+ Add_Action (Table.States (22), 77, (120, 5), 128);
+ Add_Action (Table.States (22), 81, (242, 8), 31);
+ Add_Action (Table.States (22), 97, (333, 1), 129);
+ Add_Action (Table.States (22), 98, (333, 0), 130);
+ Add_Action (Table.States (22), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (22), 106, (261, 0), 131);
+ Add_Action (Table.States (22), 107, (197, 0), 196);
+ Add_Action (Table.States (22), 108, (242, 7), 34);
+ Add_Action (Table.States (22), 109, (242, 6), 35);
Table.States (22).Goto_List.Set_Capacity (22);
- Add_Goto (Table.States (22), 118, 131);
- Add_Goto (Table.States (22), 129, 42);
- Add_Goto (Table.States (22), 192, 132);
- Add_Goto (Table.States (22), 193, 196);
+ Add_Goto (Table.States (22), 120, 132);
+ Add_Goto (Table.States (22), 131, 42);
+ Add_Goto (Table.States (22), 194, 133);
Add_Goto (Table.States (22), 195, 197);
- Add_Goto (Table.States (22), 196, 198);
- Add_Goto (Table.States (22), 198, 134);
- Add_Goto (Table.States (22), 240, 135);
- Add_Goto (Table.States (22), 259, 136);
- Add_Goto (Table.States (22), 273, 93);
- Add_Goto (Table.States (22), 276, 137);
- Add_Goto (Table.States (22), 283, 138);
- Add_Goto (Table.States (22), 284, 139);
- Add_Goto (Table.States (22), 285, 140);
- Add_Goto (Table.States (22), 286, 141);
- Add_Goto (Table.States (22), 287, 142);
- Add_Goto (Table.States (22), 288, 143);
- Add_Goto (Table.States (22), 294, 98);
- Add_Goto (Table.States (22), 302, 144);
- Add_Goto (Table.States (22), 321, 145);
- Add_Goto (Table.States (22), 322, 146);
- Add_Goto (Table.States (22), 331, 147);
- Table.States (22).Kernel := To_Vector (((197, 58, 4, False), (197,
58, 4, False), (303, 58, 1, False)));
- Table.States (22).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
+ Add_Goto (Table.States (22), 197, 198);
+ Add_Goto (Table.States (22), 198, 199);
+ Add_Goto (Table.States (22), 200, 135);
+ Add_Goto (Table.States (22), 242, 136);
+ Add_Goto (Table.States (22), 261, 137);
+ Add_Goto (Table.States (22), 275, 93);
+ Add_Goto (Table.States (22), 278, 138);
+ Add_Goto (Table.States (22), 285, 139);
+ Add_Goto (Table.States (22), 286, 140);
+ Add_Goto (Table.States (22), 287, 141);
+ Add_Goto (Table.States (22), 288, 142);
+ Add_Goto (Table.States (22), 289, 143);
+ Add_Goto (Table.States (22), 290, 144);
+ Add_Goto (Table.States (22), 296, 98);
+ Add_Goto (Table.States (22), 304, 145);
+ Add_Goto (Table.States (22), 323, 146);
+ Add_Goto (Table.States (22), 324, 147);
+ Add_Goto (Table.States (22), 333, 148);
+ Table.States (22).Kernel := To_Vector ((((199, 0), 58, 4,
(2147483647, 0), 0), ((199, 1), 58, 4,
+ (2147483647, 0), 0), ((305, 0), 58, 1, (2147483647, 0), 0)));
+ Table.States (22).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
Table.States (23).Action_List.Set_Capacity (1);
- Add_Action (Table.States (23), 76, 199);
- Table.States (23).Kernel := To_Vector ((0 => (316, 60, 9, False)));
- Table.States (23).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 76, 199)));
+ Add_Action (Table.States (23), 76, (318, 0), 200);
+ Table.States (23).Kernel := To_Vector ((0 => ((318, 0), 60, 9,
(2147483647, 0), 0)));
+ Table.States (23).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (318, 0), 76, 200)));
Table.States (24).Action_List.Set_Capacity (10);
- Add_Action (Table.States (24), 4, 1);
- Add_Action (Table.States (24), 18, 4);
- Add_Action (Table.States (24), 22, Reduce, (298, 1), 0, null,
null);
- Add_Action (Table.States (24), 24, Reduce, (298, 1), 0, null,
null);
- Add_Action (Table.States (24), 67, 200);
- Add_Action (Table.States (24), 72, 201);
- Add_Action (Table.States (24), 79, 31);
- Add_Action (Table.States (24), 105, 120);
- Add_Action (Table.States (24), 106, 34);
- Add_Action (Table.States (24), 107, 35);
+ Add_Action (Table.States (24), 4, (116, 0), 1);
+ Add_Action (Table.States (24), 18, (164, 0), 4);
+ Add_Action (Table.States (24), 22, Reduce, (300, 1), 0, null,
null);
+ Add_Action (Table.States (24), 24, Reduce, (300, 1), 0, null,
null);
+ Add_Action (Table.States (24), 67, (298, 4), 201);
+ Add_Action (Table.States (24), 72, (298, 0), 202);
+ Add_Action (Table.States (24), 81, (242, 8), 31);
+ Add_Action (Table.States (24), 107, (242, 5), 120);
+ Add_Action (Table.States (24), 108, (242, 7), 34);
+ Add_Action (Table.States (24), 109, (242, 6), 35);
Table.States (24).Goto_List.Set_Capacity (13);
- Add_Goto (Table.States (24), 114, 202);
- Add_Goto (Table.States (24), 129, 42);
- Add_Goto (Table.States (24), 161, 203);
- Add_Goto (Table.States (24), 162, 204);
- Add_Goto (Table.States (24), 179, 205);
- Add_Goto (Table.States (24), 240, 206);
- Add_Goto (Table.States (24), 262, 207);
- Add_Goto (Table.States (24), 273, 93);
- Add_Goto (Table.States (24), 294, 98);
- Add_Goto (Table.States (24), 296, 208);
- Add_Goto (Table.States (24), 297, 209);
- Add_Goto (Table.States (24), 298, 210);
- Add_Goto (Table.States (24), 325, 211);
- Table.States (24).Kernel := To_Vector (((127, 61, 6, False), (153,
61, 5, False), (295, 61, 4, False),
- (295, 61, 3, False), (324, 61, 7, False)));
- Table.States (24).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 298, 0)));
+ Add_Goto (Table.States (24), 116, 203);
+ Add_Goto (Table.States (24), 131, 42);
+ Add_Goto (Table.States (24), 163, 204);
+ Add_Goto (Table.States (24), 164, 205);
+ Add_Goto (Table.States (24), 181, 206);
+ Add_Goto (Table.States (24), 242, 207);
+ Add_Goto (Table.States (24), 264, 208);
+ Add_Goto (Table.States (24), 275, 93);
+ Add_Goto (Table.States (24), 296, 98);
+ Add_Goto (Table.States (24), 298, 209);
+ Add_Goto (Table.States (24), 299, 210);
+ Add_Goto (Table.States (24), 300, 211);
+ Add_Goto (Table.States (24), 327, 212);
+ Table.States (24).Kernel := To_Vector ((((129, 0), 61, 6,
(2147483647, 0), 0), ((155, 0), 61, 5,
+ (2147483647, 0), 0), ((297, 0), 61, 4, (2147483647, 0), 0),
((297, 1), 61, 3, (2147483647, 0), 0),
+ ((326, 0), 61, 7, (2147483647, 0), 0)));
+ Table.States (24).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (300, 1), 0)));
Table.States (25).Action_List.Set_Capacity (1);
- Add_Action (Table.States (25), 105, 212);
- Table.States (25).Kernel := To_Vector ((0 => (314, 63, 4, False)));
- Table.States (25).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 212)));
+ Add_Action (Table.States (25), 107, (316, 0), 213);
+ Table.States (25).Kernel := To_Vector ((0 => ((316, 0), 63, 4,
(2147483647, 0), 0)));
+ Table.States (25).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (316, 0), 107, 213)));
Table.States (26).Action_List.Set_Capacity (3);
- Add_Action (Table.States (26), 14, 213);
- Add_Action (Table.States (26), 69, 214);
- Add_Action (Table.States (26), 105, 215);
- Table.States (26).Kernel := To_Vector (((306, 66, 7, False), (306,
66, 4, False), (306, 66, 2, False),
- (317, 66, 6, False), (318, 66, 5, False), (320, 66, 8, False),
(320, 66, 5, False), (320, 66, 3, False)));
- Table.States (26).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 215)));
+ Add_Action (Table.States (26), 14, (319, 0), 214);
+ Add_Action (Table.States (26), 69, (322, 0), 215);
+ Add_Action (Table.States (26), 107, (308, 0), 216);
+ Table.States (26).Kernel := To_Vector ((((308, 0), 66, 7,
(2147483647, 0), 0), ((308, 1), 66, 4,
+ (2147483647, 0), 0), ((308, 2), 66, 2, (2147483647, 0), 0),
((319, 0), 66, 6, (2147483647, 0), 0),
+ ((320, 0), 66, 5, (2147483647, 0), 0), ((322, 0), 66, 8,
(2147483647, 0), 0), ((322, 1), 66, 5,
+ (2147483647, 0), 0), ((322, 2), 66, 3, (2147483647, 0), 0)));
+ Table.States (26).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (308, 0), 107, 216)));
Table.States (27).Action_List.Set_Capacity (1);
- Add_Action (Table.States (27), 105, 216);
- Table.States (27).Kernel := To_Vector (((207, 69, 4, False), (224,
69, 4, False), (224, 69, 2, False),
- (260, 69, 7, False), (261, 69, 4, False)));
- Table.States (27).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 216)));
+ Add_Action (Table.States (27), 107, (209, 0), 217);
+ Table.States (27).Kernel := To_Vector ((((209, 0), 69, 4,
(2147483647, 0), 0), ((226, 0), 69, 4,
+ (2147483647, 0), 0), ((226, 1), 69, 2, (2147483647, 0), 0),
((262, 0), 69, 7, (2147483647, 0), 0),
+ ((263, 0), 69, 4, (2147483647, 0), 0)));
+ Table.States (27).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (209, 0), 107, 217)));
Table.States (28).Action_List.Set_Capacity (6);
- Add_Action (Table.States (28), 9, 217);
- Add_Action (Table.States (28), 69, 218);
- Add_Action (Table.States (28), 79, 31);
- Add_Action (Table.States (28), 105, 120);
- Add_Action (Table.States (28), 106, 34);
- Add_Action (Table.States (28), 107, 35);
+ Add_Action (Table.States (28), 9, (334, 0), 218);
+ Add_Action (Table.States (28), 69, (334, 1), 219);
+ Add_Action (Table.States (28), 81, (242, 8), 31);
+ Add_Action (Table.States (28), 107, (242, 5), 120);
+ Add_Action (Table.States (28), 108, (242, 7), 34);
+ Add_Action (Table.States (28), 109, (242, 6), 35);
Table.States (28).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (28), 129, 42);
- Add_Goto (Table.States (28), 239, 219);
- Add_Goto (Table.States (28), 240, 220);
- Add_Goto (Table.States (28), 273, 93);
- Add_Goto (Table.States (28), 294, 98);
- Table.States (28).Kernel := To_Vector (((332, 71, 4, False), (332,
71, 3, False), (332, 71, 2, False)));
- Table.States (28).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (29).Action_List.Set_Capacity (14);
- Add_Action (Table.States (29), 3, 122);
- Add_Action (Table.States (29), 37, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (29), 39, 123);
- Add_Action (Table.States (29), 40, 124);
- Add_Action (Table.States (29), 41, 125);
- Add_Action (Table.States (29), 52, 126);
- Add_Action (Table.States (29), 76, 127);
- Add_Action (Table.States (29), 79, 31);
- Add_Action (Table.States (29), 95, 128);
- Add_Action (Table.States (29), 96, 129);
- Add_Action (Table.States (29), 104, 130);
- Add_Action (Table.States (29), 105, 120);
- Add_Action (Table.States (29), 106, 34);
- Add_Action (Table.States (29), 107, 35);
+ Add_Goto (Table.States (28), 131, 42);
+ Add_Goto (Table.States (28), 241, 220);
+ Add_Goto (Table.States (28), 242, 221);
+ Add_Goto (Table.States (28), 275, 93);
+ Add_Goto (Table.States (28), 296, 98);
+ Table.States (28).Kernel := To_Vector ((((334, 0), 71, 4,
(2147483647, 0), 0), ((334, 1), 71, 3,
+ (2147483647, 0), 0), ((334, 2), 71, 2, (2147483647, 0), 0)));
+ Table.States (28).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (29).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (29), 3, (200, 2), 122);
+ Add_Action (Table.States (29), 37, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (29), 39, (261, 4), 123);
+ Add_Action (Table.States (29), 40, (200, 3), 124);
+ Add_Action (Table.States (29), 41, (261, 1), 125);
+ Add_Action (Table.States (29), 52, (278, 0), 126);
+ Add_Action (Table.States (29), 76, (120, 0), 127);
+ Add_Action (Table.States (29), 77, (120, 5), 128);
+ Add_Action (Table.States (29), 81, (242, 8), 31);
+ Add_Action (Table.States (29), 97, (333, 1), 129);
+ Add_Action (Table.States (29), 98, (333, 0), 130);
+ Add_Action (Table.States (29), 106, (261, 0), 131);
+ Add_Action (Table.States (29), 107, (242, 5), 120);
+ Add_Action (Table.States (29), 108, (242, 7), 34);
+ Add_Action (Table.States (29), 109, (242, 6), 35);
Table.States (29).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (29), 118, 131);
- Add_Goto (Table.States (29), 129, 42);
- Add_Goto (Table.States (29), 192, 132);
- Add_Goto (Table.States (29), 193, 221);
- Add_Goto (Table.States (29), 198, 134);
- Add_Goto (Table.States (29), 240, 135);
- Add_Goto (Table.States (29), 259, 136);
- Add_Goto (Table.States (29), 273, 93);
- Add_Goto (Table.States (29), 276, 137);
- Add_Goto (Table.States (29), 283, 138);
- Add_Goto (Table.States (29), 284, 139);
- Add_Goto (Table.States (29), 285, 140);
- Add_Goto (Table.States (29), 286, 141);
- Add_Goto (Table.States (29), 287, 142);
- Add_Goto (Table.States (29), 288, 143);
- Add_Goto (Table.States (29), 294, 98);
- Add_Goto (Table.States (29), 302, 144);
- Add_Goto (Table.States (29), 321, 145);
- Add_Goto (Table.States (29), 322, 146);
- Add_Goto (Table.States (29), 331, 147);
- Table.States (29).Kernel := To_Vector ((0 => (230, 73, 0, False)));
- Table.States (29).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
+ Add_Goto (Table.States (29), 120, 132);
+ Add_Goto (Table.States (29), 131, 42);
+ Add_Goto (Table.States (29), 194, 133);
+ Add_Goto (Table.States (29), 195, 222);
+ Add_Goto (Table.States (29), 200, 135);
+ Add_Goto (Table.States (29), 242, 136);
+ Add_Goto (Table.States (29), 261, 137);
+ Add_Goto (Table.States (29), 275, 93);
+ Add_Goto (Table.States (29), 278, 138);
+ Add_Goto (Table.States (29), 285, 139);
+ Add_Goto (Table.States (29), 286, 140);
+ Add_Goto (Table.States (29), 287, 141);
+ Add_Goto (Table.States (29), 288, 142);
+ Add_Goto (Table.States (29), 289, 143);
+ Add_Goto (Table.States (29), 290, 144);
+ Add_Goto (Table.States (29), 296, 98);
+ Add_Goto (Table.States (29), 304, 145);
+ Add_Goto (Table.States (29), 323, 146);
+ Add_Goto (Table.States (29), 324, 147);
+ Add_Goto (Table.States (29), 333, 148);
+ Table.States (29).Kernel := To_Vector ((0 => ((232, 0), 73, 0,
(195, 1), 0)));
+ Table.States (29).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
Table.States (30).Action_List.Set_Capacity (4);
- Add_Action (Table.States (30), 79, 31);
- Add_Action (Table.States (30), 105, 120);
- Add_Action (Table.States (30), 106, 34);
- Add_Action (Table.States (30), 107, 35);
+ Add_Action (Table.States (30), 81, (242, 8), 31);
+ Add_Action (Table.States (30), 107, (242, 5), 120);
+ Add_Action (Table.States (30), 108, (242, 7), 34);
+ Add_Action (Table.States (30), 109, (242, 6), 35);
Table.States (30).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (30), 129, 42);
- Add_Goto (Table.States (30), 239, 222);
- Add_Goto (Table.States (30), 240, 220);
- Add_Goto (Table.States (30), 273, 93);
- Add_Goto (Table.States (30), 294, 98);
- Table.States (30).Kernel := To_Vector ((0 => (333, 74, 2, False)));
- Table.States (30).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (31).Action_List.Set_Capacity (64);
+ Add_Goto (Table.States (30), 131, 42);
+ Add_Goto (Table.States (30), 241, 223);
+ Add_Goto (Table.States (30), 242, 221);
+ Add_Goto (Table.States (30), 275, 93);
+ Add_Goto (Table.States (30), 296, 98);
+ Table.States (30).Kernel := To_Vector ((0 => ((335, 3), 74, 2,
(2147483647, 0), 0)));
+ Table.States (30).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (31).Action_List.Set_Capacity (65);
Add_Action (Table.States (31), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (240, 8), 1, null, null);
- Table.States (31).Kernel := To_Vector ((0 => (240, 79, 0, False)));
- Table.States (31).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 240, 1)));
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (242, 8), 1, null,
+ null);
+ Table.States (31).Kernel := To_Vector ((0 => ((242, 8), 81, 0,
(242, 8), 1)));
+ Table.States (31).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (242, 8), 1)));
Table.States (32).Action_List.Set_Capacity (1);
- Add_Action (Table.States (32), 105, 223);
- Table.States (32).Kernel := To_Vector ((0 => (218, 94, 2, False)));
- Table.States (32).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 223)));
+ Add_Action (Table.States (32), 107, (220, 0), 224);
+ Table.States (32).Kernel := To_Vector ((0 => ((220, 0), 96, 2,
(2147483647, 0), 0)));
+ Table.States (32).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (220, 0), 107, 224)));
Table.States (33).Action_List.Set_Capacity (8);
- Add_Action (Table.States (33), 76, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (33), 82, 224);
- Add_Conflict (Table.States (33), 82, (220, 1), 1,
identifier_list_1'Access, null);
- Add_Action (Table.States (33), 83, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (33), 84, Reduce, (220, 1), 1,
identifier_list_1'Access, null);
- Add_Action (Table.States (33), 85, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (33), 97, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (33), 102, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (33), 103, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Table.States (33).Kernel := To_Vector (((132, 105, 1, False),
(220, 105, 0, False), (240, 105, 0, False),
- (246, 105, 5, False), (246, 105, 6, False), (246, 105, 5, False)));
- Table.States (33).Minimal_Complete_Actions := To_Vector (((Reduce,
220, 1), (Reduce, 240, 1)));
- Table.States (34).Action_List.Set_Capacity (63);
+ Add_Action (Table.States (33), 76, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (33), 84, (134, 0), 225);
+ Add_Conflict (Table.States (33), 84, (222, 1), 1,
identifier_list_1'Access, null);
+ Add_Action (Table.States (33), 85, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (33), 86, Reduce, (222, 1), 1,
identifier_list_1'Access, null);
+ Add_Action (Table.States (33), 87, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (33), 99, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (33), 104, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (33), 105, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Table.States (33).Kernel := To_Vector ((((134, 0), 107, 1,
(2147483647, 0), 0), ((222, 1), 107, 0,
+ (222, 1), 1), ((242, 5), 107, 0, (242, 5), 1), ((248, 0),
107, 5, (2147483647, 0), 0), ((248, 1),
+ 107, 6, (2147483647, 0), 0), ((248, 2), 107, 5, (2147483647,
0), 0)));
+ Table.States (33).Minimal_Complete_Actions := To_Vector (((Shift,
(134, 0), 84, 225), (Reduce, (222, 1),
+ 1), (Reduce, (242, 5), 1)));
+ Table.States (34).Action_List.Set_Capacity (64);
Add_Action (Table.States (34), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 73, 74, 75,
76, 77, 78, 79, 80, 83, 84, 85, 86, 87, 88,
- 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105,
106, 107), (240, 7), 1, null,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 73, 74, 75,
76, 78, 79, 80, 81, 82, 85, 86, 87, 88, 89,
+ 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
107, 108, 109), (242, 7), 1, null,
name_7_check'Access);
- Table.States (34).Kernel := To_Vector ((0 => (240, 106, 0,
False)));
- Table.States (34).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 240, 1)));
- Table.States (35).Action_List.Set_Capacity (64);
+ Table.States (34).Kernel := To_Vector ((0 => ((242, 7), 108, 0,
(242, 7), 1)));
+ Table.States (34).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (242, 7), 1)));
+ Table.States (35).Action_List.Set_Capacity (65);
Add_Action (Table.States (35), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (240, 6), 1, null, null);
- Table.States (35).Kernel := To_Vector ((0 => (240, 107, 0,
False)));
- Table.States (35).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 240, 1)));
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (242, 6), 1, null,
+ null);
+ Table.States (35).Kernel := To_Vector ((0 => ((242, 6), 109, 0,
(242, 6), 1)));
+ Table.States (35).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (242, 6), 1)));
Table.States (36).Action_List.Set_Capacity (41);
Add_Action (Table.States (36), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 0), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 0), 1,
null, null);
- Table.States (36).Kernel := To_Vector ((0 => (158, 113, 0,
False)));
- Table.States (36).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (36).Kernel := To_Vector ((0 => ((160, 0), 115, 0,
(160, 0), 1)));
+ Table.States (36).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 0), 1)));
Table.States (37).Action_List.Set_Capacity (47);
Add_Action (Table.States (37), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (152, 5), 1, null, null);
- Table.States (37).Kernel := To_Vector ((0 => (152, 114, 0,
False)));
- Table.States (37).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 152, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (154, 5), 1, null, null);
+ Table.States (37).Kernel := To_Vector ((0 => ((154, 5), 116, 0,
(154, 5), 1)));
+ Table.States (37).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (154, 5), 1)));
Table.States (38).Action_List.Set_Capacity (41);
Add_Action (Table.States (38), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 1), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 1), 1,
null, null);
- Table.States (38).Kernel := To_Vector ((0 => (158, 122, 0,
False)));
- Table.States (38).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (38).Kernel := To_Vector ((0 => ((160, 1), 124, 0,
(160, 1), 1)));
+ Table.States (38).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 1), 1)));
Table.States (39).Action_List.Set_Capacity (47);
Add_Action (Table.States (39), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (304, 1), 1, null, null);
- Table.States (39).Kernel := To_Vector ((0 => (304, 124, 0,
False)));
- Table.States (39).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 304, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (306, 1), 1, null, null);
+ Table.States (39).Kernel := To_Vector ((0 => ((306, 1), 126, 0,
(306, 1), 1)));
+ Table.States (39).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (306, 1), 1)));
Table.States (40).Action_List.Set_Capacity (47);
Add_Action (Table.States (40), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (299, 3), 1, null, null);
- Table.States (40).Kernel := To_Vector ((0 => (299, 127, 0,
False)));
- Table.States (40).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 299, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (301, 3), 1, null, null);
+ Table.States (40).Kernel := To_Vector ((0 => ((301, 3), 129, 0,
(301, 3), 1)));
+ Table.States (40).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (301, 3), 1)));
Table.States (41).Action_List.Set_Capacity (42);
Add_Action (Table.States (41), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73,
74, 79, 94, 105, 106, 107, 108), (122, 3),
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73,
74, 81, 96, 107, 108, 109, 110), (124, 3),
1, null, null);
- Table.States (41).Kernel := To_Vector ((0 => (122, 128, 0,
False)));
- Table.States (41).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 122, 1)));
- Table.States (42).Action_List.Set_Capacity (63);
+ Table.States (41).Kernel := To_Vector ((0 => ((124, 3), 130, 0,
(124, 3), 1)));
+ Table.States (41).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (124, 3), 1)));
+ Table.States (42).Action_List.Set_Capacity (64);
Add_Action (Table.States (42), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 73, 74, 75,
76, 77, 78, 79, 80, 83, 84, 85, 86, 87, 88,
- 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105,
106, 107), (240, 3), 1, null, null);
- Table.States (42).Kernel := To_Vector ((0 => (240, 129, 0, True)));
- Table.States (42).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 240, 1)));
- Table.States (42).Minimal_Complete_Actions_Recursive := True;
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 73, 74, 75,
76, 78, 79, 80, 81, 82, 85, 86, 87, 88, 89,
+ 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
107, 108, 109), (242, 3), 1, null, null);
+ Table.States (42).Kernel := To_Vector ((0 => ((242, 3), 131, 0,
(242, 3), 1)));
+ Table.States (42).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (242, 3), 1)));
Table.States (43).Action_List.Set_Capacity (5);
- Add_Action (Table.States (43), (13, 17, 28, 37, 73), (133, 0), 1,
null, block_label_opt_0_check'Access);
- Table.States (43).Kernel := To_Vector ((0 => (133, 132, 0,
False)));
- Table.States (43).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 133, 1)));
+ Add_Action (Table.States (43), (13, 17, 28, 37, 73), (135, 0), 1,
null, block_label_opt_0_check'Access);
+ Table.States (43).Kernel := To_Vector ((0 => ((135, 0), 134, 0,
(135, 0), 1)));
+ Table.States (43).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (135, 0), 1)));
Table.States (44).Action_List.Set_Capacity (5);
- Add_Action (Table.States (44), 13, 225);
- Add_Action (Table.States (44), 17, 226);
- Add_Action (Table.States (44), 28, 227);
- Add_Action (Table.States (44), 37, 228);
- Add_Action (Table.States (44), 73, 29);
+ Add_Action (Table.States (44), 13, (136, 1), 226);
+ Add_Action (Table.States (44), 17, (136, 0), 227);
+ Add_Action (Table.States (44), 28, (232, 1), 228);
+ Add_Action (Table.States (44), 37, (235, 1), 229);
+ Add_Action (Table.States (44), 73, (232, 0), 29);
Table.States (44).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (44), 230, 229);
- Table.States (44).Kernel := To_Vector (((134, 133, 4, False),
(134, 133, 3, False), (233, 133, 5, False),
- (233, 133, 4, False)));
- Table.States (44).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 13, 225)));
+ Add_Goto (Table.States (44), 232, 230);
+ Table.States (44).Kernel := To_Vector ((((136, 0), 135, 4,
(2147483647, 0), 0), ((136, 1), 135, 3,
+ (2147483647, 0), 0), ((235, 0), 135, 5, (2147483647, 0), 0),
((235, 1), 135, 4, (2147483647, 0),
+ 0)));
+ Table.States (44).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (136, 1), 13, 226)));
Table.States (45).Action_List.Set_Capacity (47);
Add_Action (Table.States (45), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (152, 3), 1, null, null);
- Table.States (45).Kernel := To_Vector ((0 => (152, 134, 0,
False)));
- Table.States (45).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 152, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (154, 3), 1, null, null);
+ Table.States (45).Kernel := To_Vector ((0 => ((154, 3), 136, 0,
(154, 3), 1)));
+ Table.States (45).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (154, 3), 1)));
Table.States (46).Action_List.Set_Capacity (41);
Add_Action (Table.States (46), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 2), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 2), 1,
null, null);
- Table.States (46).Kernel := To_Vector ((0 => (158, 135, 0,
False)));
- Table.States (46).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (46).Kernel := To_Vector ((0 => ((160, 2), 137, 0,
(160, 2), 1)));
+ Table.States (46).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 2), 1)));
+ end Subr_1;
+ procedure Subr_2
+ is begin
Table.States (47).Action_List.Set_Capacity (41);
Add_Action (Table.States (47), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (135, 1), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (137, 1), 1,
null, null);
- Table.States (47).Kernel := To_Vector ((0 => (135, 136, 0,
False)));
- Table.States (47).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 135, 1)));
+ Table.States (47).Kernel := To_Vector ((0 => ((137, 1), 138, 0,
(137, 1), 1)));
+ Table.States (47).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (137, 1), 1)));
Table.States (48).Action_List.Set_Capacity (47);
Add_Action (Table.States (48), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (152, 1), 1, null, null);
- Table.States (48).Kernel := To_Vector ((0 => (152, 140, 0,
False)));
- Table.States (48).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 152, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (154, 1), 1, null, null);
+ Table.States (48).Kernel := To_Vector ((0 => ((154, 1), 142, 0,
(154, 1), 1)));
+ Table.States (48).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (154, 1), 1)));
Table.States (49).Action_List.Set_Capacity (40);
Add_Action (Table.States (49), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
- 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 79,
94, 105, 106, 107, 108), (144, 1), 1,
+ 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 81,
96, 107, 108, 109, 110), (146, 1), 1,
compilation_unit_list_1'Access,
compilation_unit_list_1_check'Access);
- Table.States (49).Kernel := To_Vector ((0 => (144, 143, 0,
False)));
- Table.States (49).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 144, 1)));
+ Table.States (49).Kernel := To_Vector ((0 => ((146, 1), 145, 0,
(146, 1), 1)));
+ Table.States (49).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (146, 1), 1)));
Table.States (50).Action_List.Set_Capacity (40);
- Add_Action (Table.States (50), 4, 1);
- Add_Action (Table.States (50), 5, 2);
- Add_Action (Table.States (50), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (50), 15, 3);
- Add_Action (Table.States (50), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (50), 18, 4);
- Add_Action (Table.States (50), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (50), 27, 5);
- Add_Action (Table.States (50), 28, 6);
- Add_Conflict (Table.States (50), 28, (133, 1), 0, null, null);
- Add_Action (Table.States (50), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (50), 30, 8);
- Add_Action (Table.States (50), 31, 9);
- Add_Action (Table.States (50), 32, 10);
- Add_Action (Table.States (50), 36, 11);
- Add_Action (Table.States (50), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (50), 40, 12);
- Add_Action (Table.States (50), 41, 13);
- Add_Action (Table.States (50), 46, 14);
- Add_Action (Table.States (50), 47, 15);
- Add_Action (Table.States (50), 48, 16);
- Add_Action (Table.States (50), 49, 17);
- Add_Action (Table.States (50), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (50), 51, 19);
- Add_Action (Table.States (50), 52, 20);
- Add_Action (Table.States (50), 57, 21);
- Add_Action (Table.States (50), 58, 22);
- Add_Action (Table.States (50), 60, 23);
- Add_Action (Table.States (50), 61, 24);
- Add_Action (Table.States (50), 63, 25);
- Add_Action (Table.States (50), 66, 26);
- Add_Action (Table.States (50), 69, 27);
- Add_Action (Table.States (50), 71, 28);
- Add_Action (Table.States (50), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (50), 74, 30);
- Add_Action (Table.States (50), 79, 31);
- Add_Action (Table.States (50), 94, 32);
- Add_Action (Table.States (50), 105, 33);
- Add_Action (Table.States (50), 106, 34);
- Add_Action (Table.States (50), 107, 35);
- Add_Action (Table.States (50), 108, Accept_It, (109, 0), 1, null,
null);
+ Add_Action (Table.States (50), 4, (116, 0), 1);
+ Add_Action (Table.States (50), 5, (306, 8), 2);
+ Add_Action (Table.States (50), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (50), 15, (142, 0), 3);
+ Add_Action (Table.States (50), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (50), 18, (164, 0), 4);
+ Add_Action (Table.States (50), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (50), 27, (193, 0), 5);
+ Add_Action (Table.States (50), 28, (124, 0), 6);
+ Add_Conflict (Table.States (50), 28, (135, 1), 0, null, null);
+ Add_Action (Table.States (50), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (50), 30, (213, 0), 8);
+ Add_Action (Table.States (50), 31, (306, 3), 9);
+ Add_Action (Table.States (50), 32, (225, 0), 10);
+ Add_Action (Table.States (50), 36, (335, 0), 11);
+ Add_Action (Table.States (50), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (50), 40, (249, 0), 12);
+ Add_Action (Table.States (50), 41, (306, 0), 13);
+ Add_Action (Table.States (50), 46, (249, 1), 14);
+ Add_Action (Table.States (50), 47, (216, 0), 15);
+ Add_Action (Table.States (50), 48, (260, 0), 16);
+ Add_Action (Table.States (50), 49, (145, 2), 17);
+ Add_Action (Table.States (50), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (50), 51, (267, 0), 19);
+ Add_Action (Table.States (50), 52, (279, 0), 20);
+ Add_Action (Table.States (50), 57, (293, 0), 21);
+ Add_Action (Table.States (50), 58, (199, 0), 22);
+ Add_Action (Table.States (50), 60, (318, 0), 23);
+ Add_Action (Table.States (50), 61, (129, 0), 24);
+ Add_Action (Table.States (50), 63, (316, 0), 25);
+ Add_Action (Table.States (50), 66, (308, 0), 26);
+ Add_Action (Table.States (50), 69, (209, 0), 27);
+ Add_Action (Table.States (50), 71, (334, 0), 28);
+ Add_Action (Table.States (50), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (50), 74, (335, 3), 30);
+ Add_Action (Table.States (50), 81, (242, 8), 31);
+ Add_Action (Table.States (50), 96, (220, 0), 32);
+ Add_Action (Table.States (50), 107, (134, 0), 33);
+ Add_Action (Table.States (50), 108, (242, 7), 34);
+ Add_Action (Table.States (50), 109, (242, 6), 35);
+ Add_Action (Table.States (50), 110, Accept_It, (111, 0), 1, null,
null);
Table.States (50).Goto_List.Set_Capacity (82);
- Add_Goto (Table.States (50), 113, 36);
- Add_Goto (Table.States (50), 114, 37);
- Add_Goto (Table.States (50), 122, 38);
- Add_Goto (Table.States (50), 124, 39);
- Add_Goto (Table.States (50), 127, 40);
- Add_Goto (Table.States (50), 128, 41);
- Add_Goto (Table.States (50), 129, 42);
- Add_Goto (Table.States (50), 132, 43);
- Add_Goto (Table.States (50), 133, 44);
- Add_Goto (Table.States (50), 134, 45);
- Add_Goto (Table.States (50), 135, 46);
- Add_Goto (Table.States (50), 136, 47);
- Add_Goto (Table.States (50), 140, 48);
- Add_Goto (Table.States (50), 143, 230);
- Add_Goto (Table.States (50), 152, 51);
- Add_Goto (Table.States (50), 153, 52);
- Add_Goto (Table.States (50), 158, 53);
- Add_Goto (Table.States (50), 162, 54);
- Add_Goto (Table.States (50), 180, 55);
- Add_Goto (Table.States (50), 183, 56);
- Add_Goto (Table.States (50), 187, 57);
- Add_Goto (Table.States (50), 191, 58);
- Add_Goto (Table.States (50), 194, 59);
- Add_Goto (Table.States (50), 197, 60);
- Add_Goto (Table.States (50), 207, 61);
- Add_Goto (Table.States (50), 208, 62);
- Add_Goto (Table.States (50), 210, 63);
- Add_Goto (Table.States (50), 211, 64);
- Add_Goto (Table.States (50), 214, 65);
- Add_Goto (Table.States (50), 215, 66);
- Add_Goto (Table.States (50), 216, 67);
- Add_Goto (Table.States (50), 217, 68);
- Add_Goto (Table.States (50), 218, 69);
- Add_Goto (Table.States (50), 220, 70);
- Add_Goto (Table.States (50), 223, 71);
- Add_Goto (Table.States (50), 224, 72);
- Add_Goto (Table.States (50), 233, 73);
- Add_Goto (Table.States (50), 240, 74);
- Add_Goto (Table.States (50), 244, 75);
- Add_Goto (Table.States (50), 245, 76);
- Add_Goto (Table.States (50), 246, 77);
- Add_Goto (Table.States (50), 247, 78);
- Add_Goto (Table.States (50), 248, 79);
- Add_Goto (Table.States (50), 249, 80);
- Add_Goto (Table.States (50), 250, 81);
- Add_Goto (Table.States (50), 251, 82);
- Add_Goto (Table.States (50), 252, 83);
- Add_Goto (Table.States (50), 258, 84);
- Add_Goto (Table.States (50), 260, 85);
- Add_Goto (Table.States (50), 261, 86);
- Add_Goto (Table.States (50), 262, 87);
- Add_Goto (Table.States (50), 263, 88);
- Add_Goto (Table.States (50), 264, 89);
- Add_Goto (Table.States (50), 265, 90);
- Add_Goto (Table.States (50), 266, 91);
- Add_Goto (Table.States (50), 272, 92);
- Add_Goto (Table.States (50), 273, 93);
- Add_Goto (Table.States (50), 277, 94);
- Add_Goto (Table.States (50), 282, 95);
- Add_Goto (Table.States (50), 290, 96);
- Add_Goto (Table.States (50), 291, 97);
- Add_Goto (Table.States (50), 294, 98);
- Add_Goto (Table.States (50), 295, 99);
- Add_Goto (Table.States (50), 299, 100);
- Add_Goto (Table.States (50), 303, 101);
- Add_Goto (Table.States (50), 304, 102);
- Add_Goto (Table.States (50), 305, 103);
- Add_Goto (Table.States (50), 306, 104);
- Add_Goto (Table.States (50), 307, 105);
- Add_Goto (Table.States (50), 308, 106);
- Add_Goto (Table.States (50), 309, 107);
- Add_Goto (Table.States (50), 310, 108);
- Add_Goto (Table.States (50), 312, 109);
- Add_Goto (Table.States (50), 314, 110);
- Add_Goto (Table.States (50), 316, 111);
- Add_Goto (Table.States (50), 317, 112);
- Add_Goto (Table.States (50), 318, 113);
- Add_Goto (Table.States (50), 320, 114);
- Add_Goto (Table.States (50), 324, 115);
- Add_Goto (Table.States (50), 326, 116);
- Add_Goto (Table.States (50), 332, 117);
- Add_Goto (Table.States (50), 333, 118);
- Table.States (50).Kernel := To_Vector (((109, 144, 1, False),
(144, 144, 2, True)));
- end Subr_1;
- procedure Subr_2
- is begin
+ Add_Goto (Table.States (50), 115, 36);
+ Add_Goto (Table.States (50), 116, 37);
+ Add_Goto (Table.States (50), 124, 38);
+ Add_Goto (Table.States (50), 126, 39);
+ Add_Goto (Table.States (50), 129, 40);
+ Add_Goto (Table.States (50), 130, 41);
+ Add_Goto (Table.States (50), 131, 42);
+ Add_Goto (Table.States (50), 134, 43);
+ Add_Goto (Table.States (50), 135, 44);
+ Add_Goto (Table.States (50), 136, 45);
+ Add_Goto (Table.States (50), 137, 46);
+ Add_Goto (Table.States (50), 138, 47);
+ Add_Goto (Table.States (50), 142, 48);
+ Add_Goto (Table.States (50), 145, 231);
+ Add_Goto (Table.States (50), 154, 51);
+ Add_Goto (Table.States (50), 155, 52);
+ Add_Goto (Table.States (50), 160, 53);
+ Add_Goto (Table.States (50), 164, 54);
+ Add_Goto (Table.States (50), 182, 55);
+ Add_Goto (Table.States (50), 185, 56);
+ Add_Goto (Table.States (50), 189, 57);
+ Add_Goto (Table.States (50), 193, 58);
+ Add_Goto (Table.States (50), 196, 59);
+ Add_Goto (Table.States (50), 199, 60);
+ Add_Goto (Table.States (50), 209, 61);
+ Add_Goto (Table.States (50), 210, 62);
+ Add_Goto (Table.States (50), 212, 63);
+ Add_Goto (Table.States (50), 213, 64);
+ Add_Goto (Table.States (50), 216, 65);
+ Add_Goto (Table.States (50), 217, 66);
+ Add_Goto (Table.States (50), 218, 67);
+ Add_Goto (Table.States (50), 219, 68);
+ Add_Goto (Table.States (50), 220, 69);
+ Add_Goto (Table.States (50), 222, 70);
+ Add_Goto (Table.States (50), 225, 71);
+ Add_Goto (Table.States (50), 226, 72);
+ Add_Goto (Table.States (50), 235, 73);
+ Add_Goto (Table.States (50), 242, 74);
+ Add_Goto (Table.States (50), 246, 75);
+ Add_Goto (Table.States (50), 247, 76);
+ Add_Goto (Table.States (50), 248, 77);
+ Add_Goto (Table.States (50), 249, 78);
+ Add_Goto (Table.States (50), 250, 79);
+ Add_Goto (Table.States (50), 251, 80);
+ Add_Goto (Table.States (50), 252, 81);
+ Add_Goto (Table.States (50), 253, 82);
+ Add_Goto (Table.States (50), 254, 83);
+ Add_Goto (Table.States (50), 260, 84);
+ Add_Goto (Table.States (50), 262, 85);
+ Add_Goto (Table.States (50), 263, 86);
+ Add_Goto (Table.States (50), 264, 87);
+ Add_Goto (Table.States (50), 265, 88);
+ Add_Goto (Table.States (50), 266, 89);
+ Add_Goto (Table.States (50), 267, 90);
+ Add_Goto (Table.States (50), 268, 91);
+ Add_Goto (Table.States (50), 274, 92);
+ Add_Goto (Table.States (50), 275, 93);
+ Add_Goto (Table.States (50), 279, 94);
+ Add_Goto (Table.States (50), 284, 95);
+ Add_Goto (Table.States (50), 292, 96);
+ Add_Goto (Table.States (50), 293, 97);
+ Add_Goto (Table.States (50), 296, 98);
+ Add_Goto (Table.States (50), 297, 99);
+ Add_Goto (Table.States (50), 301, 100);
+ Add_Goto (Table.States (50), 305, 101);
+ Add_Goto (Table.States (50), 306, 102);
+ Add_Goto (Table.States (50), 307, 103);
+ Add_Goto (Table.States (50), 308, 104);
+ Add_Goto (Table.States (50), 309, 105);
+ Add_Goto (Table.States (50), 310, 106);
+ Add_Goto (Table.States (50), 311, 107);
+ Add_Goto (Table.States (50), 312, 108);
+ Add_Goto (Table.States (50), 314, 109);
+ Add_Goto (Table.States (50), 316, 110);
+ Add_Goto (Table.States (50), 318, 111);
+ Add_Goto (Table.States (50), 319, 112);
+ Add_Goto (Table.States (50), 320, 113);
+ Add_Goto (Table.States (50), 322, 114);
+ Add_Goto (Table.States (50), 326, 115);
+ Add_Goto (Table.States (50), 328, 116);
+ Add_Goto (Table.States (50), 334, 117);
+ Add_Goto (Table.States (50), 335, 118);
Table.States (51).Action_List.Set_Capacity (47);
Add_Action (Table.States (51), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (307, 2), 1, null, null);
- Table.States (51).Kernel := To_Vector ((0 => (307, 152, 0,
False)));
- Table.States (51).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 307, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (309, 2), 1, null, null);
+ Table.States (51).Kernel := To_Vector ((0 => ((309, 2), 154, 0,
(309, 2), 1)));
+ Table.States (51).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (309, 2), 1)));
Table.States (52).Action_List.Set_Capacity (47);
Add_Action (Table.States (52), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (299, 2), 1, null, null);
- Table.States (52).Kernel := To_Vector ((0 => (299, 153, 0,
False)));
- Table.States (52).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 299, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (301, 2), 1, null, null);
+ Table.States (52).Kernel := To_Vector ((0 => ((301, 2), 155, 0,
(301, 2), 1)));
+ Table.States (52).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (301, 2), 1)));
Table.States (53).Action_List.Set_Capacity (40);
Add_Action (Table.States (53), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
- 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 79,
94, 105, 106, 107, 108), (143, 3), 1, null,
- null);
- Table.States (53).Kernel := To_Vector ((0 => (143, 158, 0,
False)));
- Table.States (53).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 143, 1)));
+ 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 81,
96, 107, 108, 109, 110), (145, 3), 1,
+ null, null);
+ Table.States (53).Kernel := To_Vector ((0 => ((145, 3), 160, 0,
(145, 3), 1)));
+ Table.States (53).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (145, 3), 1)));
Table.States (54).Action_List.Set_Capacity (47);
Add_Action (Table.States (54), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (304, 7), 1, null, null);
- Table.States (54).Kernel := To_Vector ((0 => (304, 162, 0,
False)));
- Table.States (54).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 304, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (306, 7), 1, null, null);
+ Table.States (54).Kernel := To_Vector ((0 => ((306, 7), 164, 0,
(306, 7), 1)));
+ Table.States (54).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (306, 7), 1)));
Table.States (55).Action_List.Set_Capacity (41);
Add_Action (Table.States (55), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 3), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 3), 1,
null, null);
- Table.States (55).Kernel := To_Vector ((0 => (158, 180, 0,
False)));
- Table.States (55).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (55).Kernel := To_Vector ((0 => ((160, 3), 182, 0,
(160, 3), 1)));
+ Table.States (55).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 3), 1)));
Table.States (56).Action_List.Set_Capacity (42);
Add_Action (Table.States (56), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73,
74, 79, 94, 105, 106, 107, 108), (122, 1),
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73,
74, 81, 96, 107, 108, 109, 110), (124, 1),
1, null, null);
- Table.States (56).Kernel := To_Vector ((0 => (122, 183, 0,
False)));
- Table.States (56).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 122, 1)));
+ Table.States (56).Kernel := To_Vector ((0 => ((124, 1), 185, 0,
(124, 1), 1)));
+ Table.States (56).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (124, 1), 1)));
Table.States (57).Action_List.Set_Capacity (41);
Add_Action (Table.States (57), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 4), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 4), 1,
null, null);
- Table.States (57).Kernel := To_Vector ((0 => (158, 187, 0,
False)));
- Table.States (57).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (57).Kernel := To_Vector ((0 => ((160, 4), 189, 0,
(160, 4), 1)));
+ Table.States (57).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 4), 1)));
Table.States (58).Action_List.Set_Capacity (47);
Add_Action (Table.States (58), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (304, 2), 1, null, null);
- Table.States (58).Kernel := To_Vector ((0 => (304, 191, 0,
False)));
- Table.States (58).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 304, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (306, 2), 1, null, null);
+ Table.States (58).Kernel := To_Vector ((0 => ((306, 2), 193, 0,
(306, 2), 1)));
+ Table.States (58).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (306, 2), 1)));
Table.States (59).Action_List.Set_Capacity (41);
Add_Action (Table.States (59), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 5), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 5), 1,
null, null);
- Table.States (59).Kernel := To_Vector ((0 => (158, 194, 0,
False)));
- Table.States (59).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (59).Kernel := To_Vector ((0 => ((160, 5), 196, 0,
(160, 5), 1)));
+ Table.States (59).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 5), 1)));
Table.States (60).Action_List.Set_Capacity (47);
Add_Action (Table.States (60), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (152, 4), 1, null, null);
- Table.States (60).Kernel := To_Vector ((0 => (152, 197, 0,
False)));
- Table.States (60).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 152, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (154, 4), 1, null, null);
+ Table.States (60).Kernel := To_Vector ((0 => ((154, 4), 199, 0,
(154, 4), 1)));
+ Table.States (60).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (154, 4), 1)));
Table.States (61).Action_List.Set_Capacity (41);
Add_Action (Table.States (61), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (326, 0), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (328, 0), 1,
null, null);
- Table.States (61).Kernel := To_Vector ((0 => (326, 207, 0,
False)));
- Table.States (61).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 326, 1)));
+ Table.States (61).Kernel := To_Vector ((0 => ((328, 0), 209, 0,
(328, 0), 1)));
+ Table.States (61).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (328, 0), 1)));
Table.States (62).Action_List.Set_Capacity (3);
- Add_Action (Table.States (62), (35, 74, 97), (313, 1), 1, null,
subprogram_specification_1_check'Access);
- Table.States (62).Kernel := To_Vector ((0 => (313, 208, 0,
False)));
- Table.States (62).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 313, 1)));
+ Add_Action (Table.States (62), (35, 74, 99), (315, 1), 1, null,
subprogram_specification_1_check'Access);
+ Table.States (62).Kernel := To_Vector ((0 => ((315, 1), 210, 0,
(315, 1), 1)));
+ Table.States (62).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (315, 1), 1)));
Table.States (63).Action_List.Set_Capacity (41);
Add_Action (Table.States (63), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 6), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 6), 1,
null, null);
- Table.States (63).Kernel := To_Vector ((0 => (158, 210, 0,
False)));
- Table.States (63).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (63).Kernel := To_Vector ((0 => ((160, 6), 212, 0,
(160, 6), 1)));
+ Table.States (63).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 6), 1)));
Table.States (64).Action_List.Set_Capacity (3);
- Add_Action (Table.States (64), 29, 7);
- Add_Action (Table.States (64), 47, 231);
- Add_Action (Table.States (64), 50, 18);
+ Add_Action (Table.States (64), 29, (210, 0), 7);
+ Add_Action (Table.States (64), 47, (254, 0), 232);
+ Add_Action (Table.States (64), 50, (265, 0), 18);
Table.States (64).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (64), 208, 62);
- Add_Goto (Table.States (64), 252, 232);
- Add_Goto (Table.States (64), 263, 88);
- Add_Goto (Table.States (64), 313, 233);
- Table.States (64).Kernel := To_Vector (((215, 211, 5, False),
(217, 211, 3, False)));
- Table.States (64).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 50, 18)));
+ Add_Goto (Table.States (64), 210, 62);
+ Add_Goto (Table.States (64), 254, 233);
+ Add_Goto (Table.States (64), 265, 88);
+ Add_Goto (Table.States (64), 315, 234);
+ Table.States (64).Kernel := To_Vector ((((217, 0), 213, 5,
(2147483647, 0), 0), ((219, 0), 213, 3,
+ (2147483647, 0), 0)));
+ Table.States (64).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (265, 0), 50, 18)));
Table.States (65).Action_List.Set_Capacity (41);
Add_Action (Table.States (65), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 7), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 7), 1,
null, null);
- Table.States (65).Kernel := To_Vector ((0 => (158, 214, 0,
False)));
- Table.States (65).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (65).Kernel := To_Vector ((0 => ((160, 7), 216, 0,
(160, 7), 1)));
+ Table.States (65).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 7), 1)));
Table.States (66).Action_List.Set_Capacity (41);
Add_Action (Table.States (66), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (210, 1), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (212, 1), 1,
null, null);
- Table.States (66).Kernel := To_Vector ((0 => (210, 215, 0,
False)));
- Table.States (66).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 210, 1)));
+ Table.States (66).Kernel := To_Vector ((0 => ((212, 1), 217, 0,
(212, 1), 1)));
+ Table.States (66).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (212, 1), 1)));
Table.States (67).Action_List.Set_Capacity (41);
Add_Action (Table.States (67), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (290, 3), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (292, 3), 1,
null, null);
- Table.States (67).Kernel := To_Vector ((0 => (290, 216, 0,
False)));
- Table.States (67).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 290, 1)));
+ Table.States (67).Kernel := To_Vector ((0 => ((292, 3), 218, 0,
(292, 3), 1)));
+ Table.States (67).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (292, 3), 1)));
Table.States (68).Action_List.Set_Capacity (41);
Add_Action (Table.States (68), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (210, 0), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (212, 0), 1,
null, null);
- Table.States (68).Kernel := To_Vector ((0 => (210, 217, 0,
False)));
- Table.States (68).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 210, 1)));
+ Table.States (68).Kernel := To_Vector ((0 => ((212, 0), 219, 0,
(212, 0), 1)));
+ Table.States (68).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (212, 0), 1)));
Table.States (69).Action_List.Set_Capacity (47);
Add_Action (Table.States (69), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (307, 0), 1, null, null);
- Table.States (69).Kernel := To_Vector ((0 => (307, 218, 0,
False)));
- Table.States (69).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 307, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (309, 0), 1, null, null);
+ Table.States (69).Kernel := To_Vector ((0 => ((309, 0), 220, 0,
(309, 0), 1)));
+ Table.States (69).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (309, 0), 1)));
Table.States (70).Action_List.Set_Capacity (2);
- Add_Action (Table.States (70), 82, 234);
- Add_Action (Table.States (70), 84, 235);
- Table.States (70).Kernel := To_Vector (((158, 220, 4, False),
(187, 220, 3, False), (220, 220, 2, True),
- (245, 220, 4, False), (245, 220, 5, False), (245, 220, 11, False),
(245, 220, 3, False), (245, 220, 4,
- False), (245, 220, 10, False)));
- Table.States (70).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 82, 234)));
+ Add_Action (Table.States (70), 84, (160, 9), 235);
+ Add_Action (Table.States (70), 86, (222, 0), 236);
+ Table.States (70).Kernel := To_Vector ((((160, 9), 222, 4,
(2147483647, 0), 0), ((189, 0), 222, 3,
+ (2147483647, 0), 0), ((222, 0), 222, 2, (2147483647, 0), 0),
((247, 0), 222, 4, (2147483647, 0), 0),
+ ((247, 1), 222, 5, (2147483647, 0), 0), ((247, 2), 222, 11,
(2147483647, 0), 0), ((247, 3), 222, 3,
+ (2147483647, 0), 0), ((247, 4), 222, 4, (2147483647, 0), 0),
((247, 5), 222, 10, (2147483647, 0),
+ 0)));
+ Table.States (70).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (160, 9), 84, 235)));
Table.States (71).Action_List.Set_Capacity (47);
Add_Action (Table.States (71), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (152, 0), 1, null, null);
- Table.States (71).Kernel := To_Vector ((0 => (152, 223, 0,
False)));
- Table.States (71).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 152, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (154, 0), 1, null, null);
+ Table.States (71).Kernel := To_Vector ((0 => ((154, 0), 225, 0,
(154, 0), 1)));
+ Table.States (71).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (154, 0), 1)));
Table.States (72).Action_List.Set_Capacity (41);
Add_Action (Table.States (72), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (326, 1), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (328, 1), 1,
null, null);
- Table.States (72).Kernel := To_Vector ((0 => (326, 224, 0,
False)));
- Table.States (72).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 326, 1)));
+ Table.States (72).Kernel := To_Vector ((0 => ((328, 1), 226, 0,
(328, 1), 1)));
+ Table.States (72).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (328, 1), 1)));
Table.States (73).Action_List.Set_Capacity (47);
Add_Action (Table.States (73), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (152, 2), 1, null, null);
- Table.States (73).Kernel := To_Vector ((0 => (152, 233, 0,
False)));
- Table.States (73).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 152, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (154, 2), 1, null, null);
+ Table.States (73).Kernel := To_Vector ((0 => ((154, 2), 235, 0,
(154, 2), 1)));
+ Table.States (73).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (154, 2), 1)));
Table.States (74).Action_List.Set_Capacity (6);
- Add_Action (Table.States (74), 76, 236);
- Add_Action (Table.States (74), 83, 237);
- Add_Action (Table.States (74), 85, 238);
- Add_Action (Table.States (74), 97, 239);
- Add_Action (Table.States (74), 102, 240);
- Add_Action (Table.States (74), 103, 241);
+ Add_Action (Table.States (74), 76, (118, 0), 237);
+ Add_Action (Table.States (74), 85, (126, 0), 238);
+ Add_Action (Table.States (74), 87, (296, 0), 239);
+ Add_Action (Table.States (74), 99, (264, 0), 240);
+ Add_Action (Table.States (74), 104, (325, 0), 241);
+ Add_Action (Table.States (74), 105, (325, 1), 242);
Table.States (74).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (74), 116, 242);
- Add_Goto (Table.States (74), 323, 243);
- Table.States (74).Kernel := To_Vector (((124, 240, 2, False),
(129, 240, 2, True), (240, 240, 5, True),
- (240, 240, 2, True), (262, 240, 1, False), (273, 240, 3, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True)));
- Table.States (74).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 239)));
+ Add_Goto (Table.States (74), 118, 243);
+ Add_Goto (Table.States (74), 325, 244);
+ Table.States (74).Kernel := To_Vector ((((126, 0), 242, 2,
(2147483647, 0), 0), ((131, 0), 242, 2,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((264, 0), 242, 1, (2147483647, 0), 0), ((275, 0), 242, 3,
(2147483647, 0), 0), ((296, 0), 242, 2,
+ (2147483647, 0), 0), ((296, 1), 242, 2, (2147483647, 0), 0),
((296, 2), 242, 2, (2147483647, 0), 0),
+ ((296, 3), 242, 2, (2147483647, 0), 0)));
+ Table.States (74).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (264, 0), 99, 240)));
Table.States (75).Action_List.Set_Capacity (41);
Add_Action (Table.States (75), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 8), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 8), 1,
null, null);
- Table.States (75).Kernel := To_Vector ((0 => (158, 244, 0,
False)));
- Table.States (75).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (75).Kernel := To_Vector ((0 => ((160, 8), 246, 0,
(160, 8), 1)));
+ Table.States (75).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 8), 1)));
Table.States (76).Action_List.Set_Capacity (41);
Add_Action (Table.States (76), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 10), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 10), 1,
null, null);
- Table.States (76).Kernel := To_Vector ((0 => (158, 245, 0,
False)));
- Table.States (76).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (76).Kernel := To_Vector ((0 => ((160, 10), 247, 0,
(160, 10), 1)));
+ Table.States (76).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 10), 1)));
Table.States (77).Action_List.Set_Capacity (41);
Add_Action (Table.States (77), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (290, 0), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (292, 0), 1,
null, null);
- Table.States (77).Kernel := To_Vector ((0 => (290, 246, 0,
False)));
- Table.States (77).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 290, 1)));
+ Table.States (77).Kernel := To_Vector ((0 => ((292, 0), 248, 0,
(292, 0), 1)));
+ Table.States (77).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (292, 0), 1)));
Table.States (78).Action_List.Set_Capacity (3);
- Add_Action (Table.States (78), 25, 244);
- Add_Action (Table.States (78), 29, 245);
- Add_Action (Table.States (78), 50, 246);
+ Add_Action (Table.States (78), 25, (182, 0), 245);
+ Add_Action (Table.States (78), 29, (210, 0), 246);
+ Add_Action (Table.States (78), 50, (216, 1), 247);
Table.States (78).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (78), 208, 247);
- Add_Goto (Table.States (78), 263, 248);
- Add_Goto (Table.States (78), 313, 249);
- Table.States (78).Kernel := To_Vector (((113, 247, 5, False),
(180, 247, 6, False), (180, 247, 3, False),
- (194, 247, 7, False), (214, 247, 6, False), (214, 247, 6, False),
(244, 247, 5, False), (308, 247, 6,
- False), (309, 247, 5, False), (310, 247, 3, False), (312, 247, 5,
False)));
- Table.States (78).Minimal_Complete_Actions := To_Vector (((Shift,
25, 244), (Shift, 50, 246)));
+ Add_Goto (Table.States (78), 210, 248);
+ Add_Goto (Table.States (78), 265, 249);
+ Add_Goto (Table.States (78), 315, 250);
+ Table.States (78).Kernel := To_Vector ((((115, 0), 249, 5,
(2147483647, 0), 0), ((182, 0), 249, 6,
+ (2147483647, 0), 0), ((182, 1), 249, 3, (2147483647, 0), 0),
((196, 0), 249, 7, (2147483647, 0), 0),
+ ((216, 1), 249, 6, (2147483647, 0), 0), ((216, 2), 249, 6,
(2147483647, 0), 0), ((246, 0), 249, 5,
+ (2147483647, 0), 0), ((310, 0), 249, 6, (2147483647, 0), 0),
((311, 0), 249, 5, (2147483647, 0), 0),
+ ((312, 0), 249, 3, (2147483647, 0), 0), ((314, 0), 249, 5,
(2147483647, 0), 0)));
+ Table.States (78).Minimal_Complete_Actions := To_Vector (((Shift,
(182, 0), 25, 245), (Shift, (216, 1),
+ 50, 247)));
Table.States (79).Action_List.Set_Capacity (41);
Add_Action (Table.States (79), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (264, 1), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (266, 1), 1,
null, null);
- Table.States (79).Kernel := To_Vector ((0 => (264, 248, 0,
False)));
- Table.States (79).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 264, 1)));
+ Table.States (79).Kernel := To_Vector ((0 => ((266, 1), 250, 0,
(266, 1), 1)));
+ Table.States (79).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (266, 1), 1)));
Table.States (80).Action_List.Set_Capacity (41);
Add_Action (Table.States (80), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (136, 1), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (138, 1), 1,
null, null);
- Table.States (80).Kernel := To_Vector ((0 => (136, 249, 0,
False)));
- Table.States (80).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 136, 1)));
+ Table.States (80).Kernel := To_Vector ((0 => ((138, 1), 251, 0,
(138, 1), 1)));
+ Table.States (80).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (138, 1), 1)));
Table.States (81).Action_List.Set_Capacity (41);
Add_Action (Table.States (81), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 11), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 11), 1,
null, null);
- Table.States (81).Kernel := To_Vector ((0 => (158, 250, 0,
False)));
- Table.States (81).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (81).Kernel := To_Vector ((0 => ((160, 11), 252, 0,
(160, 11), 1)));
+ Table.States (81).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 11), 1)));
Table.States (82).Action_List.Set_Capacity (41);
Add_Action (Table.States (82), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (290, 1), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (292, 1), 1,
null, null);
- Table.States (82).Kernel := To_Vector ((0 => (290, 251, 0,
False)));
- Table.States (82).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 290, 1)));
+ Table.States (82).Kernel := To_Vector ((0 => ((292, 1), 253, 0,
(292, 1), 1)));
+ Table.States (82).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (292, 1), 1)));
Table.States (83).Action_List.Set_Capacity (1);
- Add_Action (Table.States (83), 97, 250);
- Table.States (83).Kernel := To_Vector ((0 => (250, 252, 1,
False)));
- Table.States (83).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 250)));
+ Add_Action (Table.States (83), 99, (252, 0), 251);
+ Table.States (83).Kernel := To_Vector ((0 => ((252, 0), 254, 1,
(2147483647, 0), 0)));
+ Table.States (83).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (252, 0), 99, 251)));
Table.States (84).Action_List.Set_Capacity (47);
Add_Action (Table.States (84), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (304, 10), 1, null, null);
- Table.States (84).Kernel := To_Vector ((0 => (304, 258, 0,
False)));
- Table.States (84).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 304, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (306, 10), 1, null, null);
+ Table.States (84).Kernel := To_Vector ((0 => ((306, 10), 260, 0,
(306, 10), 1)));
+ Table.States (84).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (306, 10), 1)));
Table.States (85).Action_List.Set_Capacity (41);
Add_Action (Table.States (85), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (326, 3), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (328, 3), 1,
null, null);
- Table.States (85).Kernel := To_Vector ((0 => (326, 260, 0,
False)));
- Table.States (85).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 326, 1)));
+ Table.States (85).Kernel := To_Vector ((0 => ((328, 3), 262, 0,
(328, 3), 1)));
+ Table.States (85).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (328, 3), 1)));
Table.States (86).Action_List.Set_Capacity (41);
Add_Action (Table.States (86), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (326, 2), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (328, 2), 1,
null, null);
- Table.States (86).Kernel := To_Vector ((0 => (326, 261, 0,
False)));
- Table.States (86).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 326, 1)));
+ Table.States (86).Kernel := To_Vector ((0 => ((328, 2), 263, 0,
(328, 2), 1)));
+ Table.States (86).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (328, 2), 1)));
Table.States (87).Action_List.Set_Capacity (47);
Add_Action (Table.States (87), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (304, 4), 1, null, null);
- Table.States (87).Kernel := To_Vector ((0 => (304, 262, 0,
False)));
- Table.States (87).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 304, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (306, 4), 1, null, null);
+ Table.States (87).Kernel := To_Vector ((0 => ((306, 4), 264, 0,
(306, 4), 1)));
+ Table.States (87).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (306, 4), 1)));
Table.States (88).Action_List.Set_Capacity (3);
- Add_Action (Table.States (88), (35, 74, 97), (313, 0), 1, null,
subprogram_specification_0_check'Access);
- Table.States (88).Kernel := To_Vector ((0 => (313, 263, 0,
False)));
- Table.States (88).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 313, 1)));
+ Add_Action (Table.States (88), (35, 74, 99), (315, 0), 1, null,
subprogram_specification_0_check'Access);
+ Table.States (88).Kernel := To_Vector ((0 => ((315, 0), 265, 0,
(315, 0), 1)));
+ Table.States (88).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (315, 0), 1)));
Table.States (89).Action_List.Set_Capacity (41);
Add_Action (Table.States (89), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (135, 0), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (137, 0), 1,
null, null);
- Table.States (89).Kernel := To_Vector ((0 => (135, 264, 0,
False)));
- Table.States (89).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 135, 1)));
+ Table.States (89).Kernel := To_Vector ((0 => ((137, 0), 266, 0,
(137, 0), 1)));
+ Table.States (89).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (137, 0), 1)));
Table.States (90).Action_List.Set_Capacity (41);
Add_Action (Table.States (90), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (264, 3), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (266, 3), 1,
null, null);
- Table.States (90).Kernel := To_Vector ((0 => (264, 265, 0,
False)));
- Table.States (90).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 264, 1)));
+ Table.States (90).Kernel := To_Vector ((0 => ((266, 3), 267, 0,
(266, 3), 1)));
+ Table.States (90).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (266, 3), 1)));
Table.States (91).Action_List.Set_Capacity (41);
Add_Action (Table.States (91), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (136, 3), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (138, 3), 1,
null, null);
- Table.States (91).Kernel := To_Vector ((0 => (136, 266, 0,
False)));
- Table.States (91).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 136, 1)));
+ Table.States (91).Kernel := To_Vector ((0 => ((138, 3), 268, 0,
(138, 3), 1)));
+ Table.States (91).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (138, 3), 1)));
Table.States (92).Action_List.Set_Capacity (41);
Add_Action (Table.States (92), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (207, 2), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (209, 2), 1,
null, null);
- Table.States (92).Kernel := To_Vector ((0 => (207, 272, 0,
False)));
- Table.States (92).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 207, 1)));
- Table.States (93).Action_List.Set_Capacity (64);
+ Table.States (92).Kernel := To_Vector ((0 => ((209, 2), 274, 0,
(209, 2), 1)));
+ Table.States (92).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (209, 2), 1)));
+ Table.States (93).Action_List.Set_Capacity (65);
Add_Action (Table.States (93), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (240, 4), 1, null, null);
- Table.States (93).Kernel := To_Vector ((0 => (240, 273, 0, True)));
- Table.States (93).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 240, 1)));
- Table.States (93).Minimal_Complete_Actions_Recursive := True;
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (242, 4), 1, null,
+ null);
+ Table.States (93).Kernel := To_Vector ((0 => ((242, 4), 275, 0,
(242, 4), 1)));
+ Table.States (93).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (242, 4), 1)));
Table.States (94).Action_List.Set_Capacity (47);
Add_Action (Table.States (94), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (304, 9), 1, null, null);
- Table.States (94).Kernel := To_Vector ((0 => (304, 277, 0,
False)));
- Table.States (94).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 304, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (306, 9), 1, null, null);
+ Table.States (94).Kernel := To_Vector ((0 => ((306, 9), 279, 0,
(306, 9), 1)));
+ Table.States (94).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (306, 9), 1)));
Table.States (95).Action_List.Set_Capacity (42);
Add_Action (Table.States (95), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73,
74, 79, 94, 105, 106, 107, 108), (122, 2),
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73,
74, 81, 96, 107, 108, 109, 110), (124, 2),
1, null, null);
- Table.States (95).Kernel := To_Vector ((0 => (122, 282, 0,
False)));
- Table.States (95).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 122, 1)));
+ Table.States (95).Kernel := To_Vector ((0 => ((124, 2), 284, 0,
(124, 2), 1)));
+ Table.States (95).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (124, 2), 1)));
Table.States (96).Action_List.Set_Capacity (41);
Add_Action (Table.States (96), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 12), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 12), 1,
null, null);
- Table.States (96).Kernel := To_Vector ((0 => (158, 290, 0,
False)));
- Table.States (96).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (96).Kernel := To_Vector ((0 => ((160, 12), 292, 0,
(160, 12), 1)));
+ Table.States (96).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 12), 1)));
Table.States (97).Action_List.Set_Capacity (47);
Add_Action (Table.States (97), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (304, 6), 1, null, null);
- Table.States (97).Kernel := To_Vector ((0 => (304, 291, 0,
False)));
- Table.States (97).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 304, 1)));
- Table.States (98).Action_List.Set_Capacity (64);
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (306, 6), 1, null, null);
+ Table.States (97).Kernel := To_Vector ((0 => ((306, 6), 293, 0,
(306, 6), 1)));
+ Table.States (97).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (306, 6), 1)));
+ Table.States (98).Action_List.Set_Capacity (65);
Add_Action (Table.States (98), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (240, 2), 1, null,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (242, 2), 1, null,
name_2_check'Access);
- Table.States (98).Kernel := To_Vector ((0 => (240, 294, 0, True)));
- Table.States (98).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 240, 1)));
- Table.States (98).Minimal_Complete_Actions_Recursive := True;
+ Table.States (98).Kernel := To_Vector ((0 => ((242, 2), 296, 0,
(242, 2), 1)));
+ Table.States (98).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (242, 2), 1)));
Table.States (99).Action_List.Set_Capacity (47);
Add_Action (Table.States (99), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (299, 0), 1, null, null);
- Table.States (99).Kernel := To_Vector ((0 => (299, 295, 0,
False)));
- Table.States (99).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 299, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (301, 0), 1, null, null);
+ Table.States (99).Kernel := To_Vector ((0 => ((301, 0), 297, 0,
(301, 0), 1)));
+ Table.States (99).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (301, 0), 1)));
Table.States (100).Action_List.Set_Capacity (47);
Add_Action (Table.States (100), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (152, 6), 1, null, null);
- Table.States (100).Kernel := To_Vector ((0 => (152, 299, 0,
False)));
- Table.States (100).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 152, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (154, 6), 1, null, null);
+ Table.States (100).Kernel := To_Vector ((0 => ((154, 6), 301, 0,
(154, 6), 1)));
+ Table.States (100).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (154, 6), 1)));
Table.States (101).Action_List.Set_Capacity (47);
Add_Action (Table.States (101), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (304, 5), 1, null, null);
- Table.States (101).Kernel := To_Vector ((0 => (304, 303, 0,
False)));
- Table.States (101).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 304, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (306, 5), 1, null, null);
+ Table.States (101).Kernel := To_Vector ((0 => ((306, 5), 305, 0,
(306, 5), 1)));
+ Table.States (101).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (306, 5), 1)));
Table.States (102).Action_List.Set_Capacity (47);
Add_Action (Table.States (102), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (307, 1), 1, null, null);
- Table.States (102).Kernel := To_Vector ((0 => (307, 304, 0,
False)));
- Table.States (102).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 307, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (309, 1), 1, null, null);
+ Table.States (102).Kernel := To_Vector ((0 => ((309, 1), 306, 0,
(309, 1), 1)));
+ Table.States (102).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (309, 1), 1)));
Table.States (103).Action_List.Set_Capacity (41);
Add_Action (Table.States (103), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (245, 7), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (247, 7), 1,
null, null);
- Table.States (103).Kernel := To_Vector ((0 => (245, 305, 0,
False)));
- Table.States (103).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 245, 1)));
+ Table.States (103).Kernel := To_Vector ((0 => ((247, 7), 307, 0,
(247, 7), 1)));
+ Table.States (103).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (247, 7), 1)));
Table.States (104).Action_List.Set_Capacity (41);
Add_Action (Table.States (104), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (245, 6), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (247, 6), 1,
null, null);
- Table.States (104).Kernel := To_Vector ((0 => (245, 306, 0,
False)));
- Table.States (104).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 245, 1)));
+ Table.States (104).Kernel := To_Vector ((0 => ((247, 6), 308, 0,
(247, 6), 1)));
+ Table.States (104).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (247, 6), 1)));
Table.States (105).Action_List.Set_Capacity (40);
Add_Action (Table.States (105), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
- 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 79,
94, 105, 106, 107, 108), (143, 4), 1, null,
- null);
- Table.States (105).Kernel := To_Vector ((0 => (143, 307, 0,
False)));
- Table.States (105).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 143, 1)));
+ 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 81,
96, 107, 108, 109, 110), (145, 4), 1,
+ null, null);
+ Table.States (105).Kernel := To_Vector ((0 => ((145, 4), 309, 0,
(145, 4), 1)));
+ Table.States (105).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (145, 4), 1)));
Table.States (106).Action_List.Set_Capacity (41);
Add_Action (Table.States (106), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (264, 0), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (266, 0), 1,
null, null);
- Table.States (106).Kernel := To_Vector ((0 => (264, 308, 0,
False)));
- Table.States (106).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 264, 1)));
+ Table.States (106).Kernel := To_Vector ((0 => ((266, 0), 310, 0,
(266, 0), 1)));
+ Table.States (106).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (266, 0), 1)));
Table.States (107).Action_List.Set_Capacity (41);
Add_Action (Table.States (107), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (136, 0), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (138, 0), 1,
null, null);
- Table.States (107).Kernel := To_Vector ((0 => (136, 309, 0,
False)));
- Table.States (107).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 136, 1)));
+ Table.States (107).Kernel := To_Vector ((0 => ((138, 0), 311, 0,
(138, 0), 1)));
+ Table.States (107).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (138, 0), 1)));
Table.States (108).Action_List.Set_Capacity (41);
Add_Action (Table.States (108), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 13), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 13), 1,
null, null);
- Table.States (108).Kernel := To_Vector ((0 => (158, 310, 0,
False)));
- Table.States (108).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (108).Kernel := To_Vector ((0 => ((160, 13), 312,
0, (160, 13), 1)));
+ Table.States (108).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 13), 1)));
Table.States (109).Action_List.Set_Capacity (41);
Add_Action (Table.States (109), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (290, 2), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (292, 2), 1,
null, null);
- Table.States (109).Kernel := To_Vector ((0 => (290, 312, 0,
False)));
- Table.States (109).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 290, 1)));
+ Table.States (109).Kernel := To_Vector ((0 => ((292, 2), 314, 0,
(292, 2), 1)));
+ Table.States (109).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (292, 2), 1)));
Table.States (110).Action_List.Set_Capacity (41);
Add_Action (Table.States (110), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 14), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 14), 1,
null, null);
- Table.States (110).Kernel := To_Vector ((0 => (158, 314, 0,
False)));
- Table.States (110).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (110).Kernel := To_Vector ((0 => ((160, 14), 316,
0, (160, 14), 1)));
+ Table.States (110).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 14), 1)));
Table.States (111).Action_List.Set_Capacity (40);
Add_Action (Table.States (111), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
- 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 79,
94, 105, 106, 107, 108), (143, 1), 1, null,
- null);
- Table.States (111).Kernel := To_Vector ((0 => (143, 316, 0,
False)));
- Table.States (111).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 143, 1)));
+ 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 81,
96, 107, 108, 109, 110), (145, 1), 1,
+ null, null);
+ Table.States (111).Kernel := To_Vector ((0 => ((145, 1), 318, 0,
(145, 1), 1)));
+ Table.States (111).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (145, 1), 1)));
Table.States (112).Action_List.Set_Capacity (41);
Add_Action (Table.States (112), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (264, 2), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (266, 2), 1,
null, null);
- Table.States (112).Kernel := To_Vector ((0 => (264, 317, 0,
False)));
- Table.States (112).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 264, 1)));
+ Table.States (112).Kernel := To_Vector ((0 => ((266, 2), 319, 0,
(266, 2), 1)));
+ Table.States (112).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (266, 2), 1)));
Table.States (113).Action_List.Set_Capacity (41);
Add_Action (Table.States (113), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (136, 2), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (138, 2), 1,
null, null);
- Table.States (113).Kernel := To_Vector ((0 => (136, 318, 0,
False)));
- Table.States (113).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 136, 1)));
+ Table.States (113).Kernel := To_Vector ((0 => ((138, 2), 320, 0,
(138, 2), 1)));
+ Table.States (113).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (138, 2), 1)));
Table.States (114).Action_List.Set_Capacity (41);
Add_Action (Table.States (114), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (207, 1), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (209, 1), 1,
null, null);
- Table.States (114).Kernel := To_Vector ((0 => (207, 320, 0,
False)));
- Table.States (114).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 207, 1)));
+ Table.States (114).Kernel := To_Vector ((0 => ((209, 1), 322, 0,
(209, 1), 1)));
+ Table.States (114).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (209, 1), 1)));
Table.States (115).Action_List.Set_Capacity (47);
Add_Action (Table.States (115), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (299, 1), 1, null, null);
- Table.States (115).Kernel := To_Vector ((0 => (299, 324, 0,
False)));
- Table.States (115).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 299, 1)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (301, 1), 1, null, null);
+ Table.States (115).Kernel := To_Vector ((0 => ((301, 1), 326, 0,
(301, 1), 1)));
+ Table.States (115).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (301, 1), 1)));
Table.States (116).Action_List.Set_Capacity (41);
Add_Action (Table.States (116), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 15), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 15), 1,
null, null);
- Table.States (116).Kernel := To_Vector ((0 => (158, 326, 0,
False)));
- Table.States (116).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (116).Kernel := To_Vector ((0 => ((160, 15), 328,
0, (160, 15), 1)));
+ Table.States (116).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 15), 1)));
Table.States (117).Action_List.Set_Capacity (41);
Add_Action (Table.States (117), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 16), 1,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 16), 1,
null, null);
- Table.States (117).Kernel := To_Vector ((0 => (158, 332, 0,
False)));
- Table.States (117).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 1)));
+ Table.States (117).Kernel := To_Vector ((0 => ((160, 16), 334,
0, (160, 16), 1)));
+ Table.States (117).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 16), 1)));
Table.States (118).Action_List.Set_Capacity (40);
Add_Action (Table.States (118), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
- 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 79,
94, 105, 106, 107, 108), (143, 0), 1, null,
- null);
- Table.States (118).Kernel := To_Vector ((0 => (143, 333, 0,
False)));
- Table.States (118).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 143, 1)));
+ 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 81,
96, 107, 108, 109, 110), (145, 0), 1,
+ null, null);
+ Table.States (118).Kernel := To_Vector ((0 => ((145, 0), 335, 0,
(145, 0), 1)));
+ Table.States (118).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (145, 0), 1)));
Table.States (119).Action_List.Set_Capacity (3);
- Add_Action (Table.States (119), 21, Reduce, (117, 1), 0, null,
null);
- Add_Action (Table.States (119), 76, 251);
- Add_Conflict (Table.States (119), 76, (117, 1), 0, null, null);
- Add_Action (Table.States (119), 97, Reduce, (117, 1), 0, null,
null);
+ Add_Action (Table.States (119), 21, Reduce, (119, 1), 0, null,
null);
+ Add_Action (Table.States (119), 76, (118, 0), 252);
+ Add_Conflict (Table.States (119), 76, (119, 1), 0, null, null);
+ Add_Action (Table.States (119), 99, Reduce, (119, 1), 0, null,
null);
Table.States (119).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (119), 116, 252);
- Add_Goto (Table.States (119), 117, 253);
- Table.States (119).Kernel := To_Vector (((114, 105, 3, False),
(114, 105, 1, False)));
- Table.States (119).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 117, 0)));
- Table.States (120).Action_List.Set_Capacity (63);
+ Add_Goto (Table.States (119), 118, 253);
+ Add_Goto (Table.States (119), 119, 254);
+ Table.States (119).Kernel := To_Vector ((((116, 0), 107, 3,
(2147483647, 0), 0), ((116, 1), 107, 1,
+ (2147483647, 0), 0)));
+ Table.States (119).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (119, 1), 0)));
+ Table.States (120).Action_List.Set_Capacity (64);
Add_Action (Table.States (120), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 73, 74, 75,
76, 77, 78, 79, 80, 83, 84, 85, 86, 87, 88,
- 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105,
106, 107), (240, 5), 1, name_5'Access,
- name_5_check'Access);
- Table.States (120).Kernel := To_Vector ((0 => (240, 105, 0,
False)));
- Table.States (120).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 240, 1)));
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 73, 74, 75,
76, 78, 79, 80, 81, 82, 85, 86, 87, 88, 89,
+ 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
107, 108, 109), (242, 5), 1,
+ name_5'Access, name_5_check'Access);
+ Table.States (120).Kernel := To_Vector ((0 => ((242, 5), 107, 0,
(242, 5), 1)));
+ Table.States (120).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (242, 5), 1)));
Table.States (121).Action_List.Set_Capacity (5);
- Add_Action (Table.States (121), 76, 236);
- Add_Action (Table.States (121), 85, 238);
- Add_Action (Table.States (121), 97, 254);
- Add_Action (Table.States (121), 102, 240);
- Add_Action (Table.States (121), 103, 241);
+ Add_Action (Table.States (121), 76, (118, 0), 237);
+ Add_Action (Table.States (121), 87, (296, 0), 239);
+ Add_Action (Table.States (121), 99, (306, 8), 255);
+ Add_Action (Table.States (121), 104, (325, 0), 241);
+ Add_Action (Table.States (121), 105, (325, 1), 242);
Table.States (121).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (121), 116, 242);
- Add_Goto (Table.States (121), 323, 243);
- Table.States (121).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (273, 240, 3, True), (294, 240, 2, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (304, 240, 1, False)));
- Table.States (121).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 254)));
- Table.States (122).Action_List.Set_Capacity (8);
- Add_Action (Table.States (122), 39, 123);
- Add_Action (Table.States (122), 41, 125);
- Add_Action (Table.States (122), 76, 127);
- Add_Action (Table.States (122), 79, 31);
- Add_Action (Table.States (122), 104, 130);
- Add_Action (Table.States (122), 105, 120);
- Add_Action (Table.States (122), 106, 34);
- Add_Action (Table.States (122), 107, 35);
+ Add_Goto (Table.States (121), 118, 243);
+ Add_Goto (Table.States (121), 325, 244);
+ Table.States (121).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((275, 0), 242, 3, (2147483647, 0), 0),
+ ((296, 0), 242, 2, (2147483647, 0), 0), ((296, 1), 242, 2,
(2147483647, 0), 0), ((296, 2), 242, 2,
+ (2147483647, 0), 0), ((296, 3), 242, 2, (2147483647, 0), 0),
((306, 8), 242, 1, (2147483647, 0),
+ 0)));
+ Table.States (121).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (306, 8), 99, 255)));
+ Table.States (122).Action_List.Set_Capacity (9);
+ Add_Action (Table.States (122), 39, (261, 4), 123);
+ Add_Action (Table.States (122), 41, (261, 1), 125);
+ Add_Action (Table.States (122), 76, (120, 0), 127);
+ Add_Action (Table.States (122), 77, (120, 5), 128);
+ Add_Action (Table.States (122), 81, (242, 8), 31);
+ Add_Action (Table.States (122), 106, (261, 0), 131);
+ Add_Action (Table.States (122), 107, (242, 5), 120);
+ Add_Action (Table.States (122), 108, (242, 7), 34);
+ Add_Action (Table.States (122), 109, (242, 6), 35);
Table.States (122).Goto_List.Set_Capacity (6);
- Add_Goto (Table.States (122), 118, 131);
- Add_Goto (Table.States (122), 129, 42);
- Add_Goto (Table.States (122), 240, 135);
- Add_Goto (Table.States (122), 259, 255);
- Add_Goto (Table.States (122), 273, 93);
- Add_Goto (Table.States (122), 294, 98);
- Table.States (122).Kernel := To_Vector ((0 => (198, 3, 1, False)));
- Table.States (122).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
+ Add_Goto (Table.States (122), 120, 132);
+ Add_Goto (Table.States (122), 131, 42);
+ Add_Goto (Table.States (122), 242, 136);
+ Add_Goto (Table.States (122), 261, 256);
+ Add_Goto (Table.States (122), 275, 93);
+ Add_Goto (Table.States (122), 296, 98);
+ Table.States (122).Kernel := To_Vector ((0 => ((200, 2), 3, 1,
(2147483647, 0), 0)));
+ Table.States (122).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
Table.States (123).Action_List.Set_Capacity (4);
- Add_Action (Table.States (123), 79, 31);
- Add_Action (Table.States (123), 105, 120);
- Add_Action (Table.States (123), 106, 34);
- Add_Action (Table.States (123), 107, 35);
+ Add_Action (Table.States (123), 81, (242, 8), 31);
+ Add_Action (Table.States (123), 107, (242, 5), 120);
+ Add_Action (Table.States (123), 108, (242, 7), 34);
+ Add_Action (Table.States (123), 109, (242, 6), 35);
Table.States (123).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (123), 129, 42);
- Add_Goto (Table.States (123), 240, 256);
- Add_Goto (Table.States (123), 273, 93);
- Add_Goto (Table.States (123), 294, 98);
- Table.States (123).Kernel := To_Vector ((0 => (259, 39, 1,
False)));
- Table.States (123).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (124).Action_List.Set_Capacity (8);
- Add_Action (Table.States (124), 39, 123);
- Add_Action (Table.States (124), 41, 125);
- Add_Action (Table.States (124), 76, 127);
- Add_Action (Table.States (124), 79, 31);
- Add_Action (Table.States (124), 104, 130);
- Add_Action (Table.States (124), 105, 120);
- Add_Action (Table.States (124), 106, 34);
- Add_Action (Table.States (124), 107, 35);
+ Add_Goto (Table.States (123), 131, 42);
+ Add_Goto (Table.States (123), 242, 257);
+ Add_Goto (Table.States (123), 275, 93);
+ Add_Goto (Table.States (123), 296, 98);
+ Table.States (123).Kernel := To_Vector ((0 => ((261, 4), 39, 1,
(2147483647, 0), 0)));
+ Table.States (123).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (124).Action_List.Set_Capacity (9);
+ Add_Action (Table.States (124), 39, (261, 4), 123);
+ Add_Action (Table.States (124), 41, (261, 1), 125);
+ Add_Action (Table.States (124), 76, (120, 0), 127);
+ Add_Action (Table.States (124), 77, (120, 5), 128);
+ Add_Action (Table.States (124), 81, (242, 8), 31);
+ Add_Action (Table.States (124), 106, (261, 0), 131);
+ Add_Action (Table.States (124), 107, (242, 5), 120);
+ Add_Action (Table.States (124), 108, (242, 7), 34);
+ Add_Action (Table.States (124), 109, (242, 6), 35);
Table.States (124).Goto_List.Set_Capacity (6);
- Add_Goto (Table.States (124), 118, 131);
- Add_Goto (Table.States (124), 129, 42);
- Add_Goto (Table.States (124), 240, 135);
- Add_Goto (Table.States (124), 259, 257);
- Add_Goto (Table.States (124), 273, 93);
- Add_Goto (Table.States (124), 294, 98);
- Table.States (124).Kernel := To_Vector ((0 => (198, 40, 1,
False)));
- Table.States (124).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (125).Action_List.Set_Capacity (36);
- Add_Action (Table.States (125), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
- 78, 80, 83, 84, 86, 87, 88, 89, 90, 92, 93, 95, 96, 97, 98, 99,
100, 101), (259, 1), 1, null, null);
- Table.States (125).Kernel := To_Vector ((0 => (259, 41, 0,
False)));
- Table.States (125).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 259, 1)));
+ Add_Goto (Table.States (124), 120, 132);
+ Add_Goto (Table.States (124), 131, 42);
+ Add_Goto (Table.States (124), 242, 136);
+ Add_Goto (Table.States (124), 261, 258);
+ Add_Goto (Table.States (124), 275, 93);
+ Add_Goto (Table.States (124), 296, 98);
+ Table.States (124).Kernel := To_Vector ((0 => ((200, 3), 40, 1,
(2147483647, 0), 0)));
+ Table.States (124).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (125).Action_List.Set_Capacity (37);
+ Add_Action (Table.States (125), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
+ 79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100,
101, 102, 103), (261, 1), 1, null, null);
+ Table.States (125).Kernel := To_Vector ((0 => ((261, 1), 41, 0,
(261, 1), 1)));
+ Table.States (125).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (261, 1), 1)));
Table.States (126).Action_List.Set_Capacity (4);
- Add_Action (Table.States (126), 79, 31);
- Add_Action (Table.States (126), 105, 120);
- Add_Action (Table.States (126), 106, 34);
- Add_Action (Table.States (126), 107, 35);
+ Add_Action (Table.States (126), 81, (242, 8), 31);
+ Add_Action (Table.States (126), 107, (242, 5), 120);
+ Add_Action (Table.States (126), 108, (242, 7), 34);
+ Add_Action (Table.States (126), 109, (242, 6), 35);
Table.States (126).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (126), 129, 42);
- Add_Goto (Table.States (126), 240, 258);
- Add_Goto (Table.States (126), 273, 93);
- Add_Goto (Table.States (126), 294, 98);
- Table.States (126).Kernel := To_Vector (((276, 52, 2, True), (276,
52, 1, False)));
- Table.States (126).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (127).Action_List.Set_Capacity (22);
- Add_Action (Table.States (127), 3, 122);
- Add_Action (Table.States (127), 15, 259);
- Add_Action (Table.States (127), 28, 260);
- Add_Action (Table.States (127), 32, 261);
- Add_Action (Table.States (127), 39, 123);
- Add_Action (Table.States (127), 40, 262);
- Add_Action (Table.States (127), 41, 263);
- Add_Action (Table.States (127), 44, 264);
- Add_Action (Table.States (127), 52, 126);
- Add_Action (Table.States (127), 74, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (127), 76, 127);
- Add_Action (Table.States (127), 77, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (127), 79, 31);
- Add_Action (Table.States (127), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (127), 84, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (127), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (127), 95, 128);
- Add_Action (Table.States (127), 96, 129);
- Add_Action (Table.States (127), 104, 130);
- Add_Action (Table.States (127), 105, 120);
- Add_Action (Table.States (127), 106, 34);
- Add_Action (Table.States (127), 107, 265);
+ Add_Goto (Table.States (126), 131, 42);
+ Add_Goto (Table.States (126), 242, 259);
+ Add_Goto (Table.States (126), 275, 93);
+ Add_Goto (Table.States (126), 296, 98);
+ Table.States (126).Kernel := To_Vector ((((278, 0), 52, 2,
(2147483647, 0), 0), ((278, 1), 52, 1,
+ (2147483647, 0), 0)));
+ Table.States (126).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (127).Action_List.Set_Capacity (23);
+ Add_Action (Table.States (127), 3, (200, 2), 122);
+ Add_Action (Table.States (127), 15, (139, 0), 260);
+ Add_Action (Table.States (127), 28, (127, 6), 261);
+ Add_Action (Table.States (127), 32, (224, 0), 262);
+ Add_Action (Table.States (127), 39, (261, 4), 123);
+ Add_Action (Table.States (127), 40, (168, 1), 263);
+ Add_Action (Table.States (127), 41, (120, 1), 264);
+ Add_Action (Table.States (127), 44, (168, 3), 265);
+ Add_Action (Table.States (127), 52, (278, 0), 126);
+ Add_Action (Table.States (127), 74, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (127), 76, (120, 0), 127);
+ Add_Action (Table.States (127), 77, (120, 5), 128);
+ Add_Action (Table.States (127), 78, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (127), 81, (242, 8), 31);
+ Add_Action (Table.States (127), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (127), 86, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (127), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (127), 97, (333, 1), 129);
+ Add_Action (Table.States (127), 98, (333, 0), 130);
+ Add_Action (Table.States (127), 106, (261, 0), 131);
+ Add_Action (Table.States (127), 107, (242, 5), 120);
+ Add_Action (Table.States (127), 108, (242, 7), 34);
+ Add_Action (Table.States (127), 109, (127, 0), 266);
Table.States (127).Goto_List.Set_Capacity (29);
- Add_Goto (Table.States (127), 118, 131);
- Add_Goto (Table.States (127), 125, 266);
- Add_Goto (Table.States (127), 126, 267);
- Add_Goto (Table.States (127), 129, 42);
- Add_Goto (Table.States (127), 137, 268);
- Add_Goto (Table.States (127), 154, 269);
- Add_Goto (Table.States (127), 166, 270);
- Add_Goto (Table.States (127), 167, 271);
- Add_Goto (Table.States (127), 192, 272);
- Add_Goto (Table.States (127), 193, 273);
- Add_Goto (Table.States (127), 198, 134);
- Add_Goto (Table.States (127), 222, 274);
- Add_Goto (Table.States (127), 240, 275);
- Add_Goto (Table.States (127), 259, 136);
- Add_Goto (Table.States (127), 273, 93);
- Add_Goto (Table.States (127), 274, 276);
- Add_Goto (Table.States (127), 276, 137);
- Add_Goto (Table.States (127), 278, 277);
- Add_Goto (Table.States (127), 283, 138);
- Add_Goto (Table.States (127), 284, 139);
- Add_Goto (Table.States (127), 285, 140);
- Add_Goto (Table.States (127), 286, 141);
- Add_Goto (Table.States (127), 287, 142);
- Add_Goto (Table.States (127), 288, 143);
- Add_Goto (Table.States (127), 294, 98);
- Add_Goto (Table.States (127), 302, 278);
- Add_Goto (Table.States (127), 321, 145);
- Add_Goto (Table.States (127), 322, 146);
- Add_Goto (Table.States (127), 331, 147);
- Table.States (127).Kernel := To_Vector (((118, 76, 4, False),
(118, 76, 2, False), (118, 76, 3, False),
- (118, 76, 4, False), (118, 76, 3, False), (118, 76, 1, False)));
- Table.States (127).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 126, 0)));
- Table.States (128).Action_List.Set_Capacity (10);
- Add_Action (Table.States (128), (3, 39, 40, 41, 76, 79, 104, 105,
106, 107), (331, 1), 1, null, null);
- Table.States (128).Kernel := To_Vector ((0 => (331, 95, 0,
False)));
- Table.States (128).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 331, 1)));
- Table.States (129).Action_List.Set_Capacity (10);
- Add_Action (Table.States (129), (3, 39, 40, 41, 76, 79, 104, 105,
106, 107), (331, 0), 1, null, null);
- Table.States (129).Kernel := To_Vector ((0 => (331, 96, 0,
False)));
- Table.States (129).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 331, 1)));
- Table.States (130).Action_List.Set_Capacity (36);
- Add_Action (Table.States (130), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
- 78, 80, 83, 84, 86, 87, 88, 89, 90, 92, 93, 95, 96, 97, 98, 99,
100, 101), (259, 0), 1, primary_0'Access,
- null);
- Table.States (130).Kernel := To_Vector ((0 => (259, 104, 0,
False)));
- Table.States (130).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 259, 1)));
- Table.States (131).Action_List.Set_Capacity (36);
- Add_Action (Table.States (131), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
- 78, 80, 83, 84, 86, 87, 88, 89, 90, 92, 93, 95, 96, 97, 98, 99,
100, 101), (259, 2), 1, primary_2'Access,
- null);
- Table.States (131).Kernel := To_Vector ((0 => (259, 118, 0,
False)));
- Table.States (131).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 259, 1)));
- Table.States (132).Action_List.Set_Capacity (17);
- Add_Action (Table.States (132), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (193,
- 0), 1, null, null);
- Table.States (132).Kernel := To_Vector ((0 => (193, 192, 0,
True)));
- Table.States (132).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 1)));
- Table.States (132).Minimal_Complete_Actions_Recursive := True;
- Table.States (133).Action_List.Set_Capacity (1);
- Add_Action (Table.States (133), 35, 279);
- Table.States (133).Kernel := To_Vector ((0 => (140, 193, 6,
False)));
- Table.States (133).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 35, 279)));
- Table.States (134).Action_List.Set_Capacity (35);
- Add_Action (Table.States (134), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
- 78, 80, 83, 84, 86, 87, 88, 89, 90, 92, 93, 95, 96, 97, 98, 99,
100), (321, 1), 1, null, null);
- Table.States (134).Kernel := To_Vector ((0 => (321, 198, 0,
False)));
- Table.States (134).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 321, 1)));
- Table.States (135).Action_List.Set_Capacity (40);
- Add_Action (Table.States (135), 10, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 20, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 21, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 22, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 23, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 33, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 35, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 37, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 38, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 40, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 42, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 43, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 53, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 55, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 68, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 74, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 75, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 76, 236);
- Add_Action (Table.States (135), 77, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 78, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 80, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 83, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 84, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 85, 238);
- Add_Action (Table.States (135), 86, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 87, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 88, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 89, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 90, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 92, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 93, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 95, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 96, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 97, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 98, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 99, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 100, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 101, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (135), 102, 240);
- Add_Action (Table.States (135), 103, 241);
- Table.States (135).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (135), 116, 242);
- Add_Goto (Table.States (135), 323, 243);
- Table.States (135).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (259, 240, 0, False), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (135).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 259, 1)));
- Table.States (136).Action_List.Set_Capacity (36);
- Add_Action (Table.States (136), 10, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 20, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 21, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 22, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 23, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 33, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 35, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 37, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 38, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 40, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 42, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 43, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 53, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 55, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 68, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 74, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 75, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 77, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 78, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 80, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 83, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 84, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 86, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 87, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 88, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 89, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 90, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 92, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 93, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 95, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 96, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 97, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 98, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 99, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 100, Reduce, (198, 1), 1, null,
null);
- Add_Action (Table.States (136), 101, 280);
- Table.States (136).Kernel := To_Vector (((198, 259, 2, False),
(198, 259, 0, False)));
- Table.States (136).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 198, 1)));
- Table.States (137).Action_List.Set_Capacity (17);
- Add_Action (Table.States (137), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (288,
- 4), 1, null, null);
- Table.States (137).Kernel := To_Vector ((0 => (288, 276, 0,
True)));
- Table.States (137).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 288, 1)));
- Table.States (137).Minimal_Complete_Actions_Recursive := True;
- Table.States (138).Action_List.Set_Capacity (17);
- Add_Action (Table.States (138), 10, 281);
- Add_Conflict (Table.States (138), 10, (192, 1), 1, null, null);
- Add_Action (Table.States (138), 20, Reduce, (192, 1), 1, null,
null);
- Add_Action (Table.States (138), 21, Reduce, (192, 1), 1, null,
null);
- Add_Action (Table.States (138), 22, Reduce, (192, 1), 1, null,
null);
- Add_Action (Table.States (138), 23, Reduce, (192, 1), 1, null,
null);
- Add_Action (Table.States (138), 35, Reduce, (192, 1), 1, null,
null);
- Add_Action (Table.States (138), 37, Reduce, (192, 1), 1, null,
null);
- Add_Action (Table.States (138), 43, Reduce, (192, 1), 1, null,
null);
- Add_Action (Table.States (138), 53, Reduce, (192, 1), 1, null,
null);
- Add_Action (Table.States (138), 68, Reduce, (192, 1), 1, null,
null);
- Add_Action (Table.States (138), 74, Reduce, (192, 1), 1, null,
null);
- Add_Action (Table.States (138), 75, Reduce, (192, 1), 1, null,
null);
- Add_Action (Table.States (138), 77, Reduce, (192, 1), 1, null,
null);
- Add_Action (Table.States (138), 80, Reduce, (192, 1), 1, null,
null);
- Add_Action (Table.States (138), 84, Reduce, (192, 1), 1, null,
null);
- Add_Action (Table.States (138), 88, Reduce, (192, 1), 1, null,
null);
- Add_Action (Table.States (138), 97, Reduce, (192, 1), 1, null,
null);
- Table.States (138).Kernel := To_Vector (((192, 283, 0, True),
(283, 283, 2, True)));
- Table.States (138).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 192, 1)));
- Table.States (138).Minimal_Complete_Actions_Recursive := True;
- Table.States (139).Action_List.Set_Capacity (17);
- Add_Action (Table.States (139), 10, 282);
- Add_Conflict (Table.States (139), 10, (192, 2), 1, null, null);
- Add_Action (Table.States (139), 20, Reduce, (192, 2), 1, null,
null);
- Add_Action (Table.States (139), 21, Reduce, (192, 2), 1, null,
null);
- Add_Action (Table.States (139), 22, Reduce, (192, 2), 1, null,
null);
- Add_Action (Table.States (139), 23, Reduce, (192, 2), 1, null,
null);
- Add_Action (Table.States (139), 35, Reduce, (192, 2), 1, null,
null);
- Add_Action (Table.States (139), 37, Reduce, (192, 2), 1, null,
null);
- Add_Action (Table.States (139), 43, Reduce, (192, 2), 1, null,
null);
- Add_Action (Table.States (139), 53, Reduce, (192, 2), 1, null,
null);
- Add_Action (Table.States (139), 68, Reduce, (192, 2), 1, null,
null);
- Add_Action (Table.States (139), 74, Reduce, (192, 2), 1, null,
null);
- Add_Action (Table.States (139), 75, Reduce, (192, 2), 1, null,
null);
- Add_Action (Table.States (139), 77, Reduce, (192, 2), 1, null,
null);
- Add_Action (Table.States (139), 80, Reduce, (192, 2), 1, null,
null);
- Add_Action (Table.States (139), 84, Reduce, (192, 2), 1, null,
null);
- Add_Action (Table.States (139), 88, Reduce, (192, 2), 1, null,
null);
- Add_Action (Table.States (139), 97, Reduce, (192, 2), 1, null,
null);
- Table.States (139).Kernel := To_Vector (((192, 284, 0, True),
(284, 284, 3, True)));
- Table.States (139).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 192, 1)));
- Table.States (139).Minimal_Complete_Actions_Recursive := True;
+ Add_Goto (Table.States (127), 120, 132);
+ Add_Goto (Table.States (127), 127, 267);
+ Add_Goto (Table.States (127), 128, 268);
+ Add_Goto (Table.States (127), 131, 42);
+ Add_Goto (Table.States (127), 139, 269);
+ Add_Goto (Table.States (127), 156, 270);
+ Add_Goto (Table.States (127), 168, 271);
+ Add_Goto (Table.States (127), 169, 272);
+ Add_Goto (Table.States (127), 194, 273);
+ Add_Goto (Table.States (127), 195, 274);
+ Add_Goto (Table.States (127), 200, 135);
+ Add_Goto (Table.States (127), 224, 275);
+ Add_Goto (Table.States (127), 242, 276);
+ Add_Goto (Table.States (127), 261, 137);
+ Add_Goto (Table.States (127), 275, 93);
+ Add_Goto (Table.States (127), 276, 277);
+ Add_Goto (Table.States (127), 278, 138);
+ Add_Goto (Table.States (127), 280, 278);
+ Add_Goto (Table.States (127), 285, 139);
+ Add_Goto (Table.States (127), 286, 140);
+ Add_Goto (Table.States (127), 287, 141);
+ Add_Goto (Table.States (127), 288, 142);
+ Add_Goto (Table.States (127), 289, 143);
+ Add_Goto (Table.States (127), 290, 144);
+ Add_Goto (Table.States (127), 296, 98);
+ Add_Goto (Table.States (127), 304, 279);
+ Add_Goto (Table.States (127), 323, 146);
+ Add_Goto (Table.States (127), 324, 147);
+ Add_Goto (Table.States (127), 333, 148);
+ Table.States (127).Kernel := To_Vector ((((120, 0), 76, 1,
(2147483647, 0), 0), ((120, 1), 76, 3,
+ (2147483647, 0), 0), ((120, 2), 76, 4, (2147483647, 0), 0),
((120, 3), 76, 2, (2147483647, 0), 0),
+ ((120, 4), 76, 4, (2147483647, 0), 0), ((120, 6), 76, 3,
(2147483647, 0), 0)));
+ Table.States (127).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (128, 1), 0)));
+ Table.States (128).Action_List.Set_Capacity (14);
+ Add_Action (Table.States (128), 3, (200, 2), 122);
+ Add_Action (Table.States (128), 39, (261, 4), 123);
+ Add_Action (Table.States (128), 40, (200, 3), 124);
+ Add_Action (Table.States (128), 41, (261, 1), 125);
+ Add_Action (Table.States (128), 52, (278, 0), 126);
+ Add_Action (Table.States (128), 76, (120, 0), 127);
+ Add_Action (Table.States (128), 77, (120, 5), 128);
+ Add_Action (Table.States (128), 81, (242, 8), 31);
+ Add_Action (Table.States (128), 97, (333, 1), 129);
+ Add_Action (Table.States (128), 98, (333, 0), 130);
+ Add_Action (Table.States (128), 106, (261, 0), 131);
+ Add_Action (Table.States (128), 107, (242, 5), 120);
+ Add_Action (Table.States (128), 108, (242, 7), 34);
+ Add_Action (Table.States (128), 109, (242, 6), 35);
+ Table.States (128).Goto_List.Set_Capacity (19);
+ Add_Goto (Table.States (128), 120, 132);
+ Add_Goto (Table.States (128), 131, 42);
+ Add_Goto (Table.States (128), 194, 280);
+ Add_Goto (Table.States (128), 200, 135);
+ Add_Goto (Table.States (128), 242, 136);
+ Add_Goto (Table.States (128), 261, 137);
+ Add_Goto (Table.States (128), 275, 93);
+ Add_Goto (Table.States (128), 278, 138);
+ Add_Goto (Table.States (128), 285, 139);
+ Add_Goto (Table.States (128), 286, 140);
+ Add_Goto (Table.States (128), 287, 141);
+ Add_Goto (Table.States (128), 288, 142);
+ Add_Goto (Table.States (128), 289, 143);
+ Add_Goto (Table.States (128), 290, 144);
+ Add_Goto (Table.States (128), 296, 98);
+ Add_Goto (Table.States (128), 304, 145);
+ Add_Goto (Table.States (128), 323, 146);
+ Add_Goto (Table.States (128), 324, 147);
+ Add_Goto (Table.States (128), 333, 148);
+ Table.States (128).Kernel := To_Vector ((0 => ((120, 5), 77, 4,
(2147483647, 0), 0)));
+ Table.States (128).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (129).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (129), (3, 39, 40, 41, 76, 77, 81, 106,
107, 108, 109), (333, 1), 1, null, null);
+ Table.States (129).Kernel := To_Vector ((0 => ((333, 1), 97, 0,
(333, 1), 1)));
+ Table.States (129).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (333, 1), 1)));
+ Table.States (130).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (130), (3, 39, 40, 41, 76, 77, 81, 106,
107, 108, 109), (333, 0), 1, null, null);
+ Table.States (130).Kernel := To_Vector ((0 => ((333, 0), 98, 0,
(333, 0), 1)));
+ Table.States (130).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (333, 0), 1)));
+ Table.States (131).Action_List.Set_Capacity (37);
+ Add_Action (Table.States (131), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
+ 79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100,
101, 102, 103), (261, 0), 1,
+ primary_0'Access, null);
+ Table.States (131).Kernel := To_Vector ((0 => ((261, 0), 106, 0,
(261, 0), 1)));
+ Table.States (131).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (261, 0), 1)));
+ Table.States (132).Action_List.Set_Capacity (37);
+ Add_Action (Table.States (132), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
+ 79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100,
101, 102, 103), (261, 2), 1,
+ primary_2'Access, null);
+ Table.States (132).Kernel := To_Vector ((0 => ((261, 2), 120, 0,
(261, 2), 1)));
+ Table.States (132).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (261, 2), 1)));
+ Table.States (133).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (133), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (195, 0), 1, null, null);
+ Table.States (133).Kernel := To_Vector ((0 => ((195, 0), 194, 0,
(195, 0), 1)));
+ Table.States (133).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 0), 1)));
+ Table.States (134).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (134), 35, (142, 0), 281);
+ Table.States (134).Kernel := To_Vector ((0 => ((142, 0), 195, 6,
(2147483647, 0), 0)));
+ Table.States (134).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (142, 0), 35, 281)));
end Subr_2;
procedure Subr_3
is begin
- Table.States (140).Action_List.Set_Capacity (17);
- Add_Action (Table.States (140), 10, Reduce, (192, 3), 1, null,
null);
- Add_Action (Table.States (140), 20, Reduce, (192, 3), 1, null,
null);
- Add_Action (Table.States (140), 21, Reduce, (192, 3), 1, null,
null);
- Add_Action (Table.States (140), 22, Reduce, (192, 3), 1, null,
null);
- Add_Action (Table.States (140), 23, Reduce, (192, 3), 1, null,
null);
- Add_Action (Table.States (140), 35, Reduce, (192, 3), 1, null,
null);
- Add_Action (Table.States (140), 37, Reduce, (192, 3), 1, null,
null);
- Add_Action (Table.States (140), 43, 283);
- Add_Conflict (Table.States (140), 43, (192, 3), 1, null, null);
- Add_Action (Table.States (140), 53, Reduce, (192, 3), 1, null,
null);
- Add_Action (Table.States (140), 68, Reduce, (192, 3), 1, null,
null);
- Add_Action (Table.States (140), 74, Reduce, (192, 3), 1, null,
null);
- Add_Action (Table.States (140), 75, Reduce, (192, 3), 1, null,
null);
- Add_Action (Table.States (140), 77, Reduce, (192, 3), 1, null,
null);
- Add_Action (Table.States (140), 80, Reduce, (192, 3), 1, null,
null);
- Add_Action (Table.States (140), 84, Reduce, (192, 3), 1, null,
null);
- Add_Action (Table.States (140), 88, Reduce, (192, 3), 1, null,
null);
- Add_Action (Table.States (140), 97, Reduce, (192, 3), 1, null,
null);
- Table.States (140).Kernel := To_Vector (((192, 285, 0, True),
(285, 285, 2, True)));
- Table.States (140).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 192, 1)));
- Table.States (140).Minimal_Complete_Actions_Recursive := True;
- Table.States (141).Action_List.Set_Capacity (17);
- Add_Action (Table.States (141), 10, Reduce, (192, 4), 1, null,
null);
- Add_Action (Table.States (141), 20, Reduce, (192, 4), 1, null,
null);
- Add_Action (Table.States (141), 21, Reduce, (192, 4), 1, null,
null);
- Add_Action (Table.States (141), 22, Reduce, (192, 4), 1, null,
null);
- Add_Action (Table.States (141), 23, Reduce, (192, 4), 1, null,
null);
- Add_Action (Table.States (141), 35, Reduce, (192, 4), 1, null,
null);
- Add_Action (Table.States (141), 37, Reduce, (192, 4), 1, null,
null);
- Add_Action (Table.States (141), 43, 284);
- Add_Conflict (Table.States (141), 43, (192, 4), 1, null, null);
- Add_Action (Table.States (141), 53, Reduce, (192, 4), 1, null,
null);
- Add_Action (Table.States (141), 68, Reduce, (192, 4), 1, null,
null);
- Add_Action (Table.States (141), 74, Reduce, (192, 4), 1, null,
null);
- Add_Action (Table.States (141), 75, Reduce, (192, 4), 1, null,
null);
- Add_Action (Table.States (141), 77, Reduce, (192, 4), 1, null,
null);
- Add_Action (Table.States (141), 80, Reduce, (192, 4), 1, null,
null);
- Add_Action (Table.States (141), 84, Reduce, (192, 4), 1, null,
null);
- Add_Action (Table.States (141), 88, Reduce, (192, 4), 1, null,
null);
- Add_Action (Table.States (141), 97, Reduce, (192, 4), 1, null,
null);
- Table.States (141).Kernel := To_Vector (((192, 286, 0, True),
(286, 286, 3, True)));
- Table.States (141).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 192, 1)));
- Table.States (141).Minimal_Complete_Actions_Recursive := True;
- Table.States (142).Action_List.Set_Capacity (17);
- Add_Action (Table.States (142), 10, Reduce, (192, 5), 1, null,
null);
- Add_Action (Table.States (142), 20, Reduce, (192, 5), 1, null,
null);
- Add_Action (Table.States (142), 21, Reduce, (192, 5), 1, null,
null);
- Add_Action (Table.States (142), 22, Reduce, (192, 5), 1, null,
null);
- Add_Action (Table.States (142), 23, Reduce, (192, 5), 1, null,
null);
- Add_Action (Table.States (142), 35, Reduce, (192, 5), 1, null,
null);
- Add_Action (Table.States (142), 37, Reduce, (192, 5), 1, null,
null);
- Add_Action (Table.States (142), 43, Reduce, (192, 5), 1, null,
null);
- Add_Action (Table.States (142), 53, Reduce, (192, 5), 1, null,
null);
- Add_Action (Table.States (142), 68, Reduce, (192, 5), 1, null,
null);
- Add_Action (Table.States (142), 74, Reduce, (192, 5), 1, null,
null);
- Add_Action (Table.States (142), 75, 285);
- Add_Conflict (Table.States (142), 75, (192, 5), 1, null, null);
- Add_Action (Table.States (142), 77, Reduce, (192, 5), 1, null,
null);
- Add_Action (Table.States (142), 80, Reduce, (192, 5), 1, null,
null);
- Add_Action (Table.States (142), 84, Reduce, (192, 5), 1, null,
null);
- Add_Action (Table.States (142), 88, Reduce, (192, 5), 1, null,
null);
- Add_Action (Table.States (142), 97, Reduce, (192, 5), 1, null,
null);
- Table.States (142).Kernel := To_Vector (((192, 287, 0, True),
(287, 287, 2, True)));
- Table.States (142).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 192, 1)));
- Table.States (142).Minimal_Complete_Actions_Recursive := True;
- Table.States (143).Action_List.Set_Capacity (17);
- Add_Action (Table.States (143), 10, 286);
- Add_Conflict (Table.States (143), 10, (192, 0), 1, null, null);
- Add_Action (Table.States (143), 20, Reduce, (192, 0), 1, null,
null);
- Add_Action (Table.States (143), 21, Reduce, (192, 0), 1, null,
null);
- Add_Action (Table.States (143), 22, Reduce, (192, 0), 1, null,
null);
- Add_Action (Table.States (143), 23, Reduce, (192, 0), 1, null,
null);
- Add_Action (Table.States (143), 35, Reduce, (192, 0), 1, null,
null);
- Add_Action (Table.States (143), 37, Reduce, (192, 0), 1, null,
null);
- Add_Action (Table.States (143), 43, 287);
- Add_Conflict (Table.States (143), 43, (192, 0), 1, null, null);
- Add_Action (Table.States (143), 53, Reduce, (192, 0), 1, null,
null);
- Add_Action (Table.States (143), 68, Reduce, (192, 0), 1, null,
null);
- Add_Action (Table.States (143), 74, Reduce, (192, 0), 1, null,
null);
- Add_Action (Table.States (143), 75, 288);
- Add_Conflict (Table.States (143), 75, (192, 0), 1, null, null);
- Add_Action (Table.States (143), 77, Reduce, (192, 0), 1, null,
null);
- Add_Action (Table.States (143), 80, Reduce, (192, 0), 1, null,
null);
- Add_Action (Table.States (143), 84, Reduce, (192, 0), 1, null,
null);
- Add_Action (Table.States (143), 88, Reduce, (192, 0), 1, null,
null);
- Add_Action (Table.States (143), 97, Reduce, (192, 0), 1, null,
null);
- Table.States (143).Kernel := To_Vector (((192, 288, 0, True),
(283, 288, 2, True), (284, 288, 3, True),
- (285, 288, 2, True), (286, 288, 3, True), (287, 288, 2, True)));
- Table.States (143).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 192, 1)));
- Table.States (143).Minimal_Complete_Actions_Recursive := True;
- Table.States (144).Action_List.Set_Capacity (25);
- Add_Action (Table.States (144), 10, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 20, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 21, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 22, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 23, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 33, 289);
- Add_Action (Table.States (144), 35, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 37, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 40, 290);
- Add_Action (Table.States (144), 43, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 53, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 68, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 74, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 75, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 77, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 80, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 84, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 87, 291);
- Add_Action (Table.States (144), 88, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 89, 292);
- Add_Action (Table.States (144), 90, 293);
- Add_Action (Table.States (144), 92, 294);
- Add_Action (Table.States (144), 93, 295);
- Add_Action (Table.States (144), 97, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (144), 99, 296);
- Table.States (144).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (144), 289, 297);
- Table.States (144).Kernel := To_Vector (((288, 302, 3, False),
(288, 302, 2, False), (288, 302, 2, False),
- (288, 302, 0, False)));
- Table.States (144).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 288, 1)));
- Table.States (145).Action_List.Set_Capacity (35);
- Add_Action (Table.States (145), 10, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 20, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 21, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 22, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 23, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 33, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 35, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 37, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 38, 298);
- Add_Action (Table.States (145), 40, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 42, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 43, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 53, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 55, 299);
- Add_Action (Table.States (145), 68, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 74, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 75, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 77, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 78, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 80, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 83, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 84, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 86, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 87, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 88, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 89, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 90, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 92, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 93, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 95, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 96, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 97, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 98, 300);
- Add_Action (Table.States (145), 99, Reduce, (322, 1), 1, null,
null);
- Add_Action (Table.States (145), 100, 301);
+ Table.States (135).Action_List.Set_Capacity (36);
+ Add_Action (Table.States (135), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
+ 79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100,
101, 102), (323, 1), 1, null, null);
+ Table.States (135).Kernel := To_Vector ((0 => ((323, 1), 200, 0,
(323, 1), 1)));
+ Table.States (135).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (323, 1), 1)));
+ Table.States (136).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (136), 10, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 20, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 21, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 22, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 23, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 33, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 35, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 37, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 38, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 40, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 42, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 43, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 53, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 55, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 68, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 74, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 75, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 76, (118, 0), 237);
+ Add_Action (Table.States (136), 78, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 79, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 80, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 82, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 85, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 86, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 87, (296, 0), 239);
+ Add_Action (Table.States (136), 88, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 89, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 90, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 91, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 92, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 94, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 95, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 97, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 98, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 99, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 100, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 101, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 102, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 103, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (136), 104, (325, 0), 241);
+ Add_Action (Table.States (136), 105, (325, 1), 242);
+ Table.States (136).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (136), 118, 243);
+ Add_Goto (Table.States (136), 325, 244);
+ Table.States (136).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((261, 3), 242, 0, (261, 3), 1), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (136).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (261, 3), 1)));
+ Table.States (137).Action_List.Set_Capacity (37);
+ Add_Action (Table.States (137), 10, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 20, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 21, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 22, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 23, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 33, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 35, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 37, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 38, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 40, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 42, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 43, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 53, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 55, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 68, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 74, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 75, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 78, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 79, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 80, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 82, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 85, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 86, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 88, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 89, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 90, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 91, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 92, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 94, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 95, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 97, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 98, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 99, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 100, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 101, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 102, Reduce, (200, 1), 1, null,
null);
+ Add_Action (Table.States (137), 103, (200, 0), 282);
+ Table.States (137).Kernel := To_Vector ((((200, 0), 261, 2,
(2147483647, 0), 0), ((200, 1), 261, 0,
+ (200, 1), 1)));
+ Table.States (137).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (200, 1), 1)));
+ Table.States (138).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (138), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (290, 4), 1, null, null);
+ Table.States (138).Kernel := To_Vector ((0 => ((290, 4), 278, 0,
(290, 4), 1)));
+ Table.States (138).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (290, 4), 1)));
+ Table.States (139).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (139), 10, (285, 0), 283);
+ Add_Conflict (Table.States (139), 10, (194, 1), 1, null, null);
+ Add_Action (Table.States (139), 20, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 21, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 22, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 23, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 35, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 37, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 43, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 53, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 68, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 74, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 75, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 78, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 79, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 82, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 86, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 90, Reduce, (194, 1), 1, null,
null);
+ Add_Action (Table.States (139), 99, Reduce, (194, 1), 1, null,
null);
+ Table.States (139).Kernel := To_Vector ((((194, 1), 285, 0,
(194, 1), 1), ((285, 0), 285, 2,
+ (2147483647, 0), 0)));
+ Table.States (139).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (194, 1), 1)));
+ Table.States (140).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (140), 10, (286, 0), 284);
+ Add_Conflict (Table.States (140), 10, (194, 2), 1, null, null);
+ Add_Action (Table.States (140), 20, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 21, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 22, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 23, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 35, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 37, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 43, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 53, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 68, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 74, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 75, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 78, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 79, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 82, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 86, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 90, Reduce, (194, 2), 1, null,
null);
+ Add_Action (Table.States (140), 99, Reduce, (194, 2), 1, null,
null);
+ Table.States (140).Kernel := To_Vector ((((194, 2), 286, 0,
(194, 2), 1), ((286, 0), 286, 3,
+ (2147483647, 0), 0)));
+ Table.States (140).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (194, 2), 1)));
+ Table.States (141).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (141), 10, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 20, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 21, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 22, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 23, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 35, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 37, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 43, (287, 0), 285);
+ Add_Conflict (Table.States (141), 43, (194, 3), 1, null, null);
+ Add_Action (Table.States (141), 53, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 68, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 74, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 75, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 78, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 79, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 82, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 86, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 90, Reduce, (194, 3), 1, null,
null);
+ Add_Action (Table.States (141), 99, Reduce, (194, 3), 1, null,
null);
+ Table.States (141).Kernel := To_Vector ((((194, 3), 287, 0,
(194, 3), 1), ((287, 0), 287, 2,
+ (2147483647, 0), 0)));
+ Table.States (141).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (194, 3), 1)));
+ Table.States (142).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (142), 10, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 20, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 21, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 22, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 23, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 35, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 37, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 43, (288, 0), 286);
+ Add_Conflict (Table.States (142), 43, (194, 4), 1, null, null);
+ Add_Action (Table.States (142), 53, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 68, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 74, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 75, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 78, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 79, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 82, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 86, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 90, Reduce, (194, 4), 1, null,
null);
+ Add_Action (Table.States (142), 99, Reduce, (194, 4), 1, null,
null);
+ Table.States (142).Kernel := To_Vector ((((194, 4), 288, 0,
(194, 4), 1), ((288, 0), 288, 3,
+ (2147483647, 0), 0)));
+ Table.States (142).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (194, 4), 1)));
+ Table.States (143).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (143), 10, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 20, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 21, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 22, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 23, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 35, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 37, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 43, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 53, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 68, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 74, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 75, (289, 0), 287);
+ Add_Conflict (Table.States (143), 75, (194, 5), 1, null, null);
+ Add_Action (Table.States (143), 78, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 79, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 82, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 86, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 90, Reduce, (194, 5), 1, null,
null);
+ Add_Action (Table.States (143), 99, Reduce, (194, 5), 1, null,
null);
+ Table.States (143).Kernel := To_Vector ((((194, 5), 289, 0,
(194, 5), 1), ((289, 0), 289, 2,
+ (2147483647, 0), 0)));
+ Table.States (143).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (194, 5), 1)));
+ Table.States (144).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (144), 10, (285, 1), 288);
+ Add_Conflict (Table.States (144), 10, (194, 0), 1, null, null);
+ Add_Action (Table.States (144), 20, Reduce, (194, 0), 1, null,
null);
+ Add_Action (Table.States (144), 21, Reduce, (194, 0), 1, null,
null);
+ Add_Action (Table.States (144), 22, Reduce, (194, 0), 1, null,
null);
+ Add_Action (Table.States (144), 23, Reduce, (194, 0), 1, null,
null);
+ Add_Action (Table.States (144), 35, Reduce, (194, 0), 1, null,
null);
+ Add_Action (Table.States (144), 37, Reduce, (194, 0), 1, null,
null);
+ Add_Action (Table.States (144), 43, (287, 1), 289);
+ Add_Conflict (Table.States (144), 43, (194, 0), 1, null, null);
+ Add_Action (Table.States (144), 53, Reduce, (194, 0), 1, null,
null);
+ Add_Action (Table.States (144), 68, Reduce, (194, 0), 1, null,
null);
+ Add_Action (Table.States (144), 74, Reduce, (194, 0), 1, null,
null);
+ Add_Action (Table.States (144), 75, (289, 1), 290);
+ Add_Conflict (Table.States (144), 75, (194, 0), 1, null, null);
+ Add_Action (Table.States (144), 78, Reduce, (194, 0), 1, null,
null);
+ Add_Action (Table.States (144), 79, Reduce, (194, 0), 1, null,
null);
+ Add_Action (Table.States (144), 82, Reduce, (194, 0), 1, null,
null);
+ Add_Action (Table.States (144), 86, Reduce, (194, 0), 1, null,
null);
+ Add_Action (Table.States (144), 90, Reduce, (194, 0), 1, null,
null);
+ Add_Action (Table.States (144), 99, Reduce, (194, 0), 1, null,
null);
+ Table.States (144).Kernel := To_Vector ((((194, 0), 290, 0,
(194, 0), 1), ((285, 1), 290, 2,
+ (2147483647, 0), 0), ((286, 1), 290, 3, (2147483647, 0), 0),
((287, 1), 290, 2, (2147483647, 0), 0),
+ ((288, 1), 290, 3, (2147483647, 0), 0), ((289, 1), 290, 2,
(2147483647, 0), 0)));
+ Table.States (144).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (194, 0), 1)));
+ Table.States (145).Action_List.Set_Capacity (26);
+ Add_Action (Table.States (145), 10, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 20, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 21, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 22, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 23, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 33, (290, 1), 291);
+ Add_Action (Table.States (145), 35, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 37, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 40, (290, 0), 292);
+ Add_Action (Table.States (145), 43, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 53, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 68, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 74, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 75, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 78, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 79, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 82, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 86, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 89, (291, 0), 293);
+ Add_Action (Table.States (145), 90, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 91, (291, 4), 294);
+ Add_Action (Table.States (145), 92, (291, 5), 295);
+ Add_Action (Table.States (145), 94, (291, 2), 296);
+ Add_Action (Table.States (145), 95, (291, 3), 297);
+ Add_Action (Table.States (145), 99, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (145), 101, (291, 1), 298);
Table.States (145).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (145), 238, 302);
- Table.States (145).Kernel := To_Vector (((321, 321, 2, True),
(322, 321, 0, False)));
- Table.States (145).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 322, 1)));
- Table.States (146).Action_List.Set_Capacity (31);
- Add_Action (Table.States (146), 10, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 20, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 21, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 22, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 23, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 33, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 35, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 37, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 40, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 42, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 43, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 53, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 68, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 74, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 75, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 77, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 78, 303);
- Add_Action (Table.States (146), 80, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 83, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 84, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 86, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 87, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 88, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 89, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 90, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 92, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 93, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 95, 304);
- Add_Action (Table.States (146), 96, 305);
- Add_Action (Table.States (146), 97, Reduce, (302, 1), 1, null,
null);
- Add_Action (Table.States (146), 99, Reduce, (302, 1), 1, null,
null);
+ Add_Goto (Table.States (145), 291, 299);
+ Table.States (145).Kernel := To_Vector ((((290, 0), 304, 3,
(2147483647, 0), 0), ((290, 1), 304, 2,
+ (2147483647, 0), 0), ((290, 2), 304, 2, (2147483647, 0), 0),
((290, 3), 304, 0, (290, 3), 1)));
+ Table.States (145).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (290, 3), 1)));
+ Table.States (146).Action_List.Set_Capacity (36);
+ Add_Action (Table.States (146), 10, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 20, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 21, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 22, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 23, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 33, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 35, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 37, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 38, (240, 2), 300);
+ Add_Action (Table.States (146), 40, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 42, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 43, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 53, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 55, (240, 3), 301);
+ Add_Action (Table.States (146), 68, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 74, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 75, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 78, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 79, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 80, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 82, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 85, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 86, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 88, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 89, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 90, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 91, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 92, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 94, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 95, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 97, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 98, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 99, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 100, (240, 1), 302);
+ Add_Action (Table.States (146), 101, Reduce, (324, 1), 1, null,
null);
+ Add_Action (Table.States (146), 102, (240, 0), 303);
Table.States (146).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (146), 131, 306);
- Table.States (146).Kernel := To_Vector (((302, 322, 0, False),
(322, 322, 2, True)));
- Table.States (146).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 302, 1)));
- Table.States (147).Action_List.Set_Capacity (10);
- Add_Action (Table.States (147), 3, 122);
- Add_Action (Table.States (147), 39, 123);
- Add_Action (Table.States (147), 40, 124);
- Add_Action (Table.States (147), 41, 125);
- Add_Action (Table.States (147), 76, 127);
- Add_Action (Table.States (147), 79, 31);
- Add_Action (Table.States (147), 104, 130);
- Add_Action (Table.States (147), 105, 120);
- Add_Action (Table.States (147), 106, 34);
- Add_Action (Table.States (147), 107, 35);
- Table.States (147).Goto_List.Set_Capacity (9);
- Add_Goto (Table.States (147), 118, 131);
- Add_Goto (Table.States (147), 129, 42);
- Add_Goto (Table.States (147), 198, 134);
- Add_Goto (Table.States (147), 240, 135);
- Add_Goto (Table.States (147), 259, 136);
- Add_Goto (Table.States (147), 273, 93);
- Add_Goto (Table.States (147), 294, 98);
- Add_Goto (Table.States (147), 321, 145);
- Add_Goto (Table.States (147), 322, 307);
- Table.States (147).Kernel := To_Vector ((0 => (302, 331, 1,
False)));
- Table.States (147).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (148).Action_List.Set_Capacity (14);
- Add_Action (Table.States (148), 3, 122);
- Add_Action (Table.States (148), 39, 123);
- Add_Action (Table.States (148), 40, 124);
- Add_Action (Table.States (148), 41, 125);
- Add_Action (Table.States (148), 52, 126);
- Add_Action (Table.States (148), 76, 127);
- Add_Action (Table.States (148), 79, 31);
- Add_Action (Table.States (148), 95, 128);
- Add_Action (Table.States (148), 96, 129);
- Add_Action (Table.States (148), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (148), 104, 130);
- Add_Action (Table.States (148), 105, 120);
- Add_Action (Table.States (148), 106, 34);
- Add_Action (Table.States (148), 107, 35);
- Table.States (148).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (148), 118, 131);
- Add_Goto (Table.States (148), 129, 42);
- Add_Goto (Table.States (148), 192, 132);
- Add_Goto (Table.States (148), 193, 308);
- Add_Goto (Table.States (148), 198, 134);
- Add_Goto (Table.States (148), 240, 135);
- Add_Goto (Table.States (148), 259, 136);
- Add_Goto (Table.States (148), 273, 93);
- Add_Goto (Table.States (148), 276, 137);
- Add_Goto (Table.States (148), 283, 138);
- Add_Goto (Table.States (148), 284, 139);
- Add_Goto (Table.States (148), 285, 140);
- Add_Goto (Table.States (148), 286, 141);
- Add_Goto (Table.States (148), 287, 142);
- Add_Goto (Table.States (148), 288, 143);
- Add_Goto (Table.States (148), 294, 98);
- Add_Goto (Table.States (148), 302, 144);
- Add_Goto (Table.States (148), 321, 145);
- Add_Goto (Table.States (148), 322, 146);
- Add_Goto (Table.States (148), 331, 147);
- Table.States (148).Kernel := To_Vector ((0 => (162, 70, 1,
False)));
- Table.States (148).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (149).Action_List.Set_Capacity (1);
- Add_Action (Table.States (149), 97, 309);
- Table.States (149).Kernel := To_Vector ((0 => (162, 193, 1,
False)));
- Table.States (149).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 309)));
- Table.States (150).Action_List.Set_Capacity (2);
- Add_Action (Table.States (150), (72, 97), (221, 0), 1, null,
identifier_opt_0_check'Access);
- Table.States (150).Kernel := To_Vector ((0 => (221, 105, 0,
False)));
- Table.States (150).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 1)));
+ Add_Goto (Table.States (146), 240, 304);
+ Table.States (146).Kernel := To_Vector ((((323, 0), 323, 2,
(2147483647, 0), 0), ((324, 1), 323, 0,
+ (324, 1), 1)));
+ Table.States (146).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (324, 1), 1)));
+ Table.States (147).Action_List.Set_Capacity (32);
+ Add_Action (Table.States (147), 10, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 20, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 21, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 22, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 23, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 33, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 35, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 37, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 40, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 42, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 43, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 53, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 68, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 74, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 75, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 78, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 79, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 80, (133, 2), 305);
+ Add_Action (Table.States (147), 82, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 85, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 86, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 88, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 89, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 90, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 91, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 92, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 94, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 95, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 97, (133, 1), 306);
+ Add_Action (Table.States (147), 98, (133, 0), 307);
+ Add_Action (Table.States (147), 99, Reduce, (304, 1), 1, null,
null);
+ Add_Action (Table.States (147), 101, Reduce, (304, 1), 1, null,
null);
+ Table.States (147).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (147), 133, 308);
+ Table.States (147).Kernel := To_Vector ((((304, 1), 324, 0,
(304, 1), 1), ((324, 0), 324, 2,
+ (2147483647, 0), 0)));
+ Table.States (147).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (304, 1), 1)));
+ Table.States (148).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (148), 3, (200, 2), 122);
+ Add_Action (Table.States (148), 39, (261, 4), 123);
+ Add_Action (Table.States (148), 40, (200, 3), 124);
+ Add_Action (Table.States (148), 41, (261, 1), 125);
+ Add_Action (Table.States (148), 76, (120, 0), 127);
+ Add_Action (Table.States (148), 77, (120, 5), 128);
+ Add_Action (Table.States (148), 81, (242, 8), 31);
+ Add_Action (Table.States (148), 106, (261, 0), 131);
+ Add_Action (Table.States (148), 107, (242, 5), 120);
+ Add_Action (Table.States (148), 108, (242, 7), 34);
+ Add_Action (Table.States (148), 109, (242, 6), 35);
+ Table.States (148).Goto_List.Set_Capacity (9);
+ Add_Goto (Table.States (148), 120, 132);
+ Add_Goto (Table.States (148), 131, 42);
+ Add_Goto (Table.States (148), 200, 135);
+ Add_Goto (Table.States (148), 242, 136);
+ Add_Goto (Table.States (148), 261, 137);
+ Add_Goto (Table.States (148), 275, 93);
+ Add_Goto (Table.States (148), 296, 98);
+ Add_Goto (Table.States (148), 323, 146);
+ Add_Goto (Table.States (148), 324, 309);
+ Table.States (148).Kernel := To_Vector ((0 => ((304, 0), 333, 1,
(2147483647, 0), 0)));
+ Table.States (148).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (149).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (149), 3, (200, 2), 122);
+ Add_Action (Table.States (149), 39, (261, 4), 123);
+ Add_Action (Table.States (149), 40, (200, 3), 124);
+ Add_Action (Table.States (149), 41, (261, 1), 125);
+ Add_Action (Table.States (149), 52, (278, 0), 126);
+ Add_Action (Table.States (149), 76, (120, 0), 127);
+ Add_Action (Table.States (149), 77, (120, 5), 128);
+ Add_Action (Table.States (149), 81, (242, 8), 31);
+ Add_Action (Table.States (149), 97, (333, 1), 129);
+ Add_Action (Table.States (149), 98, (333, 0), 130);
+ Add_Action (Table.States (149), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (149), 106, (261, 0), 131);
+ Add_Action (Table.States (149), 107, (242, 5), 120);
+ Add_Action (Table.States (149), 108, (242, 7), 34);
+ Add_Action (Table.States (149), 109, (242, 6), 35);
+ Table.States (149).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (149), 120, 132);
+ Add_Goto (Table.States (149), 131, 42);
+ Add_Goto (Table.States (149), 194, 133);
+ Add_Goto (Table.States (149), 195, 310);
+ Add_Goto (Table.States (149), 200, 135);
+ Add_Goto (Table.States (149), 242, 136);
+ Add_Goto (Table.States (149), 261, 137);
+ Add_Goto (Table.States (149), 275, 93);
+ Add_Goto (Table.States (149), 278, 138);
+ Add_Goto (Table.States (149), 285, 139);
+ Add_Goto (Table.States (149), 286, 140);
+ Add_Goto (Table.States (149), 287, 141);
+ Add_Goto (Table.States (149), 288, 142);
+ Add_Goto (Table.States (149), 289, 143);
+ Add_Goto (Table.States (149), 290, 144);
+ Add_Goto (Table.States (149), 296, 98);
+ Add_Goto (Table.States (149), 304, 145);
+ Add_Goto (Table.States (149), 323, 146);
+ Add_Goto (Table.States (149), 324, 147);
+ Add_Goto (Table.States (149), 333, 148);
+ Table.States (149).Kernel := To_Vector ((0 => ((164, 0), 70, 1,
(2147483647, 0), 0)));
+ Table.States (149).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (150).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (150), 99, (164, 1), 311);
+ Table.States (150).Kernel := To_Vector ((0 => ((164, 1), 195, 1,
(2147483647, 0), 0)));
+ Table.States (150).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (164, 1), 99, 311)));
Table.States (151).Action_List.Set_Capacity (2);
- Add_Action (Table.States (151), 72, 310);
- Add_Action (Table.States (151), 97, 311);
- Table.States (151).Kernel := To_Vector (((191, 221, 2, False),
(191, 221, 1, False)));
- Table.States (151).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 311)));
- Table.States (152).Action_List.Set_Capacity (8);
- Add_Action (Table.States (152), 33, 312);
- Add_Action (Table.States (152), 42, 313);
- Add_Action (Table.States (152), 71, Reduce, (164, 0), 1, null,
null);
- Add_Conflict (Table.States (152), 71, (240, 5), 1, name_5'Access,
name_5_check'Access);
- Add_Action (Table.States (152), 76, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (152), 82, 314);
- Add_Action (Table.States (152), 85, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (152), 102, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (152), 103, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Table.States (152).Kernel := To_Vector (((164, 105, 0, False),
(231, 105, 5, False), (231, 105, 4, False),
- (231, 105, 3, False), (231, 105, 3, False), (231, 105, 2, False),
(231, 105, 2, False), (240, 105, 0,
- False)));
- Table.States (152).Minimal_Complete_Actions := To_Vector
(((Reduce, 164, 1), (Reduce, 240, 1)));
- Table.States (153).Action_List.Set_Capacity (5);
- Add_Action (Table.States (153), 71, Reduce, (164, 1), 1, null,
null);
- Add_Conflict (Table.States (153), 71, (240, 7), 1, null,
name_7_check'Access);
- Add_Action (Table.States (153), 76, Reduce, (240, 7), 1, null,
name_7_check'Access);
- Add_Action (Table.States (153), 85, Reduce, (240, 7), 1, null,
name_7_check'Access);
- Add_Action (Table.States (153), 102, Reduce, (240, 7), 1, null,
name_7_check'Access);
- Add_Action (Table.States (153), 103, Reduce, (240, 7), 1, null,
name_7_check'Access);
- Table.States (153).Kernel := To_Vector (((164, 106, 0, False),
(240, 106, 0, False)));
- Table.States (153).Minimal_Complete_Actions := To_Vector
(((Reduce, 164, 1), (Reduce, 240, 1)));
+ Add_Action (Table.States (151), (72, 99), (223, 0), 1, null,
identifier_opt_0_check'Access);
+ Table.States (151).Kernel := To_Vector ((0 => ((223, 0), 107, 0,
(223, 0), 1)));
+ Table.States (151).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 0), 1)));
+ Table.States (152).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (152), 72, (193, 0), 312);
+ Add_Action (Table.States (152), 99, (193, 1), 313);
+ Table.States (152).Kernel := To_Vector ((((193, 0), 223, 2,
(2147483647, 0), 0), ((193, 1), 223, 1,
+ (2147483647, 0), 0)));
+ Table.States (152).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (193, 1), 99, 313)));
+ Table.States (153).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (153), 33, (233, 2), 314);
+ Add_Action (Table.States (153), 42, (233, 3), 315);
+ Add_Action (Table.States (153), 71, Reduce, (166, 0), 1, null,
null);
+ Add_Conflict (Table.States (153), 71, (242, 5), 1, name_5'Access,
name_5_check'Access);
+ Add_Action (Table.States (153), 76, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (153), 84, (233, 0), 316);
+ Add_Action (Table.States (153), 87, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (153), 104, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (153), 105, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Table.States (153).Kernel := To_Vector ((((166, 0), 107, 0,
(166, 0), 1), ((233, 0), 107, 5,
+ (2147483647, 0), 0), ((233, 1), 107, 4, (2147483647, 0), 0),
((233, 2), 107, 3, (2147483647, 0), 0),
+ ((233, 3), 107, 3, (2147483647, 0), 0), ((233, 4), 107, 2,
(2147483647, 0), 0), ((233, 5), 107, 2,
+ (2147483647, 0), 0), ((242, 5), 107, 0, (242, 5), 1)));
+ Table.States (153).Minimal_Complete_Actions := To_Vector
(((Reduce, (166, 0), 1), (Shift, (233, 3), 42,
+ 315), (Shift, (233, 2), 33, 314), (Reduce, (242, 5), 1)));
Table.States (154).Action_List.Set_Capacity (5);
- Add_Action (Table.States (154), 71, 315);
- Add_Conflict (Table.States (154), 71, (240, 3), 1, null, null);
- Add_Action (Table.States (154), 76, Reduce, (240, 3), 1, null,
null);
- Add_Action (Table.States (154), 85, Reduce, (240, 3), 1, null,
null);
- Add_Action (Table.States (154), 102, Reduce, (240, 3), 1, null,
null);
- Add_Action (Table.States (154), 103, Reduce, (240, 3), 1, null,
null);
- Table.States (154).Kernel := To_Vector (((122, 129, 2, False),
(240, 129, 0, True)));
- Table.States (154).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 240, 1)));
- Table.States (154).Minimal_Complete_Actions_Recursive := True;
- Table.States (155).Action_List.Set_Capacity (1);
- Add_Action (Table.States (155), 71, 316);
- Table.States (155).Kernel := To_Vector ((0 => (128, 164, 3,
False)));
- Table.States (155).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 71, 316)));
+ Add_Action (Table.States (154), 71, Reduce, (166, 1), 1, null,
null);
+ Add_Conflict (Table.States (154), 71, (242, 7), 1, null,
name_7_check'Access);
+ Add_Action (Table.States (154), 76, Reduce, (242, 7), 1, null,
name_7_check'Access);
+ Add_Action (Table.States (154), 87, Reduce, (242, 7), 1, null,
name_7_check'Access);
+ Add_Action (Table.States (154), 104, Reduce, (242, 7), 1, null,
name_7_check'Access);
+ Add_Action (Table.States (154), 105, Reduce, (242, 7), 1, null,
name_7_check'Access);
+ Table.States (154).Kernel := To_Vector ((((166, 1), 108, 0,
(166, 1), 1), ((242, 7), 108, 0, (242, 7),
+ 1)));
+ Table.States (154).Minimal_Complete_Actions := To_Vector
(((Reduce, (166, 1), 1), (Reduce, (242, 7),
+ 1)));
+ Table.States (155).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (155), 71, (124, 0), 317);
+ Add_Conflict (Table.States (155), 71, (242, 3), 1, null, null);
+ Add_Action (Table.States (155), 76, Reduce, (242, 3), 1, null,
null);
+ Add_Action (Table.States (155), 87, Reduce, (242, 3), 1, null,
null);
+ Add_Action (Table.States (155), 104, Reduce, (242, 3), 1, null,
null);
+ Add_Action (Table.States (155), 105, Reduce, (242, 3), 1, null,
null);
+ Table.States (155).Kernel := To_Vector ((((124, 0), 131, 2,
(2147483647, 0), 0), ((242, 3), 131, 0,
+ (242, 3), 1)));
+ Table.States (155).Minimal_Complete_Actions := To_Vector (((Shift,
(124, 0), 71, 317), (Reduce, (242, 3),
+ 1)));
Table.States (156).Action_List.Set_Capacity (1);
- Add_Action (Table.States (156), (1 => 37), (232, 0), 1, null,
null);
- Table.States (156).Kernel := To_Vector ((0 => (232, 231, 0,
False)));
- Table.States (156).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 232, 1)));
+ Add_Action (Table.States (156), 71, (130, 0), 318);
+ Table.States (156).Kernel := To_Vector ((0 => ((130, 0), 166, 3,
(2147483647, 0), 0)));
+ Table.States (156).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (130, 0), 71, 318)));
Table.States (157).Action_List.Set_Capacity (1);
- Add_Action (Table.States (157), (1 => 37), (230, 1), 2,
iteration_scheme_1'Access, null);
- Table.States (157).Kernel := To_Vector ((0 => (230, 232, 0,
False)));
- Table.States (157).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 230, 2)));
- Table.States (158).Action_List.Set_Capacity (5);
- Add_Action (Table.States (158), 71, 317);
- Add_Action (Table.States (158), 76, 236);
- Add_Action (Table.States (158), 85, 238);
- Add_Action (Table.States (158), 102, 240);
- Add_Action (Table.States (158), 103, 241);
- Table.States (158).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (158), 116, 242);
- Add_Goto (Table.States (158), 323, 243);
- Table.States (158).Kernel := To_Vector (((129, 240, 2, True),
(183, 240, 4, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (282, 240, 13, False),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True)));
- Table.States (158).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 71, 317)));
+ Add_Action (Table.States (157), (1 => 37), (234, 0), 1, null,
null);
+ Table.States (157).Kernel := To_Vector ((0 => ((234, 0), 233, 0,
(234, 0), 1)));
+ Table.States (157).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (234, 0), 1)));
+ Table.States (158).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (158), (1 => 37), (232, 1), 2,
iteration_scheme_1'Access, null);
+ Table.States (158).Kernel := To_Vector ((0 => ((232, 1), 234, 0,
(232, 1), 2)));
+ Table.States (158).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (232, 1), 2)));
Table.States (159).Action_List.Set_Capacity (5);
- Add_Action (Table.States (159), 58, 318);
- Add_Action (Table.States (159), 76, 319);
- Add_Action (Table.States (159), 85, 238);
- Add_Action (Table.States (159), 102, 240);
- Add_Action (Table.States (159), 103, 241);
- Table.States (159).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (159), 116, 242);
- Add_Goto (Table.States (159), 200, 320);
- Add_Goto (Table.States (159), 253, 321);
- Add_Goto (Table.States (159), 292, 322);
- Add_Goto (Table.States (159), 323, 243);
- Table.States (159).Kernel := To_Vector (((129, 240, 2, True),
(208, 240, 1, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (159).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 58, 318)));
- Table.States (160).Action_List.Set_Capacity (4);
- Add_Action (Table.States (160), 79, 31);
- Add_Action (Table.States (160), 105, 120);
- Add_Action (Table.States (160), 106, 34);
- Add_Action (Table.States (160), 107, 35);
- Table.States (160).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (160), 129, 42);
- Add_Goto (Table.States (160), 240, 323);
- Add_Goto (Table.States (160), 273, 93);
- Add_Goto (Table.States (160), 294, 98);
- Table.States (160).Kernel := To_Vector ((0 => (216, 29, 4,
False)));
- Table.States (160).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
+ Add_Action (Table.States (159), 71, (185, 0), 319);
+ Add_Action (Table.States (159), 76, (118, 0), 237);
+ Add_Action (Table.States (159), 87, (296, 0), 239);
+ Add_Action (Table.States (159), 104, (325, 0), 241);
+ Add_Action (Table.States (159), 105, (325, 1), 242);
+ Table.States (159).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (159), 118, 243);
+ Add_Goto (Table.States (159), 325, 244);
+ Table.States (159).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((185, 0), 242, 4,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((284, 0), 242, 13,
(2147483647, 0), 0), ((296, 0), 242, 2,
+ (2147483647, 0), 0), ((296, 1), 242, 2, (2147483647, 0), 0),
((296, 2), 242, 2, (2147483647, 0), 0),
+ ((296, 3), 242, 2, (2147483647, 0), 0)));
+ Table.States (159).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (185, 0), 71, 319)));
+ Table.States (160).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (160), 58, (294, 0), 320);
+ Add_Action (Table.States (160), 76, (118, 0), 321);
+ Add_Action (Table.States (160), 87, (296, 0), 239);
+ Add_Action (Table.States (160), 104, (325, 0), 241);
+ Add_Action (Table.States (160), 105, (325, 1), 242);
+ Table.States (160).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (160), 118, 243);
+ Add_Goto (Table.States (160), 202, 322);
+ Add_Goto (Table.States (160), 255, 323);
+ Add_Goto (Table.States (160), 294, 324);
+ Add_Goto (Table.States (160), 325, 244);
+ Table.States (160).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((210, 0), 242, 1,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (160).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (294, 0), 58, 320)));
Table.States (161).Action_List.Set_Capacity (4);
- Add_Action (Table.States (161), 79, 31);
- Add_Action (Table.States (161), 105, 120);
- Add_Action (Table.States (161), 106, 34);
- Add_Action (Table.States (161), 107, 35);
+ Add_Action (Table.States (161), 81, (242, 8), 31);
+ Add_Action (Table.States (161), 107, (242, 5), 120);
+ Add_Action (Table.States (161), 108, (242, 7), 34);
+ Add_Action (Table.States (161), 109, (242, 6), 35);
Table.States (161).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (161), 129, 42);
- Add_Goto (Table.States (161), 240, 324);
- Add_Goto (Table.States (161), 273, 93);
- Add_Goto (Table.States (161), 294, 98);
- Table.States (161).Kernel := To_Vector ((0 => (216, 47, 4,
False)));
- Table.States (161).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
+ Add_Goto (Table.States (161), 131, 42);
+ Add_Goto (Table.States (161), 242, 325);
+ Add_Goto (Table.States (161), 275, 93);
+ Add_Goto (Table.States (161), 296, 98);
+ Table.States (161).Kernel := To_Vector ((0 => ((218, 2), 29, 4,
(2147483647, 0), 0)));
+ Table.States (161).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
Table.States (162).Action_List.Set_Capacity (4);
- Add_Action (Table.States (162), 79, 31);
- Add_Action (Table.States (162), 105, 120);
- Add_Action (Table.States (162), 106, 34);
- Add_Action (Table.States (162), 107, 35);
+ Add_Action (Table.States (162), 81, (242, 8), 31);
+ Add_Action (Table.States (162), 107, (242, 5), 120);
+ Add_Action (Table.States (162), 108, (242, 7), 34);
+ Add_Action (Table.States (162), 109, (242, 6), 35);
Table.States (162).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (162), 129, 42);
- Add_Goto (Table.States (162), 240, 325);
- Add_Goto (Table.States (162), 273, 93);
- Add_Goto (Table.States (162), 294, 98);
- Table.States (162).Kernel := To_Vector ((0 => (216, 50, 4,
False)));
- Table.States (162).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (163).Action_List.Set_Capacity (1);
- Add_Action (Table.States (163), 105, 326);
- Table.States (163).Kernel := To_Vector (((202, 69, 4, False),
(202, 69, 4, False), (202, 69, 2, False)));
- Table.States (163).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 326)));
- Table.States (164).Action_List.Set_Capacity (3);
- Add_Action (Table.States (164), 29, 7);
- Add_Action (Table.States (164), 47, 327);
- Add_Action (Table.States (164), 50, 18);
- Table.States (164).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (164), 208, 62);
- Add_Goto (Table.States (164), 263, 88);
- Add_Goto (Table.States (164), 313, 328);
- Table.States (164).Kernel := To_Vector (((201, 74, 6, False),
(201, 74, 5, False), (201, 74, 5, False),
- (201, 74, 3, False), (205, 74, 6, False)));
- Table.States (164).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 50, 18)));
- Table.States (165).Action_List.Set_Capacity (2);
- Add_Action (Table.States (165), (82, 84), (220, 1), 1,
identifier_list_1'Access, null);
- Table.States (165).Kernel := To_Vector ((0 => (220, 105, 0,
False)));
- Table.States (165).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 220, 1)));
- Table.States (166).Action_List.Set_Capacity (8);
- Add_Action (Table.States (166), (29, 47, 48, 50, 69, 71, 74, 105),
(213, 0), 1, null, null);
- Table.States (166).Kernel := To_Vector ((0 => (213, 199, 0,
False)));
- Table.States (166).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 213, 1)));
+ Add_Goto (Table.States (162), 131, 42);
+ Add_Goto (Table.States (162), 242, 326);
+ Add_Goto (Table.States (162), 275, 93);
+ Add_Goto (Table.States (162), 296, 98);
+ Table.States (162).Kernel := To_Vector ((0 => ((218, 0), 47, 4,
(2147483647, 0), 0)));
+ Table.States (162).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (163).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (163), 81, (242, 8), 31);
+ Add_Action (Table.States (163), 107, (242, 5), 120);
+ Add_Action (Table.States (163), 108, (242, 7), 34);
+ Add_Action (Table.States (163), 109, (242, 6), 35);
+ Table.States (163).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (163), 131, 42);
+ Add_Goto (Table.States (163), 242, 327);
+ Add_Goto (Table.States (163), 275, 93);
+ Add_Goto (Table.States (163), 296, 98);
+ Table.States (163).Kernel := To_Vector ((0 => ((218, 1), 50, 4,
(2147483647, 0), 0)));
+ Table.States (163).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (164).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (164), 107, (204, 0), 328);
+ Table.States (164).Kernel := To_Vector ((((204, 0), 69, 4,
(2147483647, 0), 0), ((204, 1), 69, 4,
+ (2147483647, 0), 0), ((204, 2), 69, 2, (2147483647, 0), 0)));
+ Table.States (164).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (204, 0), 107, 328)));
+ Table.States (165).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (165), 29, (210, 0), 7);
+ Add_Action (Table.States (165), 47, (207, 0), 329);
+ Add_Action (Table.States (165), 50, (265, 0), 18);
+ Table.States (165).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (165), 210, 62);
+ Add_Goto (Table.States (165), 265, 88);
+ Add_Goto (Table.States (165), 315, 330);
+ Table.States (165).Kernel := To_Vector ((((203, 0), 74, 6,
(2147483647, 0), 0), ((203, 1), 74, 5,
+ (2147483647, 0), 0), ((203, 2), 74, 5, (2147483647, 0), 0),
((203, 3), 74, 3, (2147483647, 0), 0),
+ ((207, 0), 74, 6, (2147483647, 0), 0)));
+ Table.States (165).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (265, 0), 50, 18)));
+ Table.States (166).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (166), (84, 86), (222, 1), 1,
identifier_list_1'Access, null);
+ Table.States (166).Kernel := To_Vector ((0 => ((222, 1), 107, 0,
(222, 1), 1)));
+ Table.States (166).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (222, 1), 1)));
Table.States (167).Action_List.Set_Capacity (8);
- Add_Action (Table.States (167), (29, 47, 48, 50, 69, 71, 74, 105),
(213, 2), 1, null, null);
- Table.States (167).Kernel := To_Vector ((0 => (213, 201, 0,
False)));
- Table.States (167).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 213, 1)));
+ Add_Action (Table.States (167), (29, 47, 48, 50, 69, 71, 74, 107),
(215, 0), 1, null, null);
+ Table.States (167).Kernel := To_Vector ((0 => ((215, 0), 201, 0,
(215, 0), 1)));
+ Table.States (167).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (215, 0), 1)));
Table.States (168).Action_List.Set_Capacity (8);
- Add_Action (Table.States (168), (29, 47, 48, 50, 69, 71, 74, 105),
(213, 1), 1, null, null);
- Table.States (168).Kernel := To_Vector ((0 => (213, 202, 0,
False)));
- Table.States (168).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 213, 1)));
+ Add_Action (Table.States (168), (29, 47, 48, 50, 69, 71, 74, 107),
(215, 2), 1, null, null);
+ Table.States (168).Kernel := To_Vector ((0 => ((215, 2), 203, 0,
(215, 2), 1)));
+ Table.States (168).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (215, 2), 1)));
Table.States (169).Action_List.Set_Capacity (8);
- Add_Action (Table.States (169), (29, 47, 48, 50, 69, 71, 74, 105),
(213, 3), 1, null, null);
- Table.States (169).Kernel := To_Vector ((0 => (213, 205, 0,
False)));
- Table.States (169).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 213, 1)));
+ Add_Action (Table.States (169), (29, 47, 48, 50, 69, 71, 74, 107),
(215, 1), 1, null, null);
+ Table.States (169).Kernel := To_Vector ((0 => ((215, 1), 204, 0,
(215, 1), 1)));
+ Table.States (169).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (215, 1), 1)));
Table.States (170).Action_List.Set_Capacity (8);
- Add_Action (Table.States (170), 29, Reduce, (211, 0), 2,
generic_formal_part_0'Access, null);
- Add_Action (Table.States (170), 47, Reduce, (211, 0), 2,
generic_formal_part_0'Access, null);
- Add_Action (Table.States (170), 48, 16);
- Add_Action (Table.States (170), 50, Reduce, (211, 0), 2,
generic_formal_part_0'Access, null);
- Add_Action (Table.States (170), 69, 163);
- Add_Action (Table.States (170), 71, 28);
- Add_Action (Table.States (170), 74, 164);
- Add_Action (Table.States (170), 105, 165);
- Table.States (170).Goto_List.Set_Capacity (8);
- Add_Goto (Table.States (170), 199, 166);
- Add_Goto (Table.States (170), 201, 167);
- Add_Goto (Table.States (170), 202, 168);
- Add_Goto (Table.States (170), 205, 169);
- Add_Goto (Table.States (170), 213, 329);
- Add_Goto (Table.States (170), 220, 172);
- Add_Goto (Table.States (170), 258, 173);
- Add_Goto (Table.States (170), 332, 174);
- Table.States (170).Kernel := To_Vector (((211, 212, 0, False),
(212, 212, 3, True)));
- Table.States (170).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 211, 2)));
+ Add_Action (Table.States (170), (29, 47, 48, 50, 69, 71, 74, 107),
(215, 3), 1, null, null);
+ Table.States (170).Kernel := To_Vector ((0 => ((215, 3), 207, 0,
(215, 3), 1)));
+ Table.States (170).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (215, 3), 1)));
Table.States (171).Action_List.Set_Capacity (8);
- Add_Action (Table.States (171), (29, 47, 48, 50, 69, 71, 74, 105),
(212, 1), 1, null, null);
- Table.States (171).Kernel := To_Vector ((0 => (212, 213, 0,
False)));
- Table.States (171).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 212, 1)));
- Table.States (172).Action_List.Set_Capacity (2);
- Add_Action (Table.States (172), 82, 330);
- Add_Action (Table.States (172), 84, 235);
- Table.States (172).Kernel := To_Vector (((199, 220, 4, False),
(199, 220, 5, False), (199, 220, 3, False),
- (199, 220, 4, False), (220, 220, 2, True)));
- Table.States (172).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 82, 330)));
- Table.States (173).Action_List.Set_Capacity (8);
- Add_Action (Table.States (173), (29, 47, 48, 50, 69, 71, 74, 105),
(213, 4), 1, null, null);
- Table.States (173).Kernel := To_Vector ((0 => (213, 258, 0,
False)));
- Table.States (173).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 213, 1)));
+ Add_Action (Table.States (171), 29, Reduce, (213, 0), 2,
generic_formal_part_0'Access, null);
+ Add_Action (Table.States (171), 47, Reduce, (213, 0), 2,
generic_formal_part_0'Access, null);
+ Add_Action (Table.States (171), 48, (260, 0), 16);
+ Add_Action (Table.States (171), 50, Reduce, (213, 0), 2,
generic_formal_part_0'Access, null);
+ Add_Action (Table.States (171), 69, (204, 0), 164);
+ Add_Action (Table.States (171), 71, (334, 0), 28);
+ Add_Action (Table.States (171), 74, (203, 0), 165);
+ Add_Action (Table.States (171), 107, (222, 1), 166);
+ Table.States (171).Goto_List.Set_Capacity (8);
+ Add_Goto (Table.States (171), 201, 167);
+ Add_Goto (Table.States (171), 203, 168);
+ Add_Goto (Table.States (171), 204, 169);
+ Add_Goto (Table.States (171), 207, 170);
+ Add_Goto (Table.States (171), 215, 331);
+ Add_Goto (Table.States (171), 222, 173);
+ Add_Goto (Table.States (171), 260, 174);
+ Add_Goto (Table.States (171), 334, 175);
+ Table.States (171).Kernel := To_Vector ((((213, 0), 214, 0,
(213, 0), 2), ((214, 0), 214, 3,
+ (2147483647, 0), 0)));
+ Table.States (171).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (213, 0), 2)));
+ Table.States (172).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (172), (29, 47, 48, 50, 69, 71, 74, 107),
(214, 1), 1, null, null);
+ Table.States (172).Kernel := To_Vector ((0 => ((214, 1), 215, 0,
(214, 1), 1)));
+ Table.States (172).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (214, 1), 1)));
+ Table.States (173).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (173), 84, (201, 0), 332);
+ Add_Action (Table.States (173), 86, (222, 0), 236);
+ Table.States (173).Kernel := To_Vector ((((201, 0), 222, 4,
(2147483647, 0), 0), ((201, 1), 222, 5,
+ (2147483647, 0), 0), ((201, 2), 222, 3, (2147483647, 0), 0),
((201, 3), 222, 4, (2147483647, 0), 0),
+ ((222, 0), 222, 2, (2147483647, 0), 0)));
+ Table.States (173).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (201, 0), 84, 332)));
+ end Subr_3;
+ procedure Subr_4
+ is begin
Table.States (174).Action_List.Set_Capacity (8);
- Add_Action (Table.States (174), (29, 47, 48, 50, 69, 71, 74, 105),
(213, 5), 1, null, null);
- Table.States (174).Kernel := To_Vector ((0 => (213, 332, 0,
False)));
- Table.States (174).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 213, 1)));
- Table.States (175).Action_List.Set_Capacity (1);
- Add_Action (Table.States (175), 97, 331);
- Table.States (175).Kernel := To_Vector ((0 => (304, 105, 1,
False)));
- Table.States (175).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 331)));
+ Add_Action (Table.States (174), (29, 47, 48, 50, 69, 71, 74, 107),
(215, 4), 1, null, null);
+ Table.States (174).Kernel := To_Vector ((0 => ((215, 4), 260, 0,
(215, 4), 1)));
+ Table.States (174).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (215, 4), 1)));
+ Table.States (175).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (175), (29, 47, 48, 50, 69, 71, 74, 107),
(215, 5), 1, null, null);
+ Table.States (175).Kernel := To_Vector ((0 => ((215, 5), 334, 0,
(215, 5), 1)));
+ Table.States (175).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (215, 5), 1)));
Table.States (176).Action_List.Set_Capacity (1);
- Add_Action (Table.States (176), 68, 332);
- Table.States (176).Kernel := To_Vector (((223, 193, 7, False),
(223, 193, 5, False), (223, 193, 6, False),
- (223, 193, 4, False)));
- Table.States (176).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 68, 332)));
+ Add_Action (Table.States (176), 99, (306, 3), 333);
+ Table.States (176).Kernel := To_Vector ((0 => ((306, 3), 107, 1,
(2147483647, 0), 0)));
+ Table.States (176).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (306, 3), 99, 333)));
Table.States (177).Action_List.Set_Capacity (1);
- Add_Action (Table.States (177), 74, 333);
- Table.States (177).Kernel := To_Vector ((0 => (333, 49, 3,
False)));
- Table.States (177).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 74, 333)));
- Table.States (178).Action_List.Set_Capacity (4);
- Add_Action (Table.States (178), 79, 31);
- Add_Action (Table.States (178), 105, 120);
- Add_Action (Table.States (178), 106, 34);
- Add_Action (Table.States (178), 107, 35);
- Table.States (178).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (178), 129, 42);
- Add_Goto (Table.States (178), 239, 334);
- Add_Goto (Table.States (178), 240, 220);
- Add_Goto (Table.States (178), 273, 93);
- Add_Goto (Table.States (178), 294, 98);
- Table.States (178).Kernel := To_Vector ((0 => (333, 74, 2,
False)));
- Table.States (178).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (179).Action_List.Set_Capacity (3);
- Add_Action (Table.States (179), (25, 29, 50), (247, 0), 2,
overriding_indicator_opt_0'Access, null);
- Table.States (179).Kernel := To_Vector ((0 => (247, 46, 0,
False)));
- Table.States (179).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 247, 2)));
- Table.States (180).Action_List.Set_Capacity (47);
- Add_Action (Table.States (180), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (304, 0), 2, simple_statement_0'Access, null);
- Table.States (180).Kernel := To_Vector ((0 => (304, 97, 0,
False)));
- Table.States (180).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 304, 2)));
- Table.States (181).Action_List.Set_Capacity (4);
- Add_Action (Table.States (181), 79, 31);
- Add_Action (Table.States (181), 105, 120);
- Add_Action (Table.States (181), 106, 34);
- Add_Action (Table.States (181), 107, 35);
- Table.States (181).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (181), 129, 42);
- Add_Goto (Table.States (181), 240, 335);
- Add_Goto (Table.States (181), 273, 93);
- Add_Goto (Table.States (181), 294, 98);
- Table.States (181).Kernel := To_Vector (((248, 14, 5, False),
(248, 14, 4, False), (249, 14, 4, False)));
- Table.States (181).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (182).Action_List.Set_Capacity (7);
- Add_Action (Table.States (182), 35, 336);
- Add_Conflict (Table.States (182), 35, (123, 1), 0, null, null);
- Add_Action (Table.States (182), 56, 337);
- Add_Action (Table.States (182), 74, 338);
- Add_Action (Table.States (182), 76, 236);
- Add_Action (Table.States (182), 85, 238);
- Add_Action (Table.States (182), 102, 240);
- Add_Action (Table.States (182), 103, 241);
- Table.States (182).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (182), 116, 242);
- Add_Goto (Table.States (182), 123, 339);
- Add_Goto (Table.States (182), 323, 243);
- Table.States (182).Kernel := To_Vector (((129, 240, 2, True),
(214, 240, 4, False), (240, 240, 5, True),
- (240, 240, 2, True), (251, 240, 3, False), (252, 240, 3, False),
(252, 240, 2, False), (273, 240, 3, True),
- (294, 240, 2, True), (294, 240, 2, True), (294, 240, 2, True),
(294, 240, 2, True)));
- Table.States (182).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (183).Action_List.Set_Capacity (2);
- Add_Action (Table.States (183), 76, 340);
- Add_Action (Table.States (183), 97, 341);
- Table.States (183).Kernel := To_Vector (((258, 105, 3, False),
(258, 105, 5, False), (258, 105, 1,
- False)));
- Table.States (183).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 341)));
- Table.States (184).Action_List.Set_Capacity (4);
- Add_Action (Table.States (184), 79, 31);
- Add_Action (Table.States (184), 105, 342);
- Add_Action (Table.States (184), 106, 153);
- Add_Action (Table.States (184), 107, 35);
- Table.States (184).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (184), 129, 154);
- Add_Goto (Table.States (184), 164, 155);
- Add_Goto (Table.States (184), 240, 158);
- Add_Goto (Table.States (184), 273, 93);
- Add_Goto (Table.States (184), 294, 98);
- Table.States (184).Kernel := To_Vector (((122, 28, 5, False),
(128, 28, 4, False), (183, 28, 5, False),
- (282, 28, 14, False)));
- Table.States (184).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 342)));
+ Add_Action (Table.States (177), 68, (225, 0), 334);
+ Table.States (177).Kernel := To_Vector ((((225, 0), 195, 7,
(2147483647, 0), 0), ((225, 1), 195, 5,
+ (2147483647, 0), 0), ((225, 2), 195, 6, (2147483647, 0), 0),
((225, 3), 195, 4, (2147483647, 0),
+ 0)));
+ Table.States (177).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (225, 0), 68, 334)));
+ Table.States (178).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (178), 74, (335, 0), 335);
+ Table.States (178).Kernel := To_Vector ((0 => ((335, 0), 49, 3,
(2147483647, 0), 0)));
+ Table.States (178).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (335, 0), 74, 335)));
+ Table.States (179).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (179), 81, (242, 8), 31);
+ Add_Action (Table.States (179), 107, (242, 5), 120);
+ Add_Action (Table.States (179), 108, (242, 7), 34);
+ Add_Action (Table.States (179), 109, (242, 6), 35);
+ Table.States (179).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (179), 131, 42);
+ Add_Goto (Table.States (179), 241, 336);
+ Add_Goto (Table.States (179), 242, 221);
+ Add_Goto (Table.States (179), 275, 93);
+ Add_Goto (Table.States (179), 296, 98);
+ Table.States (179).Kernel := To_Vector ((0 => ((335, 1), 74, 2,
(2147483647, 0), 0)));
+ Table.States (179).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (180).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (180), (25, 29, 50), (249, 0), 2,
overriding_indicator_opt_0'Access, null);
+ Table.States (180).Kernel := To_Vector ((0 => ((249, 0), 46, 0,
(249, 0), 2)));
+ Table.States (180).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (249, 0), 2)));
+ Table.States (181).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (181), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (306, 0), 2, simple_statement_0'Access, null);
+ Table.States (181).Kernel := To_Vector ((0 => ((306, 0), 99, 0,
(306, 0), 2)));
+ Table.States (181).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (306, 0), 2)));
+ Table.States (182).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (182), 81, (242, 8), 31);
+ Add_Action (Table.States (182), 107, (242, 5), 120);
+ Add_Action (Table.States (182), 108, (242, 7), 34);
+ Add_Action (Table.States (182), 109, (242, 6), 35);
+ Table.States (182).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (182), 131, 42);
+ Add_Goto (Table.States (182), 242, 337);
+ Add_Goto (Table.States (182), 275, 93);
+ Add_Goto (Table.States (182), 296, 98);
+ Table.States (182).Kernel := To_Vector ((((250, 0), 14, 5,
(2147483647, 0), 0), ((250, 1), 14, 4,
+ (2147483647, 0), 0), ((251, 0), 14, 4, (2147483647, 0), 0)));
+ Table.States (182).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (183).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (183), 35, (216, 0), 338);
+ Add_Conflict (Table.States (183), 35, (125, 1), 0, null, null);
+ Add_Action (Table.States (183), 56, (253, 0), 339);
+ Add_Action (Table.States (183), 74, (125, 0), 340);
+ Add_Action (Table.States (183), 76, (118, 0), 237);
+ Add_Action (Table.States (183), 87, (296, 0), 239);
+ Add_Action (Table.States (183), 104, (325, 0), 241);
+ Add_Action (Table.States (183), 105, (325, 1), 242);
+ Table.States (183).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (183), 118, 243);
+ Add_Goto (Table.States (183), 125, 341);
+ Add_Goto (Table.States (183), 325, 244);
+ Table.States (183).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((216, 0), 242, 4,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((253, 0), 242, 3, (2147483647, 0), 0), ((254, 0), 242, 3,
(2147483647, 0), 0), ((254, 1), 242, 2,
+ (2147483647, 0), 0), ((275, 0), 242, 3, (2147483647, 0), 0),
((296, 0), 242, 2, (2147483647, 0), 0),
+ ((296, 1), 242, 2, (2147483647, 0), 0), ((296, 2), 242, 2,
(2147483647, 0), 0), ((296, 3), 242, 2,
+ (2147483647, 0), 0)));
+ Table.States (183).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (184).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (184), 76, (260, 0), 342);
+ Add_Action (Table.States (184), 99, (260, 2), 343);
+ Table.States (184).Kernel := To_Vector ((((260, 0), 107, 3,
(2147483647, 0), 0), ((260, 1), 107, 5,
+ (2147483647, 0), 0), ((260, 2), 107, 1, (2147483647, 0), 0)));
+ Table.States (184).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (260, 2), 99, 343)));
Table.States (185).Action_List.Set_Capacity (4);
- Add_Action (Table.States (185), 79, 31);
- Add_Action (Table.States (185), 105, 120);
- Add_Action (Table.States (185), 106, 34);
- Add_Action (Table.States (185), 107, 35);
+ Add_Action (Table.States (185), 81, (242, 8), 31);
+ Add_Action (Table.States (185), 107, (166, 0), 344);
+ Add_Action (Table.States (185), 108, (166, 1), 154);
+ Add_Action (Table.States (185), 109, (242, 6), 35);
Table.States (185).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (185), 129, 42);
- Add_Goto (Table.States (185), 239, 343);
- Add_Goto (Table.States (185), 240, 220);
- Add_Goto (Table.States (185), 273, 93);
- Add_Goto (Table.States (185), 294, 98);
- Table.States (185).Kernel := To_Vector ((0 => (333, 74, 2,
False)));
- Table.States (185).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (186).Action_List.Set_Capacity (2);
- Add_Action (Table.States (186), 82, 344);
- Add_Conflict (Table.States (186), 82, (220, 1), 1,
identifier_list_1'Access, null);
- Add_Action (Table.States (186), 84, Reduce, (220, 1), 1,
identifier_list_1'Access, null);
- Table.States (186).Kernel := To_Vector (((220, 105, 0, False),
(246, 105, 5, False), (246, 105, 6, False),
- (246, 105, 5, False)));
- Table.States (186).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 220, 1)));
- Table.States (187).Action_List.Set_Capacity (40);
- Add_Action (Table.States (187), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
- 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 79,
94, 105, 106, 107, 108), (143, 2), 2,
+ Add_Goto (Table.States (185), 131, 155);
+ Add_Goto (Table.States (185), 166, 156);
+ Add_Goto (Table.States (185), 242, 159);
+ Add_Goto (Table.States (185), 275, 93);
+ Add_Goto (Table.States (185), 296, 98);
+ Table.States (185).Kernel := To_Vector ((((124, 0), 28, 5,
(2147483647, 0), 0), ((130, 0), 28, 4,
+ (2147483647, 0), 0), ((185, 0), 28, 5, (2147483647, 0), 0),
((284, 0), 28, 14, (2147483647, 0), 0)));
+ Table.States (185).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (166, 0), 107, 344)));
+ Table.States (186).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (186), 81, (242, 8), 31);
+ Add_Action (Table.States (186), 107, (242, 5), 120);
+ Add_Action (Table.States (186), 108, (242, 7), 34);
+ Add_Action (Table.States (186), 109, (242, 6), 35);
+ Table.States (186).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (186), 131, 42);
+ Add_Goto (Table.States (186), 241, 345);
+ Add_Goto (Table.States (186), 242, 221);
+ Add_Goto (Table.States (186), 275, 93);
+ Add_Goto (Table.States (186), 296, 98);
+ Table.States (186).Kernel := To_Vector ((0 => ((335, 2), 74, 2,
(2147483647, 0), 0)));
+ Table.States (186).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (187).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (187), 84, (248, 0), 346);
+ Add_Conflict (Table.States (187), 84, (222, 1), 1,
identifier_list_1'Access, null);
+ Add_Action (Table.States (187), 86, Reduce, (222, 1), 1,
identifier_list_1'Access, null);
+ Table.States (187).Kernel := To_Vector ((((222, 1), 107, 0,
(222, 1), 1), ((248, 0), 107, 5,
+ (2147483647, 0), 0), ((248, 1), 107, 6, (2147483647, 0), 0),
((248, 2), 107, 5, (2147483647, 0),
+ 0)));
+ Table.States (187).Minimal_Complete_Actions := To_Vector
(((Reduce, (222, 1), 1), (Shift, (248, 0), 84,
+ 346)));
+ Table.States (188).Action_List.Set_Capacity (40);
+ Add_Action (Table.States (188), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
+ 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 81,
96, 107, 108, 109, 110), (145, 2), 2,
compilation_unit_2'Access, null);
- Table.States (187).Kernel := To_Vector ((0 => (143, 158, 0,
False)));
- Table.States (187).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 143, 2)));
- Table.States (188).Action_List.Set_Capacity (7);
- Add_Action (Table.States (188), 35, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (188), 74, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (188), 76, 319);
- Add_Action (Table.States (188), 85, 238);
- Add_Action (Table.States (188), 97, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (188), 102, 240);
- Add_Action (Table.States (188), 103, 241);
- Table.States (188).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (188), 116, 242);
- Add_Goto (Table.States (188), 200, 345);
- Add_Goto (Table.States (188), 254, 346);
- Add_Goto (Table.States (188), 323, 243);
- Table.States (188).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (263, 240, 0, False), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (188).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 254, 0)));
- Table.States (189).Action_List.Set_Capacity (1);
- Add_Action (Table.States (189), 105, 347);
- Table.States (189).Kernel := To_Vector (((265, 14, 4, False),
(266, 14, 4, False)));
- Table.States (189).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 347)));
+ Table.States (188).Kernel := To_Vector ((0 => ((145, 2), 160, 0,
(145, 2), 2)));
+ Table.States (188).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (145, 2), 2)));
+ Table.States (189).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (189), 35, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (189), 74, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (189), 76, (118, 0), 321);
+ Add_Action (Table.States (189), 87, (296, 0), 239);
+ Add_Action (Table.States (189), 99, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (189), 104, (325, 0), 241);
+ Add_Action (Table.States (189), 105, (325, 1), 242);
+ Table.States (189).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (189), 118, 243);
+ Add_Goto (Table.States (189), 202, 347);
+ Add_Goto (Table.States (189), 256, 348);
+ Add_Goto (Table.States (189), 325, 244);
+ Table.States (189).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((265, 0), 242, 0, (256, 1), 0), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (189).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (256, 1), 0)));
Table.States (190).Action_List.Set_Capacity (1);
- Add_Action (Table.States (190), 105, 348);
- Table.States (190).Kernel := To_Vector (((272, 69, 7, False),
(272, 69, 4, False)));
- Table.States (190).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 348)));
- Table.States (191).Action_List.Set_Capacity (2);
- Add_Action (Table.States (191), 35, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (191), 74, 338);
- Table.States (191).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (191), 123, 349);
- Table.States (191).Kernel := To_Vector (((305, 105, 6, False),
(305, 105, 3, False)));
- Table.States (191).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (192).Action_List.Set_Capacity (47);
- Add_Action (Table.States (192), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (277, 2), 2, raise_statement_2'Access, null);
- Table.States (192).Kernel := To_Vector ((0 => (277, 97, 0,
False)));
- Table.States (192).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 277, 2)));
- Table.States (193).Action_List.Set_Capacity (6);
- Add_Action (Table.States (193), 74, 350);
- Add_Action (Table.States (193), 76, 236);
- Add_Action (Table.States (193), 85, 238);
- Add_Action (Table.States (193), 97, 351);
- Add_Action (Table.States (193), 102, 240);
- Add_Action (Table.States (193), 103, 241);
- Table.States (193).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (193), 116, 242);
- Add_Goto (Table.States (193), 323, 243);
- Table.States (193).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (273, 240, 3, True), (277, 240, 2, False), (277, 240, 1, False),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True)));
- Table.States (193).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 351)));
+ Add_Action (Table.States (190), 107, (267, 0), 349);
+ Table.States (190).Kernel := To_Vector ((((267, 0), 14, 4,
(2147483647, 0), 0), ((268, 0), 14, 4,
+ (2147483647, 0), 0)));
+ Table.States (190).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (267, 0), 107, 349)));
+ Table.States (191).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (191), 107, (274, 0), 350);
+ Table.States (191).Kernel := To_Vector ((((274, 0), 69, 7,
(2147483647, 0), 0), ((274, 1), 69, 4,
+ (2147483647, 0), 0)));
+ Table.States (191).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (274, 0), 107, 350)));
+ Table.States (192).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (192), 35, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (192), 74, (125, 0), 340);
+ Table.States (192).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (192), 125, 351);
+ Table.States (192).Kernel := To_Vector ((((307, 0), 107, 6,
(2147483647, 0), 0), ((307, 1), 107, 3,
+ (2147483647, 0), 0)));
+ Table.States (192).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (193).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (193), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (279, 2), 2, raise_statement_2'Access, null);
+ Table.States (193).Kernel := To_Vector ((0 => ((279, 2), 99, 0,
(279, 2), 2)));
+ Table.States (193).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (279, 2), 2)));
Table.States (194).Action_List.Set_Capacity (6);
- Add_Action (Table.States (194), 74, 352);
- Add_Action (Table.States (194), 76, 236);
- Add_Action (Table.States (194), 85, 238);
- Add_Action (Table.States (194), 97, 353);
- Add_Action (Table.States (194), 102, 240);
- Add_Action (Table.States (194), 103, 241);
+ Add_Action (Table.States (194), 74, (279, 0), 352);
+ Add_Action (Table.States (194), 76, (118, 0), 237);
+ Add_Action (Table.States (194), 87, (296, 0), 239);
+ Add_Action (Table.States (194), 99, (279, 1), 353);
+ Add_Action (Table.States (194), 104, (325, 0), 241);
+ Add_Action (Table.States (194), 105, (325, 1), 242);
Table.States (194).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (194), 116, 242);
- Add_Goto (Table.States (194), 323, 243);
- Table.States (194).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (273, 240, 3, True), (291, 240, 3, False), (291, 240, 1, False),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True)));
- Table.States (194).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 353)));
- Table.States (195).Action_List.Set_Capacity (25);
- Add_Action (Table.States (195), 10, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 33, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 38, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 40, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 43, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 55, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 75, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 76, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 78, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 82, 354);
- Add_Action (Table.States (195), 85, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 87, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 89, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 90, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 92, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 93, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 95, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 96, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 97, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 98, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 99, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 100, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 101, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 102, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (195), 103, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Table.States (195).Kernel := To_Vector (((195, 105, 3, False),
(195, 105, 2, False), (240, 105, 0,
- False)));
- Table.States (195).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 240, 1)));
- end Subr_3;
- procedure Subr_4
- is begin
- Table.States (196).Action_List.Set_Capacity (1);
- Add_Action (Table.States (196), 97, 355);
- Table.States (196).Kernel := To_Vector ((0 => (303, 193, 1,
False)));
- Table.States (196).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 355)));
- Table.States (197).Action_List.Set_Capacity (2);
- Add_Action (Table.States (197), 21, Reduce, (196, 0), 1, null,
null);
- Add_Action (Table.States (197), 97, 356);
- Table.States (197).Kernel := To_Vector (((196, 195, 0, False),
(197, 195, 1, False)));
- Table.States (197).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 196, 1)));
- Table.States (198).Action_List.Set_Capacity (1);
- Add_Action (Table.States (198), 21, 357);
- Table.States (198).Kernel := To_Vector ((0 => (197, 196, 4,
False)));
- Table.States (198).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 21, 357)));
- Table.States (199).Action_List.Set_Capacity (4);
- Add_Action (Table.States (199), 79, 31);
- Add_Action (Table.States (199), 105, 120);
- Add_Action (Table.States (199), 106, 34);
- Add_Action (Table.States (199), 107, 35);
- Table.States (199).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (199), 129, 42);
- Add_Goto (Table.States (199), 240, 358);
- Add_Goto (Table.States (199), 273, 93);
- Add_Goto (Table.States (199), 294, 98);
- Table.States (199).Kernel := To_Vector ((0 => (316, 76, 8,
False)));
- Table.States (199).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (200).Action_List.Set_Capacity (1);
- Add_Action (Table.States (200), 97, 359);
- Table.States (200).Kernel := To_Vector ((0 => (296, 67, 1,
False)));
- Table.States (200).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 359)));
- Table.States (201).Action_List.Set_Capacity (14);
- Add_Action (Table.States (201), 3, 122);
- Add_Action (Table.States (201), 39, 123);
- Add_Action (Table.States (201), 40, 124);
- Add_Action (Table.States (201), 41, 125);
- Add_Action (Table.States (201), 52, 126);
- Add_Action (Table.States (201), 76, 127);
- Add_Action (Table.States (201), 79, 31);
- Add_Action (Table.States (201), 88, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (201), 95, 128);
- Add_Action (Table.States (201), 96, 129);
- Add_Action (Table.States (201), 104, 130);
- Add_Action (Table.States (201), 105, 120);
- Add_Action (Table.States (201), 106, 34);
- Add_Action (Table.States (201), 107, 35);
- Table.States (201).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (201), 118, 131);
- Add_Goto (Table.States (201), 129, 42);
- Add_Goto (Table.States (201), 192, 132);
- Add_Goto (Table.States (201), 193, 360);
- Add_Goto (Table.States (201), 198, 134);
- Add_Goto (Table.States (201), 240, 135);
- Add_Goto (Table.States (201), 259, 136);
- Add_Goto (Table.States (201), 273, 93);
- Add_Goto (Table.States (201), 276, 137);
- Add_Goto (Table.States (201), 283, 138);
- Add_Goto (Table.States (201), 284, 139);
- Add_Goto (Table.States (201), 285, 140);
- Add_Goto (Table.States (201), 286, 141);
- Add_Goto (Table.States (201), 287, 142);
- Add_Goto (Table.States (201), 288, 143);
- Add_Goto (Table.States (201), 294, 98);
- Add_Goto (Table.States (201), 302, 144);
- Add_Goto (Table.States (201), 321, 145);
- Add_Goto (Table.States (201), 322, 146);
- Add_Goto (Table.States (201), 331, 147);
- Table.States (201).Kernel := To_Vector (((296, 72, 4, False),
(296, 72, 3, False), (296, 72, 3, False)));
- Table.States (201).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (202).Action_List.Set_Capacity (26);
- Add_Action (Table.States (202), 4, 1);
- Add_Action (Table.States (202), 5, 2);
- Add_Action (Table.States (202), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (202), 15, 3);
- Add_Action (Table.States (202), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (202), 18, 4);
- Add_Action (Table.States (202), 22, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (202), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (202), 27, 5);
- Add_Action (Table.States (202), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (202), 31, 9);
- Add_Action (Table.States (202), 32, 10);
- Add_Action (Table.States (202), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (202), 41, 13);
- Add_Action (Table.States (202), 43, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (202), 48, 16);
- Add_Action (Table.States (202), 52, 20);
- Add_Action (Table.States (202), 57, 21);
- Add_Action (Table.States (202), 58, 22);
- Add_Action (Table.States (202), 61, 24);
- Add_Action (Table.States (202), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (202), 79, 31);
- Add_Action (Table.States (202), 94, 32);
- Add_Action (Table.States (202), 105, 361);
- Add_Action (Table.States (202), 106, 34);
- Add_Action (Table.States (202), 107, 35);
- Table.States (202).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (202), 114, 37);
- Add_Goto (Table.States (202), 124, 39);
- Add_Goto (Table.States (202), 127, 40);
- Add_Goto (Table.States (202), 129, 42);
- Add_Goto (Table.States (202), 132, 43);
- Add_Goto (Table.States (202), 133, 44);
- Add_Goto (Table.States (202), 134, 45);
- Add_Goto (Table.States (202), 140, 48);
- Add_Goto (Table.States (202), 152, 51);
- Add_Goto (Table.States (202), 153, 52);
- Add_Goto (Table.States (202), 162, 54);
- Add_Goto (Table.States (202), 191, 58);
- Add_Goto (Table.States (202), 197, 60);
- Add_Goto (Table.States (202), 218, 69);
- Add_Goto (Table.States (202), 223, 71);
- Add_Goto (Table.States (202), 233, 73);
- Add_Goto (Table.States (202), 240, 74);
- Add_Goto (Table.States (202), 258, 84);
- Add_Goto (Table.States (202), 262, 87);
- Add_Goto (Table.States (202), 273, 93);
- Add_Goto (Table.States (202), 277, 94);
- Add_Goto (Table.States (202), 291, 97);
- Add_Goto (Table.States (202), 294, 98);
- Add_Goto (Table.States (202), 295, 99);
- Add_Goto (Table.States (202), 299, 100);
- Add_Goto (Table.States (202), 300, 362);
- Add_Goto (Table.States (202), 301, 363);
- Add_Goto (Table.States (202), 303, 101);
- Add_Goto (Table.States (202), 304, 102);
- Add_Goto (Table.States (202), 307, 364);
- Add_Goto (Table.States (202), 324, 115);
- Table.States (202).Kernel := To_Vector ((0 => (296, 114, 0,
False)));
- Table.States (202).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (203).Action_List.Set_Capacity (3);
- Add_Action (Table.States (203), (22, 24, 43), (296, 5), 1, null,
null);
- Table.States (203).Kernel := To_Vector ((0 => (296, 161, 0,
False)));
- Table.States (203).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 296, 1)));
- Table.States (204).Action_List.Set_Capacity (27);
- Add_Action (Table.States (204), 4, 1);
- Add_Action (Table.States (204), 5, 2);
- Add_Action (Table.States (204), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (204), 15, 3);
- Add_Action (Table.States (204), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (204), 18, 4);
- Add_Action (Table.States (204), 22, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (204), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (204), 27, 5);
- Add_Action (Table.States (204), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (204), 31, 9);
- Add_Action (Table.States (204), 32, 10);
- Add_Action (Table.States (204), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (204), 41, 13);
- Add_Action (Table.States (204), 43, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (204), 48, 16);
- Add_Action (Table.States (204), 52, 20);
- Add_Action (Table.States (204), 57, 21);
- Add_Action (Table.States (204), 58, 22);
- Add_Action (Table.States (204), 61, 24);
- Add_Action (Table.States (204), 68, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (204), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (204), 79, 31);
- Add_Action (Table.States (204), 94, 32);
- Add_Action (Table.States (204), 105, 361);
- Add_Action (Table.States (204), 106, 34);
- Add_Action (Table.States (204), 107, 35);
- Table.States (204).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (204), 114, 37);
- Add_Goto (Table.States (204), 124, 39);
- Add_Goto (Table.States (204), 127, 40);
- Add_Goto (Table.States (204), 129, 42);
- Add_Goto (Table.States (204), 132, 43);
- Add_Goto (Table.States (204), 133, 44);
- Add_Goto (Table.States (204), 134, 45);
- Add_Goto (Table.States (204), 140, 48);
- Add_Goto (Table.States (204), 152, 51);
- Add_Goto (Table.States (204), 153, 52);
- Add_Goto (Table.States (204), 162, 54);
- Add_Goto (Table.States (204), 191, 58);
- Add_Goto (Table.States (204), 197, 60);
- Add_Goto (Table.States (204), 218, 69);
- Add_Goto (Table.States (204), 223, 71);
- Add_Goto (Table.States (204), 233, 73);
- Add_Goto (Table.States (204), 240, 74);
- Add_Goto (Table.States (204), 258, 84);
- Add_Goto (Table.States (204), 262, 87);
- Add_Goto (Table.States (204), 273, 93);
- Add_Goto (Table.States (204), 277, 94);
- Add_Goto (Table.States (204), 291, 97);
- Add_Goto (Table.States (204), 294, 98);
- Add_Goto (Table.States (204), 295, 99);
- Add_Goto (Table.States (204), 299, 100);
- Add_Goto (Table.States (204), 300, 362);
- Add_Goto (Table.States (204), 301, 365);
- Add_Goto (Table.States (204), 303, 101);
- Add_Goto (Table.States (204), 304, 102);
- Add_Goto (Table.States (204), 307, 364);
- Add_Goto (Table.States (204), 324, 115);
- Table.States (204).Kernel := To_Vector (((161, 162, 0, False),
(325, 162, 0, False)));
- Table.States (204).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (205).Action_List.Set_Capacity (2);
- Add_Action (Table.States (205), 22, 366);
- Add_Action (Table.States (205), 43, 367);
- Table.States (205).Kernel := To_Vector (((153, 179, 4, False),
(324, 179, 6, False)));
- Table.States (205).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 22, 366)));
- Table.States (206).Action_List.Set_Capacity (31);
- Add_Action (Table.States (206), 4, 1);
- Add_Action (Table.States (206), 5, 2);
- Add_Action (Table.States (206), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (206), 15, 3);
- Add_Action (Table.States (206), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (206), 18, 4);
- Add_Action (Table.States (206), 22, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (206), 27, 5);
- Add_Action (Table.States (206), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (206), 31, 9);
- Add_Action (Table.States (206), 32, 10);
- Add_Action (Table.States (206), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (206), 41, 13);
- Add_Action (Table.States (206), 43, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (206), 48, 16);
- Add_Action (Table.States (206), 52, 20);
- Add_Action (Table.States (206), 57, 21);
- Add_Action (Table.States (206), 58, 22);
- Add_Action (Table.States (206), 61, 24);
- Add_Action (Table.States (206), 68, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (206), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (206), 76, 236);
- Add_Action (Table.States (206), 79, 31);
- Add_Action (Table.States (206), 85, 238);
- Add_Action (Table.States (206), 94, 32);
- Add_Action (Table.States (206), 97, 239);
- Add_Action (Table.States (206), 102, 240);
- Add_Action (Table.States (206), 103, 241);
- Add_Action (Table.States (206), 105, 361);
- Add_Action (Table.States (206), 106, 34);
- Add_Action (Table.States (206), 107, 35);
- Table.States (206).Goto_List.Set_Capacity (33);
- Add_Goto (Table.States (206), 114, 37);
- Add_Goto (Table.States (206), 116, 242);
- Add_Goto (Table.States (206), 124, 39);
- Add_Goto (Table.States (206), 127, 40);
- Add_Goto (Table.States (206), 129, 42);
- Add_Goto (Table.States (206), 132, 43);
- Add_Goto (Table.States (206), 133, 44);
- Add_Goto (Table.States (206), 134, 45);
- Add_Goto (Table.States (206), 140, 48);
- Add_Goto (Table.States (206), 152, 51);
- Add_Goto (Table.States (206), 153, 52);
- Add_Goto (Table.States (206), 162, 54);
- Add_Goto (Table.States (206), 191, 58);
- Add_Goto (Table.States (206), 197, 60);
- Add_Goto (Table.States (206), 218, 69);
- Add_Goto (Table.States (206), 223, 71);
- Add_Goto (Table.States (206), 233, 73);
- Add_Goto (Table.States (206), 240, 74);
- Add_Goto (Table.States (206), 258, 84);
- Add_Goto (Table.States (206), 262, 87);
- Add_Goto (Table.States (206), 273, 93);
- Add_Goto (Table.States (206), 277, 94);
- Add_Goto (Table.States (206), 291, 97);
- Add_Goto (Table.States (206), 294, 98);
- Add_Goto (Table.States (206), 295, 99);
- Add_Goto (Table.States (206), 299, 100);
- Add_Goto (Table.States (206), 300, 362);
- Add_Goto (Table.States (206), 301, 368);
- Add_Goto (Table.States (206), 303, 101);
- Add_Goto (Table.States (206), 304, 102);
- Add_Goto (Table.States (206), 307, 364);
- Add_Goto (Table.States (206), 323, 243);
- Add_Goto (Table.States (206), 324, 115);
- Table.States (206).Kernel := To_Vector (((129, 240, 2, True),
(179, 240, 0, False), (240, 240, 5, True),
- (240, 240, 2, True), (262, 240, 1, False), (273, 240, 3, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True), (325, 240, 0, False)));
- Table.States (206).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (207).Action_List.Set_Capacity (26);
- Add_Action (Table.States (207), 4, 1);
- Add_Action (Table.States (207), 5, 2);
- Add_Action (Table.States (207), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (207), 15, 3);
- Add_Action (Table.States (207), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (207), 18, 4);
- Add_Action (Table.States (207), 22, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (207), 27, 5);
- Add_Action (Table.States (207), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (207), 31, 9);
- Add_Action (Table.States (207), 32, 10);
- Add_Action (Table.States (207), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (207), 41, 13);
- Add_Action (Table.States (207), 43, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (207), 48, 16);
- Add_Action (Table.States (207), 52, 20);
- Add_Action (Table.States (207), 57, 21);
- Add_Action (Table.States (207), 58, 22);
- Add_Action (Table.States (207), 61, 24);
- Add_Action (Table.States (207), 68, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (207), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (207), 79, 31);
- Add_Action (Table.States (207), 94, 32);
- Add_Action (Table.States (207), 105, 361);
- Add_Action (Table.States (207), 106, 34);
- Add_Action (Table.States (207), 107, 35);
- Table.States (207).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (207), 114, 37);
- Add_Goto (Table.States (207), 124, 39);
- Add_Goto (Table.States (207), 127, 40);
- Add_Goto (Table.States (207), 129, 42);
- Add_Goto (Table.States (207), 132, 43);
- Add_Goto (Table.States (207), 133, 44);
- Add_Goto (Table.States (207), 134, 45);
- Add_Goto (Table.States (207), 140, 48);
- Add_Goto (Table.States (207), 152, 51);
- Add_Goto (Table.States (207), 153, 52);
- Add_Goto (Table.States (207), 162, 54);
- Add_Goto (Table.States (207), 191, 58);
- Add_Goto (Table.States (207), 197, 60);
- Add_Goto (Table.States (207), 218, 69);
- Add_Goto (Table.States (207), 223, 71);
- Add_Goto (Table.States (207), 233, 73);
- Add_Goto (Table.States (207), 240, 74);
- Add_Goto (Table.States (207), 258, 84);
- Add_Goto (Table.States (207), 262, 87);
- Add_Goto (Table.States (207), 273, 93);
- Add_Goto (Table.States (207), 277, 94);
- Add_Goto (Table.States (207), 291, 97);
- Add_Goto (Table.States (207), 294, 98);
- Add_Goto (Table.States (207), 295, 99);
- Add_Goto (Table.States (207), 299, 100);
- Add_Goto (Table.States (207), 300, 362);
- Add_Goto (Table.States (207), 301, 369);
- Add_Goto (Table.States (207), 303, 101);
- Add_Goto (Table.States (207), 304, 102);
- Add_Goto (Table.States (207), 307, 364);
- Add_Goto (Table.States (207), 324, 115);
- Table.States (207).Kernel := To_Vector (((179, 262, 0, False),
(325, 262, 0, False)));
- Table.States (207).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (208).Action_List.Set_Capacity (3);
- Add_Action (Table.States (208), (22, 24, 43), (297, 1), 1,
select_alternative_list_1'Access, null);
- Table.States (208).Kernel := To_Vector ((0 => (297, 296, 0,
False)));
- Table.States (208).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 297, 1)));
+ Add_Goto (Table.States (194), 118, 243);
+ Add_Goto (Table.States (194), 325, 244);
+ Table.States (194).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((275, 0), 242, 3, (2147483647, 0), 0),
+ ((279, 0), 242, 2, (2147483647, 0), 0), ((279, 1), 242, 1,
(2147483647, 0), 0), ((296, 0), 242, 2,
+ (2147483647, 0), 0), ((296, 1), 242, 2, (2147483647, 0), 0),
((296, 2), 242, 2, (2147483647, 0), 0),
+ ((296, 3), 242, 2, (2147483647, 0), 0)));
+ Table.States (194).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (279, 1), 99, 353)));
+ Table.States (195).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (195), 74, (293, 0), 354);
+ Add_Action (Table.States (195), 76, (118, 0), 237);
+ Add_Action (Table.States (195), 87, (296, 0), 239);
+ Add_Action (Table.States (195), 99, (293, 1), 355);
+ Add_Action (Table.States (195), 104, (325, 0), 241);
+ Add_Action (Table.States (195), 105, (325, 1), 242);
+ Table.States (195).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (195), 118, 243);
+ Add_Goto (Table.States (195), 325, 244);
+ Table.States (195).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((275, 0), 242, 3, (2147483647, 0), 0),
+ ((293, 0), 242, 3, (2147483647, 0), 0), ((293, 1), 242, 1,
(2147483647, 0), 0), ((296, 0), 242, 2,
+ (2147483647, 0), 0), ((296, 1), 242, 2, (2147483647, 0), 0),
((296, 2), 242, 2, (2147483647, 0), 0),
+ ((296, 3), 242, 2, (2147483647, 0), 0)));
+ Table.States (195).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (293, 1), 99, 355)));
+ Table.States (196).Action_List.Set_Capacity (25);
+ Add_Action (Table.States (196), 10, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 33, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 38, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 40, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 43, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 55, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 75, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 76, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 80, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 84, (197, 0), 356);
+ Add_Action (Table.States (196), 87, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 89, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 91, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 92, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 94, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 95, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 97, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 98, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 99, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 100, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 101, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 102, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 103, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 104, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (196), 105, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Table.States (196).Kernel := To_Vector ((((197, 0), 107, 3,
(2147483647, 0), 0), ((197, 1), 107, 2,
+ (2147483647, 0), 0), ((242, 5), 107, 0, (242, 5), 1)));
+ Table.States (196).Minimal_Complete_Actions := To_Vector (((Shift,
(197, 0), 84, 356), (Reduce, (242, 5),
+ 1)));
+ Table.States (197).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (197), 99, (305, 0), 357);
+ Table.States (197).Kernel := To_Vector ((0 => ((305, 0), 195, 1,
(2147483647, 0), 0)));
+ Table.States (197).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (305, 0), 99, 357)));
+ Table.States (198).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (198), 21, Reduce, (198, 0), 1, null,
null);
+ Add_Action (Table.States (198), 99, (199, 1), 358);
+ Table.States (198).Kernel := To_Vector ((((198, 0), 197, 0,
(198, 0), 1), ((199, 1), 197, 1,
+ (2147483647, 0), 0)));
+ Table.States (198).Minimal_Complete_Actions := To_Vector
(((Reduce, (198, 0), 1), (Shift, (199, 1), 99,
+ 358)));
+ Table.States (199).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (199), 21, (199, 0), 359);
+ Table.States (199).Kernel := To_Vector ((0 => ((199, 0), 198, 4,
(2147483647, 0), 0)));
+ Table.States (199).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (199, 0), 21, 359)));
+ Table.States (200).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (200), 81, (242, 8), 31);
+ Add_Action (Table.States (200), 107, (242, 5), 120);
+ Add_Action (Table.States (200), 108, (242, 7), 34);
+ Add_Action (Table.States (200), 109, (242, 6), 35);
+ Table.States (200).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (200), 131, 42);
+ Add_Goto (Table.States (200), 242, 360);
+ Add_Goto (Table.States (200), 275, 93);
+ Add_Goto (Table.States (200), 296, 98);
+ Table.States (200).Kernel := To_Vector ((0 => ((318, 0), 76, 8,
(2147483647, 0), 0)));
+ Table.States (200).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (201).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (201), 99, (298, 4), 361);
+ Table.States (201).Kernel := To_Vector ((0 => ((298, 4), 67, 1,
(2147483647, 0), 0)));
+ Table.States (201).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (298, 4), 99, 361)));
+ Table.States (202).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (202), 3, (200, 2), 122);
+ Add_Action (Table.States (202), 39, (261, 4), 123);
+ Add_Action (Table.States (202), 40, (200, 3), 124);
+ Add_Action (Table.States (202), 41, (261, 1), 125);
+ Add_Action (Table.States (202), 52, (278, 0), 126);
+ Add_Action (Table.States (202), 76, (120, 0), 127);
+ Add_Action (Table.States (202), 77, (120, 5), 128);
+ Add_Action (Table.States (202), 81, (242, 8), 31);
+ Add_Action (Table.States (202), 90, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (202), 97, (333, 1), 129);
+ Add_Action (Table.States (202), 98, (333, 0), 130);
+ Add_Action (Table.States (202), 106, (261, 0), 131);
+ Add_Action (Table.States (202), 107, (242, 5), 120);
+ Add_Action (Table.States (202), 108, (242, 7), 34);
+ Add_Action (Table.States (202), 109, (242, 6), 35);
+ Table.States (202).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (202), 120, 132);
+ Add_Goto (Table.States (202), 131, 42);
+ Add_Goto (Table.States (202), 194, 133);
+ Add_Goto (Table.States (202), 195, 362);
+ Add_Goto (Table.States (202), 200, 135);
+ Add_Goto (Table.States (202), 242, 136);
+ Add_Goto (Table.States (202), 261, 137);
+ Add_Goto (Table.States (202), 275, 93);
+ Add_Goto (Table.States (202), 278, 138);
+ Add_Goto (Table.States (202), 285, 139);
+ Add_Goto (Table.States (202), 286, 140);
+ Add_Goto (Table.States (202), 287, 141);
+ Add_Goto (Table.States (202), 288, 142);
+ Add_Goto (Table.States (202), 289, 143);
+ Add_Goto (Table.States (202), 290, 144);
+ Add_Goto (Table.States (202), 296, 98);
+ Add_Goto (Table.States (202), 304, 145);
+ Add_Goto (Table.States (202), 323, 146);
+ Add_Goto (Table.States (202), 324, 147);
+ Add_Goto (Table.States (202), 333, 148);
+ Table.States (202).Kernel := To_Vector ((((298, 0), 72, 4,
(2147483647, 0), 0), ((298, 1), 72, 3,
+ (2147483647, 0), 0), ((298, 2), 72, 3, (2147483647, 0), 0)));
+ Table.States (202).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (203).Action_List.Set_Capacity (26);
+ Add_Action (Table.States (203), 4, (116, 0), 1);
+ Add_Action (Table.States (203), 5, (306, 8), 2);
+ Add_Action (Table.States (203), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (203), 15, (142, 0), 3);
+ Add_Action (Table.States (203), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (203), 18, (164, 0), 4);
+ Add_Action (Table.States (203), 22, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (203), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (203), 27, (193, 0), 5);
+ Add_Action (Table.States (203), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (203), 31, (306, 3), 9);
+ Add_Action (Table.States (203), 32, (225, 0), 10);
+ Add_Action (Table.States (203), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (203), 41, (306, 0), 13);
+ Add_Action (Table.States (203), 43, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (203), 48, (260, 0), 16);
+ Add_Action (Table.States (203), 52, (279, 0), 20);
+ Add_Action (Table.States (203), 57, (293, 0), 21);
+ Add_Action (Table.States (203), 58, (199, 0), 22);
+ Add_Action (Table.States (203), 61, (129, 0), 24);
+ Add_Action (Table.States (203), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (203), 81, (242, 8), 31);
+ Add_Action (Table.States (203), 96, (220, 0), 32);
+ Add_Action (Table.States (203), 107, (134, 0), 363);
+ Add_Action (Table.States (203), 108, (242, 7), 34);
+ Add_Action (Table.States (203), 109, (242, 6), 35);
+ Table.States (203).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (203), 116, 37);
+ Add_Goto (Table.States (203), 126, 39);
+ Add_Goto (Table.States (203), 129, 40);
+ Add_Goto (Table.States (203), 131, 42);
+ Add_Goto (Table.States (203), 134, 43);
+ Add_Goto (Table.States (203), 135, 44);
+ Add_Goto (Table.States (203), 136, 45);
+ Add_Goto (Table.States (203), 142, 48);
+ Add_Goto (Table.States (203), 154, 51);
+ Add_Goto (Table.States (203), 155, 52);
+ Add_Goto (Table.States (203), 164, 54);
+ Add_Goto (Table.States (203), 193, 58);
+ Add_Goto (Table.States (203), 199, 60);
+ Add_Goto (Table.States (203), 220, 69);
+ Add_Goto (Table.States (203), 225, 71);
+ Add_Goto (Table.States (203), 235, 73);
+ Add_Goto (Table.States (203), 242, 74);
+ Add_Goto (Table.States (203), 260, 84);
+ Add_Goto (Table.States (203), 264, 87);
+ Add_Goto (Table.States (203), 275, 93);
+ Add_Goto (Table.States (203), 279, 94);
+ Add_Goto (Table.States (203), 293, 97);
+ Add_Goto (Table.States (203), 296, 98);
+ Add_Goto (Table.States (203), 297, 99);
+ Add_Goto (Table.States (203), 301, 100);
+ Add_Goto (Table.States (203), 302, 364);
+ Add_Goto (Table.States (203), 303, 365);
+ Add_Goto (Table.States (203), 305, 101);
+ Add_Goto (Table.States (203), 306, 102);
+ Add_Goto (Table.States (203), 309, 366);
+ Add_Goto (Table.States (203), 326, 115);
+ Table.States (203).Kernel := To_Vector ((0 => ((298, 3), 116, 0,
(303, 1), 0)));
+ Table.States (203).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
+ Table.States (204).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (204), (22, 24, 43), (298, 5), 1, null,
null);
+ Table.States (204).Kernel := To_Vector ((0 => ((298, 5), 163, 0,
(298, 5), 1)));
+ Table.States (204).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (298, 5), 1)));
+ Table.States (205).Action_List.Set_Capacity (27);
+ Add_Action (Table.States (205), 4, (116, 0), 1);
+ Add_Action (Table.States (205), 5, (306, 8), 2);
+ Add_Action (Table.States (205), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (205), 15, (142, 0), 3);
+ Add_Action (Table.States (205), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (205), 18, (164, 0), 4);
+ Add_Action (Table.States (205), 22, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (205), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (205), 27, (193, 0), 5);
+ Add_Action (Table.States (205), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (205), 31, (306, 3), 9);
+ Add_Action (Table.States (205), 32, (225, 0), 10);
+ Add_Action (Table.States (205), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (205), 41, (306, 0), 13);
+ Add_Action (Table.States (205), 43, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (205), 48, (260, 0), 16);
+ Add_Action (Table.States (205), 52, (279, 0), 20);
+ Add_Action (Table.States (205), 57, (293, 0), 21);
+ Add_Action (Table.States (205), 58, (199, 0), 22);
+ Add_Action (Table.States (205), 61, (129, 0), 24);
+ Add_Action (Table.States (205), 68, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (205), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (205), 81, (242, 8), 31);
+ Add_Action (Table.States (205), 96, (220, 0), 32);
+ Add_Action (Table.States (205), 107, (134, 0), 363);
+ Add_Action (Table.States (205), 108, (242, 7), 34);
+ Add_Action (Table.States (205), 109, (242, 6), 35);
+ Table.States (205).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (205), 116, 37);
+ Add_Goto (Table.States (205), 126, 39);
+ Add_Goto (Table.States (205), 129, 40);
+ Add_Goto (Table.States (205), 131, 42);
+ Add_Goto (Table.States (205), 134, 43);
+ Add_Goto (Table.States (205), 135, 44);
+ Add_Goto (Table.States (205), 136, 45);
+ Add_Goto (Table.States (205), 142, 48);
+ Add_Goto (Table.States (205), 154, 51);
+ Add_Goto (Table.States (205), 155, 52);
+ Add_Goto (Table.States (205), 164, 54);
+ Add_Goto (Table.States (205), 193, 58);
+ Add_Goto (Table.States (205), 199, 60);
+ Add_Goto (Table.States (205), 220, 69);
+ Add_Goto (Table.States (205), 225, 71);
+ Add_Goto (Table.States (205), 235, 73);
+ Add_Goto (Table.States (205), 242, 74);
+ Add_Goto (Table.States (205), 260, 84);
+ Add_Goto (Table.States (205), 264, 87);
+ Add_Goto (Table.States (205), 275, 93);
+ Add_Goto (Table.States (205), 279, 94);
+ Add_Goto (Table.States (205), 293, 97);
+ Add_Goto (Table.States (205), 296, 98);
+ Add_Goto (Table.States (205), 297, 99);
+ Add_Goto (Table.States (205), 301, 100);
+ Add_Goto (Table.States (205), 302, 364);
+ Add_Goto (Table.States (205), 303, 367);
+ Add_Goto (Table.States (205), 305, 101);
+ Add_Goto (Table.States (205), 306, 102);
+ Add_Goto (Table.States (205), 309, 366);
+ Add_Goto (Table.States (205), 326, 115);
+ Table.States (205).Kernel := To_Vector ((((163, 0), 164, 0,
(303, 1), 0), ((327, 2), 164, 0, (303, 1),
+ 0)));
+ Table.States (205).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
+ Table.States (206).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (206), 22, (155, 0), 368);
+ Add_Action (Table.States (206), 43, (326, 0), 369);
+ Table.States (206).Kernel := To_Vector ((((155, 0), 181, 4,
(2147483647, 0), 0), ((326, 0), 181, 6,
+ (2147483647, 0), 0)));
+ Table.States (206).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (155, 0), 22, 368)));
+ Table.States (207).Action_List.Set_Capacity (31);
+ Add_Action (Table.States (207), 4, (116, 0), 1);
+ Add_Action (Table.States (207), 5, (306, 8), 2);
+ Add_Action (Table.States (207), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (207), 15, (142, 0), 3);
+ Add_Action (Table.States (207), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (207), 18, (164, 0), 4);
+ Add_Action (Table.States (207), 22, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (207), 27, (193, 0), 5);
+ Add_Action (Table.States (207), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (207), 31, (306, 3), 9);
+ Add_Action (Table.States (207), 32, (225, 0), 10);
+ Add_Action (Table.States (207), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (207), 41, (306, 0), 13);
+ Add_Action (Table.States (207), 43, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (207), 48, (260, 0), 16);
+ Add_Action (Table.States (207), 52, (279, 0), 20);
+ Add_Action (Table.States (207), 57, (293, 0), 21);
+ Add_Action (Table.States (207), 58, (199, 0), 22);
+ Add_Action (Table.States (207), 61, (129, 0), 24);
+ Add_Action (Table.States (207), 68, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (207), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (207), 76, (118, 0), 237);
+ Add_Action (Table.States (207), 81, (242, 8), 31);
+ Add_Action (Table.States (207), 87, (296, 0), 239);
+ Add_Action (Table.States (207), 96, (220, 0), 32);
+ Add_Action (Table.States (207), 99, (264, 0), 240);
+ Add_Action (Table.States (207), 104, (325, 0), 241);
+ Add_Action (Table.States (207), 105, (325, 1), 242);
+ Add_Action (Table.States (207), 107, (134, 0), 363);
+ Add_Action (Table.States (207), 108, (242, 7), 34);
+ Add_Action (Table.States (207), 109, (242, 6), 35);
+ Table.States (207).Goto_List.Set_Capacity (33);
+ Add_Goto (Table.States (207), 116, 37);
+ Add_Goto (Table.States (207), 118, 243);
+ Add_Goto (Table.States (207), 126, 39);
+ Add_Goto (Table.States (207), 129, 40);
+ Add_Goto (Table.States (207), 131, 42);
+ Add_Goto (Table.States (207), 134, 43);
+ Add_Goto (Table.States (207), 135, 44);
+ Add_Goto (Table.States (207), 136, 45);
+ Add_Goto (Table.States (207), 142, 48);
+ Add_Goto (Table.States (207), 154, 51);
+ Add_Goto (Table.States (207), 155, 52);
+ Add_Goto (Table.States (207), 164, 54);
+ Add_Goto (Table.States (207), 193, 58);
+ Add_Goto (Table.States (207), 199, 60);
+ Add_Goto (Table.States (207), 220, 69);
+ Add_Goto (Table.States (207), 225, 71);
+ Add_Goto (Table.States (207), 235, 73);
+ Add_Goto (Table.States (207), 242, 74);
+ Add_Goto (Table.States (207), 260, 84);
+ Add_Goto (Table.States (207), 264, 87);
+ Add_Goto (Table.States (207), 275, 93);
+ Add_Goto (Table.States (207), 279, 94);
+ Add_Goto (Table.States (207), 293, 97);
+ Add_Goto (Table.States (207), 296, 98);
+ Add_Goto (Table.States (207), 297, 99);
+ Add_Goto (Table.States (207), 301, 100);
+ Add_Goto (Table.States (207), 302, 364);
+ Add_Goto (Table.States (207), 303, 370);
+ Add_Goto (Table.States (207), 305, 101);
+ Add_Goto (Table.States (207), 306, 102);
+ Add_Goto (Table.States (207), 309, 366);
+ Add_Goto (Table.States (207), 325, 244);
+ Add_Goto (Table.States (207), 326, 115);
+ Table.States (207).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((181, 1), 242, 0,
+ (303, 1), 0), ((242, 0), 242, 5, (2147483647, 0), 0), ((242,
1), 242, 2, (2147483647, 0), 0), ((264,
+ 0), 242, 1, (2147483647, 0), 0), ((275, 0), 242, 3,
(2147483647, 0), 0), ((296, 0), 242, 2,
+ (2147483647, 0), 0), ((296, 1), 242, 2, (2147483647, 0), 0),
((296, 2), 242, 2, (2147483647, 0), 0),
+ ((296, 3), 242, 2, (2147483647, 0), 0), ((327, 1), 242, 0,
(303, 1), 0)));
+ Table.States (207).Minimal_Complete_Actions := To_Vector
(((Reduce, (303, 1), 0), (Shift, (264, 0), 99,
+ 240)));
+ Table.States (208).Action_List.Set_Capacity (26);
+ Add_Action (Table.States (208), 4, (116, 0), 1);
+ Add_Action (Table.States (208), 5, (306, 8), 2);
+ Add_Action (Table.States (208), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (208), 15, (142, 0), 3);
+ Add_Action (Table.States (208), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (208), 18, (164, 0), 4);
+ Add_Action (Table.States (208), 22, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (208), 27, (193, 0), 5);
+ Add_Action (Table.States (208), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (208), 31, (306, 3), 9);
+ Add_Action (Table.States (208), 32, (225, 0), 10);
+ Add_Action (Table.States (208), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (208), 41, (306, 0), 13);
+ Add_Action (Table.States (208), 43, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (208), 48, (260, 0), 16);
+ Add_Action (Table.States (208), 52, (279, 0), 20);
+ Add_Action (Table.States (208), 57, (293, 0), 21);
+ Add_Action (Table.States (208), 58, (199, 0), 22);
+ Add_Action (Table.States (208), 61, (129, 0), 24);
+ Add_Action (Table.States (208), 68, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (208), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (208), 81, (242, 8), 31);
+ Add_Action (Table.States (208), 96, (220, 0), 32);
+ Add_Action (Table.States (208), 107, (134, 0), 363);
+ Add_Action (Table.States (208), 108, (242, 7), 34);
+ Add_Action (Table.States (208), 109, (242, 6), 35);
+ Table.States (208).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (208), 116, 37);
+ Add_Goto (Table.States (208), 126, 39);
+ Add_Goto (Table.States (208), 129, 40);
+ Add_Goto (Table.States (208), 131, 42);
+ Add_Goto (Table.States (208), 134, 43);
+ Add_Goto (Table.States (208), 135, 44);
+ Add_Goto (Table.States (208), 136, 45);
+ Add_Goto (Table.States (208), 142, 48);
+ Add_Goto (Table.States (208), 154, 51);
+ Add_Goto (Table.States (208), 155, 52);
+ Add_Goto (Table.States (208), 164, 54);
+ Add_Goto (Table.States (208), 193, 58);
+ Add_Goto (Table.States (208), 199, 60);
+ Add_Goto (Table.States (208), 220, 69);
+ Add_Goto (Table.States (208), 225, 71);
+ Add_Goto (Table.States (208), 235, 73);
+ Add_Goto (Table.States (208), 242, 74);
+ Add_Goto (Table.States (208), 260, 84);
+ Add_Goto (Table.States (208), 264, 87);
+ Add_Goto (Table.States (208), 275, 93);
+ Add_Goto (Table.States (208), 279, 94);
+ Add_Goto (Table.States (208), 293, 97);
+ Add_Goto (Table.States (208), 296, 98);
+ Add_Goto (Table.States (208), 297, 99);
+ Add_Goto (Table.States (208), 301, 100);
+ Add_Goto (Table.States (208), 302, 364);
+ Add_Goto (Table.States (208), 303, 371);
+ Add_Goto (Table.States (208), 305, 101);
+ Add_Goto (Table.States (208), 306, 102);
+ Add_Goto (Table.States (208), 309, 366);
+ Add_Goto (Table.States (208), 326, 115);
+ Table.States (208).Kernel := To_Vector ((((181, 0), 264, 0,
(303, 1), 0), ((327, 0), 264, 0, (303, 1),
+ 0)));
+ Table.States (208).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
Table.States (209).Action_List.Set_Capacity (3);
- Add_Action (Table.States (209), 22, Reduce, (298, 0), 1, null,
null);
- Add_Action (Table.States (209), 24, Reduce, (298, 0), 1, null,
null);
- Add_Action (Table.States (209), 43, 370);
- Table.States (209).Kernel := To_Vector (((297, 297, 3, True),
(298, 297, 0, False)));
- Table.States (209).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 298, 1)));
- Table.States (210).Action_List.Set_Capacity (2);
- Add_Action (Table.States (210), 22, 371);
- Add_Action (Table.States (210), 24, 372);
- Table.States (210).Kernel := To_Vector (((295, 298, 4, False),
(295, 298, 3, False)));
- Table.States (210).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 372)));
- Table.States (211).Action_List.Set_Capacity (1);
- Add_Action (Table.States (211), 68, 373);
- Table.States (211).Kernel := To_Vector ((0 => (127, 325, 5,
False)));
- Table.States (211).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 68, 373)));
+ Add_Action (Table.States (209), (22, 24, 43), (299, 1), 1,
select_alternative_list_1'Access, null);
+ Table.States (209).Kernel := To_Vector ((0 => ((299, 1), 298, 0,
(299, 1), 1)));
+ Table.States (209).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (299, 1), 1)));
+ Table.States (210).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (210), 22, Reduce, (300, 0), 1, null,
null);
+ Add_Action (Table.States (210), 24, Reduce, (300, 0), 1, null,
null);
+ Add_Action (Table.States (210), 43, (299, 0), 372);
+ Table.States (210).Kernel := To_Vector ((((299, 0), 299, 3,
(2147483647, 0), 0), ((300, 0), 299, 0,
+ (300, 0), 1)));
+ Table.States (210).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (300, 0), 1)));
+ Table.States (211).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (211), 22, (297, 0), 373);
+ Add_Action (Table.States (211), 24, (297, 1), 374);
+ Table.States (211).Kernel := To_Vector ((((297, 0), 300, 4,
(2147483647, 0), 0), ((297, 1), 300, 3,
+ (2147483647, 0), 0)));
+ Table.States (211).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (297, 1), 24, 374)));
Table.States (212).Action_List.Set_Capacity (1);
- Add_Action (Table.States (212), 35, 374);
- Table.States (212).Kernel := To_Vector ((0 => (314, 105, 3,
False)));
- Table.States (212).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 35, 374)));
+ Add_Action (Table.States (212), 68, (129, 0), 375);
+ Table.States (212).Kernel := To_Vector ((0 => ((129, 0), 327, 5,
(2147483647, 0), 0)));
+ Table.States (212).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (129, 0), 68, 375)));
Table.States (213).Action_List.Set_Capacity (1);
- Add_Action (Table.States (213), 105, 375);
- Table.States (213).Kernel := To_Vector (((317, 14, 5, False),
(318, 14, 4, False)));
- Table.States (213).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 375)));
+ Add_Action (Table.States (213), 35, (316, 0), 376);
+ Table.States (213).Kernel := To_Vector ((0 => ((316, 0), 107, 3,
(2147483647, 0), 0)));
+ Table.States (213).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (316, 0), 35, 376)));
Table.States (214).Action_List.Set_Capacity (1);
- Add_Action (Table.States (214), 105, 376);
- Table.States (214).Kernel := To_Vector (((320, 69, 7, False),
(320, 69, 4, False), (320, 69, 2, False)));
- Table.States (214).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 376)));
- Table.States (215).Action_List.Set_Capacity (3);
- Add_Action (Table.States (215), 35, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (215), 74, 338);
- Add_Action (Table.States (215), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (215).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (215), 123, 377);
- Table.States (215).Kernel := To_Vector (((306, 105, 6, False),
(306, 105, 3, False), (306, 105, 1,
- False)));
- Table.States (215).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
+ Add_Action (Table.States (214), 107, (319, 0), 377);
+ Table.States (214).Kernel := To_Vector ((((319, 0), 14, 5,
(2147483647, 0), 0), ((320, 0), 14, 4,
+ (2147483647, 0), 0)));
+ Table.States (214).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (319, 0), 107, 377)));
+ Table.States (215).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (215), 107, (322, 0), 378);
+ Table.States (215).Kernel := To_Vector ((((322, 0), 69, 7,
(2147483647, 0), 0), ((322, 1), 69, 4,
+ (2147483647, 0), 0), ((322, 2), 69, 2, (2147483647, 0), 0)));
+ Table.States (215).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (322, 0), 107, 378)));
Table.States (216).Action_List.Set_Capacity (3);
- Add_Action (Table.States (216), 35, Reduce, (170, 2), 0, null,
null);
- Add_Action (Table.States (216), 76, 378);
- Add_Action (Table.States (216), 97, Reduce, (170, 2), 0, null,
null);
+ Add_Action (Table.States (216), 35, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (216), 74, (125, 0), 340);
+ Add_Action (Table.States (216), 99, Reduce, (125, 1), 0, null,
null);
Table.States (216).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (216), 170, 379);
- Table.States (216).Kernel := To_Vector (((207, 105, 3, False),
(224, 105, 3, False), (224, 105, 1, False),
- (260, 105, 6, False), (261, 105, 3, False)));
- Table.States (216).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 170, 0)));
- Table.States (217).Action_List.Set_Capacity (1);
- Add_Action (Table.States (217), 69, 380);
- Table.States (217).Kernel := To_Vector ((0 => (332, 9, 3, False)));
- Table.States (217).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 69, 380)));
- Table.States (218).Action_List.Set_Capacity (4);
- Add_Action (Table.States (218), 79, 31);
- Add_Action (Table.States (218), 105, 120);
- Add_Action (Table.States (218), 106, 34);
- Add_Action (Table.States (218), 107, 35);
- Table.States (218).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (218), 129, 42);
- Add_Goto (Table.States (218), 239, 381);
- Add_Goto (Table.States (218), 240, 220);
- Add_Goto (Table.States (218), 273, 93);
- Add_Goto (Table.States (218), 294, 98);
- Table.States (218).Kernel := To_Vector ((0 => (332, 69, 2,
False)));
- Table.States (218).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (219).Action_List.Set_Capacity (2);
- Add_Action (Table.States (219), 84, 382);
- Add_Action (Table.States (219), 97, 383);
- Table.States (219).Kernel := To_Vector (((239, 239, 2, True),
(332, 239, 1, False)));
- Table.States (219).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 383)));
- Table.States (220).Action_List.Set_Capacity (6);
- Add_Action (Table.States (220), 76, 236);
- Add_Action (Table.States (220), 84, Reduce, (239, 1), 1, null,
null);
- Add_Action (Table.States (220), 85, 238);
- Add_Action (Table.States (220), 97, Reduce, (239, 1), 1, null,
null);
- Add_Action (Table.States (220), 102, 240);
- Add_Action (Table.States (220), 103, 241);
- Table.States (220).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (220), 116, 242);
- Add_Goto (Table.States (220), 323, 243);
- Table.States (220).Kernel := To_Vector (((129, 240, 2, True),
(239, 240, 0, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (220).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 239, 1)));
- Table.States (221).Action_List.Set_Capacity (1);
- Add_Action (Table.States (221), (1 => 37), (230, 0), 2,
iteration_scheme_0'Access, null);
- Table.States (221).Kernel := To_Vector ((0 => (230, 193, 0,
False)));
- Table.States (221).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 230, 2)));
- Table.States (222).Action_List.Set_Capacity (2);
- Add_Action (Table.States (222), 84, 382);
- Add_Action (Table.States (222), 97, 384);
- Table.States (222).Kernel := To_Vector (((239, 239, 2, True),
(333, 239, 1, False)));
- Table.States (222).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 384)));
- Table.States (223).Action_List.Set_Capacity (1);
- Add_Action (Table.States (223), 91, 385);
- Table.States (223).Kernel := To_Vector ((0 => (218, 105, 1,
False)));
- Table.States (223).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 91, 385)));
- Table.States (224).Action_List.Set_Capacity (12);
- Add_Action (Table.States (224), 7, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (224), 13, Reduce, (132, 0), 2,
block_label_0'Access, block_label_0_check'Access);
- Add_Action (Table.States (224), 17, Reduce, (132, 0), 2,
block_label_0'Access, block_label_0_check'Access);
- Add_Action (Table.States (224), 26, 386);
- Add_Action (Table.States (224), 28, Reduce, (132, 0), 2,
block_label_0'Access, block_label_0_check'Access);
- Add_Action (Table.States (224), 37, Reduce, (132, 0), 2,
block_label_0'Access, block_label_0_check'Access);
- Add_Action (Table.States (224), 40, 387);
- Add_Action (Table.States (224), 73, Reduce, (132, 0), 2,
block_label_0'Access, block_label_0_check'Access);
- Add_Action (Table.States (224), 79, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (224), 105, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (224), 106, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (224), 107, Reduce, (242, 1), 0, null,
null);
- Table.States (224).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (224), 115, 388);
- Add_Goto (Table.States (224), 242, 389);
- Table.States (224).Kernel := To_Vector (((132, 82, 0, False),
(246, 82, 4, False), (246, 82, 5, False),
- (246, 82, 4, False)));
- Table.States (224).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 132, 2)));
- Table.States (225).Action_List.Set_Capacity (25);
- Add_Action (Table.States (225), 4, 1);
- Add_Action (Table.States (225), 5, 2);
- Add_Action (Table.States (225), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (225), 15, 3);
- Add_Action (Table.States (225), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (225), 18, 4);
- Add_Action (Table.States (225), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (225), 26, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (225), 27, 5);
- Add_Action (Table.States (225), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (225), 31, 9);
- Add_Action (Table.States (225), 32, 10);
- Add_Action (Table.States (225), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (225), 41, 13);
- Add_Action (Table.States (225), 48, 16);
- Add_Action (Table.States (225), 52, 20);
- Add_Action (Table.States (225), 57, 21);
- Add_Action (Table.States (225), 58, 22);
- Add_Action (Table.States (225), 61, 24);
- Add_Action (Table.States (225), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (225), 79, 31);
- Add_Action (Table.States (225), 94, 32);
- Add_Action (Table.States (225), 105, 361);
- Add_Action (Table.States (225), 106, 34);
- Add_Action (Table.States (225), 107, 35);
- Table.States (225).Goto_List.Set_Capacity (32);
- Add_Goto (Table.States (225), 114, 37);
- Add_Goto (Table.States (225), 124, 39);
- Add_Goto (Table.States (225), 127, 40);
- Add_Goto (Table.States (225), 129, 42);
- Add_Goto (Table.States (225), 132, 43);
- Add_Goto (Table.States (225), 133, 44);
- Add_Goto (Table.States (225), 134, 45);
- Add_Goto (Table.States (225), 140, 48);
- Add_Goto (Table.States (225), 152, 51);
- Add_Goto (Table.States (225), 153, 52);
- Add_Goto (Table.States (225), 162, 54);
- Add_Goto (Table.States (225), 191, 58);
- Add_Goto (Table.States (225), 197, 60);
- Add_Goto (Table.States (225), 218, 69);
- Add_Goto (Table.States (225), 219, 390);
- Add_Goto (Table.States (225), 223, 71);
- Add_Goto (Table.States (225), 233, 73);
- Add_Goto (Table.States (225), 240, 74);
- Add_Goto (Table.States (225), 258, 84);
- Add_Goto (Table.States (225), 262, 87);
- Add_Goto (Table.States (225), 273, 93);
- Add_Goto (Table.States (225), 277, 94);
- Add_Goto (Table.States (225), 291, 97);
- Add_Goto (Table.States (225), 294, 98);
- Add_Goto (Table.States (225), 295, 99);
- Add_Goto (Table.States (225), 299, 100);
- Add_Goto (Table.States (225), 300, 362);
- Add_Goto (Table.States (225), 301, 391);
- Add_Goto (Table.States (225), 303, 101);
- Add_Goto (Table.States (225), 304, 102);
- Add_Goto (Table.States (225), 307, 364);
- Add_Goto (Table.States (225), 324, 115);
- Table.States (225).Kernel := To_Vector ((0 => (134, 13, 2,
False)));
- Table.States (225).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 219, 0)));
- Table.States (226).Action_List.Set_Capacity (16);
- Add_Action (Table.States (226), 13, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (226), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (226), 28, 184);
- Add_Action (Table.States (226), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (226), 30, 8);
- Add_Action (Table.States (226), 40, 12);
- Add_Action (Table.States (226), 46, 14);
- Add_Action (Table.States (226), 47, 15);
- Add_Action (Table.States (226), 48, 16);
- Add_Action (Table.States (226), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (226), 51, 19);
- Add_Action (Table.States (226), 63, 25);
- Add_Action (Table.States (226), 66, 26);
- Add_Action (Table.States (226), 69, 27);
- Add_Action (Table.States (226), 71, 28);
- Add_Action (Table.States (226), 105, 186);
- Table.States (226).Goto_List.Set_Capacity (53);
- Add_Goto (Table.States (226), 113, 36);
- Add_Goto (Table.States (226), 122, 38);
- Add_Goto (Table.States (226), 128, 41);
- Add_Goto (Table.States (226), 135, 46);
- Add_Goto (Table.States (226), 136, 47);
- Add_Goto (Table.States (226), 158, 392);
- Add_Goto (Table.States (226), 159, 393);
- Add_Goto (Table.States (226), 160, 394);
- Add_Goto (Table.States (226), 180, 55);
- Add_Goto (Table.States (226), 183, 56);
- Add_Goto (Table.States (226), 187, 57);
- Add_Goto (Table.States (226), 194, 59);
- Add_Goto (Table.States (226), 207, 61);
- Add_Goto (Table.States (226), 208, 62);
- Add_Goto (Table.States (226), 210, 63);
- Add_Goto (Table.States (226), 211, 64);
- Add_Goto (Table.States (226), 214, 65);
- Add_Goto (Table.States (226), 215, 66);
- Add_Goto (Table.States (226), 216, 67);
- Add_Goto (Table.States (226), 217, 68);
- Add_Goto (Table.States (226), 220, 70);
- Add_Goto (Table.States (226), 224, 72);
- Add_Goto (Table.States (226), 244, 75);
- Add_Goto (Table.States (226), 245, 76);
- Add_Goto (Table.States (226), 246, 77);
- Add_Goto (Table.States (226), 247, 78);
- Add_Goto (Table.States (226), 248, 79);
- Add_Goto (Table.States (226), 249, 80);
- Add_Goto (Table.States (226), 250, 81);
- Add_Goto (Table.States (226), 251, 82);
- Add_Goto (Table.States (226), 252, 83);
- Add_Goto (Table.States (226), 258, 395);
- Add_Goto (Table.States (226), 260, 85);
- Add_Goto (Table.States (226), 261, 86);
- Add_Goto (Table.States (226), 263, 88);
- Add_Goto (Table.States (226), 264, 89);
- Add_Goto (Table.States (226), 265, 90);
- Add_Goto (Table.States (226), 266, 91);
- Add_Goto (Table.States (226), 272, 92);
- Add_Goto (Table.States (226), 282, 95);
- Add_Goto (Table.States (226), 290, 96);
- Add_Goto (Table.States (226), 305, 103);
- Add_Goto (Table.States (226), 306, 104);
- Add_Goto (Table.States (226), 308, 106);
- Add_Goto (Table.States (226), 309, 107);
- Add_Goto (Table.States (226), 310, 108);
- Add_Goto (Table.States (226), 312, 109);
- Add_Goto (Table.States (226), 314, 110);
- Add_Goto (Table.States (226), 317, 112);
- Add_Goto (Table.States (226), 318, 113);
- Add_Goto (Table.States (226), 320, 114);
- Add_Goto (Table.States (226), 326, 116);
- Add_Goto (Table.States (226), 332, 117);
- Table.States (226).Kernel := To_Vector ((0 => (134, 17, 3,
False)));
- Table.States (226).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 160, 0)));
- Table.States (227).Action_List.Set_Capacity (2);
- Add_Action (Table.States (227), 37, Reduce, (232, 1), 0, null,
null);
- Add_Action (Table.States (227), 105, 396);
- Table.States (227).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (227), 231, 156);
- Add_Goto (Table.States (227), 232, 157);
- Table.States (227).Kernel := To_Vector ((0 => (230, 28, 0,
False)));
- Table.States (227).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 232, 0)));
- Table.States (228).Action_List.Set_Capacity (24);
- Add_Action (Table.States (228), 4, 1);
- Add_Action (Table.States (228), 5, 2);
- Add_Action (Table.States (228), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (228), 15, 3);
- Add_Action (Table.States (228), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (228), 18, 4);
- Add_Action (Table.States (228), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (228), 27, 5);
- Add_Action (Table.States (228), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (228), 31, 9);
- Add_Action (Table.States (228), 32, 10);
- Add_Action (Table.States (228), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (228), 41, 13);
- Add_Action (Table.States (228), 48, 16);
- Add_Action (Table.States (228), 52, 20);
- Add_Action (Table.States (228), 57, 21);
- Add_Action (Table.States (228), 58, 22);
- Add_Action (Table.States (228), 61, 24);
- Add_Action (Table.States (228), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (228), 79, 31);
- Add_Action (Table.States (228), 94, 32);
- Add_Action (Table.States (228), 105, 361);
- Add_Action (Table.States (228), 106, 34);
- Add_Action (Table.States (228), 107, 35);
- Table.States (228).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (228), 114, 37);
- Add_Goto (Table.States (228), 124, 39);
- Add_Goto (Table.States (228), 127, 40);
- Add_Goto (Table.States (228), 129, 42);
- Add_Goto (Table.States (228), 132, 43);
- Add_Goto (Table.States (228), 133, 44);
- Add_Goto (Table.States (228), 134, 45);
- Add_Goto (Table.States (228), 140, 48);
- Add_Goto (Table.States (228), 152, 51);
- Add_Goto (Table.States (228), 153, 52);
- Add_Goto (Table.States (228), 162, 54);
- Add_Goto (Table.States (228), 191, 58);
- Add_Goto (Table.States (228), 197, 60);
- Add_Goto (Table.States (228), 218, 69);
- Add_Goto (Table.States (228), 223, 71);
- Add_Goto (Table.States (228), 233, 73);
- Add_Goto (Table.States (228), 240, 74);
- Add_Goto (Table.States (228), 258, 84);
- Add_Goto (Table.States (228), 262, 87);
- Add_Goto (Table.States (228), 273, 93);
- Add_Goto (Table.States (228), 277, 94);
- Add_Goto (Table.States (228), 291, 97);
- Add_Goto (Table.States (228), 294, 98);
- Add_Goto (Table.States (228), 295, 99);
- Add_Goto (Table.States (228), 299, 100);
- Add_Goto (Table.States (228), 300, 362);
- Add_Goto (Table.States (228), 301, 397);
- Add_Goto (Table.States (228), 303, 101);
- Add_Goto (Table.States (228), 304, 102);
- Add_Goto (Table.States (228), 307, 364);
- Add_Goto (Table.States (228), 324, 115);
- Table.States (228).Kernel := To_Vector ((0 => (233, 37, 3,
False)));
- Table.States (228).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (229).Action_List.Set_Capacity (1);
- Add_Action (Table.States (229), 37, 398);
- Table.States (229).Kernel := To_Vector ((0 => (233, 230, 4,
False)));
- Table.States (229).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 398)));
- Table.States (230).Action_List.Set_Capacity (40);
- Add_Action (Table.States (230), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
- 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 79,
94, 105, 106, 107, 108), (144, 0), 2,
- compilation_unit_list_0'Access, null);
- Table.States (230).Kernel := To_Vector ((0 => (144, 143, 0,
True)));
- Table.States (230).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 144, 2)));
- Table.States (230).Minimal_Complete_Actions_Recursive := True;
- Table.States (231).Action_List.Set_Capacity (4);
- Add_Action (Table.States (231), 79, 31);
- Add_Action (Table.States (231), 105, 120);
- Add_Action (Table.States (231), 106, 34);
- Add_Action (Table.States (231), 107, 35);
- Table.States (231).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (231), 129, 42);
- Add_Goto (Table.States (231), 240, 399);
- Add_Goto (Table.States (231), 273, 93);
- Add_Goto (Table.States (231), 294, 98);
- Table.States (231).Kernel := To_Vector (((252, 47, 4, False),
(252, 47, 3, False)));
- Table.States (231).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (232).Action_List.Set_Capacity (1);
- Add_Action (Table.States (232), 97, 400);
- Table.States (232).Kernel := To_Vector ((0 => (215, 252, 1,
False)));
- Table.States (232).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 400)));
- Table.States (233).Action_List.Set_Capacity (2);
- Add_Action (Table.States (233), 74, 338);
- Add_Action (Table.States (233), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (233).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (233), 123, 401);
- Table.States (233).Kernel := To_Vector ((0 => (217, 313, 1,
False)));
- Table.States (233).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (234).Action_List.Set_Capacity (13);
- Add_Action (Table.States (234), 7, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (234), 8, 402);
- Add_Action (Table.States (234), 11, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (234), 16, 403);
- Add_Conflict (Table.States (234), 16, (119, 1), 0, null, null);
- Add_Action (Table.States (234), 26, 404);
- Add_Action (Table.States (234), 40, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (234), 74, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (234), 79, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (234), 83, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (234), 97, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (234), 105, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (234), 106, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (234), 107, Reduce, (119, 1), 0, null,
null);
- Table.States (234).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (234), 119, 405);
- Table.States (234).Kernel := To_Vector (((158, 82, 3, False),
(187, 82, 2, False), (245, 82, 3, False),
- (245, 82, 4, False), (245, 82, 10, False), (245, 82, 2, False),
(245, 82, 3, False), (245, 82, 9, False)));
- Table.States (234).Minimal_Complete_Actions := To_Vector (((Shift,
26, 404), (Reduce, 119, 0)));
- Table.States (235).Action_List.Set_Capacity (1);
- Add_Action (Table.States (235), 105, 406);
- Table.States (235).Kernel := To_Vector ((0 => (220, 84, 1, True)));
- Table.States (235).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 406)));
- Table.States (235).Minimal_Complete_Actions_Recursive := True;
- Table.States (236).Action_List.Set_Capacity (21);
- Add_Action (Table.States (236), 3, 122);
- Add_Action (Table.States (236), 15, 259);
- Add_Action (Table.States (236), 28, 260);
- Add_Action (Table.States (236), 32, 261);
- Add_Action (Table.States (236), 39, 123);
- Add_Action (Table.States (236), 40, 262);
- Add_Action (Table.States (236), 41, 125);
- Add_Action (Table.States (236), 44, 264);
- Add_Action (Table.States (236), 52, 126);
- Add_Action (Table.States (236), 76, 127);
- Add_Action (Table.States (236), 77, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (236), 79, 31);
- Add_Action (Table.States (236), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (236), 84, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (236), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (236), 95, 128);
- Add_Action (Table.States (236), 96, 129);
- Add_Action (Table.States (236), 104, 130);
- Add_Action (Table.States (236), 105, 120);
- Add_Action (Table.States (236), 106, 34);
- Add_Action (Table.States (236), 107, 265);
- Table.States (236).Goto_List.Set_Capacity (29);
- Add_Goto (Table.States (236), 118, 131);
- Add_Goto (Table.States (236), 125, 266);
- Add_Goto (Table.States (236), 126, 407);
- Add_Goto (Table.States (236), 129, 42);
- Add_Goto (Table.States (236), 137, 268);
- Add_Goto (Table.States (236), 154, 408);
- Add_Goto (Table.States (236), 166, 270);
- Add_Goto (Table.States (236), 167, 271);
- Add_Goto (Table.States (236), 192, 409);
- Add_Goto (Table.States (236), 198, 134);
- Add_Goto (Table.States (236), 222, 274);
- Add_Goto (Table.States (236), 240, 275);
- Add_Goto (Table.States (236), 259, 136);
- Add_Goto (Table.States (236), 273, 93);
- Add_Goto (Table.States (236), 274, 276);
- Add_Goto (Table.States (236), 276, 137);
- Add_Goto (Table.States (236), 278, 410);
- Add_Goto (Table.States (236), 279, 411);
- Add_Goto (Table.States (236), 283, 138);
- Add_Goto (Table.States (236), 284, 139);
- Add_Goto (Table.States (236), 285, 140);
- Add_Goto (Table.States (236), 286, 141);
- Add_Goto (Table.States (236), 287, 142);
- Add_Goto (Table.States (236), 288, 143);
- Add_Goto (Table.States (236), 294, 98);
- Add_Goto (Table.States (236), 302, 278);
- Add_Goto (Table.States (236), 321, 145);
- Add_Goto (Table.States (236), 322, 146);
- Add_Goto (Table.States (236), 331, 147);
- Table.States (236).Kernel := To_Vector (((116, 76, 1, False),
(116, 76, 3, False), (240, 76, 4, True)));
- Table.States (236).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 126, 0)));
- Table.States (236).Minimal_Complete_Actions_Recursive := True;
+ Add_Goto (Table.States (216), 125, 379);
+ Table.States (216).Kernel := To_Vector ((((308, 0), 107, 6,
(2147483647, 0), 0), ((308, 1), 107, 3,
+ (2147483647, 0), 0), ((308, 2), 107, 1, (2147483647, 0), 0)));
+ Table.States (216).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (217).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (217), 35, Reduce, (172, 2), 0, null,
null);
+ Add_Action (Table.States (217), 76, (172, 0), 380);
+ Add_Action (Table.States (217), 99, Reduce, (172, 2), 0, null,
null);
+ Table.States (217).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (217), 172, 381);
+ Table.States (217).Kernel := To_Vector ((((209, 0), 107, 3,
(2147483647, 0), 0), ((226, 0), 107, 3,
+ (2147483647, 0), 0), ((226, 1), 107, 1, (2147483647, 0), 0),
((262, 0), 107, 6, (2147483647, 0), 0),
+ ((263, 0), 107, 3, (2147483647, 0), 0)));
+ Table.States (217).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (172, 2), 0)));
+ Table.States (218).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (218), 69, (334, 0), 382);
+ Table.States (218).Kernel := To_Vector ((0 => ((334, 0), 9, 3,
(2147483647, 0), 0)));
+ Table.States (218).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (334, 0), 69, 382)));
+ Table.States (219).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (219), 81, (242, 8), 31);
+ Add_Action (Table.States (219), 107, (242, 5), 120);
+ Add_Action (Table.States (219), 108, (242, 7), 34);
+ Add_Action (Table.States (219), 109, (242, 6), 35);
+ Table.States (219).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (219), 131, 42);
+ Add_Goto (Table.States (219), 241, 383);
+ Add_Goto (Table.States (219), 242, 221);
+ Add_Goto (Table.States (219), 275, 93);
+ Add_Goto (Table.States (219), 296, 98);
+ Table.States (219).Kernel := To_Vector ((0 => ((334, 1), 69, 2,
(2147483647, 0), 0)));
+ Table.States (219).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (220).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (220), 86, (241, 0), 384);
+ Add_Action (Table.States (220), 99, (334, 2), 385);
+ Table.States (220).Kernel := To_Vector ((((241, 0), 241, 2,
(2147483647, 0), 0), ((334, 2), 241, 1,
+ (2147483647, 0), 0)));
+ Table.States (220).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (334, 2), 99, 385)));
+ Table.States (221).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (221), 76, (118, 0), 237);
+ Add_Action (Table.States (221), 86, Reduce, (241, 1), 1, null,
null);
+ Add_Action (Table.States (221), 87, (296, 0), 239);
+ Add_Action (Table.States (221), 99, Reduce, (241, 1), 1, null,
null);
+ Add_Action (Table.States (221), 104, (325, 0), 241);
+ Add_Action (Table.States (221), 105, (325, 1), 242);
+ Table.States (221).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (221), 118, 243);
+ Add_Goto (Table.States (221), 325, 244);
+ Table.States (221).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((241, 1), 242, 0,
+ (241, 1), 1), ((242, 0), 242, 5, (2147483647, 0), 0), ((242,
1), 242, 2, (2147483647, 0), 0), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (221).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (241, 1), 1)));
+ Table.States (222).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (222), (1 => 37), (232, 0), 2,
iteration_scheme_0'Access, null);
+ Table.States (222).Kernel := To_Vector ((0 => ((232, 0), 195, 0,
(232, 0), 2)));
+ Table.States (222).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (232, 0), 2)));
+ Table.States (223).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (223), 86, (241, 0), 384);
+ Add_Action (Table.States (223), 99, (335, 3), 386);
+ Table.States (223).Kernel := To_Vector ((((241, 0), 241, 2,
(2147483647, 0), 0), ((335, 3), 241, 1,
+ (2147483647, 0), 0)));
+ Table.States (223).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (335, 3), 99, 386)));
+ Table.States (224).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (224), 93, (220, 0), 387);
+ Table.States (224).Kernel := To_Vector ((0 => ((220, 0), 107, 1,
(2147483647, 0), 0)));
+ Table.States (224).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (220, 0), 93, 387)));
+ Table.States (225).Action_List.Set_Capacity (12);
+ Add_Action (Table.States (225), 7, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (225), 13, Reduce, (134, 0), 2,
block_label_0'Access,
+ block_label_0_check'Access);
+ Add_Action (Table.States (225), 17, Reduce, (134, 0), 2,
block_label_0'Access,
+ block_label_0_check'Access);
+ Add_Action (Table.States (225), 26, (248, 2), 388);
+ Add_Action (Table.States (225), 28, Reduce, (134, 0), 2,
block_label_0'Access,
+ block_label_0_check'Access);
+ Add_Action (Table.States (225), 37, Reduce, (134, 0), 2,
block_label_0'Access,
+ block_label_0_check'Access);
+ Add_Action (Table.States (225), 40, (244, 0), 389);
+ Add_Action (Table.States (225), 73, Reduce, (134, 0), 2,
block_label_0'Access,
+ block_label_0_check'Access);
+ Add_Action (Table.States (225), 81, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (225), 107, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (225), 108, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (225), 109, Reduce, (244, 1), 0, null,
null);
+ Table.States (225).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (225), 117, 390);
+ Add_Goto (Table.States (225), 244, 391);
+ Table.States (225).Kernel := To_Vector ((((134, 0), 84, 0, (134,
0), 2), ((248, 0), 84, 4,
+ (2147483647, 0), 0), ((248, 1), 84, 5, (2147483647, 0), 0),
((248, 2), 84, 4, (2147483647, 0), 0)));
+ Table.States (225).Minimal_Complete_Actions := To_Vector
(((Reduce, (134, 0), 2), (Reduce, (244, 1), 0),
+ (Shift, (248, 2), 26, 388)));
+ Table.States (226).Action_List.Set_Capacity (25);
+ Add_Action (Table.States (226), 4, (116, 0), 1);
+ Add_Action (Table.States (226), 5, (306, 8), 2);
+ Add_Action (Table.States (226), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (226), 15, (142, 0), 3);
+ Add_Action (Table.States (226), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (226), 18, (164, 0), 4);
+ Add_Action (Table.States (226), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (226), 26, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (226), 27, (193, 0), 5);
+ Add_Action (Table.States (226), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (226), 31, (306, 3), 9);
+ Add_Action (Table.States (226), 32, (225, 0), 10);
+ Add_Action (Table.States (226), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (226), 41, (306, 0), 13);
+ Add_Action (Table.States (226), 48, (260, 0), 16);
+ Add_Action (Table.States (226), 52, (279, 0), 20);
+ Add_Action (Table.States (226), 57, (293, 0), 21);
+ Add_Action (Table.States (226), 58, (199, 0), 22);
+ Add_Action (Table.States (226), 61, (129, 0), 24);
+ Add_Action (Table.States (226), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (226), 81, (242, 8), 31);
+ Add_Action (Table.States (226), 96, (220, 0), 32);
+ Add_Action (Table.States (226), 107, (134, 0), 363);
+ Add_Action (Table.States (226), 108, (242, 7), 34);
+ Add_Action (Table.States (226), 109, (242, 6), 35);
+ Table.States (226).Goto_List.Set_Capacity (32);
+ Add_Goto (Table.States (226), 116, 37);
+ Add_Goto (Table.States (226), 126, 39);
+ Add_Goto (Table.States (226), 129, 40);
+ Add_Goto (Table.States (226), 131, 42);
+ Add_Goto (Table.States (226), 134, 43);
+ Add_Goto (Table.States (226), 135, 44);
+ Add_Goto (Table.States (226), 136, 45);
+ Add_Goto (Table.States (226), 142, 48);
+ Add_Goto (Table.States (226), 154, 51);
+ Add_Goto (Table.States (226), 155, 52);
+ Add_Goto (Table.States (226), 164, 54);
+ Add_Goto (Table.States (226), 193, 58);
+ Add_Goto (Table.States (226), 199, 60);
+ Add_Goto (Table.States (226), 220, 69);
+ Add_Goto (Table.States (226), 221, 392);
+ Add_Goto (Table.States (226), 225, 71);
+ Add_Goto (Table.States (226), 235, 73);
+ Add_Goto (Table.States (226), 242, 74);
+ Add_Goto (Table.States (226), 260, 84);
+ Add_Goto (Table.States (226), 264, 87);
+ Add_Goto (Table.States (226), 275, 93);
+ Add_Goto (Table.States (226), 279, 94);
+ Add_Goto (Table.States (226), 293, 97);
+ Add_Goto (Table.States (226), 296, 98);
+ Add_Goto (Table.States (226), 297, 99);
+ Add_Goto (Table.States (226), 301, 100);
+ Add_Goto (Table.States (226), 302, 364);
+ Add_Goto (Table.States (226), 303, 393);
+ Add_Goto (Table.States (226), 305, 101);
+ Add_Goto (Table.States (226), 306, 102);
+ Add_Goto (Table.States (226), 309, 366);
+ Add_Goto (Table.States (226), 326, 115);
+ Table.States (226).Kernel := To_Vector ((0 => ((136, 1), 13, 2,
(2147483647, 0), 0)));
+ Table.States (226).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (221, 1), 0)));
end Subr_4;
procedure Subr_5
is begin
- Table.States (237).Action_List.Set_Capacity (14);
- Add_Action (Table.States (237), 3, 122);
- Add_Action (Table.States (237), 39, 123);
- Add_Action (Table.States (237), 40, 124);
- Add_Action (Table.States (237), 41, 125);
- Add_Action (Table.States (237), 52, 126);
- Add_Action (Table.States (237), 76, 127);
- Add_Action (Table.States (237), 79, 31);
- Add_Action (Table.States (237), 95, 128);
- Add_Action (Table.States (237), 96, 129);
- Add_Action (Table.States (237), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (237), 104, 130);
- Add_Action (Table.States (237), 105, 120);
- Add_Action (Table.States (237), 106, 34);
- Add_Action (Table.States (237), 107, 35);
- Table.States (237).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (237), 118, 131);
- Add_Goto (Table.States (237), 129, 42);
- Add_Goto (Table.States (237), 192, 132);
- Add_Goto (Table.States (237), 193, 412);
- Add_Goto (Table.States (237), 198, 134);
- Add_Goto (Table.States (237), 240, 135);
- Add_Goto (Table.States (237), 259, 136);
- Add_Goto (Table.States (237), 273, 93);
- Add_Goto (Table.States (237), 276, 137);
- Add_Goto (Table.States (237), 283, 138);
- Add_Goto (Table.States (237), 284, 139);
- Add_Goto (Table.States (237), 285, 140);
- Add_Goto (Table.States (237), 286, 141);
- Add_Goto (Table.States (237), 287, 142);
- Add_Goto (Table.States (237), 288, 143);
- Add_Goto (Table.States (237), 294, 98);
- Add_Goto (Table.States (237), 302, 144);
- Add_Goto (Table.States (237), 321, 145);
- Add_Goto (Table.States (237), 322, 146);
- Add_Goto (Table.States (237), 331, 147);
- Table.States (237).Kernel := To_Vector ((0 => (124, 83, 1,
False)));
- Table.States (237).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (238).Action_List.Set_Capacity (4);
- Add_Action (Table.States (238), 9, 413);
- Add_Action (Table.States (238), 105, 414);
- Add_Action (Table.States (238), 106, 415);
- Add_Action (Table.States (238), 107, 416);
- Table.States (238).Kernel := To_Vector (((294, 85, 1, True), (294,
85, 1, True), (294, 85, 1, True), (294,
- 85, 1, True)));
- Table.States (238).Minimal_Complete_Actions := To_Vector (((Shift,
105, 414), (Shift, 107, 416), (Shift,
- 106, 415), (Shift, 9, 413)));
- Table.States (238).Minimal_Complete_Actions_Recursive := True;
- Table.States (239).Action_List.Set_Capacity (47);
- Add_Action (Table.States (239), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (262, 0), 2, procedure_call_statement_0'Access, null);
- Table.States (239).Kernel := To_Vector ((0 => (262, 97, 0,
False)));
- Table.States (239).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 262, 2)));
- Table.States (240).Action_List.Set_Capacity (7);
- Add_Action (Table.States (240), (7, 19, 20, 38, 53, 76, 105),
(323, 0), 1, null, null);
- Table.States (240).Kernel := To_Vector ((0 => (323, 102, 0,
False)));
- Table.States (240).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 323, 1)));
- Table.States (241).Action_List.Set_Capacity (7);
- Add_Action (Table.States (241), (7, 19, 20, 38, 53, 76, 105),
(323, 1), 1, null, null);
- Table.States (241).Kernel := To_Vector ((0 => (323, 103, 0,
False)));
- Table.States (241).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 323, 1)));
- Table.States (242).Action_List.Set_Capacity (64);
- Add_Action (Table.States (242), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (240, 1), 2, name_1'Access,
- null);
- Table.States (242).Kernel := To_Vector ((0 => (240, 116, 0,
True)));
- Table.States (242).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 240, 2)));
- Table.States (242).Minimal_Complete_Actions_Recursive := True;
- Table.States (243).Action_List.Set_Capacity (6);
- Add_Action (Table.States (243), 7, 417);
- Add_Action (Table.States (243), 19, 418);
- Add_Action (Table.States (243), 20, 419);
- Add_Action (Table.States (243), 38, 420);
- Add_Action (Table.States (243), 76, 127);
- Add_Action (Table.States (243), 105, 421);
- Table.States (243).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (243), 118, 422);
- Add_Goto (Table.States (243), 130, 423);
- Table.States (243).Kernel := To_Vector (((129, 323, 1, True),
(273, 323, 2, True)));
- Table.States (243).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 421)));
- Table.States (243).Minimal_Complete_Actions_Recursive := True;
- Table.States (244).Action_List.Set_Capacity (1);
- Add_Action (Table.States (244), 105, 424);
- Table.States (244).Kernel := To_Vector (((180, 25, 5, False),
(180, 25, 2, False)));
- Table.States (244).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 424)));
- Table.States (245).Action_List.Set_Capacity (4);
- Add_Action (Table.States (245), 79, 31);
- Add_Action (Table.States (245), 105, 120);
- Add_Action (Table.States (245), 106, 34);
- Add_Action (Table.States (245), 107, 35);
- Table.States (245).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (245), 129, 42);
- Add_Goto (Table.States (245), 240, 425);
- Add_Goto (Table.States (245), 273, 93);
- Add_Goto (Table.States (245), 294, 98);
- Table.States (245).Kernel := To_Vector (((208, 29, 2, False),
(214, 29, 5, False)));
- Table.States (245).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
+ Table.States (227).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (227), 13, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (227), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (227), 28, (124, 0), 185);
+ Add_Action (Table.States (227), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (227), 30, (213, 0), 8);
+ Add_Action (Table.States (227), 40, (249, 0), 12);
+ Add_Action (Table.States (227), 46, (249, 1), 14);
+ Add_Action (Table.States (227), 47, (216, 0), 15);
+ Add_Action (Table.States (227), 48, (260, 0), 16);
+ Add_Action (Table.States (227), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (227), 51, (267, 0), 19);
+ Add_Action (Table.States (227), 63, (316, 0), 25);
+ Add_Action (Table.States (227), 66, (308, 0), 26);
+ Add_Action (Table.States (227), 69, (209, 0), 27);
+ Add_Action (Table.States (227), 71, (334, 0), 28);
+ Add_Action (Table.States (227), 107, (222, 1), 187);
+ Table.States (227).Goto_List.Set_Capacity (53);
+ Add_Goto (Table.States (227), 115, 36);
+ Add_Goto (Table.States (227), 124, 38);
+ Add_Goto (Table.States (227), 130, 41);
+ Add_Goto (Table.States (227), 137, 46);
+ Add_Goto (Table.States (227), 138, 47);
+ Add_Goto (Table.States (227), 160, 394);
+ Add_Goto (Table.States (227), 161, 395);
+ Add_Goto (Table.States (227), 162, 396);
+ Add_Goto (Table.States (227), 182, 55);
+ Add_Goto (Table.States (227), 185, 56);
+ Add_Goto (Table.States (227), 189, 57);
+ Add_Goto (Table.States (227), 196, 59);
+ Add_Goto (Table.States (227), 209, 61);
+ Add_Goto (Table.States (227), 210, 62);
+ Add_Goto (Table.States (227), 212, 63);
+ Add_Goto (Table.States (227), 213, 64);
+ Add_Goto (Table.States (227), 216, 65);
+ Add_Goto (Table.States (227), 217, 66);
+ Add_Goto (Table.States (227), 218, 67);
+ Add_Goto (Table.States (227), 219, 68);
+ Add_Goto (Table.States (227), 222, 70);
+ Add_Goto (Table.States (227), 226, 72);
+ Add_Goto (Table.States (227), 246, 75);
+ Add_Goto (Table.States (227), 247, 76);
+ Add_Goto (Table.States (227), 248, 77);
+ Add_Goto (Table.States (227), 249, 78);
+ Add_Goto (Table.States (227), 250, 79);
+ Add_Goto (Table.States (227), 251, 80);
+ Add_Goto (Table.States (227), 252, 81);
+ Add_Goto (Table.States (227), 253, 82);
+ Add_Goto (Table.States (227), 254, 83);
+ Add_Goto (Table.States (227), 260, 397);
+ Add_Goto (Table.States (227), 262, 85);
+ Add_Goto (Table.States (227), 263, 86);
+ Add_Goto (Table.States (227), 265, 88);
+ Add_Goto (Table.States (227), 266, 89);
+ Add_Goto (Table.States (227), 267, 90);
+ Add_Goto (Table.States (227), 268, 91);
+ Add_Goto (Table.States (227), 274, 92);
+ Add_Goto (Table.States (227), 284, 95);
+ Add_Goto (Table.States (227), 292, 96);
+ Add_Goto (Table.States (227), 307, 103);
+ Add_Goto (Table.States (227), 308, 104);
+ Add_Goto (Table.States (227), 310, 106);
+ Add_Goto (Table.States (227), 311, 107);
+ Add_Goto (Table.States (227), 312, 108);
+ Add_Goto (Table.States (227), 314, 109);
+ Add_Goto (Table.States (227), 316, 110);
+ Add_Goto (Table.States (227), 319, 112);
+ Add_Goto (Table.States (227), 320, 113);
+ Add_Goto (Table.States (227), 322, 114);
+ Add_Goto (Table.States (227), 328, 116);
+ Add_Goto (Table.States (227), 334, 117);
+ Table.States (227).Kernel := To_Vector ((0 => ((136, 0), 17, 3,
(2147483647, 0), 0)));
+ Table.States (227).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (162, 1), 0)));
+ Table.States (228).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (228), 37, Reduce, (234, 1), 0, null,
null);
+ Add_Action (Table.States (228), 107, (233, 0), 398);
+ Table.States (228).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (228), 233, 157);
+ Add_Goto (Table.States (228), 234, 158);
+ Table.States (228).Kernel := To_Vector ((0 => ((232, 1), 28, 0,
(234, 1), 0)));
+ Table.States (228).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (234, 1), 0)));
+ Table.States (229).Action_List.Set_Capacity (24);
+ Add_Action (Table.States (229), 4, (116, 0), 1);
+ Add_Action (Table.States (229), 5, (306, 8), 2);
+ Add_Action (Table.States (229), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (229), 15, (142, 0), 3);
+ Add_Action (Table.States (229), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (229), 18, (164, 0), 4);
+ Add_Action (Table.States (229), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (229), 27, (193, 0), 5);
+ Add_Action (Table.States (229), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (229), 31, (306, 3), 9);
+ Add_Action (Table.States (229), 32, (225, 0), 10);
+ Add_Action (Table.States (229), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (229), 41, (306, 0), 13);
+ Add_Action (Table.States (229), 48, (260, 0), 16);
+ Add_Action (Table.States (229), 52, (279, 0), 20);
+ Add_Action (Table.States (229), 57, (293, 0), 21);
+ Add_Action (Table.States (229), 58, (199, 0), 22);
+ Add_Action (Table.States (229), 61, (129, 0), 24);
+ Add_Action (Table.States (229), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (229), 81, (242, 8), 31);
+ Add_Action (Table.States (229), 96, (220, 0), 32);
+ Add_Action (Table.States (229), 107, (134, 0), 363);
+ Add_Action (Table.States (229), 108, (242, 7), 34);
+ Add_Action (Table.States (229), 109, (242, 6), 35);
+ Table.States (229).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (229), 116, 37);
+ Add_Goto (Table.States (229), 126, 39);
+ Add_Goto (Table.States (229), 129, 40);
+ Add_Goto (Table.States (229), 131, 42);
+ Add_Goto (Table.States (229), 134, 43);
+ Add_Goto (Table.States (229), 135, 44);
+ Add_Goto (Table.States (229), 136, 45);
+ Add_Goto (Table.States (229), 142, 48);
+ Add_Goto (Table.States (229), 154, 51);
+ Add_Goto (Table.States (229), 155, 52);
+ Add_Goto (Table.States (229), 164, 54);
+ Add_Goto (Table.States (229), 193, 58);
+ Add_Goto (Table.States (229), 199, 60);
+ Add_Goto (Table.States (229), 220, 69);
+ Add_Goto (Table.States (229), 225, 71);
+ Add_Goto (Table.States (229), 235, 73);
+ Add_Goto (Table.States (229), 242, 74);
+ Add_Goto (Table.States (229), 260, 84);
+ Add_Goto (Table.States (229), 264, 87);
+ Add_Goto (Table.States (229), 275, 93);
+ Add_Goto (Table.States (229), 279, 94);
+ Add_Goto (Table.States (229), 293, 97);
+ Add_Goto (Table.States (229), 296, 98);
+ Add_Goto (Table.States (229), 297, 99);
+ Add_Goto (Table.States (229), 301, 100);
+ Add_Goto (Table.States (229), 302, 364);
+ Add_Goto (Table.States (229), 303, 399);
+ Add_Goto (Table.States (229), 305, 101);
+ Add_Goto (Table.States (229), 306, 102);
+ Add_Goto (Table.States (229), 309, 366);
+ Add_Goto (Table.States (229), 326, 115);
+ Table.States (229).Kernel := To_Vector ((0 => ((235, 1), 37, 3,
(2147483647, 0), 0)));
+ Table.States (229).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
+ Table.States (230).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (230), 37, (235, 0), 400);
+ Table.States (230).Kernel := To_Vector ((0 => ((235, 0), 232, 4,
(2147483647, 0), 0)));
+ Table.States (230).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (235, 0), 37, 400)));
+ Table.States (231).Action_List.Set_Capacity (40);
+ Add_Action (Table.States (231), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
+ 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 81,
96, 107, 108, 109, 110), (146, 0), 2,
+ compilation_unit_list_0'Access, null);
+ Table.States (231).Kernel := To_Vector ((0 => ((146, 0), 145, 0,
(146, 0), 2)));
+ Table.States (231).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (146, 0), 2)));
+ Table.States (232).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (232), 81, (242, 8), 31);
+ Add_Action (Table.States (232), 107, (242, 5), 120);
+ Add_Action (Table.States (232), 108, (242, 7), 34);
+ Add_Action (Table.States (232), 109, (242, 6), 35);
+ Table.States (232).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (232), 131, 42);
+ Add_Goto (Table.States (232), 242, 401);
+ Add_Goto (Table.States (232), 275, 93);
+ Add_Goto (Table.States (232), 296, 98);
+ Table.States (232).Kernel := To_Vector ((((254, 0), 47, 4,
(2147483647, 0), 0), ((254, 1), 47, 3,
+ (2147483647, 0), 0)));
+ Table.States (232).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (233).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (233), 99, (217, 0), 402);
+ Table.States (233).Kernel := To_Vector ((0 => ((217, 0), 254, 1,
(2147483647, 0), 0)));
+ Table.States (233).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (217, 0), 99, 402)));
+ Table.States (234).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (234), 74, (125, 0), 340);
+ Add_Action (Table.States (234), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (234).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (234), 125, 403);
+ Table.States (234).Kernel := To_Vector ((0 => ((219, 0), 315, 1,
(2147483647, 0), 0)));
+ Table.States (234).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (235).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (235), 7, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (235), 8, (121, 0), 404);
+ Add_Action (Table.States (235), 11, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (235), 16, (160, 9), 405);
+ Add_Conflict (Table.States (235), 16, (121, 1), 0, null, null);
+ Add_Action (Table.States (235), 26, (189, 0), 406);
+ Add_Action (Table.States (235), 40, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (235), 74, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (235), 81, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (235), 85, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (235), 99, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (235), 107, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (235), 108, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (235), 109, Reduce, (121, 1), 0, null,
null);
+ Table.States (235).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (235), 121, 407);
+ Table.States (235).Kernel := To_Vector ((((160, 9), 84, 3,
(2147483647, 0), 0), ((189, 0), 84, 2,
+ (2147483647, 0), 0), ((247, 0), 84, 3, (2147483647, 0), 0),
((247, 1), 84, 4, (2147483647, 0), 0),
+ ((247, 2), 84, 10, (2147483647, 0), 0), ((247, 3), 84, 2,
(2147483647, 0), 0), ((247, 4), 84, 3,
+ (2147483647, 0), 0), ((247, 5), 84, 9, (2147483647, 0), 0)));
+ Table.States (235).Minimal_Complete_Actions := To_Vector (((Shift,
(189, 0), 26, 406), (Reduce, (121, 1),
+ 0)));
+ Table.States (236).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (236), 107, (222, 0), 408);
+ Table.States (236).Kernel := To_Vector ((0 => ((222, 0), 86, 1,
(2147483647, 0), 0)));
+ Table.States (236).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (222, 0), 107, 408)));
+ Table.States (237).Action_List.Set_Capacity (22);
+ Add_Action (Table.States (237), 3, (200, 2), 122);
+ Add_Action (Table.States (237), 15, (139, 0), 260);
+ Add_Action (Table.States (237), 28, (127, 6), 261);
+ Add_Action (Table.States (237), 32, (224, 0), 262);
+ Add_Action (Table.States (237), 39, (261, 4), 123);
+ Add_Action (Table.States (237), 40, (168, 1), 263);
+ Add_Action (Table.States (237), 41, (261, 1), 125);
+ Add_Action (Table.States (237), 44, (168, 3), 265);
+ Add_Action (Table.States (237), 52, (278, 0), 126);
+ Add_Action (Table.States (237), 76, (120, 0), 127);
+ Add_Action (Table.States (237), 77, (120, 5), 128);
+ Add_Action (Table.States (237), 78, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (237), 81, (242, 8), 31);
+ Add_Action (Table.States (237), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (237), 86, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (237), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (237), 97, (333, 1), 129);
+ Add_Action (Table.States (237), 98, (333, 0), 130);
+ Add_Action (Table.States (237), 106, (261, 0), 131);
+ Add_Action (Table.States (237), 107, (242, 5), 120);
+ Add_Action (Table.States (237), 108, (242, 7), 34);
+ Add_Action (Table.States (237), 109, (127, 0), 266);
+ Table.States (237).Goto_List.Set_Capacity (29);
+ Add_Goto (Table.States (237), 120, 132);
+ Add_Goto (Table.States (237), 127, 267);
+ Add_Goto (Table.States (237), 128, 409);
+ Add_Goto (Table.States (237), 131, 42);
+ Add_Goto (Table.States (237), 139, 269);
+ Add_Goto (Table.States (237), 156, 410);
+ Add_Goto (Table.States (237), 168, 271);
+ Add_Goto (Table.States (237), 169, 272);
+ Add_Goto (Table.States (237), 194, 411);
+ Add_Goto (Table.States (237), 200, 135);
+ Add_Goto (Table.States (237), 224, 275);
+ Add_Goto (Table.States (237), 242, 276);
+ Add_Goto (Table.States (237), 261, 137);
+ Add_Goto (Table.States (237), 275, 93);
+ Add_Goto (Table.States (237), 276, 277);
+ Add_Goto (Table.States (237), 278, 138);
+ Add_Goto (Table.States (237), 280, 412);
+ Add_Goto (Table.States (237), 281, 413);
+ Add_Goto (Table.States (237), 285, 139);
+ Add_Goto (Table.States (237), 286, 140);
+ Add_Goto (Table.States (237), 287, 141);
+ Add_Goto (Table.States (237), 288, 142);
+ Add_Goto (Table.States (237), 289, 143);
+ Add_Goto (Table.States (237), 290, 144);
+ Add_Goto (Table.States (237), 296, 98);
+ Add_Goto (Table.States (237), 304, 279);
+ Add_Goto (Table.States (237), 323, 146);
+ Add_Goto (Table.States (237), 324, 147);
+ Add_Goto (Table.States (237), 333, 148);
+ Table.States (237).Kernel := To_Vector ((((118, 0), 76, 1,
(2147483647, 0), 0), ((118, 1), 76, 3,
+ (2147483647, 0), 0), ((242, 0), 76, 4, (2147483647, 0), 0)));
+ Table.States (237).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (128, 1), 0)));
+ Table.States (238).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (238), 3, (200, 2), 122);
+ Add_Action (Table.States (238), 39, (261, 4), 123);
+ Add_Action (Table.States (238), 40, (200, 3), 124);
+ Add_Action (Table.States (238), 41, (261, 1), 125);
+ Add_Action (Table.States (238), 52, (278, 0), 126);
+ Add_Action (Table.States (238), 76, (120, 0), 127);
+ Add_Action (Table.States (238), 77, (120, 5), 128);
+ Add_Action (Table.States (238), 81, (242, 8), 31);
+ Add_Action (Table.States (238), 97, (333, 1), 129);
+ Add_Action (Table.States (238), 98, (333, 0), 130);
+ Add_Action (Table.States (238), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (238), 106, (261, 0), 131);
+ Add_Action (Table.States (238), 107, (242, 5), 120);
+ Add_Action (Table.States (238), 108, (242, 7), 34);
+ Add_Action (Table.States (238), 109, (242, 6), 35);
+ Table.States (238).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (238), 120, 132);
+ Add_Goto (Table.States (238), 131, 42);
+ Add_Goto (Table.States (238), 194, 133);
+ Add_Goto (Table.States (238), 195, 414);
+ Add_Goto (Table.States (238), 200, 135);
+ Add_Goto (Table.States (238), 242, 136);
+ Add_Goto (Table.States (238), 261, 137);
+ Add_Goto (Table.States (238), 275, 93);
+ Add_Goto (Table.States (238), 278, 138);
+ Add_Goto (Table.States (238), 285, 139);
+ Add_Goto (Table.States (238), 286, 140);
+ Add_Goto (Table.States (238), 287, 141);
+ Add_Goto (Table.States (238), 288, 142);
+ Add_Goto (Table.States (238), 289, 143);
+ Add_Goto (Table.States (238), 290, 144);
+ Add_Goto (Table.States (238), 296, 98);
+ Add_Goto (Table.States (238), 304, 145);
+ Add_Goto (Table.States (238), 323, 146);
+ Add_Goto (Table.States (238), 324, 147);
+ Add_Goto (Table.States (238), 333, 148);
+ Table.States (238).Kernel := To_Vector ((0 => ((126, 0), 85, 1,
(2147483647, 0), 0)));
+ Table.States (238).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (239).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (239), 9, (296, 3), 415);
+ Add_Action (Table.States (239), 107, (296, 0), 416);
+ Add_Action (Table.States (239), 108, (296, 2), 417);
+ Add_Action (Table.States (239), 109, (296, 1), 418);
+ Table.States (239).Kernel := To_Vector ((((296, 0), 87, 1,
(2147483647, 0), 0), ((296, 1), 87, 1,
+ (2147483647, 0), 0), ((296, 2), 87, 1, (2147483647, 0), 0),
((296, 3), 87, 1, (2147483647, 0), 0)));
+ Table.States (240).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (240), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (264, 0), 2, procedure_call_statement_0'Access, null);
+ Table.States (240).Kernel := To_Vector ((0 => ((264, 0), 99, 0,
(264, 0), 2)));
+ Table.States (240).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (264, 0), 2)));
+ Table.States (241).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (241), (7, 19, 20, 38, 53, 76, 77, 107),
(325, 0), 1, null, null);
+ Table.States (241).Kernel := To_Vector ((0 => ((325, 0), 104, 0,
(325, 0), 1)));
+ Table.States (241).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (325, 0), 1)));
+ Table.States (242).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (242), (7, 19, 20, 38, 53, 76, 77, 107),
(325, 1), 1, null, null);
+ Table.States (242).Kernel := To_Vector ((0 => ((325, 1), 105, 0,
(325, 1), 1)));
+ Table.States (242).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (325, 1), 1)));
+ Table.States (243).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (243), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (242, 1), 2,
+ name_1'Access, null);
+ Table.States (243).Kernel := To_Vector ((0 => ((242, 1), 118, 0,
(242, 1), 2)));
+ Table.States (243).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (242, 1), 2)));
+ Table.States (244).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (244), 7, (132, 2), 419);
+ Add_Action (Table.States (244), 19, (132, 3), 420);
+ Add_Action (Table.States (244), 20, (132, 4), 421);
+ Add_Action (Table.States (244), 38, (132, 5), 422);
+ Add_Action (Table.States (244), 76, (120, 0), 127);
+ Add_Action (Table.States (244), 77, (120, 5), 128);
+ Add_Action (Table.States (244), 107, (132, 0), 423);
+ Table.States (244).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (244), 120, 424);
+ Add_Goto (Table.States (244), 132, 425);
+ Table.States (244).Kernel := To_Vector ((((131, 0), 325, 1,
(2147483647, 0), 0), ((275, 0), 325, 2,
+ (2147483647, 0), 0)));
+ Table.States (245).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (245), 107, (182, 0), 426);
+ Table.States (245).Kernel := To_Vector ((((182, 0), 25, 5,
(2147483647, 0), 0), ((182, 1), 25, 2,
+ (2147483647, 0), 0)));
+ Table.States (245).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (182, 0), 107, 426)));
Table.States (246).Action_List.Set_Capacity (4);
- Add_Action (Table.States (246), 79, 31);
- Add_Action (Table.States (246), 105, 120);
- Add_Action (Table.States (246), 106, 34);
- Add_Action (Table.States (246), 107, 35);
+ Add_Action (Table.States (246), 81, (242, 8), 31);
+ Add_Action (Table.States (246), 107, (242, 5), 120);
+ Add_Action (Table.States (246), 108, (242, 7), 34);
+ Add_Action (Table.States (246), 109, (242, 6), 35);
Table.States (246).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (246), 129, 42);
- Add_Goto (Table.States (246), 240, 426);
- Add_Goto (Table.States (246), 273, 93);
- Add_Goto (Table.States (246), 294, 98);
- Table.States (246).Kernel := To_Vector (((214, 50, 5, False),
(263, 50, 1, False)));
- Table.States (246).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
+ Add_Goto (Table.States (246), 131, 42);
+ Add_Goto (Table.States (246), 242, 427);
+ Add_Goto (Table.States (246), 275, 93);
+ Add_Goto (Table.States (246), 296, 98);
+ Table.States (246).Kernel := To_Vector ((((210, 0), 29, 2,
(2147483647, 0), 0), ((216, 2), 29, 5,
+ (2147483647, 0), 0)));
+ Table.States (246).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
Table.States (247).Action_List.Set_Capacity (4);
- Add_Action (Table.States (247), 35, 427);
- Add_Conflict (Table.States (247), 35, (313, 1), 1, null,
subprogram_specification_1_check'Access);
- Add_Action (Table.States (247), 56, Reduce, (313, 1), 1, null,
subprogram_specification_1_check'Access);
- Add_Action (Table.States (247), 74, Reduce, (313, 1), 1, null,
subprogram_specification_1_check'Access);
- Add_Action (Table.States (247), 97, Reduce, (313, 1), 1, null,
subprogram_specification_1_check'Access);
- Table.States (247).Kernel := To_Vector (((194, 208, 4, False),
(313, 208, 0, False)));
- Table.States (247).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 313, 1)));
+ Add_Action (Table.States (247), 81, (242, 8), 31);
+ Add_Action (Table.States (247), 107, (242, 5), 120);
+ Add_Action (Table.States (247), 108, (242, 7), 34);
+ Add_Action (Table.States (247), 109, (242, 6), 35);
+ Table.States (247).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (247), 131, 42);
+ Add_Goto (Table.States (247), 242, 428);
+ Add_Goto (Table.States (247), 275, 93);
+ Add_Goto (Table.States (247), 296, 98);
+ Table.States (247).Kernel := To_Vector ((((216, 1), 50, 5,
(2147483647, 0), 0), ((265, 0), 50, 1,
+ (2147483647, 0), 0)));
+ Table.States (247).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
Table.States (248).Action_List.Set_Capacity (4);
- Add_Action (Table.States (248), 35, 428);
- Add_Conflict (Table.States (248), 35, (313, 0), 1, null,
subprogram_specification_0_check'Access);
- Add_Action (Table.States (248), 56, Reduce, (313, 0), 1, null,
subprogram_specification_0_check'Access);
- Add_Action (Table.States (248), 74, Reduce, (313, 0), 1, null,
subprogram_specification_0_check'Access);
- Add_Action (Table.States (248), 97, Reduce, (313, 0), 1, null,
subprogram_specification_0_check'Access);
- Table.States (248).Kernel := To_Vector (((244, 263, 3, False),
(313, 263, 0, False)));
- Table.States (248).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 313, 1)));
+ Add_Action (Table.States (248), 35, (196, 0), 429);
+ Add_Conflict (Table.States (248), 35, (315, 1), 1, null,
subprogram_specification_1_check'Access);
+ Add_Action (Table.States (248), 56, Reduce, (315, 1), 1, null,
subprogram_specification_1_check'Access);
+ Add_Action (Table.States (248), 74, Reduce, (315, 1), 1, null,
subprogram_specification_1_check'Access);
+ Add_Action (Table.States (248), 99, Reduce, (315, 1), 1, null,
subprogram_specification_1_check'Access);
+ Table.States (248).Kernel := To_Vector ((((196, 0), 210, 4,
(2147483647, 0), 0), ((315, 1), 210, 0,
+ (315, 1), 1)));
+ Table.States (248).Minimal_Complete_Actions := To_Vector (((Shift,
(196, 0), 35, 429), (Reduce, (315, 1),
+ 1)));
Table.States (249).Action_List.Set_Capacity (4);
- Add_Action (Table.States (249), 35, 429);
- Add_Conflict (Table.States (249), 35, (123, 1), 0, null, null);
- Add_Action (Table.States (249), 56, 430);
- Add_Action (Table.States (249), 74, 338);
- Add_Action (Table.States (249), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (249).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (249), 123, 431);
- Table.States (249).Kernel := To_Vector (((113, 313, 3, False),
(308, 313, 4, False), (309, 313, 3, False),
- (310, 313, 1, False), (312, 313, 3, False)));
- Table.States (249).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (250).Action_List.Set_Capacity (41);
- Add_Action (Table.States (250), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (250, 0), 2,
+ Add_Action (Table.States (249), 35, (246, 0), 430);
+ Add_Conflict (Table.States (249), 35, (315, 0), 1, null,
subprogram_specification_0_check'Access);
+ Add_Action (Table.States (249), 56, Reduce, (315, 0), 1, null,
subprogram_specification_0_check'Access);
+ Add_Action (Table.States (249), 74, Reduce, (315, 0), 1, null,
subprogram_specification_0_check'Access);
+ Add_Action (Table.States (249), 99, Reduce, (315, 0), 1, null,
subprogram_specification_0_check'Access);
+ Table.States (249).Kernel := To_Vector ((((246, 0), 265, 3,
(2147483647, 0), 0), ((315, 0), 265, 0,
+ (315, 0), 1)));
+ Table.States (249).Minimal_Complete_Actions := To_Vector (((Shift,
(246, 0), 35, 430), (Reduce, (315, 0),
+ 1)));
+ Table.States (250).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (250), 35, (115, 0), 431);
+ Add_Conflict (Table.States (250), 35, (125, 1), 0, null, null);
+ Add_Action (Table.States (250), 56, (314, 0), 432);
+ Add_Action (Table.States (250), 74, (125, 0), 340);
+ Add_Action (Table.States (250), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (250).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (250), 125, 433);
+ Table.States (250).Kernel := To_Vector ((((115, 0), 315, 3,
(2147483647, 0), 0), ((310, 0), 315, 4,
+ (2147483647, 0), 0), ((311, 0), 315, 3, (2147483647, 0), 0),
((312, 0), 315, 1, (2147483647, 0), 0),
+ ((314, 0), 315, 3, (2147483647, 0), 0)));
+ Table.States (250).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (251).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (251), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (252, 0), 2,
package_declaration_0'Access, null);
- Table.States (250).Kernel := To_Vector ((0 => (250, 97, 0,
False)));
- Table.States (250).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 250, 2)));
- Table.States (251).Action_List.Set_Capacity (21);
- Add_Action (Table.States (251), 3, 122);
- Add_Action (Table.States (251), 15, 259);
- Add_Action (Table.States (251), 28, 260);
- Add_Action (Table.States (251), 32, 261);
- Add_Action (Table.States (251), 39, 123);
- Add_Action (Table.States (251), 40, 262);
- Add_Action (Table.States (251), 41, 125);
- Add_Action (Table.States (251), 44, 264);
- Add_Action (Table.States (251), 52, 126);
- Add_Action (Table.States (251), 76, 127);
- Add_Action (Table.States (251), 77, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (251), 79, 31);
- Add_Action (Table.States (251), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (251), 84, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (251), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (251), 95, 128);
- Add_Action (Table.States (251), 96, 129);
- Add_Action (Table.States (251), 104, 130);
- Add_Action (Table.States (251), 105, 120);
- Add_Action (Table.States (251), 106, 34);
- Add_Action (Table.States (251), 107, 265);
- Table.States (251).Goto_List.Set_Capacity (28);
- Add_Goto (Table.States (251), 118, 131);
- Add_Goto (Table.States (251), 125, 266);
- Add_Goto (Table.States (251), 126, 407);
- Add_Goto (Table.States (251), 129, 42);
- Add_Goto (Table.States (251), 137, 268);
- Add_Goto (Table.States (251), 154, 408);
- Add_Goto (Table.States (251), 166, 270);
- Add_Goto (Table.States (251), 167, 271);
- Add_Goto (Table.States (251), 192, 409);
- Add_Goto (Table.States (251), 198, 134);
- Add_Goto (Table.States (251), 222, 274);
- Add_Goto (Table.States (251), 240, 275);
- Add_Goto (Table.States (251), 259, 136);
- Add_Goto (Table.States (251), 273, 93);
- Add_Goto (Table.States (251), 274, 276);
- Add_Goto (Table.States (251), 276, 137);
- Add_Goto (Table.States (251), 278, 277);
- Add_Goto (Table.States (251), 283, 138);
- Add_Goto (Table.States (251), 284, 139);
- Add_Goto (Table.States (251), 285, 140);
- Add_Goto (Table.States (251), 286, 141);
- Add_Goto (Table.States (251), 287, 142);
- Add_Goto (Table.States (251), 288, 143);
- Add_Goto (Table.States (251), 294, 98);
- Add_Goto (Table.States (251), 302, 278);
- Add_Goto (Table.States (251), 321, 145);
- Add_Goto (Table.States (251), 322, 146);
- Add_Goto (Table.States (251), 331, 147);
- Table.States (251).Kernel := To_Vector (((116, 76, 1, False),
(116, 76, 3, False)));
- Table.States (251).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 126, 0)));
- Table.States (252).Action_List.Set_Capacity (3);
- Add_Action (Table.States (252), (21, 76, 97), (117, 0), 1, null,
null);
- Table.States (252).Kernel := To_Vector ((0 => (117, 116, 0,
False)));
- Table.States (252).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 117, 1)));
+ Table.States (251).Kernel := To_Vector ((0 => ((252, 0), 99, 0,
(252, 0), 2)));
+ Table.States (251).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (252, 0), 2)));
+ Table.States (252).Action_List.Set_Capacity (22);
+ Add_Action (Table.States (252), 3, (200, 2), 122);
+ Add_Action (Table.States (252), 15, (139, 0), 260);
+ Add_Action (Table.States (252), 28, (127, 6), 261);
+ Add_Action (Table.States (252), 32, (224, 0), 262);
+ Add_Action (Table.States (252), 39, (261, 4), 123);
+ Add_Action (Table.States (252), 40, (168, 1), 263);
+ Add_Action (Table.States (252), 41, (261, 1), 125);
+ Add_Action (Table.States (252), 44, (168, 3), 265);
+ Add_Action (Table.States (252), 52, (278, 0), 126);
+ Add_Action (Table.States (252), 76, (120, 0), 127);
+ Add_Action (Table.States (252), 77, (120, 5), 128);
+ Add_Action (Table.States (252), 78, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (252), 81, (242, 8), 31);
+ Add_Action (Table.States (252), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (252), 86, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (252), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (252), 97, (333, 1), 129);
+ Add_Action (Table.States (252), 98, (333, 0), 130);
+ Add_Action (Table.States (252), 106, (261, 0), 131);
+ Add_Action (Table.States (252), 107, (242, 5), 120);
+ Add_Action (Table.States (252), 108, (242, 7), 34);
+ Add_Action (Table.States (252), 109, (127, 0), 266);
+ Table.States (252).Goto_List.Set_Capacity (28);
+ Add_Goto (Table.States (252), 120, 132);
+ Add_Goto (Table.States (252), 127, 267);
+ Add_Goto (Table.States (252), 128, 409);
+ Add_Goto (Table.States (252), 131, 42);
+ Add_Goto (Table.States (252), 139, 269);
+ Add_Goto (Table.States (252), 156, 410);
+ Add_Goto (Table.States (252), 168, 271);
+ Add_Goto (Table.States (252), 169, 272);
+ Add_Goto (Table.States (252), 194, 411);
+ Add_Goto (Table.States (252), 200, 135);
+ Add_Goto (Table.States (252), 224, 275);
+ Add_Goto (Table.States (252), 242, 276);
+ Add_Goto (Table.States (252), 261, 137);
+ Add_Goto (Table.States (252), 275, 93);
+ Add_Goto (Table.States (252), 276, 277);
+ Add_Goto (Table.States (252), 278, 138);
+ Add_Goto (Table.States (252), 280, 278);
+ Add_Goto (Table.States (252), 285, 139);
+ Add_Goto (Table.States (252), 286, 140);
+ Add_Goto (Table.States (252), 287, 141);
+ Add_Goto (Table.States (252), 288, 142);
+ Add_Goto (Table.States (252), 289, 143);
+ Add_Goto (Table.States (252), 290, 144);
+ Add_Goto (Table.States (252), 296, 98);
+ Add_Goto (Table.States (252), 304, 279);
+ Add_Goto (Table.States (252), 323, 146);
+ Add_Goto (Table.States (252), 324, 147);
+ Add_Goto (Table.States (252), 333, 148);
+ Table.States (252).Kernel := To_Vector ((((118, 0), 76, 1,
(2147483647, 0), 0), ((118, 1), 76, 3,
+ (2147483647, 0), 0)));
+ Table.States (252).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (128, 1), 0)));
Table.States (253).Action_List.Set_Capacity (3);
- Add_Action (Table.States (253), 21, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (253), 76, 432);
- Add_Action (Table.States (253), 97, Reduce, (254, 1), 0, null,
null);
- Table.States (253).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (253), 200, 345);
- Add_Goto (Table.States (253), 254, 433);
- Table.States (253).Kernel := To_Vector (((114, 117, 3, False),
(114, 117, 1, False)));
- Table.States (253).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 254, 0)));
- Table.States (254).Action_List.Set_Capacity (47);
- Add_Action (Table.States (254), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (304, 8), 3, simple_statement_8'Access, null);
- Table.States (254).Kernel := To_Vector ((0 => (304, 97, 0,
False)));
- Table.States (254).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 304, 3)));
- Table.States (255).Action_List.Set_Capacity (35);
- Add_Action (Table.States (255), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
- 78, 80, 83, 84, 86, 87, 88, 89, 90, 92, 93, 95, 96, 97, 98, 99,
100), (198, 2), 2, null, null);
- Table.States (255).Kernel := To_Vector ((0 => (198, 259, 0,
False)));
- Table.States (255).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 198, 2)));
- Table.States (256).Action_List.Set_Capacity (40);
- Add_Action (Table.States (256), 10, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 20, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 21, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 22, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 23, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 33, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 35, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 37, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 38, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 40, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 42, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 43, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 53, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 55, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 68, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 74, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 75, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 76, 236);
- Add_Action (Table.States (256), 77, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 78, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 80, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 83, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 84, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 85, 238);
- Add_Action (Table.States (256), 86, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 87, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 88, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 89, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 90, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 92, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 93, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 95, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 96, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 97, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 98, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 99, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 100, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 101, Reduce, (259, 4), 2,
primary_4'Access, null);
- Add_Action (Table.States (256), 102, 240);
- Add_Action (Table.States (256), 103, 241);
- Table.States (256).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (256), 116, 242);
- Add_Goto (Table.States (256), 323, 243);
- Table.States (256).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (259, 240, 0, False), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (256).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 259, 2)));
- Table.States (257).Action_List.Set_Capacity (35);
- Add_Action (Table.States (257), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
- 78, 80, 83, 84, 86, 87, 88, 89, 90, 92, 93, 95, 96, 97, 98, 99,
100), (198, 3), 2, null, null);
- Table.States (257).Kernel := To_Vector ((0 => (198, 259, 0,
False)));
- Table.States (257).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 198, 2)));
- Table.States (258).Action_List.Set_Capacity (21);
- Add_Action (Table.States (258), 10, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 20, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 21, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 22, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 23, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 35, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 37, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 43, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 53, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 68, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 74, 434);
- Add_Conflict (Table.States (258), 74, (276, 1), 2, null, null);
- Add_Action (Table.States (258), 75, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 76, 236);
- Add_Action (Table.States (258), 77, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 80, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 84, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 85, 238);
- Add_Action (Table.States (258), 88, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 97, Reduce, (276, 1), 2, null,
null);
- Add_Action (Table.States (258), 102, 240);
- Add_Action (Table.States (258), 103, 241);
- Table.States (258).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (258), 116, 242);
- Add_Goto (Table.States (258), 323, 243);
- Table.States (258).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (273, 240, 3, True), (276, 240, 1, True), (276, 240, 0, False),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True)));
- Table.States (258).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 276, 2)));
- Table.States (258).Minimal_Complete_Actions_Recursive := True;
- Table.States (259).Action_List.Set_Capacity (14);
- Add_Action (Table.States (259), 3, 122);
- Add_Action (Table.States (259), 35, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (259), 39, 123);
- Add_Action (Table.States (259), 40, 124);
- Add_Action (Table.States (259), 41, 125);
- Add_Action (Table.States (259), 52, 126);
- Add_Action (Table.States (259), 76, 127);
- Add_Action (Table.States (259), 79, 31);
- Add_Action (Table.States (259), 95, 128);
- Add_Action (Table.States (259), 96, 129);
- Add_Action (Table.States (259), 104, 130);
- Add_Action (Table.States (259), 105, 120);
- Add_Action (Table.States (259), 106, 34);
- Add_Action (Table.States (259), 107, 35);
- Table.States (259).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (259), 118, 131);
- Add_Goto (Table.States (259), 129, 42);
- Add_Goto (Table.States (259), 192, 132);
- Add_Goto (Table.States (259), 193, 435);
- Add_Goto (Table.States (259), 198, 134);
- Add_Goto (Table.States (259), 240, 135);
- Add_Goto (Table.States (259), 259, 136);
- Add_Goto (Table.States (259), 273, 93);
- Add_Goto (Table.States (259), 276, 137);
- Add_Goto (Table.States (259), 283, 138);
- Add_Goto (Table.States (259), 284, 139);
- Add_Goto (Table.States (259), 285, 140);
- Add_Goto (Table.States (259), 286, 141);
- Add_Goto (Table.States (259), 287, 142);
- Add_Goto (Table.States (259), 288, 143);
- Add_Goto (Table.States (259), 294, 98);
- Add_Goto (Table.States (259), 302, 144);
- Add_Goto (Table.States (259), 321, 145);
- Add_Goto (Table.States (259), 322, 146);
- Add_Goto (Table.States (259), 331, 147);
- Table.States (259).Kernel := To_Vector ((0 => (137, 15, 3,
False)));
- Table.States (259).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (260).Action_List.Set_Capacity (3);
- Add_Action (Table.States (260), 9, 436);
- Add_Action (Table.States (260), 62, 437);
- Add_Action (Table.States (260), 105, 438);
- Table.States (260).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (260), 275, 439);
- Table.States (260).Kernel := To_Vector (((125, 28, 4, False),
(274, 28, 5, False)));
- Table.States (260).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 438)));
- Table.States (261).Action_List.Set_Capacity (14);
- Add_Action (Table.States (261), 3, 122);
- Add_Action (Table.States (261), 39, 123);
- Add_Action (Table.States (261), 40, 124);
- Add_Action (Table.States (261), 41, 125);
- Add_Action (Table.States (261), 52, 126);
- Add_Action (Table.States (261), 68, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (261), 76, 127);
- Add_Action (Table.States (261), 79, 31);
- Add_Action (Table.States (261), 95, 128);
- Add_Action (Table.States (261), 96, 129);
- Add_Action (Table.States (261), 104, 130);
- Add_Action (Table.States (261), 105, 120);
- Add_Action (Table.States (261), 106, 34);
- Add_Action (Table.States (261), 107, 35);
- Table.States (261).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (261), 118, 131);
- Add_Goto (Table.States (261), 129, 42);
- Add_Goto (Table.States (261), 192, 132);
- Add_Goto (Table.States (261), 193, 440);
- Add_Goto (Table.States (261), 198, 134);
- Add_Goto (Table.States (261), 240, 135);
- Add_Goto (Table.States (261), 259, 136);
- Add_Goto (Table.States (261), 273, 93);
- Add_Goto (Table.States (261), 276, 137);
- Add_Goto (Table.States (261), 283, 138);
- Add_Goto (Table.States (261), 284, 139);
- Add_Goto (Table.States (261), 285, 140);
- Add_Goto (Table.States (261), 286, 141);
- Add_Goto (Table.States (261), 287, 142);
- Add_Goto (Table.States (261), 288, 143);
- Add_Goto (Table.States (261), 294, 98);
- Add_Goto (Table.States (261), 302, 144);
- Add_Goto (Table.States (261), 321, 145);
- Add_Goto (Table.States (261), 322, 146);
- Add_Goto (Table.States (261), 331, 147);
- Table.States (261).Kernel := To_Vector (((222, 32, 4, False),
(222, 32, 2, False), (222, 32, 3, False),
- (222, 32, 1, False)));
- Table.States (261).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (262).Action_List.Set_Capacity (8);
- Add_Action (Table.States (262), 39, 123);
- Add_Action (Table.States (262), 41, 441);
- Add_Action (Table.States (262), 76, 127);
- Add_Action (Table.States (262), 79, 31);
- Add_Action (Table.States (262), 104, 130);
- Add_Action (Table.States (262), 105, 120);
- Add_Action (Table.States (262), 106, 34);
- Add_Action (Table.States (262), 107, 35);
- Table.States (262).Goto_List.Set_Capacity (6);
- Add_Goto (Table.States (262), 118, 131);
- Add_Goto (Table.States (262), 129, 42);
- Add_Goto (Table.States (262), 240, 135);
- Add_Goto (Table.States (262), 259, 257);
- Add_Goto (Table.States (262), 273, 93);
- Add_Goto (Table.States (262), 294, 98);
- Table.States (262).Kernel := To_Vector (((166, 40, 2, False),
(198, 40, 1, False)));
- Table.States (262).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (263).Action_List.Set_Capacity (26);
- Add_Action (Table.States (263), 10, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 33, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 38, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 40, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 43, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 54, 442);
- Add_Action (Table.States (263), 55, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 74, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 75, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 77, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 78, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 80, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 84, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 86, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 87, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 88, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 89, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 90, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 92, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 93, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 95, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 96, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 98, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 99, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 100, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (263), 101, Reduce, (259, 1), 1, null,
null);
- Table.States (263).Kernel := To_Vector (((118, 41, 2, False),
(259, 41, 0, False)));
- Table.States (263).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 259, 1)));
- Table.States (264).Action_List.Set_Capacity (2);
- Add_Action (Table.States (264), (80, 88), (166, 3), 1, null, null);
- Table.States (264).Kernel := To_Vector ((0 => (166, 44, 0,
False)));
- Table.States (264).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 166, 1)));
- Table.States (265).Action_List.Set_Capacity (32);
- Add_Action (Table.States (265), 10, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 33, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 35, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 38, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 40, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 43, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 53, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 55, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 74, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 75, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 76, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 77, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 78, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 80, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 84, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 85, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 86, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 87, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 88, 443);
- Add_Conflict (Table.States (265), 88, (240, 6), 1, null, null);
- Add_Action (Table.States (265), 89, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 90, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 92, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 93, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 95, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 96, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 97, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 98, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 99, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 100, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 101, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 102, Reduce, (240, 6), 1, null,
null);
- Add_Action (Table.States (265), 103, Reduce, (240, 6), 1, null,
null);
- Table.States (265).Kernel := To_Vector (((125, 107, 1, False),
(125, 107, 2, False), (240, 107, 0,
- False)));
- Table.States (265).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 240, 1)));
- Table.States (266).Action_List.Set_Capacity (4);
- Add_Action (Table.States (266), (35, 77, 84, 97), (126, 1), 1,
null, null);
- Table.States (266).Kernel := To_Vector ((0 => (126, 125, 0,
False)));
- Table.States (266).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 126, 1)));
- Table.States (267).Action_List.Set_Capacity (2);
- Add_Action (Table.States (267), 77, 444);
- Add_Action (Table.States (267), 84, 445);
- Table.States (267).Kernel := To_Vector (((118, 126, 1, False),
(126, 126, 1, True)));
- Table.States (267).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 444)));
- Table.States (268).Action_List.Set_Capacity (1);
- Add_Action (Table.States (268), (1 => 77), (154, 1), 1, null,
null);
- Table.States (268).Kernel := To_Vector ((0 => (154, 137, 0,
False)));
- Table.States (268).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 154, 1)));
- Table.States (269).Action_List.Set_Capacity (1);
- Add_Action (Table.States (269), 77, 446);
- Table.States (269).Kernel := To_Vector ((0 => (118, 154, 1,
False)));
- Table.States (269).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 446)));
- Table.States (270).Action_List.Set_Capacity (2);
- Add_Action (Table.States (270), (80, 88), (167, 1), 1, null, null);
- Table.States (270).Kernel := To_Vector ((0 => (167, 166, 0,
False)));
- Table.States (270).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 167, 1)));
- Table.States (271).Action_List.Set_Capacity (2);
- Add_Action (Table.States (271), 80, 447);
- Add_Action (Table.States (271), 88, 448);
- Table.States (271).Kernel := To_Vector (((125, 167, 1, False),
(125, 167, 2, False), (167, 167, 2, True)));
- Table.States (271).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 88, 448)));
- Table.States (272).Action_List.Set_Capacity (5);
- Add_Action (Table.States (272), 74, 449);
- Add_Conflict (Table.States (272), 74, (193, 0), 1, null, null);
- Add_Action (Table.States (272), 77, Reduce, (125, 5), 1,
association_opt_5'Access, null);
- Add_Conflict (Table.States (272), 77, (193, 0), 1, null, null);
- Add_Action (Table.States (272), 80, Reduce, (166, 0), 1, null,
null);
- Add_Action (Table.States (272), 84, Reduce, (125, 5), 1,
association_opt_5'Access, null);
- Add_Action (Table.States (272), 88, Reduce, (166, 0), 1, null,
null);
- Table.States (272).Kernel := To_Vector (((118, 192, 3, False),
(125, 192, 0, False), (166, 192, 0, False),
- (193, 192, 0, True)));
- Table.States (272).Minimal_Complete_Actions := To_Vector
(((Reduce, 125, 1), (Reduce, 166, 1), (Reduce,
- 193, 1)));
- Table.States (272).Minimal_Complete_Actions_Recursive := True;
- Table.States (273).Action_List.Set_Capacity (1);
- Add_Action (Table.States (273), 74, 450);
- Table.States (273).Kernel := To_Vector (((118, 193, 4, False),
(118, 193, 2, False)));
- Table.States (273).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 74, 450)));
- Table.States (274).Action_List.Set_Capacity (1);
- Add_Action (Table.States (274), (1 => 77), (154, 0), 1, null,
null);
- Table.States (274).Kernel := To_Vector ((0 => (154, 222, 0,
False)));
- Table.States (274).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 154, 1)));
- Table.States (275).Action_List.Set_Capacity (38);
- Add_Action (Table.States (275), 10, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 20, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 21, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 22, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 23, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 33, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 35, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 37, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 38, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 40, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 43, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 53, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 55, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 68, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 74, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 75, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 76, 236);
- Add_Action (Table.States (275), 77, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 78, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 80, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 84, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 85, 238);
- Add_Action (Table.States (275), 86, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 87, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 88, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 89, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 90, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 92, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 93, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 95, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 96, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 97, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 98, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 99, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 100, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 101, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (275), 102, 240);
- Add_Action (Table.States (275), 103, 241);
- Table.States (275).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (275), 116, 242);
- Add_Goto (Table.States (275), 323, 451);
- Table.States (275).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (259, 240, 0, False), (273, 240, 3, True), (278, 240, 4, False),
(278, 240, 2, False), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True), (294, 240, 2, True)));
- Table.States (275).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 259, 1)));
- Table.States (276).Action_List.Set_Capacity (1);
- Add_Action (Table.States (276), (1 => 77), (154, 2), 1, null,
null);
- Table.States (276).Kernel := To_Vector ((0 => (154, 274, 0,
False)));
- Table.States (276).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 154, 1)));
- Table.States (277).Action_List.Set_Capacity (2);
- Add_Action (Table.States (277), (80, 88), (166, 2), 1, null, null);
- Table.States (277).Kernel := To_Vector ((0 => (166, 278, 0,
False)));
- Table.States (277).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 166, 1)));
- Table.States (278).Action_List.Set_Capacity (19);
- Add_Action (Table.States (278), 10, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (278), 33, 289);
- Add_Action (Table.States (278), 35, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (278), 40, 290);
- Add_Action (Table.States (278), 43, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (278), 74, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (278), 75, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (278), 77, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (278), 80, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (278), 84, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (278), 86, 452);
- Add_Action (Table.States (278), 87, 291);
- Add_Action (Table.States (278), 88, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (278), 89, 292);
- Add_Action (Table.States (278), 90, 293);
- Add_Action (Table.States (278), 92, 294);
- Add_Action (Table.States (278), 93, 295);
- Add_Action (Table.States (278), 97, Reduce, (288, 3), 1, null,
null);
- Add_Action (Table.States (278), 99, 296);
- Table.States (278).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (278), 289, 297);
- Table.States (278).Kernel := To_Vector (((278, 302, 2, False),
(288, 302, 3, False), (288, 302, 2, False),
- (288, 302, 2, False), (288, 302, 0, False)));
- Table.States (278).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 288, 1)));
- Table.States (279).Action_List.Set_Capacity (1);
- Add_Action (Table.States (279), 72, 453);
- Table.States (279).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (279), 141, 454);
- Add_Goto (Table.States (279), 142, 455);
- Table.States (279).Kernel := To_Vector ((0 => (140, 35, 5,
False)));
- Table.States (279).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 72, 453)));
- Table.States (280).Action_List.Set_Capacity (8);
- Add_Action (Table.States (280), 39, 123);
- Add_Action (Table.States (280), 41, 125);
- Add_Action (Table.States (280), 76, 127);
- Add_Action (Table.States (280), 79, 31);
- Add_Action (Table.States (280), 104, 130);
- Add_Action (Table.States (280), 105, 120);
- Add_Action (Table.States (280), 106, 34);
- Add_Action (Table.States (280), 107, 35);
- Table.States (280).Goto_List.Set_Capacity (6);
- Add_Goto (Table.States (280), 118, 131);
- Add_Goto (Table.States (280), 129, 42);
- Add_Goto (Table.States (280), 240, 135);
- Add_Goto (Table.States (280), 259, 456);
- Add_Goto (Table.States (280), 273, 93);
- Add_Goto (Table.States (280), 294, 98);
- Table.States (280).Kernel := To_Vector ((0 => (198, 101, 1,
False)));
- Table.States (280).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (281).Action_List.Set_Capacity (13);
- Add_Action (Table.States (281), 3, 122);
- Add_Action (Table.States (281), 39, 123);
- Add_Action (Table.States (281), 40, 124);
- Add_Action (Table.States (281), 41, 125);
- Add_Action (Table.States (281), 52, 126);
- Add_Action (Table.States (281), 76, 127);
- Add_Action (Table.States (281), 79, 31);
- Add_Action (Table.States (281), 95, 128);
- Add_Action (Table.States (281), 96, 129);
- Add_Action (Table.States (281), 104, 130);
- Add_Action (Table.States (281), 105, 120);
- Add_Action (Table.States (281), 106, 34);
- Add_Action (Table.States (281), 107, 35);
- Table.States (281).Goto_List.Set_Capacity (13);
- Add_Goto (Table.States (281), 118, 131);
- Add_Goto (Table.States (281), 129, 42);
- Add_Goto (Table.States (281), 198, 134);
- Add_Goto (Table.States (281), 240, 135);
- Add_Goto (Table.States (281), 259, 136);
- Add_Goto (Table.States (281), 273, 93);
- Add_Goto (Table.States (281), 276, 137);
- Add_Goto (Table.States (281), 288, 457);
- Add_Goto (Table.States (281), 294, 98);
- Add_Goto (Table.States (281), 302, 144);
- Add_Goto (Table.States (281), 321, 145);
- Add_Goto (Table.States (281), 322, 146);
- Add_Goto (Table.States (281), 331, 147);
- Table.States (281).Kernel := To_Vector ((0 => (283, 10, 1, True)));
- Table.States (281).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (281).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (253), (21, 76, 99), (119, 0), 1, null,
null);
+ Table.States (253).Kernel := To_Vector ((0 => ((119, 0), 118, 0,
(119, 0), 1)));
+ Table.States (253).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (119, 0), 1)));
+ Table.States (254).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (254), 21, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (254), 76, (202, 0), 434);
+ Add_Action (Table.States (254), 99, Reduce, (256, 1), 0, null,
null);
+ Table.States (254).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (254), 202, 347);
+ Add_Goto (Table.States (254), 256, 435);
+ Table.States (254).Kernel := To_Vector ((((116, 0), 119, 3,
(2147483647, 0), 0), ((116, 1), 119, 1,
+ (2147483647, 0), 0)));
+ Table.States (254).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (256, 1), 0)));
+ Table.States (255).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (255), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (306, 8), 3, simple_statement_8'Access, null);
+ Table.States (255).Kernel := To_Vector ((0 => ((306, 8), 99, 0,
(306, 8), 3)));
+ Table.States (255).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (306, 8), 3)));
+ Table.States (256).Action_List.Set_Capacity (36);
+ Add_Action (Table.States (256), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
+ 79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100,
101, 102), (200, 2), 2, null, null);
+ Table.States (256).Kernel := To_Vector ((0 => ((200, 2), 261, 0,
(200, 2), 2)));
+ Table.States (256).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (200, 2), 2)));
+ Table.States (257).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (257), 10, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 20, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 21, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 22, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 23, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 33, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 35, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 37, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 38, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 40, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 42, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 43, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 53, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 55, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 68, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 74, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 75, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 76, (118, 0), 237);
+ Add_Action (Table.States (257), 78, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 79, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 80, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 82, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 85, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 86, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 87, (296, 0), 239);
+ Add_Action (Table.States (257), 88, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 89, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 90, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 91, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 92, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 94, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 95, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 97, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 98, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 99, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 100, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 101, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 102, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 103, Reduce, (261, 4), 2,
primary_4'Access, null);
+ Add_Action (Table.States (257), 104, (325, 0), 241);
+ Add_Action (Table.States (257), 105, (325, 1), 242);
+ Table.States (257).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (257), 118, 243);
+ Add_Goto (Table.States (257), 325, 244);
+ Table.States (257).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((261, 4), 242, 0, (261, 4), 2), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (257).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (261, 4), 2)));
+ Table.States (258).Action_List.Set_Capacity (36);
+ Add_Action (Table.States (258), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
+ 79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100,
101, 102), (200, 3), 2, null, null);
+ Table.States (258).Kernel := To_Vector ((0 => ((200, 3), 261, 0,
(200, 3), 2)));
+ Table.States (258).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (200, 3), 2)));
+ Table.States (259).Action_List.Set_Capacity (22);
+ Add_Action (Table.States (259), 10, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 20, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 21, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 22, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 23, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 35, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 37, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 43, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 53, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 68, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 74, (278, 0), 436);
+ Add_Conflict (Table.States (259), 74, (278, 1), 2, null, null);
+ Add_Action (Table.States (259), 75, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 76, (118, 0), 237);
+ Add_Action (Table.States (259), 78, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 79, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 82, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 86, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 87, (296, 0), 239);
+ Add_Action (Table.States (259), 90, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 99, Reduce, (278, 1), 2, null,
null);
+ Add_Action (Table.States (259), 104, (325, 0), 241);
+ Add_Action (Table.States (259), 105, (325, 1), 242);
+ Table.States (259).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (259), 118, 243);
+ Add_Goto (Table.States (259), 325, 244);
+ Table.States (259).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((275, 0), 242, 3, (2147483647, 0), 0),
+ ((278, 0), 242, 1, (2147483647, 0), 0), ((278, 1), 242, 0,
(278, 1), 2), ((296, 0), 242, 2,
+ (2147483647, 0), 0), ((296, 1), 242, 2, (2147483647, 0), 0),
((296, 2), 242, 2, (2147483647, 0), 0),
+ ((296, 3), 242, 2, (2147483647, 0), 0)));
+ Table.States (259).Minimal_Complete_Actions := To_Vector (((Shift,
(278, 0), 74, 436), (Reduce, (278, 1),
+ 2)));
+ Table.States (260).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (260), 3, (200, 2), 122);
+ Add_Action (Table.States (260), 35, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (260), 39, (261, 4), 123);
+ Add_Action (Table.States (260), 40, (200, 3), 124);
+ Add_Action (Table.States (260), 41, (261, 1), 125);
+ Add_Action (Table.States (260), 52, (278, 0), 126);
+ Add_Action (Table.States (260), 76, (120, 0), 127);
+ Add_Action (Table.States (260), 77, (120, 5), 128);
+ Add_Action (Table.States (260), 81, (242, 8), 31);
+ Add_Action (Table.States (260), 97, (333, 1), 129);
+ Add_Action (Table.States (260), 98, (333, 0), 130);
+ Add_Action (Table.States (260), 106, (261, 0), 131);
+ Add_Action (Table.States (260), 107, (242, 5), 120);
+ Add_Action (Table.States (260), 108, (242, 7), 34);
+ Add_Action (Table.States (260), 109, (242, 6), 35);
+ Table.States (260).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (260), 120, 132);
+ Add_Goto (Table.States (260), 131, 42);
+ Add_Goto (Table.States (260), 194, 133);
+ Add_Goto (Table.States (260), 195, 437);
+ Add_Goto (Table.States (260), 200, 135);
+ Add_Goto (Table.States (260), 242, 136);
+ Add_Goto (Table.States (260), 261, 137);
+ Add_Goto (Table.States (260), 275, 93);
+ Add_Goto (Table.States (260), 278, 138);
+ Add_Goto (Table.States (260), 285, 139);
+ Add_Goto (Table.States (260), 286, 140);
+ Add_Goto (Table.States (260), 287, 141);
+ Add_Goto (Table.States (260), 288, 142);
+ Add_Goto (Table.States (260), 289, 143);
+ Add_Goto (Table.States (260), 290, 144);
+ Add_Goto (Table.States (260), 296, 98);
+ Add_Goto (Table.States (260), 304, 145);
+ Add_Goto (Table.States (260), 323, 146);
+ Add_Goto (Table.States (260), 324, 147);
+ Add_Goto (Table.States (260), 333, 148);
+ Table.States (260).Kernel := To_Vector ((0 => ((139, 0), 15, 3,
(2147483647, 0), 0)));
+ Table.States (260).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (261).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (261), 9, (277, 0), 438);
+ Add_Action (Table.States (261), 62, (277, 1), 439);
+ Add_Action (Table.States (261), 107, (127, 6), 440);
+ Table.States (261).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (261), 233, 441);
+ Add_Goto (Table.States (261), 277, 442);
+ Table.States (261).Kernel := To_Vector ((((127, 6), 28, 4,
(2147483647, 0), 0), ((127, 7), 28, 5,
+ (2147483647, 0), 0), ((276, 0), 28, 5, (2147483647, 0), 0)));
+ Table.States (261).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (127, 6), 107, 440)));
+ Table.States (262).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (262), 3, (200, 2), 122);
+ Add_Action (Table.States (262), 39, (261, 4), 123);
+ Add_Action (Table.States (262), 40, (200, 3), 124);
+ Add_Action (Table.States (262), 41, (261, 1), 125);
+ Add_Action (Table.States (262), 52, (278, 0), 126);
+ Add_Action (Table.States (262), 68, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (262), 76, (120, 0), 127);
+ Add_Action (Table.States (262), 77, (120, 5), 128);
+ Add_Action (Table.States (262), 81, (242, 8), 31);
+ Add_Action (Table.States (262), 97, (333, 1), 129);
+ Add_Action (Table.States (262), 98, (333, 0), 130);
+ Add_Action (Table.States (262), 106, (261, 0), 131);
+ Add_Action (Table.States (262), 107, (242, 5), 120);
+ Add_Action (Table.States (262), 108, (242, 7), 34);
+ Add_Action (Table.States (262), 109, (242, 6), 35);
+ Table.States (262).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (262), 120, 132);
+ Add_Goto (Table.States (262), 131, 42);
+ Add_Goto (Table.States (262), 194, 133);
+ Add_Goto (Table.States (262), 195, 443);
+ Add_Goto (Table.States (262), 200, 135);
+ Add_Goto (Table.States (262), 242, 136);
+ Add_Goto (Table.States (262), 261, 137);
+ Add_Goto (Table.States (262), 275, 93);
+ Add_Goto (Table.States (262), 278, 138);
+ Add_Goto (Table.States (262), 285, 139);
+ Add_Goto (Table.States (262), 286, 140);
+ Add_Goto (Table.States (262), 287, 141);
+ Add_Goto (Table.States (262), 288, 142);
+ Add_Goto (Table.States (262), 289, 143);
+ Add_Goto (Table.States (262), 290, 144);
+ Add_Goto (Table.States (262), 296, 98);
+ Add_Goto (Table.States (262), 304, 145);
+ Add_Goto (Table.States (262), 323, 146);
+ Add_Goto (Table.States (262), 324, 147);
+ Add_Goto (Table.States (262), 333, 148);
+ Table.States (262).Kernel := To_Vector ((((224, 0), 32, 4,
(2147483647, 0), 0), ((224, 1), 32, 2,
+ (2147483647, 0), 0), ((224, 2), 32, 3, (2147483647, 0), 0),
((224, 3), 32, 1, (2147483647, 0), 0)));
+ Table.States (262).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (263).Action_List.Set_Capacity (9);
+ Add_Action (Table.States (263), 39, (261, 4), 123);
+ Add_Action (Table.States (263), 41, (168, 1), 444);
+ Add_Action (Table.States (263), 76, (120, 0), 127);
+ Add_Action (Table.States (263), 77, (120, 5), 128);
+ Add_Action (Table.States (263), 81, (242, 8), 31);
+ Add_Action (Table.States (263), 106, (261, 0), 131);
+ Add_Action (Table.States (263), 107, (242, 5), 120);
+ Add_Action (Table.States (263), 108, (242, 7), 34);
+ Add_Action (Table.States (263), 109, (242, 6), 35);
+ Table.States (263).Goto_List.Set_Capacity (6);
+ Add_Goto (Table.States (263), 120, 132);
+ Add_Goto (Table.States (263), 131, 42);
+ Add_Goto (Table.States (263), 242, 136);
+ Add_Goto (Table.States (263), 261, 258);
+ Add_Goto (Table.States (263), 275, 93);
+ Add_Goto (Table.States (263), 296, 98);
+ Table.States (263).Kernel := To_Vector ((((168, 1), 40, 2,
(2147483647, 0), 0), ((200, 3), 40, 1,
+ (2147483647, 0), 0)));
+ Table.States (263).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (264).Action_List.Set_Capacity (26);
+ Add_Action (Table.States (264), 10, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 33, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 38, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 40, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 43, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 54, (120, 1), 445);
+ Add_Action (Table.States (264), 55, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 74, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 75, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 78, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 80, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 82, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 86, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 88, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 89, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 90, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 91, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 92, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 94, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 95, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 97, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 98, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 100, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 101, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 102, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (264), 103, Reduce, (261, 1), 1, null,
null);
+ Table.States (264).Kernel := To_Vector ((((120, 1), 41, 2,
(2147483647, 0), 0), ((261, 1), 41, 0,
+ (261, 1), 1)));
+ Table.States (264).Minimal_Complete_Actions := To_Vector (((Shift,
(120, 1), 54, 445), (Reduce, (261, 1),
+ 1)));
end Subr_5;
procedure Subr_6
is begin
- Table.States (282).Action_List.Set_Capacity (1);
- Add_Action (Table.States (282), 68, 458);
- Table.States (282).Kernel := To_Vector ((0 => (284, 10, 2, True)));
- Table.States (282).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 68, 458)));
- Table.States (282).Minimal_Complete_Actions_Recursive := True;
- Table.States (283).Action_List.Set_Capacity (13);
- Add_Action (Table.States (283), 3, 122);
- Add_Action (Table.States (283), 39, 123);
- Add_Action (Table.States (283), 40, 124);
- Add_Action (Table.States (283), 41, 125);
- Add_Action (Table.States (283), 52, 126);
- Add_Action (Table.States (283), 76, 127);
- Add_Action (Table.States (283), 79, 31);
- Add_Action (Table.States (283), 95, 128);
- Add_Action (Table.States (283), 96, 129);
- Add_Action (Table.States (283), 104, 130);
- Add_Action (Table.States (283), 105, 120);
- Add_Action (Table.States (283), 106, 34);
- Add_Action (Table.States (283), 107, 35);
+ Table.States (265).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (265), (82, 90), (168, 3), 1, null,
null);
+ Table.States (265).Kernel := To_Vector ((0 => ((168, 3), 44, 0,
(168, 3), 1)));
+ Table.States (265).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (168, 3), 1)));
+ Table.States (266).Action_List.Set_Capacity (33);
+ Add_Action (Table.States (266), 10, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 33, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 35, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 38, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 40, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 43, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 53, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 55, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 74, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 75, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 76, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 78, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 79, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 80, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 82, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 86, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 87, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 88, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 89, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 90, (127, 0), 446);
+ Add_Conflict (Table.States (266), 90, (242, 6), 1, null, null);
+ Add_Action (Table.States (266), 91, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 92, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 94, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 95, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 97, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 98, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 99, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 100, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 101, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 102, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 103, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 104, Reduce, (242, 6), 1, null,
null);
+ Add_Action (Table.States (266), 105, Reduce, (242, 6), 1, null,
null);
+ Table.States (266).Kernel := To_Vector ((((127, 0), 109, 1,
(2147483647, 0), 0), ((127, 1), 109, 2,
+ (2147483647, 0), 0), ((242, 6), 109, 0, (242, 6), 1)));
+ Table.States (266).Minimal_Complete_Actions := To_Vector (((Shift,
(127, 0), 90, 446), (Reduce, (242, 6),
+ 1)));
+ Table.States (267).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (267), (35, 78, 79, 86, 99), (128, 1),
1, null, null);
+ Table.States (267).Kernel := To_Vector ((0 => ((128, 1), 127, 0,
(128, 1), 1)));
+ Table.States (267).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (128, 1), 1)));
+ Table.States (268).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (268), 78, (120, 0), 447);
+ Add_Action (Table.States (268), 86, (128, 0), 448);
+ Table.States (268).Kernel := To_Vector ((((120, 0), 128, 1,
(2147483647, 0), 0), ((128, 0), 128, 1,
+ (2147483647, 0), 0)));
+ Table.States (268).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (120, 0), 78, 447)));
+ Table.States (269).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (269), (1 => 78), (156, 1), 1, null,
null);
+ Table.States (269).Kernel := To_Vector ((0 => ((156, 1), 139, 0,
(156, 1), 1)));
+ Table.States (269).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (156, 1), 1)));
+ Table.States (270).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (270), 78, (120, 6), 449);
+ Table.States (270).Kernel := To_Vector ((0 => ((120, 6), 156, 1,
(2147483647, 0), 0)));
+ Table.States (270).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (120, 6), 78, 449)));
+ Table.States (271).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (271), (82, 90), (169, 1), 1, null,
null);
+ Table.States (271).Kernel := To_Vector ((0 => ((169, 1), 168, 0,
(169, 1), 1)));
+ Table.States (271).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (169, 1), 1)));
+ Table.States (272).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (272), 82, (169, 0), 450);
+ Add_Action (Table.States (272), 90, (127, 2), 451);
+ Table.States (272).Kernel := To_Vector ((((127, 2), 169, 1,
(2147483647, 0), 0), ((127, 3), 169, 2,
+ (2147483647, 0), 0), ((169, 0), 169, 2, (2147483647, 0), 0)));
+ Table.States (273).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (273), 74, (120, 4), 452);
+ Add_Conflict (Table.States (273), 74, (195, 0), 1, null, null);
+ Add_Action (Table.States (273), 78, Reduce, (127, 4), 1,
association_opt_4'Access, null);
+ Add_Conflict (Table.States (273), 78, (195, 0), 1, null, null);
+ Add_Action (Table.States (273), 82, Reduce, (168, 0), 1, null,
null);
+ Add_Action (Table.States (273), 86, Reduce, (127, 4), 1,
association_opt_4'Access, null);
+ Add_Action (Table.States (273), 90, Reduce, (168, 0), 1, null,
null);
+ Table.States (273).Kernel := To_Vector ((((120, 4), 194, 3,
(2147483647, 0), 0), ((127, 4), 194, 0,
+ (127, 4), 1), ((168, 0), 194, 0, (168, 0), 1), ((195, 0),
194, 0, (195, 0), 1)));
+ Table.States (273).Minimal_Complete_Actions := To_Vector (((Shift,
(120, 4), 74, 452), (Reduce, (127, 4),
+ 1), (Reduce, (168, 0), 1), (Reduce, (195, 0), 1)));
+ Table.States (274).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (274), 74, (120, 2), 453);
+ Table.States (274).Kernel := To_Vector ((((120, 2), 195, 4,
(2147483647, 0), 0), ((120, 3), 195, 2,
+ (2147483647, 0), 0)));
+ Table.States (274).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (120, 2), 74, 453)));
+ Table.States (275).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (275), (1 => 78), (156, 0), 1, null,
null);
+ Table.States (275).Kernel := To_Vector ((0 => ((156, 0), 224, 0,
(156, 0), 1)));
+ Table.States (275).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (156, 0), 1)));
+ Table.States (276).Action_List.Set_Capacity (39);
+ Add_Action (Table.States (276), 10, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 20, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 21, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 22, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 23, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 33, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 35, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 37, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 38, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 40, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 43, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 53, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 55, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 68, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 74, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 75, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 76, (118, 0), 237);
+ Add_Action (Table.States (276), 78, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 79, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 80, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 82, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 86, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 87, (296, 0), 239);
+ Add_Action (Table.States (276), 88, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 89, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 90, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 91, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 92, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 94, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 95, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 97, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 98, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 99, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 100, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 101, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 102, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 103, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (276), 104, (325, 0), 241);
+ Add_Action (Table.States (276), 105, (325, 1), 242);
+ Table.States (276).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (276), 118, 243);
+ Add_Goto (Table.States (276), 325, 454);
+ Table.States (276).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((261, 3), 242, 0, (261, 3), 1), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((280, 0), 242, 4,
(2147483647, 0), 0), ((280, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 0), 242, 2, (2147483647, 0), 0),
((296, 1), 242, 2, (2147483647, 0), 0),
+ ((296, 2), 242, 2, (2147483647, 0), 0), ((296, 3), 242, 2,
(2147483647, 0), 0)));
+ Table.States (276).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (261, 3), 1)));
+ Table.States (277).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (277), (1 => 78), (156, 2), 1, null,
null);
+ Table.States (277).Kernel := To_Vector ((0 => ((156, 2), 276, 0,
(156, 2), 1)));
+ Table.States (277).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (156, 2), 1)));
+ Table.States (278).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (278), (82, 90), (168, 2), 1, null,
null);
+ Table.States (278).Kernel := To_Vector ((0 => ((168, 2), 280, 0,
(168, 2), 1)));
+ Table.States (278).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (168, 2), 1)));
+ Table.States (279).Action_List.Set_Capacity (20);
+ Add_Action (Table.States (279), 10, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (279), 33, (290, 1), 291);
+ Add_Action (Table.States (279), 35, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (279), 40, (290, 0), 292);
+ Add_Action (Table.States (279), 43, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (279), 74, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (279), 75, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (279), 78, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (279), 79, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (279), 82, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (279), 86, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (279), 88, (280, 2), 455);
+ Add_Action (Table.States (279), 89, (291, 0), 293);
+ Add_Action (Table.States (279), 90, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (279), 91, (291, 4), 294);
+ Add_Action (Table.States (279), 92, (291, 5), 295);
+ Add_Action (Table.States (279), 94, (291, 2), 296);
+ Add_Action (Table.States (279), 95, (291, 3), 297);
+ Add_Action (Table.States (279), 99, Reduce, (290, 3), 1, null,
null);
+ Add_Action (Table.States (279), 101, (291, 1), 298);
+ Table.States (279).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (279), 291, 299);
+ Table.States (279).Kernel := To_Vector ((((280, 2), 304, 2,
(2147483647, 0), 0), ((290, 0), 304, 3,
+ (2147483647, 0), 0), ((290, 1), 304, 2, (2147483647, 0), 0),
((290, 2), 304, 2, (2147483647, 0), 0),
+ ((290, 3), 304, 0, (290, 3), 1)));
+ Table.States (279).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (290, 3), 1)));
+ Table.States (280).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (280), 74, (120, 5), 456);
+ Table.States (280).Kernel := To_Vector ((0 => ((120, 5), 194, 3,
(2147483647, 0), 0)));
+ Table.States (280).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (120, 5), 74, 456)));
+ Table.States (281).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (281), 72, (143, 0), 457);
+ Table.States (281).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (281), 143, 458);
+ Add_Goto (Table.States (281), 144, 459);
+ Table.States (281).Kernel := To_Vector ((0 => ((142, 0), 35, 5,
(2147483647, 0), 0)));
+ Table.States (281).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (143, 0), 72, 457)));
+ Table.States (282).Action_List.Set_Capacity (9);
+ Add_Action (Table.States (282), 39, (261, 4), 123);
+ Add_Action (Table.States (282), 41, (261, 1), 125);
+ Add_Action (Table.States (282), 76, (120, 0), 127);
+ Add_Action (Table.States (282), 77, (120, 5), 128);
+ Add_Action (Table.States (282), 81, (242, 8), 31);
+ Add_Action (Table.States (282), 106, (261, 0), 131);
+ Add_Action (Table.States (282), 107, (242, 5), 120);
+ Add_Action (Table.States (282), 108, (242, 7), 34);
+ Add_Action (Table.States (282), 109, (242, 6), 35);
+ Table.States (282).Goto_List.Set_Capacity (6);
+ Add_Goto (Table.States (282), 120, 132);
+ Add_Goto (Table.States (282), 131, 42);
+ Add_Goto (Table.States (282), 242, 136);
+ Add_Goto (Table.States (282), 261, 460);
+ Add_Goto (Table.States (282), 275, 93);
+ Add_Goto (Table.States (282), 296, 98);
+ Table.States (282).Kernel := To_Vector ((0 => ((200, 0), 103, 1,
(2147483647, 0), 0)));
+ Table.States (282).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (283).Action_List.Set_Capacity (14);
+ Add_Action (Table.States (283), 3, (200, 2), 122);
+ Add_Action (Table.States (283), 39, (261, 4), 123);
+ Add_Action (Table.States (283), 40, (200, 3), 124);
+ Add_Action (Table.States (283), 41, (261, 1), 125);
+ Add_Action (Table.States (283), 52, (278, 0), 126);
+ Add_Action (Table.States (283), 76, (120, 0), 127);
+ Add_Action (Table.States (283), 77, (120, 5), 128);
+ Add_Action (Table.States (283), 81, (242, 8), 31);
+ Add_Action (Table.States (283), 97, (333, 1), 129);
+ Add_Action (Table.States (283), 98, (333, 0), 130);
+ Add_Action (Table.States (283), 106, (261, 0), 131);
+ Add_Action (Table.States (283), 107, (242, 5), 120);
+ Add_Action (Table.States (283), 108, (242, 7), 34);
+ Add_Action (Table.States (283), 109, (242, 6), 35);
Table.States (283).Goto_List.Set_Capacity (13);
- Add_Goto (Table.States (283), 118, 131);
- Add_Goto (Table.States (283), 129, 42);
- Add_Goto (Table.States (283), 198, 134);
- Add_Goto (Table.States (283), 240, 135);
- Add_Goto (Table.States (283), 259, 136);
- Add_Goto (Table.States (283), 273, 93);
- Add_Goto (Table.States (283), 276, 137);
- Add_Goto (Table.States (283), 288, 459);
- Add_Goto (Table.States (283), 294, 98);
- Add_Goto (Table.States (283), 302, 144);
- Add_Goto (Table.States (283), 321, 145);
- Add_Goto (Table.States (283), 322, 146);
- Add_Goto (Table.States (283), 331, 147);
- Table.States (283).Kernel := To_Vector ((0 => (285, 43, 1, True)));
- Table.States (283).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (283).Minimal_Complete_Actions_Recursive := True;
+ Add_Goto (Table.States (283), 120, 132);
+ Add_Goto (Table.States (283), 131, 42);
+ Add_Goto (Table.States (283), 200, 135);
+ Add_Goto (Table.States (283), 242, 136);
+ Add_Goto (Table.States (283), 261, 137);
+ Add_Goto (Table.States (283), 275, 93);
+ Add_Goto (Table.States (283), 278, 138);
+ Add_Goto (Table.States (283), 290, 461);
+ Add_Goto (Table.States (283), 296, 98);
+ Add_Goto (Table.States (283), 304, 145);
+ Add_Goto (Table.States (283), 323, 146);
+ Add_Goto (Table.States (283), 324, 147);
+ Add_Goto (Table.States (283), 333, 148);
+ Table.States (283).Kernel := To_Vector ((0 => ((285, 0), 10, 1,
(2147483647, 0), 0)));
+ Table.States (283).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
Table.States (284).Action_List.Set_Capacity (1);
- Add_Action (Table.States (284), 22, 460);
- Table.States (284).Kernel := To_Vector ((0 => (286, 43, 2, True)));
- Table.States (284).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 22, 460)));
- Table.States (284).Minimal_Complete_Actions_Recursive := True;
- Table.States (285).Action_List.Set_Capacity (13);
- Add_Action (Table.States (285), 3, 122);
- Add_Action (Table.States (285), 39, 123);
- Add_Action (Table.States (285), 40, 124);
- Add_Action (Table.States (285), 41, 125);
- Add_Action (Table.States (285), 52, 126);
- Add_Action (Table.States (285), 76, 127);
- Add_Action (Table.States (285), 79, 31);
- Add_Action (Table.States (285), 95, 128);
- Add_Action (Table.States (285), 96, 129);
- Add_Action (Table.States (285), 104, 130);
- Add_Action (Table.States (285), 105, 120);
- Add_Action (Table.States (285), 106, 34);
- Add_Action (Table.States (285), 107, 35);
+ Add_Action (Table.States (284), 68, (286, 0), 462);
+ Table.States (284).Kernel := To_Vector ((0 => ((286, 0), 10, 2,
(2147483647, 0), 0)));
+ Table.States (284).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (286, 0), 68, 462)));
+ Table.States (285).Action_List.Set_Capacity (14);
+ Add_Action (Table.States (285), 3, (200, 2), 122);
+ Add_Action (Table.States (285), 39, (261, 4), 123);
+ Add_Action (Table.States (285), 40, (200, 3), 124);
+ Add_Action (Table.States (285), 41, (261, 1), 125);
+ Add_Action (Table.States (285), 52, (278, 0), 126);
+ Add_Action (Table.States (285), 76, (120, 0), 127);
+ Add_Action (Table.States (285), 77, (120, 5), 128);
+ Add_Action (Table.States (285), 81, (242, 8), 31);
+ Add_Action (Table.States (285), 97, (333, 1), 129);
+ Add_Action (Table.States (285), 98, (333, 0), 130);
+ Add_Action (Table.States (285), 106, (261, 0), 131);
+ Add_Action (Table.States (285), 107, (242, 5), 120);
+ Add_Action (Table.States (285), 108, (242, 7), 34);
+ Add_Action (Table.States (285), 109, (242, 6), 35);
Table.States (285).Goto_List.Set_Capacity (13);
- Add_Goto (Table.States (285), 118, 131);
- Add_Goto (Table.States (285), 129, 42);
- Add_Goto (Table.States (285), 198, 134);
- Add_Goto (Table.States (285), 240, 135);
- Add_Goto (Table.States (285), 259, 136);
- Add_Goto (Table.States (285), 273, 93);
- Add_Goto (Table.States (285), 276, 137);
- Add_Goto (Table.States (285), 288, 461);
- Add_Goto (Table.States (285), 294, 98);
- Add_Goto (Table.States (285), 302, 144);
- Add_Goto (Table.States (285), 321, 145);
- Add_Goto (Table.States (285), 322, 146);
- Add_Goto (Table.States (285), 331, 147);
- Table.States (285).Kernel := To_Vector ((0 => (287, 75, 1, True)));
- Table.States (285).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (285).Minimal_Complete_Actions_Recursive := True;
- Table.States (286).Action_List.Set_Capacity (14);
- Add_Action (Table.States (286), 3, 122);
- Add_Action (Table.States (286), 39, 123);
- Add_Action (Table.States (286), 40, 124);
- Add_Action (Table.States (286), 41, 125);
- Add_Action (Table.States (286), 52, 126);
- Add_Action (Table.States (286), 68, 462);
- Add_Action (Table.States (286), 76, 127);
- Add_Action (Table.States (286), 79, 31);
- Add_Action (Table.States (286), 95, 128);
- Add_Action (Table.States (286), 96, 129);
- Add_Action (Table.States (286), 104, 130);
- Add_Action (Table.States (286), 105, 120);
- Add_Action (Table.States (286), 106, 34);
- Add_Action (Table.States (286), 107, 35);
- Table.States (286).Goto_List.Set_Capacity (13);
- Add_Goto (Table.States (286), 118, 131);
- Add_Goto (Table.States (286), 129, 42);
- Add_Goto (Table.States (286), 198, 134);
- Add_Goto (Table.States (286), 240, 135);
- Add_Goto (Table.States (286), 259, 136);
- Add_Goto (Table.States (286), 273, 93);
- Add_Goto (Table.States (286), 276, 137);
- Add_Goto (Table.States (286), 288, 463);
- Add_Goto (Table.States (286), 294, 98);
- Add_Goto (Table.States (286), 302, 144);
- Add_Goto (Table.States (286), 321, 145);
- Add_Goto (Table.States (286), 322, 146);
- Add_Goto (Table.States (286), 331, 147);
- Table.States (286).Kernel := To_Vector (((283, 10, 1, True), (284,
10, 2, True)));
- Table.States (286).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (286).Minimal_Complete_Actions_Recursive := True;
+ Add_Goto (Table.States (285), 120, 132);
+ Add_Goto (Table.States (285), 131, 42);
+ Add_Goto (Table.States (285), 200, 135);
+ Add_Goto (Table.States (285), 242, 136);
+ Add_Goto (Table.States (285), 261, 137);
+ Add_Goto (Table.States (285), 275, 93);
+ Add_Goto (Table.States (285), 278, 138);
+ Add_Goto (Table.States (285), 290, 463);
+ Add_Goto (Table.States (285), 296, 98);
+ Add_Goto (Table.States (285), 304, 145);
+ Add_Goto (Table.States (285), 323, 146);
+ Add_Goto (Table.States (285), 324, 147);
+ Add_Goto (Table.States (285), 333, 148);
+ Table.States (285).Kernel := To_Vector ((0 => ((287, 0), 43, 1,
(2147483647, 0), 0)));
+ Table.States (285).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (286).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (286), 22, (288, 0), 464);
+ Table.States (286).Kernel := To_Vector ((0 => ((288, 0), 43, 2,
(2147483647, 0), 0)));
+ Table.States (286).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (288, 0), 22, 464)));
Table.States (287).Action_List.Set_Capacity (14);
- Add_Action (Table.States (287), 3, 122);
- Add_Action (Table.States (287), 22, 464);
- Add_Action (Table.States (287), 39, 123);
- Add_Action (Table.States (287), 40, 124);
- Add_Action (Table.States (287), 41, 125);
- Add_Action (Table.States (287), 52, 126);
- Add_Action (Table.States (287), 76, 127);
- Add_Action (Table.States (287), 79, 31);
- Add_Action (Table.States (287), 95, 128);
- Add_Action (Table.States (287), 96, 129);
- Add_Action (Table.States (287), 104, 130);
- Add_Action (Table.States (287), 105, 120);
- Add_Action (Table.States (287), 106, 34);
- Add_Action (Table.States (287), 107, 35);
+ Add_Action (Table.States (287), 3, (200, 2), 122);
+ Add_Action (Table.States (287), 39, (261, 4), 123);
+ Add_Action (Table.States (287), 40, (200, 3), 124);
+ Add_Action (Table.States (287), 41, (261, 1), 125);
+ Add_Action (Table.States (287), 52, (278, 0), 126);
+ Add_Action (Table.States (287), 76, (120, 0), 127);
+ Add_Action (Table.States (287), 77, (120, 5), 128);
+ Add_Action (Table.States (287), 81, (242, 8), 31);
+ Add_Action (Table.States (287), 97, (333, 1), 129);
+ Add_Action (Table.States (287), 98, (333, 0), 130);
+ Add_Action (Table.States (287), 106, (261, 0), 131);
+ Add_Action (Table.States (287), 107, (242, 5), 120);
+ Add_Action (Table.States (287), 108, (242, 7), 34);
+ Add_Action (Table.States (287), 109, (242, 6), 35);
Table.States (287).Goto_List.Set_Capacity (13);
- Add_Goto (Table.States (287), 118, 131);
- Add_Goto (Table.States (287), 129, 42);
- Add_Goto (Table.States (287), 198, 134);
- Add_Goto (Table.States (287), 240, 135);
- Add_Goto (Table.States (287), 259, 136);
- Add_Goto (Table.States (287), 273, 93);
- Add_Goto (Table.States (287), 276, 137);
- Add_Goto (Table.States (287), 288, 465);
- Add_Goto (Table.States (287), 294, 98);
- Add_Goto (Table.States (287), 302, 144);
- Add_Goto (Table.States (287), 321, 145);
- Add_Goto (Table.States (287), 322, 146);
- Add_Goto (Table.States (287), 331, 147);
- Table.States (287).Kernel := To_Vector (((285, 43, 1, True), (286,
43, 2, True)));
- Table.States (287).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (287).Minimal_Complete_Actions_Recursive := True;
- Table.States (288).Action_List.Set_Capacity (13);
- Add_Action (Table.States (288), 3, 122);
- Add_Action (Table.States (288), 39, 123);
- Add_Action (Table.States (288), 40, 124);
- Add_Action (Table.States (288), 41, 125);
- Add_Action (Table.States (288), 52, 126);
- Add_Action (Table.States (288), 76, 127);
- Add_Action (Table.States (288), 79, 31);
- Add_Action (Table.States (288), 95, 128);
- Add_Action (Table.States (288), 96, 129);
- Add_Action (Table.States (288), 104, 130);
- Add_Action (Table.States (288), 105, 120);
- Add_Action (Table.States (288), 106, 34);
- Add_Action (Table.States (288), 107, 35);
+ Add_Goto (Table.States (287), 120, 132);
+ Add_Goto (Table.States (287), 131, 42);
+ Add_Goto (Table.States (287), 200, 135);
+ Add_Goto (Table.States (287), 242, 136);
+ Add_Goto (Table.States (287), 261, 137);
+ Add_Goto (Table.States (287), 275, 93);
+ Add_Goto (Table.States (287), 278, 138);
+ Add_Goto (Table.States (287), 290, 465);
+ Add_Goto (Table.States (287), 296, 98);
+ Add_Goto (Table.States (287), 304, 145);
+ Add_Goto (Table.States (287), 323, 146);
+ Add_Goto (Table.States (287), 324, 147);
+ Add_Goto (Table.States (287), 333, 148);
+ Table.States (287).Kernel := To_Vector ((0 => ((289, 0), 75, 1,
(2147483647, 0), 0)));
+ Table.States (287).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (288).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (288), 3, (200, 2), 122);
+ Add_Action (Table.States (288), 39, (261, 4), 123);
+ Add_Action (Table.States (288), 40, (200, 3), 124);
+ Add_Action (Table.States (288), 41, (261, 1), 125);
+ Add_Action (Table.States (288), 52, (278, 0), 126);
+ Add_Action (Table.States (288), 68, (286, 1), 466);
+ Add_Action (Table.States (288), 76, (120, 0), 127);
+ Add_Action (Table.States (288), 77, (120, 5), 128);
+ Add_Action (Table.States (288), 81, (242, 8), 31);
+ Add_Action (Table.States (288), 97, (333, 1), 129);
+ Add_Action (Table.States (288), 98, (333, 0), 130);
+ Add_Action (Table.States (288), 106, (261, 0), 131);
+ Add_Action (Table.States (288), 107, (242, 5), 120);
+ Add_Action (Table.States (288), 108, (242, 7), 34);
+ Add_Action (Table.States (288), 109, (242, 6), 35);
Table.States (288).Goto_List.Set_Capacity (13);
- Add_Goto (Table.States (288), 118, 131);
- Add_Goto (Table.States (288), 129, 42);
- Add_Goto (Table.States (288), 198, 134);
- Add_Goto (Table.States (288), 240, 135);
- Add_Goto (Table.States (288), 259, 136);
- Add_Goto (Table.States (288), 273, 93);
- Add_Goto (Table.States (288), 276, 137);
- Add_Goto (Table.States (288), 288, 466);
- Add_Goto (Table.States (288), 294, 98);
- Add_Goto (Table.States (288), 302, 144);
- Add_Goto (Table.States (288), 321, 145);
- Add_Goto (Table.States (288), 322, 146);
- Add_Goto (Table.States (288), 331, 147);
- Table.States (288).Kernel := To_Vector ((0 => (287, 75, 1, True)));
- Table.States (288).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (288).Minimal_Complete_Actions_Recursive := True;
- Table.States (289).Action_List.Set_Capacity (12);
- Add_Action (Table.States (289), 3, 122);
- Add_Action (Table.States (289), 39, 123);
- Add_Action (Table.States (289), 40, 124);
- Add_Action (Table.States (289), 41, 125);
- Add_Action (Table.States (289), 76, 127);
- Add_Action (Table.States (289), 79, 31);
- Add_Action (Table.States (289), 95, 128);
- Add_Action (Table.States (289), 96, 129);
- Add_Action (Table.States (289), 104, 130);
- Add_Action (Table.States (289), 105, 120);
- Add_Action (Table.States (289), 106, 34);
- Add_Action (Table.States (289), 107, 35);
- Table.States (289).Goto_List.Set_Capacity (14);
- Add_Goto (Table.States (289), 118, 131);
- Add_Goto (Table.States (289), 129, 42);
- Add_Goto (Table.States (289), 198, 134);
- Add_Goto (Table.States (289), 234, 467);
- Add_Goto (Table.States (289), 235, 468);
- Add_Goto (Table.States (289), 240, 275);
- Add_Goto (Table.States (289), 259, 136);
- Add_Goto (Table.States (289), 273, 93);
- Add_Goto (Table.States (289), 278, 469);
- Add_Goto (Table.States (289), 294, 98);
- Add_Goto (Table.States (289), 302, 470);
- Add_Goto (Table.States (289), 321, 145);
- Add_Goto (Table.States (289), 322, 146);
- Add_Goto (Table.States (289), 331, 147);
- Table.States (289).Kernel := To_Vector ((0 => (288, 33, 1,
False)));
- Table.States (289).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (290).Action_List.Set_Capacity (1);
- Add_Action (Table.States (290), 33, 471);
- Table.States (290).Kernel := To_Vector ((0 => (288, 40, 2,
False)));
- Table.States (290).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 33, 471)));
- Table.States (291).Action_List.Set_Capacity (12);
- Add_Action (Table.States (291), (3, 39, 40, 41, 76, 79, 95, 96,
104, 105, 106, 107), (289, 0), 1, null,
- null);
- Table.States (291).Kernel := To_Vector ((0 => (289, 87, 0,
False)));
- Table.States (291).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 289, 1)));
- Table.States (292).Action_List.Set_Capacity (12);
- Add_Action (Table.States (292), (3, 39, 40, 41, 76, 79, 95, 96,
104, 105, 106, 107), (289, 4), 1, null,
- null);
- Table.States (292).Kernel := To_Vector ((0 => (289, 89, 0,
False)));
- Table.States (292).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 289, 1)));
- Table.States (293).Action_List.Set_Capacity (12);
- Add_Action (Table.States (293), (3, 39, 40, 41, 76, 79, 95, 96,
104, 105, 106, 107), (289, 5), 1, null,
- null);
- Table.States (293).Kernel := To_Vector ((0 => (289, 90, 0,
False)));
- Table.States (293).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 289, 1)));
- Table.States (294).Action_List.Set_Capacity (12);
- Add_Action (Table.States (294), (3, 39, 40, 41, 76, 79, 95, 96,
104, 105, 106, 107), (289, 2), 1, null,
- null);
- Table.States (294).Kernel := To_Vector ((0 => (289, 92, 0,
False)));
- Table.States (294).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 289, 1)));
- Table.States (295).Action_List.Set_Capacity (12);
- Add_Action (Table.States (295), (3, 39, 40, 41, 76, 79, 95, 96,
104, 105, 106, 107), (289, 3), 1, null,
- null);
- Table.States (295).Kernel := To_Vector ((0 => (289, 93, 0,
False)));
- Table.States (295).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 289, 1)));
- Table.States (296).Action_List.Set_Capacity (12);
- Add_Action (Table.States (296), (3, 39, 40, 41, 76, 79, 95, 96,
104, 105, 106, 107), (289, 1), 1, null,
- null);
- Table.States (296).Kernel := To_Vector ((0 => (289, 99, 0,
False)));
- Table.States (296).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 289, 1)));
- Table.States (297).Action_List.Set_Capacity (12);
- Add_Action (Table.States (297), 3, 122);
- Add_Action (Table.States (297), 39, 123);
- Add_Action (Table.States (297), 40, 124);
- Add_Action (Table.States (297), 41, 125);
- Add_Action (Table.States (297), 76, 127);
- Add_Action (Table.States (297), 79, 31);
- Add_Action (Table.States (297), 95, 128);
- Add_Action (Table.States (297), 96, 129);
- Add_Action (Table.States (297), 104, 130);
- Add_Action (Table.States (297), 105, 120);
- Add_Action (Table.States (297), 106, 34);
- Add_Action (Table.States (297), 107, 35);
- Table.States (297).Goto_List.Set_Capacity (11);
- Add_Goto (Table.States (297), 118, 131);
- Add_Goto (Table.States (297), 129, 42);
- Add_Goto (Table.States (297), 198, 134);
- Add_Goto (Table.States (297), 240, 135);
- Add_Goto (Table.States (297), 259, 136);
- Add_Goto (Table.States (297), 273, 93);
- Add_Goto (Table.States (297), 294, 98);
- Add_Goto (Table.States (297), 302, 472);
- Add_Goto (Table.States (297), 321, 145);
- Add_Goto (Table.States (297), 322, 146);
- Add_Goto (Table.States (297), 331, 147);
- Table.States (297).Kernel := To_Vector ((0 => (288, 289, 1,
False)));
- Table.States (297).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (298).Action_List.Set_Capacity (10);
- Add_Action (Table.States (298), (3, 39, 40, 41, 76, 79, 104, 105,
106, 107), (238, 2), 1, null, null);
- Table.States (298).Kernel := To_Vector ((0 => (238, 38, 0,
False)));
- Table.States (298).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 238, 1)));
- Table.States (299).Action_List.Set_Capacity (10);
- Add_Action (Table.States (299), (3, 39, 40, 41, 76, 79, 104, 105,
106, 107), (238, 3), 1, null, null);
- Table.States (299).Kernel := To_Vector ((0 => (238, 55, 0,
False)));
- Table.States (299).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 238, 1)));
- Table.States (300).Action_List.Set_Capacity (10);
- Add_Action (Table.States (300), (3, 39, 40, 41, 76, 79, 104, 105,
106, 107), (238, 1), 1, null, null);
- Table.States (300).Kernel := To_Vector ((0 => (238, 98, 0,
False)));
- Table.States (300).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 238, 1)));
- Table.States (301).Action_List.Set_Capacity (10);
- Add_Action (Table.States (301), (3, 39, 40, 41, 76, 79, 104, 105,
106, 107), (238, 0), 1, null, null);
- Table.States (301).Kernel := To_Vector ((0 => (238, 100, 0,
False)));
- Table.States (301).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 238, 1)));
- Table.States (302).Action_List.Set_Capacity (10);
- Add_Action (Table.States (302), 3, 122);
- Add_Action (Table.States (302), 39, 123);
- Add_Action (Table.States (302), 40, 124);
- Add_Action (Table.States (302), 41, 125);
- Add_Action (Table.States (302), 76, 127);
- Add_Action (Table.States (302), 79, 31);
- Add_Action (Table.States (302), 104, 130);
- Add_Action (Table.States (302), 105, 120);
- Add_Action (Table.States (302), 106, 34);
- Add_Action (Table.States (302), 107, 35);
- Table.States (302).Goto_List.Set_Capacity (7);
- Add_Goto (Table.States (302), 118, 131);
- Add_Goto (Table.States (302), 129, 42);
- Add_Goto (Table.States (302), 198, 473);
- Add_Goto (Table.States (302), 240, 135);
- Add_Goto (Table.States (302), 259, 136);
- Add_Goto (Table.States (302), 273, 93);
- Add_Goto (Table.States (302), 294, 98);
- Table.States (302).Kernel := To_Vector ((0 => (321, 238, 1,
True)));
- Table.States (302).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (302).Minimal_Complete_Actions_Recursive := True;
- Table.States (303).Action_List.Set_Capacity (10);
- Add_Action (Table.States (303), (3, 39, 40, 41, 76, 79, 104, 105,
106, 107), (131, 2), 1, null, null);
- Table.States (303).Kernel := To_Vector ((0 => (131, 78, 0,
False)));
- Table.States (303).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 131, 1)));
- Table.States (304).Action_List.Set_Capacity (10);
- Add_Action (Table.States (304), (3, 39, 40, 41, 76, 79, 104, 105,
106, 107), (131, 1), 1, null, null);
- Table.States (304).Kernel := To_Vector ((0 => (131, 95, 0,
False)));
- Table.States (304).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 131, 1)));
- Table.States (305).Action_List.Set_Capacity (10);
- Add_Action (Table.States (305), (3, 39, 40, 41, 76, 79, 104, 105,
106, 107), (131, 0), 1, null, null);
- Table.States (305).Kernel := To_Vector ((0 => (131, 96, 0,
False)));
- Table.States (305).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 131, 1)));
- Table.States (306).Action_List.Set_Capacity (10);
- Add_Action (Table.States (306), 3, 122);
- Add_Action (Table.States (306), 39, 123);
- Add_Action (Table.States (306), 40, 124);
- Add_Action (Table.States (306), 41, 125);
- Add_Action (Table.States (306), 76, 127);
- Add_Action (Table.States (306), 79, 31);
- Add_Action (Table.States (306), 104, 130);
- Add_Action (Table.States (306), 105, 120);
- Add_Action (Table.States (306), 106, 34);
- Add_Action (Table.States (306), 107, 35);
- Table.States (306).Goto_List.Set_Capacity (8);
- Add_Goto (Table.States (306), 118, 131);
- Add_Goto (Table.States (306), 129, 42);
- Add_Goto (Table.States (306), 198, 134);
- Add_Goto (Table.States (306), 240, 135);
- Add_Goto (Table.States (306), 259, 136);
- Add_Goto (Table.States (306), 273, 93);
- Add_Goto (Table.States (306), 294, 98);
- Add_Goto (Table.States (306), 321, 474);
- Table.States (306).Kernel := To_Vector ((0 => (322, 131, 1,
True)));
- Table.States (306).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (306).Minimal_Complete_Actions_Recursive := True;
- Table.States (307).Action_List.Set_Capacity (31);
- Add_Action (Table.States (307), 10, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 20, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 21, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 22, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 23, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 33, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 35, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 37, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 40, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 42, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 43, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 53, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 68, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 74, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 75, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 77, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 78, 303);
- Add_Action (Table.States (307), 80, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 83, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 84, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 86, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 87, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 88, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 89, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 90, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 92, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 93, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 95, 304);
- Add_Action (Table.States (307), 96, 305);
- Add_Action (Table.States (307), 97, Reduce, (302, 0), 2, null,
null);
- Add_Action (Table.States (307), 99, Reduce, (302, 0), 2, null,
null);
- Table.States (307).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (307), 131, 306);
- Table.States (307).Kernel := To_Vector (((302, 322, 0, False),
(322, 322, 2, True)));
- Table.States (307).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 302, 2)));
- Table.States (308).Action_List.Set_Capacity (1);
- Add_Action (Table.States (308), 97, 475);
- Table.States (308).Kernel := To_Vector ((0 => (162, 193, 1,
False)));
- Table.States (308).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 475)));
- Table.States (309).Action_List.Set_Capacity (47);
- Add_Action (Table.States (309), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (162, 1), 3, delay_statement_1'Access, null);
- Table.States (309).Kernel := To_Vector ((0 => (162, 97, 0,
False)));
- Table.States (309).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 162, 3)));
- Table.States (310).Action_List.Set_Capacity (14);
- Add_Action (Table.States (310), 3, 122);
- Add_Action (Table.States (310), 39, 123);
- Add_Action (Table.States (310), 40, 124);
- Add_Action (Table.States (310), 41, 125);
- Add_Action (Table.States (310), 52, 126);
- Add_Action (Table.States (310), 76, 127);
- Add_Action (Table.States (310), 79, 31);
- Add_Action (Table.States (310), 95, 128);
- Add_Action (Table.States (310), 96, 129);
- Add_Action (Table.States (310), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (310), 104, 130);
- Add_Action (Table.States (310), 105, 120);
- Add_Action (Table.States (310), 106, 34);
- Add_Action (Table.States (310), 107, 35);
- Table.States (310).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (310), 118, 131);
- Add_Goto (Table.States (310), 129, 42);
- Add_Goto (Table.States (310), 192, 132);
- Add_Goto (Table.States (310), 193, 476);
- Add_Goto (Table.States (310), 198, 134);
- Add_Goto (Table.States (310), 240, 135);
- Add_Goto (Table.States (310), 259, 136);
- Add_Goto (Table.States (310), 273, 93);
- Add_Goto (Table.States (310), 276, 137);
- Add_Goto (Table.States (310), 283, 138);
- Add_Goto (Table.States (310), 284, 139);
- Add_Goto (Table.States (310), 285, 140);
- Add_Goto (Table.States (310), 286, 141);
- Add_Goto (Table.States (310), 287, 142);
- Add_Goto (Table.States (310), 288, 143);
- Add_Goto (Table.States (310), 294, 98);
- Add_Goto (Table.States (310), 302, 144);
- Add_Goto (Table.States (310), 321, 145);
- Add_Goto (Table.States (310), 322, 146);
- Add_Goto (Table.States (310), 331, 147);
- Table.States (310).Kernel := To_Vector ((0 => (191, 72, 1,
False)));
- Table.States (310).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
+ Add_Goto (Table.States (288), 120, 132);
+ Add_Goto (Table.States (288), 131, 42);
+ Add_Goto (Table.States (288), 200, 135);
+ Add_Goto (Table.States (288), 242, 136);
+ Add_Goto (Table.States (288), 261, 137);
+ Add_Goto (Table.States (288), 275, 93);
+ Add_Goto (Table.States (288), 278, 138);
+ Add_Goto (Table.States (288), 290, 467);
+ Add_Goto (Table.States (288), 296, 98);
+ Add_Goto (Table.States (288), 304, 145);
+ Add_Goto (Table.States (288), 323, 146);
+ Add_Goto (Table.States (288), 324, 147);
+ Add_Goto (Table.States (288), 333, 148);
+ Table.States (288).Kernel := To_Vector ((((285, 1), 10, 1,
(2147483647, 0), 0), ((286, 1), 10, 2,
+ (2147483647, 0), 0)));
+ Table.States (289).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (289), 3, (200, 2), 122);
+ Add_Action (Table.States (289), 22, (288, 1), 468);
+ Add_Action (Table.States (289), 39, (261, 4), 123);
+ Add_Action (Table.States (289), 40, (200, 3), 124);
+ Add_Action (Table.States (289), 41, (261, 1), 125);
+ Add_Action (Table.States (289), 52, (278, 0), 126);
+ Add_Action (Table.States (289), 76, (120, 0), 127);
+ Add_Action (Table.States (289), 77, (120, 5), 128);
+ Add_Action (Table.States (289), 81, (242, 8), 31);
+ Add_Action (Table.States (289), 97, (333, 1), 129);
+ Add_Action (Table.States (289), 98, (333, 0), 130);
+ Add_Action (Table.States (289), 106, (261, 0), 131);
+ Add_Action (Table.States (289), 107, (242, 5), 120);
+ Add_Action (Table.States (289), 108, (242, 7), 34);
+ Add_Action (Table.States (289), 109, (242, 6), 35);
+ Table.States (289).Goto_List.Set_Capacity (13);
+ Add_Goto (Table.States (289), 120, 132);
+ Add_Goto (Table.States (289), 131, 42);
+ Add_Goto (Table.States (289), 200, 135);
+ Add_Goto (Table.States (289), 242, 136);
+ Add_Goto (Table.States (289), 261, 137);
+ Add_Goto (Table.States (289), 275, 93);
+ Add_Goto (Table.States (289), 278, 138);
+ Add_Goto (Table.States (289), 290, 469);
+ Add_Goto (Table.States (289), 296, 98);
+ Add_Goto (Table.States (289), 304, 145);
+ Add_Goto (Table.States (289), 323, 146);
+ Add_Goto (Table.States (289), 324, 147);
+ Add_Goto (Table.States (289), 333, 148);
+ Table.States (289).Kernel := To_Vector ((((287, 1), 43, 1,
(2147483647, 0), 0), ((288, 1), 43, 2,
+ (2147483647, 0), 0)));
+ Table.States (290).Action_List.Set_Capacity (14);
+ Add_Action (Table.States (290), 3, (200, 2), 122);
+ Add_Action (Table.States (290), 39, (261, 4), 123);
+ Add_Action (Table.States (290), 40, (200, 3), 124);
+ Add_Action (Table.States (290), 41, (261, 1), 125);
+ Add_Action (Table.States (290), 52, (278, 0), 126);
+ Add_Action (Table.States (290), 76, (120, 0), 127);
+ Add_Action (Table.States (290), 77, (120, 5), 128);
+ Add_Action (Table.States (290), 81, (242, 8), 31);
+ Add_Action (Table.States (290), 97, (333, 1), 129);
+ Add_Action (Table.States (290), 98, (333, 0), 130);
+ Add_Action (Table.States (290), 106, (261, 0), 131);
+ Add_Action (Table.States (290), 107, (242, 5), 120);
+ Add_Action (Table.States (290), 108, (242, 7), 34);
+ Add_Action (Table.States (290), 109, (242, 6), 35);
+ Table.States (290).Goto_List.Set_Capacity (13);
+ Add_Goto (Table.States (290), 120, 132);
+ Add_Goto (Table.States (290), 131, 42);
+ Add_Goto (Table.States (290), 200, 135);
+ Add_Goto (Table.States (290), 242, 136);
+ Add_Goto (Table.States (290), 261, 137);
+ Add_Goto (Table.States (290), 275, 93);
+ Add_Goto (Table.States (290), 278, 138);
+ Add_Goto (Table.States (290), 290, 470);
+ Add_Goto (Table.States (290), 296, 98);
+ Add_Goto (Table.States (290), 304, 145);
+ Add_Goto (Table.States (290), 323, 146);
+ Add_Goto (Table.States (290), 324, 147);
+ Add_Goto (Table.States (290), 333, 148);
+ Table.States (290).Kernel := To_Vector ((0 => ((289, 1), 75, 1,
(2147483647, 0), 0)));
+ Table.States (290).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (291).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (291), 3, (200, 2), 122);
+ Add_Action (Table.States (291), 39, (261, 4), 123);
+ Add_Action (Table.States (291), 40, (200, 3), 124);
+ Add_Action (Table.States (291), 41, (261, 1), 125);
+ Add_Action (Table.States (291), 76, (120, 0), 127);
+ Add_Action (Table.States (291), 77, (120, 5), 128);
+ Add_Action (Table.States (291), 81, (242, 8), 31);
+ Add_Action (Table.States (291), 97, (333, 1), 129);
+ Add_Action (Table.States (291), 98, (333, 0), 130);
+ Add_Action (Table.States (291), 106, (261, 0), 131);
+ Add_Action (Table.States (291), 107, (242, 5), 120);
+ Add_Action (Table.States (291), 108, (242, 7), 34);
+ Add_Action (Table.States (291), 109, (242, 6), 35);
+ Table.States (291).Goto_List.Set_Capacity (14);
+ Add_Goto (Table.States (291), 120, 132);
+ Add_Goto (Table.States (291), 131, 42);
+ Add_Goto (Table.States (291), 200, 135);
+ Add_Goto (Table.States (291), 236, 471);
+ Add_Goto (Table.States (291), 237, 472);
+ Add_Goto (Table.States (291), 242, 276);
+ Add_Goto (Table.States (291), 261, 137);
+ Add_Goto (Table.States (291), 275, 93);
+ Add_Goto (Table.States (291), 280, 473);
+ Add_Goto (Table.States (291), 296, 98);
+ Add_Goto (Table.States (291), 304, 474);
+ Add_Goto (Table.States (291), 323, 146);
+ Add_Goto (Table.States (291), 324, 147);
+ Add_Goto (Table.States (291), 333, 148);
+ Table.States (291).Kernel := To_Vector ((0 => ((290, 1), 33, 1,
(2147483647, 0), 0)));
+ Table.States (291).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (292).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (292), 33, (290, 0), 475);
+ Table.States (292).Kernel := To_Vector ((0 => ((290, 0), 40, 2,
(2147483647, 0), 0)));
+ Table.States (292).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (290, 0), 33, 475)));
+ Table.States (293).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (293), (3, 39, 40, 41, 76, 77, 81, 97,
98, 106, 107, 108, 109), (291, 0), 1,
+ null, null);
+ Table.States (293).Kernel := To_Vector ((0 => ((291, 0), 89, 0,
(291, 0), 1)));
+ Table.States (293).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (291, 0), 1)));
+ Table.States (294).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (294), (3, 39, 40, 41, 76, 77, 81, 97,
98, 106, 107, 108, 109), (291, 4), 1,
+ null, null);
+ Table.States (294).Kernel := To_Vector ((0 => ((291, 4), 91, 0,
(291, 4), 1)));
+ Table.States (294).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (291, 4), 1)));
+ Table.States (295).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (295), (3, 39, 40, 41, 76, 77, 81, 97,
98, 106, 107, 108, 109), (291, 5), 1,
+ null, null);
+ Table.States (295).Kernel := To_Vector ((0 => ((291, 5), 92, 0,
(291, 5), 1)));
+ Table.States (295).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (291, 5), 1)));
+ Table.States (296).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (296), (3, 39, 40, 41, 76, 77, 81, 97,
98, 106, 107, 108, 109), (291, 2), 1,
+ null, null);
+ Table.States (296).Kernel := To_Vector ((0 => ((291, 2), 94, 0,
(291, 2), 1)));
+ Table.States (296).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (291, 2), 1)));
+ Table.States (297).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (297), (3, 39, 40, 41, 76, 77, 81, 97,
98, 106, 107, 108, 109), (291, 3), 1,
+ null, null);
+ Table.States (297).Kernel := To_Vector ((0 => ((291, 3), 95, 0,
(291, 3), 1)));
+ Table.States (297).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (291, 3), 1)));
+ Table.States (298).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (298), (3, 39, 40, 41, 76, 77, 81, 97,
98, 106, 107, 108, 109), (291, 1), 1,
+ null, null);
+ Table.States (298).Kernel := To_Vector ((0 => ((291, 1), 101, 0,
(291, 1), 1)));
+ Table.States (298).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (291, 1), 1)));
+ Table.States (299).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (299), 3, (200, 2), 122);
+ Add_Action (Table.States (299), 39, (261, 4), 123);
+ Add_Action (Table.States (299), 40, (200, 3), 124);
+ Add_Action (Table.States (299), 41, (261, 1), 125);
+ Add_Action (Table.States (299), 76, (120, 0), 127);
+ Add_Action (Table.States (299), 77, (120, 5), 128);
+ Add_Action (Table.States (299), 81, (242, 8), 31);
+ Add_Action (Table.States (299), 97, (333, 1), 129);
+ Add_Action (Table.States (299), 98, (333, 0), 130);
+ Add_Action (Table.States (299), 106, (261, 0), 131);
+ Add_Action (Table.States (299), 107, (242, 5), 120);
+ Add_Action (Table.States (299), 108, (242, 7), 34);
+ Add_Action (Table.States (299), 109, (242, 6), 35);
+ Table.States (299).Goto_List.Set_Capacity (11);
+ Add_Goto (Table.States (299), 120, 132);
+ Add_Goto (Table.States (299), 131, 42);
+ Add_Goto (Table.States (299), 200, 135);
+ Add_Goto (Table.States (299), 242, 136);
+ Add_Goto (Table.States (299), 261, 137);
+ Add_Goto (Table.States (299), 275, 93);
+ Add_Goto (Table.States (299), 296, 98);
+ Add_Goto (Table.States (299), 304, 476);
+ Add_Goto (Table.States (299), 323, 146);
+ Add_Goto (Table.States (299), 324, 147);
+ Add_Goto (Table.States (299), 333, 148);
+ Table.States (299).Kernel := To_Vector ((0 => ((290, 2), 291, 1,
(2147483647, 0), 0)));
+ Table.States (299).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (300).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (300), (3, 39, 40, 41, 76, 77, 81, 106,
107, 108, 109), (240, 2), 1, null, null);
+ Table.States (300).Kernel := To_Vector ((0 => ((240, 2), 38, 0,
(240, 2), 1)));
+ Table.States (300).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (240, 2), 1)));
+ Table.States (301).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (301), (3, 39, 40, 41, 76, 77, 81, 106,
107, 108, 109), (240, 3), 1, null, null);
+ Table.States (301).Kernel := To_Vector ((0 => ((240, 3), 55, 0,
(240, 3), 1)));
+ Table.States (301).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (240, 3), 1)));
+ Table.States (302).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (302), (3, 39, 40, 41, 76, 77, 81, 106,
107, 108, 109), (240, 1), 1, null, null);
+ Table.States (302).Kernel := To_Vector ((0 => ((240, 1), 100, 0,
(240, 1), 1)));
+ Table.States (302).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (240, 1), 1)));
+ Table.States (303).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (303), (3, 39, 40, 41, 76, 77, 81, 106,
107, 108, 109), (240, 0), 1, null, null);
+ Table.States (303).Kernel := To_Vector ((0 => ((240, 0), 102, 0,
(240, 0), 1)));
+ Table.States (303).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (240, 0), 1)));
+ Table.States (304).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (304), 3, (200, 2), 122);
+ Add_Action (Table.States (304), 39, (261, 4), 123);
+ Add_Action (Table.States (304), 40, (200, 3), 124);
+ Add_Action (Table.States (304), 41, (261, 1), 125);
+ Add_Action (Table.States (304), 76, (120, 0), 127);
+ Add_Action (Table.States (304), 77, (120, 5), 128);
+ Add_Action (Table.States (304), 81, (242, 8), 31);
+ Add_Action (Table.States (304), 106, (261, 0), 131);
+ Add_Action (Table.States (304), 107, (242, 5), 120);
+ Add_Action (Table.States (304), 108, (242, 7), 34);
+ Add_Action (Table.States (304), 109, (242, 6), 35);
+ Table.States (304).Goto_List.Set_Capacity (7);
+ Add_Goto (Table.States (304), 120, 132);
+ Add_Goto (Table.States (304), 131, 42);
+ Add_Goto (Table.States (304), 200, 477);
+ Add_Goto (Table.States (304), 242, 136);
+ Add_Goto (Table.States (304), 261, 137);
+ Add_Goto (Table.States (304), 275, 93);
+ Add_Goto (Table.States (304), 296, 98);
+ Table.States (304).Kernel := To_Vector ((0 => ((323, 0), 240, 1,
(2147483647, 0), 0)));
+ Table.States (304).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (305).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (305), (3, 39, 40, 41, 76, 77, 81, 106,
107, 108, 109), (133, 2), 1, null, null);
+ Table.States (305).Kernel := To_Vector ((0 => ((133, 2), 80, 0,
(133, 2), 1)));
+ Table.States (305).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (133, 2), 1)));
+ Table.States (306).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (306), (3, 39, 40, 41, 76, 77, 81, 106,
107, 108, 109), (133, 1), 1, null, null);
+ Table.States (306).Kernel := To_Vector ((0 => ((133, 1), 97, 0,
(133, 1), 1)));
+ Table.States (306).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (133, 1), 1)));
+ Table.States (307).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (307), (3, 39, 40, 41, 76, 77, 81, 106,
107, 108, 109), (133, 0), 1, null, null);
+ Table.States (307).Kernel := To_Vector ((0 => ((133, 0), 98, 0,
(133, 0), 1)));
+ Table.States (307).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (133, 0), 1)));
+ Table.States (308).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (308), 3, (200, 2), 122);
+ Add_Action (Table.States (308), 39, (261, 4), 123);
+ Add_Action (Table.States (308), 40, (200, 3), 124);
+ Add_Action (Table.States (308), 41, (261, 1), 125);
+ Add_Action (Table.States (308), 76, (120, 0), 127);
+ Add_Action (Table.States (308), 77, (120, 5), 128);
+ Add_Action (Table.States (308), 81, (242, 8), 31);
+ Add_Action (Table.States (308), 106, (261, 0), 131);
+ Add_Action (Table.States (308), 107, (242, 5), 120);
+ Add_Action (Table.States (308), 108, (242, 7), 34);
+ Add_Action (Table.States (308), 109, (242, 6), 35);
+ Table.States (308).Goto_List.Set_Capacity (8);
+ Add_Goto (Table.States (308), 120, 132);
+ Add_Goto (Table.States (308), 131, 42);
+ Add_Goto (Table.States (308), 200, 135);
+ Add_Goto (Table.States (308), 242, 136);
+ Add_Goto (Table.States (308), 261, 137);
+ Add_Goto (Table.States (308), 275, 93);
+ Add_Goto (Table.States (308), 296, 98);
+ Add_Goto (Table.States (308), 323, 478);
+ Table.States (308).Kernel := To_Vector ((0 => ((324, 0), 133, 1,
(2147483647, 0), 0)));
+ Table.States (308).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (309).Action_List.Set_Capacity (32);
+ Add_Action (Table.States (309), 10, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 20, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 21, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 22, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 23, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 33, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 35, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 37, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 40, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 42, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 43, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 53, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 68, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 74, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 75, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 78, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 79, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 80, (133, 2), 305);
+ Add_Action (Table.States (309), 82, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 85, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 86, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 88, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 89, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 90, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 91, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 92, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 94, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 95, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 97, (133, 1), 306);
+ Add_Action (Table.States (309), 98, (133, 0), 307);
+ Add_Action (Table.States (309), 99, Reduce, (304, 0), 2, null,
null);
+ Add_Action (Table.States (309), 101, Reduce, (304, 0), 2, null,
null);
+ Table.States (309).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (309), 133, 308);
+ Table.States (309).Kernel := To_Vector ((((304, 0), 324, 0,
(304, 0), 2), ((324, 0), 324, 2,
+ (2147483647, 0), 0)));
+ Table.States (309).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (304, 0), 2)));
+ Table.States (310).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (310), 99, (164, 0), 479);
+ Table.States (310).Kernel := To_Vector ((0 => ((164, 0), 195, 1,
(2147483647, 0), 0)));
+ Table.States (310).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (164, 0), 99, 479)));
Table.States (311).Action_List.Set_Capacity (47);
Add_Action (Table.States (311), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (191, 1), 3, exit_statement_1'Access, null);
- Table.States (311).Kernel := To_Vector ((0 => (191, 97, 0,
False)));
- Table.States (311).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 191, 3)));
- Table.States (312).Action_List.Set_Capacity (13);
- Add_Action (Table.States (312), 3, 122);
- Add_Action (Table.States (312), 39, 123);
- Add_Action (Table.States (312), 40, 477);
- Add_Action (Table.States (312), 41, 125);
- Add_Action (Table.States (312), 59, 478);
- Add_Action (Table.States (312), 76, 127);
- Add_Action (Table.States (312), 79, 31);
- Add_Action (Table.States (312), 95, 128);
- Add_Action (Table.States (312), 96, 129);
- Add_Action (Table.States (312), 104, 130);
- Add_Action (Table.States (312), 105, 120);
- Add_Action (Table.States (312), 106, 34);
- Add_Action (Table.States (312), 107, 35);
- Table.States (312).Goto_List.Set_Capacity (14);
- Add_Goto (Table.States (312), 118, 131);
- Add_Goto (Table.States (312), 129, 42);
- Add_Goto (Table.States (312), 168, 479);
- Add_Goto (Table.States (312), 198, 134);
- Add_Goto (Table.States (312), 240, 480);
- Add_Goto (Table.States (312), 259, 136);
- Add_Goto (Table.States (312), 273, 93);
- Add_Goto (Table.States (312), 278, 481);
- Add_Goto (Table.States (312), 294, 98);
- Add_Goto (Table.States (312), 302, 482);
- Add_Goto (Table.States (312), 315, 483);
- Add_Goto (Table.States (312), 321, 145);
- Add_Goto (Table.States (312), 322, 146);
- Add_Goto (Table.States (312), 331, 147);
- Table.States (312).Kernel := To_Vector (((231, 33, 2, False),
(231, 33, 1, False)));
- Table.States (312).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (313).Action_List.Set_Capacity (5);
- Add_Action (Table.States (313), 59, 484);
- Add_Action (Table.States (313), 79, 31);
- Add_Action (Table.States (313), 105, 120);
- Add_Action (Table.States (313), 106, 34);
- Add_Action (Table.States (313), 107, 35);
- Table.States (313).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (313), 129, 42);
- Add_Goto (Table.States (313), 240, 485);
- Add_Goto (Table.States (313), 273, 93);
- Add_Goto (Table.States (313), 294, 98);
- Table.States (313).Kernel := To_Vector (((231, 42, 2, False),
(231, 42, 1, False)));
- Table.States (313).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (314).Action_List.Set_Capacity (5);
- Add_Action (Table.States (314), 40, 486);
- Add_Action (Table.States (314), 79, 31);
- Add_Action (Table.States (314), 105, 120);
- Add_Action (Table.States (314), 106, 34);
- Add_Action (Table.States (314), 107, 35);
- Table.States (314).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (314), 129, 42);
- Add_Goto (Table.States (314), 240, 487);
- Add_Goto (Table.States (314), 273, 93);
- Add_Goto (Table.States (314), 294, 98);
- Add_Goto (Table.States (314), 315, 488);
- Table.States (314).Kernel := To_Vector (((231, 82, 4, False),
(231, 82, 3, False)));
- Table.States (314).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (315).Action_List.Set_Capacity (14);
- Add_Action (Table.States (315), 3, 122);
- Add_Action (Table.States (315), 39, 123);
- Add_Action (Table.States (315), 40, 124);
- Add_Action (Table.States (315), 41, 125);
- Add_Action (Table.States (315), 52, 126);
- Add_Action (Table.States (315), 76, 127);
- Add_Action (Table.States (315), 79, 31);
- Add_Action (Table.States (315), 95, 128);
- Add_Action (Table.States (315), 96, 129);
- Add_Action (Table.States (315), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (315), 104, 130);
- Add_Action (Table.States (315), 105, 120);
- Add_Action (Table.States (315), 106, 34);
- Add_Action (Table.States (315), 107, 35);
- Table.States (315).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (315), 118, 131);
- Add_Goto (Table.States (315), 129, 42);
- Add_Goto (Table.States (315), 192, 132);
- Add_Goto (Table.States (315), 193, 489);
- Add_Goto (Table.States (315), 198, 134);
- Add_Goto (Table.States (315), 240, 135);
- Add_Goto (Table.States (315), 259, 136);
- Add_Goto (Table.States (315), 273, 93);
- Add_Goto (Table.States (315), 276, 137);
- Add_Goto (Table.States (315), 283, 138);
- Add_Goto (Table.States (315), 284, 139);
- Add_Goto (Table.States (315), 285, 140);
- Add_Goto (Table.States (315), 286, 141);
- Add_Goto (Table.States (315), 287, 142);
- Add_Goto (Table.States (315), 288, 143);
- Add_Goto (Table.States (315), 294, 98);
- Add_Goto (Table.States (315), 302, 144);
- Add_Goto (Table.States (315), 321, 145);
- Add_Goto (Table.States (315), 322, 146);
- Add_Goto (Table.States (315), 331, 147);
- Table.States (315).Kernel := To_Vector ((0 => (122, 71, 1,
False)));
- Table.States (315).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (316).Action_List.Set_Capacity (1);
- Add_Action (Table.States (316), 12, 490);
- Table.States (316).Kernel := To_Vector ((0 => (128, 71, 2,
False)));
- Table.States (316).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 12, 490)));
- Table.States (317).Action_List.Set_Capacity (2);
- Add_Action (Table.States (317), 54, 491);
- Add_Action (Table.States (317), 76, 127);
- Table.States (317).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (317), 118, 492);
- Table.States (317).Kernel := To_Vector (((183, 71, 3, False),
(282, 71, 12, False)));
- Table.States (317).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 76, 127)));
- Table.States (318).Action_List.Set_Capacity (13);
- Add_Action (Table.States (318), 7, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (318), 21, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (318), 35, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (318), 40, 387);
- Add_Action (Table.States (318), 56, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (318), 74, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (318), 77, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (318), 79, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (318), 83, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (318), 97, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (318), 105, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (318), 106, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (318), 107, Reduce, (242, 1), 0, null,
null);
- Table.States (318).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (318), 115, 493);
- Add_Goto (Table.States (318), 242, 494);
- Table.States (318).Kernel := To_Vector (((292, 58, 0, False),
(292, 58, 2, True)));
- Table.States (318).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 242, 0)));
- Table.States (319).Action_List.Set_Capacity (22);
- Add_Action (Table.States (319), 3, 122);
- Add_Action (Table.States (319), 15, 259);
- Add_Action (Table.States (319), 28, 260);
- Add_Action (Table.States (319), 32, 261);
- Add_Action (Table.States (319), 39, 123);
- Add_Action (Table.States (319), 40, 262);
- Add_Action (Table.States (319), 41, 125);
- Add_Action (Table.States (319), 44, 264);
- Add_Action (Table.States (319), 52, 126);
- Add_Action (Table.States (319), 76, 127);
- Add_Action (Table.States (319), 77, Reduce, (125, 6), 0, null,
null);
- Add_Conflict (Table.States (319), 77, (255, 4), 0, null, null);
- Add_Action (Table.States (319), 79, 31);
- Add_Action (Table.States (319), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (319), 84, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (319), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (319), 95, 128);
- Add_Action (Table.States (319), 96, 129);
- Add_Action (Table.States (319), 97, Reduce, (255, 4), 0, null,
null);
- Add_Action (Table.States (319), 104, 130);
- Add_Action (Table.States (319), 105, 495);
- Add_Action (Table.States (319), 106, 34);
- Add_Action (Table.States (319), 107, 265);
- Table.States (319).Goto_List.Set_Capacity (32);
- Add_Goto (Table.States (319), 118, 131);
- Add_Goto (Table.States (319), 125, 266);
- Add_Goto (Table.States (319), 126, 407);
- Add_Goto (Table.States (319), 129, 42);
- Add_Goto (Table.States (319), 137, 268);
- Add_Goto (Table.States (319), 154, 408);
- Add_Goto (Table.States (319), 166, 270);
- Add_Goto (Table.States (319), 167, 271);
- Add_Goto (Table.States (319), 192, 409);
- Add_Goto (Table.States (319), 198, 134);
- Add_Goto (Table.States (319), 220, 496);
- Add_Goto (Table.States (319), 222, 274);
- Add_Goto (Table.States (319), 240, 275);
- Add_Goto (Table.States (319), 255, 497);
- Add_Goto (Table.States (319), 256, 498);
- Add_Goto (Table.States (319), 259, 136);
- Add_Goto (Table.States (319), 273, 93);
- Add_Goto (Table.States (319), 274, 276);
- Add_Goto (Table.States (319), 276, 137);
- Add_Goto (Table.States (319), 278, 410);
- Add_Goto (Table.States (319), 279, 411);
- Add_Goto (Table.States (319), 283, 138);
- Add_Goto (Table.States (319), 284, 139);
- Add_Goto (Table.States (319), 285, 140);
- Add_Goto (Table.States (319), 286, 141);
- Add_Goto (Table.States (319), 287, 142);
- Add_Goto (Table.States (319), 288, 143);
- Add_Goto (Table.States (319), 294, 98);
- Add_Goto (Table.States (319), 302, 278);
- Add_Goto (Table.States (319), 321, 145);
- Add_Goto (Table.States (319), 322, 146);
- Add_Goto (Table.States (319), 331, 147);
- Table.States (319).Kernel := To_Vector (((116, 76, 1, False),
(116, 76, 3, False), (200, 76, 1, False),
- (240, 76, 4, True)));
- Table.States (319).Minimal_Complete_Actions := To_Vector
(((Reduce, 126, 0), (Reduce, 256, 0)));
- Table.States (319).Minimal_Complete_Actions_Recursive := True;
- Table.States (320).Action_List.Set_Capacity (1);
- Add_Action (Table.States (320), 58, 318);
- Table.States (320).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (320), 292, 499);
- Table.States (320).Kernel := To_Vector ((0 => (253, 200, 1,
True)));
- Table.States (320).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 58, 318)));
- Table.States (320).Minimal_Complete_Actions_Recursive := True;
- Table.States (321).Action_List.Set_Capacity (4);
- Add_Action (Table.States (321), (35, 56, 74, 97), (208, 0), 3,
function_specification_0'Access,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (164, 1), 3, delay_statement_1'Access, null);
+ Table.States (311).Kernel := To_Vector ((0 => ((164, 1), 99, 0,
(164, 1), 3)));
+ Table.States (311).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (164, 1), 3)));
+ Table.States (312).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (312), 3, (200, 2), 122);
+ Add_Action (Table.States (312), 39, (261, 4), 123);
+ Add_Action (Table.States (312), 40, (200, 3), 124);
+ Add_Action (Table.States (312), 41, (261, 1), 125);
+ Add_Action (Table.States (312), 52, (278, 0), 126);
+ Add_Action (Table.States (312), 76, (120, 0), 127);
+ Add_Action (Table.States (312), 77, (120, 5), 128);
+ Add_Action (Table.States (312), 81, (242, 8), 31);
+ Add_Action (Table.States (312), 97, (333, 1), 129);
+ Add_Action (Table.States (312), 98, (333, 0), 130);
+ Add_Action (Table.States (312), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (312), 106, (261, 0), 131);
+ Add_Action (Table.States (312), 107, (242, 5), 120);
+ Add_Action (Table.States (312), 108, (242, 7), 34);
+ Add_Action (Table.States (312), 109, (242, 6), 35);
+ Table.States (312).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (312), 120, 132);
+ Add_Goto (Table.States (312), 131, 42);
+ Add_Goto (Table.States (312), 194, 133);
+ Add_Goto (Table.States (312), 195, 480);
+ Add_Goto (Table.States (312), 200, 135);
+ Add_Goto (Table.States (312), 242, 136);
+ Add_Goto (Table.States (312), 261, 137);
+ Add_Goto (Table.States (312), 275, 93);
+ Add_Goto (Table.States (312), 278, 138);
+ Add_Goto (Table.States (312), 285, 139);
+ Add_Goto (Table.States (312), 286, 140);
+ Add_Goto (Table.States (312), 287, 141);
+ Add_Goto (Table.States (312), 288, 142);
+ Add_Goto (Table.States (312), 289, 143);
+ Add_Goto (Table.States (312), 290, 144);
+ Add_Goto (Table.States (312), 296, 98);
+ Add_Goto (Table.States (312), 304, 145);
+ Add_Goto (Table.States (312), 323, 146);
+ Add_Goto (Table.States (312), 324, 147);
+ Add_Goto (Table.States (312), 333, 148);
+ Table.States (312).Kernel := To_Vector ((0 => ((193, 0), 72, 1,
(2147483647, 0), 0)));
+ Table.States (312).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (313).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (313), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (193, 1), 3, exit_statement_1'Access, null);
+ Table.States (313).Kernel := To_Vector ((0 => ((193, 1), 99, 0,
(193, 1), 3)));
+ Table.States (313).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (193, 1), 3)));
+ Table.States (314).Action_List.Set_Capacity (14);
+ Add_Action (Table.States (314), 3, (200, 2), 122);
+ Add_Action (Table.States (314), 39, (261, 4), 123);
+ Add_Action (Table.States (314), 40, (200, 3), 481);
+ Add_Action (Table.States (314), 41, (261, 1), 125);
+ Add_Action (Table.States (314), 59, (233, 2), 482);
+ Add_Action (Table.States (314), 76, (120, 0), 127);
+ Add_Action (Table.States (314), 77, (120, 5), 128);
+ Add_Action (Table.States (314), 81, (242, 8), 31);
+ Add_Action (Table.States (314), 97, (333, 1), 129);
+ Add_Action (Table.States (314), 98, (333, 0), 130);
+ Add_Action (Table.States (314), 106, (261, 0), 131);
+ Add_Action (Table.States (314), 107, (242, 5), 120);
+ Add_Action (Table.States (314), 108, (242, 7), 34);
+ Add_Action (Table.States (314), 109, (242, 6), 35);
+ Table.States (314).Goto_List.Set_Capacity (14);
+ Add_Goto (Table.States (314), 120, 132);
+ Add_Goto (Table.States (314), 131, 42);
+ Add_Goto (Table.States (314), 170, 483);
+ Add_Goto (Table.States (314), 200, 135);
+ Add_Goto (Table.States (314), 242, 484);
+ Add_Goto (Table.States (314), 261, 137);
+ Add_Goto (Table.States (314), 275, 93);
+ Add_Goto (Table.States (314), 280, 485);
+ Add_Goto (Table.States (314), 296, 98);
+ Add_Goto (Table.States (314), 304, 486);
+ Add_Goto (Table.States (314), 317, 487);
+ Add_Goto (Table.States (314), 323, 146);
+ Add_Goto (Table.States (314), 324, 147);
+ Add_Goto (Table.States (314), 333, 148);
+ Table.States (314).Kernel := To_Vector ((((233, 2), 33, 2,
(2147483647, 0), 0), ((233, 5), 33, 1,
+ (2147483647, 0), 0)));
+ Table.States (314).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ end Subr_6;
+ procedure Subr_7
+ is begin
+ Table.States (315).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (315), 59, (233, 3), 488);
+ Add_Action (Table.States (315), 81, (242, 8), 31);
+ Add_Action (Table.States (315), 107, (242, 5), 120);
+ Add_Action (Table.States (315), 108, (242, 7), 34);
+ Add_Action (Table.States (315), 109, (242, 6), 35);
+ Table.States (315).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (315), 131, 42);
+ Add_Goto (Table.States (315), 242, 489);
+ Add_Goto (Table.States (315), 275, 93);
+ Add_Goto (Table.States (315), 296, 98);
+ Table.States (315).Kernel := To_Vector ((((233, 3), 42, 2,
(2147483647, 0), 0), ((233, 4), 42, 1,
+ (2147483647, 0), 0)));
+ Table.States (315).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (316).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (316), 40, (317, 0), 490);
+ Add_Action (Table.States (316), 81, (242, 8), 31);
+ Add_Action (Table.States (316), 107, (242, 5), 120);
+ Add_Action (Table.States (316), 108, (242, 7), 34);
+ Add_Action (Table.States (316), 109, (242, 6), 35);
+ Table.States (316).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (316), 131, 42);
+ Add_Goto (Table.States (316), 242, 491);
+ Add_Goto (Table.States (316), 275, 93);
+ Add_Goto (Table.States (316), 296, 98);
+ Add_Goto (Table.States (316), 317, 492);
+ Table.States (316).Kernel := To_Vector ((((233, 0), 84, 4,
(2147483647, 0), 0), ((233, 1), 84, 3,
+ (2147483647, 0), 0)));
+ Table.States (316).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (317).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (317), 3, (200, 2), 122);
+ Add_Action (Table.States (317), 39, (261, 4), 123);
+ Add_Action (Table.States (317), 40, (200, 3), 124);
+ Add_Action (Table.States (317), 41, (261, 1), 125);
+ Add_Action (Table.States (317), 52, (278, 0), 126);
+ Add_Action (Table.States (317), 76, (120, 0), 127);
+ Add_Action (Table.States (317), 77, (120, 5), 128);
+ Add_Action (Table.States (317), 81, (242, 8), 31);
+ Add_Action (Table.States (317), 97, (333, 1), 129);
+ Add_Action (Table.States (317), 98, (333, 0), 130);
+ Add_Action (Table.States (317), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (317), 106, (261, 0), 131);
+ Add_Action (Table.States (317), 107, (242, 5), 120);
+ Add_Action (Table.States (317), 108, (242, 7), 34);
+ Add_Action (Table.States (317), 109, (242, 6), 35);
+ Table.States (317).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (317), 120, 132);
+ Add_Goto (Table.States (317), 131, 42);
+ Add_Goto (Table.States (317), 194, 133);
+ Add_Goto (Table.States (317), 195, 493);
+ Add_Goto (Table.States (317), 200, 135);
+ Add_Goto (Table.States (317), 242, 136);
+ Add_Goto (Table.States (317), 261, 137);
+ Add_Goto (Table.States (317), 275, 93);
+ Add_Goto (Table.States (317), 278, 138);
+ Add_Goto (Table.States (317), 285, 139);
+ Add_Goto (Table.States (317), 286, 140);
+ Add_Goto (Table.States (317), 287, 141);
+ Add_Goto (Table.States (317), 288, 142);
+ Add_Goto (Table.States (317), 289, 143);
+ Add_Goto (Table.States (317), 290, 144);
+ Add_Goto (Table.States (317), 296, 98);
+ Add_Goto (Table.States (317), 304, 145);
+ Add_Goto (Table.States (317), 323, 146);
+ Add_Goto (Table.States (317), 324, 147);
+ Add_Goto (Table.States (317), 333, 148);
+ Table.States (317).Kernel := To_Vector ((0 => ((124, 0), 71, 1,
(2147483647, 0), 0)));
+ Table.States (317).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (318).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (318), 12, (130, 0), 494);
+ Table.States (318).Kernel := To_Vector ((0 => ((130, 0), 71, 2,
(2147483647, 0), 0)));
+ Table.States (318).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (130, 0), 12, 494)));
+ Table.States (319).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (319), 54, (284, 0), 495);
+ Add_Action (Table.States (319), 76, (120, 0), 127);
+ Add_Action (Table.States (319), 77, (120, 5), 128);
+ Table.States (319).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (319), 120, 496);
+ Table.States (319).Kernel := To_Vector ((((185, 0), 71, 3,
(2147483647, 0), 0), ((284, 0), 71, 12,
+ (2147483647, 0), 0)));
+ Table.States (319).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (120, 0), 76, 127)));
+ Table.States (320).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (320), 7, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (320), 21, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (320), 35, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (320), 40, (244, 0), 389);
+ Add_Action (Table.States (320), 56, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (320), 74, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (320), 78, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (320), 81, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (320), 85, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (320), 99, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (320), 107, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (320), 108, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (320), 109, Reduce, (244, 1), 0, null,
null);
+ Table.States (320).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (320), 117, 497);
+ Add_Goto (Table.States (320), 244, 498);
+ Table.States (320).Kernel := To_Vector ((((294, 0), 58, 0, (244,
1), 0), ((294, 1), 58, 2,
+ (2147483647, 0), 0)));
+ Table.States (320).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (244, 1), 0)));
+ Table.States (321).Action_List.Set_Capacity (23);
+ Add_Action (Table.States (321), 3, (200, 2), 122);
+ Add_Action (Table.States (321), 15, (139, 0), 260);
+ Add_Action (Table.States (321), 28, (127, 6), 261);
+ Add_Action (Table.States (321), 32, (224, 0), 262);
+ Add_Action (Table.States (321), 39, (261, 4), 123);
+ Add_Action (Table.States (321), 40, (168, 1), 263);
+ Add_Action (Table.States (321), 41, (261, 1), 125);
+ Add_Action (Table.States (321), 44, (168, 3), 265);
+ Add_Action (Table.States (321), 52, (278, 0), 126);
+ Add_Action (Table.States (321), 76, (120, 0), 127);
+ Add_Action (Table.States (321), 77, (120, 5), 128);
+ Add_Action (Table.States (321), 78, Reduce, (127, 5), 0, null,
null);
+ Add_Conflict (Table.States (321), 78, (257, 4), 0, null, null);
+ Add_Action (Table.States (321), 81, (242, 8), 31);
+ Add_Action (Table.States (321), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (321), 86, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (321), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (321), 97, (333, 1), 129);
+ Add_Action (Table.States (321), 98, (333, 0), 130);
+ Add_Action (Table.States (321), 99, Reduce, (257, 4), 0, null,
null);
+ Add_Action (Table.States (321), 106, (261, 0), 131);
+ Add_Action (Table.States (321), 107, (222, 1), 499);
+ Add_Action (Table.States (321), 108, (242, 7), 34);
+ Add_Action (Table.States (321), 109, (127, 0), 266);
+ Table.States (321).Goto_List.Set_Capacity (32);
+ Add_Goto (Table.States (321), 120, 132);
+ Add_Goto (Table.States (321), 127, 267);
+ Add_Goto (Table.States (321), 128, 409);
+ Add_Goto (Table.States (321), 131, 42);
+ Add_Goto (Table.States (321), 139, 269);
+ Add_Goto (Table.States (321), 156, 410);
+ Add_Goto (Table.States (321), 168, 271);
+ Add_Goto (Table.States (321), 169, 272);
+ Add_Goto (Table.States (321), 194, 411);
+ Add_Goto (Table.States (321), 200, 135);
+ Add_Goto (Table.States (321), 222, 500);
+ Add_Goto (Table.States (321), 224, 275);
+ Add_Goto (Table.States (321), 242, 276);
+ Add_Goto (Table.States (321), 257, 501);
+ Add_Goto (Table.States (321), 258, 502);
+ Add_Goto (Table.States (321), 261, 137);
+ Add_Goto (Table.States (321), 275, 93);
+ Add_Goto (Table.States (321), 276, 277);
+ Add_Goto (Table.States (321), 278, 138);
+ Add_Goto (Table.States (321), 280, 412);
+ Add_Goto (Table.States (321), 281, 413);
+ Add_Goto (Table.States (321), 285, 139);
+ Add_Goto (Table.States (321), 286, 140);
+ Add_Goto (Table.States (321), 287, 141);
+ Add_Goto (Table.States (321), 288, 142);
+ Add_Goto (Table.States (321), 289, 143);
+ Add_Goto (Table.States (321), 290, 144);
+ Add_Goto (Table.States (321), 296, 98);
+ Add_Goto (Table.States (321), 304, 279);
+ Add_Goto (Table.States (321), 323, 146);
+ Add_Goto (Table.States (321), 324, 147);
+ Add_Goto (Table.States (321), 333, 148);
+ Table.States (321).Kernel := To_Vector ((((118, 0), 76, 1,
(2147483647, 0), 0), ((118, 1), 76, 3,
+ (2147483647, 0), 0), ((202, 0), 76, 1, (2147483647, 0), 0),
((242, 0), 76, 4, (2147483647, 0), 0)));
+ Table.States (321).Minimal_Complete_Actions := To_Vector
(((Reduce, (128, 1), 0), (Reduce, (258, 1),
+ 0)));
+ Table.States (322).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (322), 58, (294, 0), 320);
+ Table.States (322).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (322), 294, 503);
+ Table.States (322).Kernel := To_Vector ((0 => ((255, 0), 202, 1,
(2147483647, 0), 0)));
+ Table.States (322).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (294, 0), 58, 320)));
+ Table.States (323).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (323), (35, 56, 74, 99), (210, 0), 3,
function_specification_0'Access,
function_specification_0_check'Access);
- Table.States (321).Kernel := To_Vector ((0 => (208, 253, 0,
False)));
- Table.States (321).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 208, 3)));
- Table.States (322).Action_List.Set_Capacity (7);
- Add_Action (Table.States (322), (21, 35, 56, 74, 77, 83, 97),
(253, 1), 1, null, null);
- Table.States (322).Kernel := To_Vector ((0 => (253, 292, 0,
True)));
- Table.States (322).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 253, 1)));
- Table.States (322).Minimal_Complete_Actions_Recursive := True;
- Table.States (323).Action_List.Set_Capacity (5);
- Add_Action (Table.States (323), 56, 500);
- Add_Action (Table.States (323), 76, 236);
- Add_Action (Table.States (323), 85, 238);
- Add_Action (Table.States (323), 102, 240);
- Add_Action (Table.States (323), 103, 241);
- Table.States (323).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (323), 116, 242);
- Add_Goto (Table.States (323), 323, 243);
- Table.States (323).Kernel := To_Vector (((129, 240, 2, True),
(216, 240, 3, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (323).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 56, 500)));
- Table.States (324).Action_List.Set_Capacity (5);
- Add_Action (Table.States (324), 56, 501);
- Add_Action (Table.States (324), 76, 236);
- Add_Action (Table.States (324), 85, 238);
- Add_Action (Table.States (324), 102, 240);
- Add_Action (Table.States (324), 103, 241);
- Table.States (324).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (324), 116, 242);
- Add_Goto (Table.States (324), 323, 243);
- Table.States (324).Kernel := To_Vector (((129, 240, 2, True),
(216, 240, 3, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (324).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 56, 501)));
+ Table.States (323).Kernel := To_Vector ((0 => ((210, 0), 255, 0,
(210, 0), 3)));
+ Table.States (323).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (210, 0), 3)));
+ Table.States (324).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (324), (21, 35, 56, 74, 78, 85, 99),
(255, 1), 1, null, null);
+ Table.States (324).Kernel := To_Vector ((0 => ((255, 1), 294, 0,
(255, 1), 1)));
+ Table.States (324).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (255, 1), 1)));
Table.States (325).Action_List.Set_Capacity (5);
- Add_Action (Table.States (325), 56, 502);
- Add_Action (Table.States (325), 76, 236);
- Add_Action (Table.States (325), 85, 238);
- Add_Action (Table.States (325), 102, 240);
- Add_Action (Table.States (325), 103, 241);
+ Add_Action (Table.States (325), 56, (218, 2), 504);
+ Add_Action (Table.States (325), 76, (118, 0), 237);
+ Add_Action (Table.States (325), 87, (296, 0), 239);
+ Add_Action (Table.States (325), 104, (325, 0), 241);
+ Add_Action (Table.States (325), 105, (325, 1), 242);
Table.States (325).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (325), 116, 242);
- Add_Goto (Table.States (325), 323, 243);
- Table.States (325).Kernel := To_Vector (((129, 240, 2, True),
(216, 240, 3, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (325).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 56, 502)));
- Table.States (326).Action_List.Set_Capacity (4);
- Add_Action (Table.States (326), 35, Reduce, (170, 2), 0, null,
null);
- Add_Action (Table.States (326), 74, Reduce, (170, 2), 0, null,
null);
- Add_Action (Table.States (326), 76, 378);
- Add_Action (Table.States (326), 97, Reduce, (170, 2), 0, null,
null);
- Table.States (326).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (326), 170, 503);
- Table.States (326).Kernel := To_Vector (((202, 105, 3, False),
(202, 105, 3, False), (202, 105, 1,
- False)));
- Table.States (326).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 170, 0)));
- Table.States (327).Action_List.Set_Capacity (4);
- Add_Action (Table.States (327), 79, 31);
- Add_Action (Table.States (327), 105, 120);
- Add_Action (Table.States (327), 106, 34);
- Add_Action (Table.States (327), 107, 35);
- Table.States (327).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (327), 129, 42);
- Add_Goto (Table.States (327), 240, 504);
- Add_Goto (Table.States (327), 273, 93);
- Add_Goto (Table.States (327), 294, 98);
- Table.States (327).Kernel := To_Vector ((0 => (205, 47, 5,
False)));
- Table.States (327).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (328).Action_List.Set_Capacity (3);
- Add_Action (Table.States (328), 35, 505);
- Add_Action (Table.States (328), 74, 338);
- Add_Action (Table.States (328), 97, Reduce, (123, 1), 0, null,
null);
+ Add_Goto (Table.States (325), 118, 243);
+ Add_Goto (Table.States (325), 325, 244);
+ Table.States (325).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((218, 2), 242, 3,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (325).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (218, 2), 56, 504)));
+ Table.States (326).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (326), 56, (218, 0), 505);
+ Add_Action (Table.States (326), 76, (118, 0), 237);
+ Add_Action (Table.States (326), 87, (296, 0), 239);
+ Add_Action (Table.States (326), 104, (325, 0), 241);
+ Add_Action (Table.States (326), 105, (325, 1), 242);
+ Table.States (326).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (326), 118, 243);
+ Add_Goto (Table.States (326), 325, 244);
+ Table.States (326).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((218, 0), 242, 3,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (326).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (218, 0), 56, 505)));
+ Table.States (327).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (327), 56, (218, 1), 506);
+ Add_Action (Table.States (327), 76, (118, 0), 237);
+ Add_Action (Table.States (327), 87, (296, 0), 239);
+ Add_Action (Table.States (327), 104, (325, 0), 241);
+ Add_Action (Table.States (327), 105, (325, 1), 242);
+ Table.States (327).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (327), 118, 243);
+ Add_Goto (Table.States (327), 325, 244);
+ Table.States (327).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((218, 1), 242, 3,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (327).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (218, 1), 56, 506)));
+ Table.States (328).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (328), 35, Reduce, (172, 2), 0, null,
null);
+ Add_Action (Table.States (328), 74, Reduce, (172, 2), 0, null,
null);
+ Add_Action (Table.States (328), 76, (172, 0), 380);
+ Add_Action (Table.States (328), 99, Reduce, (172, 2), 0, null,
null);
Table.States (328).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (328), 123, 506);
- Table.States (328).Kernel := To_Vector (((201, 313, 4, False),
(201, 313, 3, False), (201, 313, 3, False),
- (201, 313, 1, False)));
- Table.States (328).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (329).Action_List.Set_Capacity (8);
- Add_Action (Table.States (329), (29, 47, 48, 50, 69, 71, 74, 105),
(212, 0), 2, null, null);
- Table.States (329).Kernel := To_Vector ((0 => (212, 213, 0,
True)));
- Table.States (329).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 212, 2)));
- Table.States (329).Minimal_Complete_Actions_Recursive := True;
- Table.States (330).Action_List.Set_Capacity (11);
- Add_Action (Table.States (330), 7, Reduce, (237, 3), 0, null,
null);
- Add_Action (Table.States (330), 33, 507);
- Add_Action (Table.States (330), 40, Reduce, (237, 3), 0, null,
null);
- Add_Action (Table.States (330), 45, 508);
- Add_Action (Table.States (330), 74, Reduce, (237, 3), 0, null,
null);
- Add_Action (Table.States (330), 79, Reduce, (237, 3), 0, null,
null);
- Add_Action (Table.States (330), 83, Reduce, (237, 3), 0, null,
null);
- Add_Action (Table.States (330), 97, Reduce, (237, 3), 0, null,
null);
- Add_Action (Table.States (330), 105, Reduce, (237, 3), 0, null,
null);
- Add_Action (Table.States (330), 106, Reduce, (237, 3), 0, null,
null);
- Add_Action (Table.States (330), 107, Reduce, (237, 3), 0, null,
null);
+ Add_Goto (Table.States (328), 172, 507);
+ Table.States (328).Kernel := To_Vector ((((204, 0), 107, 3,
(2147483647, 0), 0), ((204, 1), 107, 3,
+ (2147483647, 0), 0), ((204, 2), 107, 1, (2147483647, 0), 0)));
+ Table.States (328).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (172, 2), 0)));
+ Table.States (329).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (329), 81, (242, 8), 31);
+ Add_Action (Table.States (329), 107, (242, 5), 120);
+ Add_Action (Table.States (329), 108, (242, 7), 34);
+ Add_Action (Table.States (329), 109, (242, 6), 35);
+ Table.States (329).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (329), 131, 42);
+ Add_Goto (Table.States (329), 242, 508);
+ Add_Goto (Table.States (329), 275, 93);
+ Add_Goto (Table.States (329), 296, 98);
+ Table.States (329).Kernel := To_Vector ((0 => ((207, 0), 47, 5,
(2147483647, 0), 0)));
+ Table.States (329).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (330).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (330), 35, (203, 0), 509);
+ Add_Action (Table.States (330), 74, (125, 0), 340);
+ Add_Action (Table.States (330), 99, Reduce, (125, 1), 0, null,
null);
Table.States (330).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (330), 237, 509);
- Table.States (330).Kernel := To_Vector (((199, 82, 3, False),
(199, 82, 4, False), (199, 82, 2, False),
- (199, 82, 3, False)));
- Table.States (330).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 237, 0)));
- end Subr_6;
- procedure Subr_7
- is begin
- Table.States (331).Action_List.Set_Capacity (47);
- Add_Action (Table.States (331), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (304, 3), 3, simple_statement_3'Access, null);
- Table.States (331).Kernel := To_Vector ((0 => (304, 97, 0,
False)));
- Table.States (331).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 304, 3)));
- Table.States (332).Action_List.Set_Capacity (26);
- Add_Action (Table.States (332), 4, 1);
- Add_Action (Table.States (332), 5, 2);
- Add_Action (Table.States (332), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (332), 15, 3);
- Add_Action (Table.States (332), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (332), 18, 4);
- Add_Action (Table.States (332), 22, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (332), 23, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (332), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (332), 27, 5);
- Add_Action (Table.States (332), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (332), 31, 9);
- Add_Action (Table.States (332), 32, 10);
- Add_Action (Table.States (332), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (332), 41, 13);
- Add_Action (Table.States (332), 48, 16);
- Add_Action (Table.States (332), 52, 20);
- Add_Action (Table.States (332), 57, 21);
- Add_Action (Table.States (332), 58, 22);
- Add_Action (Table.States (332), 61, 24);
- Add_Action (Table.States (332), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (332), 79, 31);
- Add_Action (Table.States (332), 94, 32);
- Add_Action (Table.States (332), 105, 361);
- Add_Action (Table.States (332), 106, 34);
- Add_Action (Table.States (332), 107, 35);
- Table.States (332).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (332), 114, 37);
- Add_Goto (Table.States (332), 124, 39);
- Add_Goto (Table.States (332), 127, 40);
- Add_Goto (Table.States (332), 129, 42);
- Add_Goto (Table.States (332), 132, 43);
- Add_Goto (Table.States (332), 133, 44);
- Add_Goto (Table.States (332), 134, 45);
- Add_Goto (Table.States (332), 140, 48);
- Add_Goto (Table.States (332), 152, 51);
- Add_Goto (Table.States (332), 153, 52);
- Add_Goto (Table.States (332), 162, 54);
- Add_Goto (Table.States (332), 191, 58);
- Add_Goto (Table.States (332), 197, 60);
- Add_Goto (Table.States (332), 218, 69);
- Add_Goto (Table.States (332), 223, 71);
- Add_Goto (Table.States (332), 233, 73);
- Add_Goto (Table.States (332), 240, 74);
- Add_Goto (Table.States (332), 258, 84);
- Add_Goto (Table.States (332), 262, 87);
- Add_Goto (Table.States (332), 273, 93);
- Add_Goto (Table.States (332), 277, 94);
- Add_Goto (Table.States (332), 291, 97);
- Add_Goto (Table.States (332), 294, 98);
- Add_Goto (Table.States (332), 295, 99);
- Add_Goto (Table.States (332), 299, 100);
- Add_Goto (Table.States (332), 300, 362);
- Add_Goto (Table.States (332), 301, 510);
- Add_Goto (Table.States (332), 303, 101);
- Add_Goto (Table.States (332), 304, 102);
- Add_Goto (Table.States (332), 307, 364);
- Add_Goto (Table.States (332), 324, 115);
- Table.States (332).Kernel := To_Vector (((223, 68, 6, False),
(223, 68, 4, False), (223, 68, 5, False),
- (223, 68, 3, False)));
- Table.States (332).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (333).Action_List.Set_Capacity (4);
- Add_Action (Table.States (333), 79, 31);
- Add_Action (Table.States (333), 105, 120);
- Add_Action (Table.States (333), 106, 34);
- Add_Action (Table.States (333), 107, 35);
- Table.States (333).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (333), 129, 42);
- Add_Goto (Table.States (333), 239, 511);
- Add_Goto (Table.States (333), 240, 220);
- Add_Goto (Table.States (333), 273, 93);
- Add_Goto (Table.States (333), 294, 98);
- Table.States (333).Kernel := To_Vector ((0 => (333, 74, 2,
False)));
- Table.States (333).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (334).Action_List.Set_Capacity (2);
- Add_Action (Table.States (334), 84, 382);
- Add_Action (Table.States (334), 97, 512);
- Table.States (334).Kernel := To_Vector (((239, 239, 2, True),
(333, 239, 1, False)));
- Table.States (334).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 512)));
- Table.States (335).Action_List.Set_Capacity (6);
- Add_Action (Table.States (335), 35, 513);
- Add_Conflict (Table.States (335), 35, (123, 1), 0, null, null);
- Add_Action (Table.States (335), 74, 338);
- Add_Action (Table.States (335), 76, 236);
- Add_Action (Table.States (335), 85, 238);
- Add_Action (Table.States (335), 102, 240);
- Add_Action (Table.States (335), 103, 241);
- Table.States (335).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (335), 116, 242);
- Add_Goto (Table.States (335), 123, 514);
- Add_Goto (Table.States (335), 323, 243);
- Table.States (335).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (248, 240, 4, False), (248, 240, 3, False), (249, 240, 3, False),
(273, 240, 3, True), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True), (294, 240, 2, True)));
- Table.States (335).Minimal_Complete_Actions := To_Vector
(((Reduce, 123, 0), (Shift, 35, 513)));
- Table.States (336).Action_List.Set_Capacity (1);
- Add_Action (Table.States (336), 39, 515);
- Table.States (336).Kernel := To_Vector ((0 => (214, 35, 3,
False)));
- Table.States (336).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 39, 515)));
- Table.States (337).Action_List.Set_Capacity (4);
- Add_Action (Table.States (337), 79, 31);
- Add_Action (Table.States (337), 105, 120);
- Add_Action (Table.States (337), 106, 34);
- Add_Action (Table.States (337), 107, 35);
- Table.States (337).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (337), 129, 42);
- Add_Goto (Table.States (337), 240, 516);
- Add_Goto (Table.States (337), 273, 93);
- Add_Goto (Table.States (337), 294, 98);
- Table.States (337).Kernel := To_Vector ((0 => (251, 56, 2,
False)));
- Table.States (337).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (338).Action_List.Set_Capacity (20);
- Add_Action (Table.States (338), 3, 122);
- Add_Action (Table.States (338), 28, 517);
- Add_Action (Table.States (338), 35, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (338), 39, 123);
- Add_Action (Table.States (338), 40, 262);
- Add_Action (Table.States (338), 41, 125);
- Add_Action (Table.States (338), 44, 264);
- Add_Action (Table.States (338), 52, 126);
- Add_Action (Table.States (338), 76, 127);
- Add_Action (Table.States (338), 79, 31);
- Add_Action (Table.States (338), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (338), 84, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (338), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (338), 95, 128);
- Add_Action (Table.States (338), 96, 129);
- Add_Action (Table.States (338), 97, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (338), 104, 130);
- Add_Action (Table.States (338), 105, 120);
- Add_Action (Table.States (338), 106, 34);
- Add_Action (Table.States (338), 107, 265);
- Table.States (338).Goto_List.Set_Capacity (24);
- Add_Goto (Table.States (338), 118, 131);
- Add_Goto (Table.States (338), 125, 266);
- Add_Goto (Table.States (338), 126, 518);
- Add_Goto (Table.States (338), 129, 42);
- Add_Goto (Table.States (338), 166, 270);
- Add_Goto (Table.States (338), 167, 271);
- Add_Goto (Table.States (338), 192, 409);
- Add_Goto (Table.States (338), 198, 134);
- Add_Goto (Table.States (338), 240, 275);
- Add_Goto (Table.States (338), 259, 136);
- Add_Goto (Table.States (338), 273, 93);
- Add_Goto (Table.States (338), 276, 137);
- Add_Goto (Table.States (338), 278, 277);
- Add_Goto (Table.States (338), 283, 138);
- Add_Goto (Table.States (338), 284, 139);
- Add_Goto (Table.States (338), 285, 140);
- Add_Goto (Table.States (338), 286, 141);
- Add_Goto (Table.States (338), 287, 142);
- Add_Goto (Table.States (338), 288, 143);
- Add_Goto (Table.States (338), 294, 98);
- Add_Goto (Table.States (338), 302, 278);
- Add_Goto (Table.States (338), 321, 145);
- Add_Goto (Table.States (338), 322, 146);
- Add_Goto (Table.States (338), 331, 147);
- Table.States (338).Kernel := To_Vector ((0 => (123, 74, 0,
False)));
- Table.States (338).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 126, 0)));
- Table.States (339).Action_List.Set_Capacity (1);
- Add_Action (Table.States (339), 35, 519);
- Table.States (339).Kernel := To_Vector (((252, 123, 3, False),
(252, 123, 2, False)));
- Table.States (339).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 35, 519)));
+ Add_Goto (Table.States (330), 125, 510);
+ Table.States (330).Kernel := To_Vector ((((203, 0), 315, 4,
(2147483647, 0), 0), ((203, 1), 315, 3,
+ (2147483647, 0), 0), ((203, 2), 315, 3, (2147483647, 0), 0),
((203, 3), 315, 1, (2147483647, 0),
+ 0)));
+ Table.States (330).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (331).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (331), (29, 47, 48, 50, 69, 71, 74, 107),
(214, 0), 2, null, null);
+ Table.States (331).Kernel := To_Vector ((0 => ((214, 0), 215, 0,
(214, 0), 2)));
+ Table.States (331).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (214, 0), 2)));
+ Table.States (332).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (332), 7, Reduce, (239, 3), 0, null,
null);
+ Add_Action (Table.States (332), 33, (239, 0), 511);
+ Add_Action (Table.States (332), 40, Reduce, (239, 3), 0, null,
null);
+ Add_Action (Table.States (332), 45, (239, 2), 512);
+ Add_Action (Table.States (332), 74, Reduce, (239, 3), 0, null,
null);
+ Add_Action (Table.States (332), 81, Reduce, (239, 3), 0, null,
null);
+ Add_Action (Table.States (332), 85, Reduce, (239, 3), 0, null,
null);
+ Add_Action (Table.States (332), 99, Reduce, (239, 3), 0, null,
null);
+ Add_Action (Table.States (332), 107, Reduce, (239, 3), 0, null,
null);
+ Add_Action (Table.States (332), 108, Reduce, (239, 3), 0, null,
null);
+ Add_Action (Table.States (332), 109, Reduce, (239, 3), 0, null,
null);
+ Table.States (332).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (332), 239, 513);
+ Table.States (332).Kernel := To_Vector ((((201, 0), 84, 3,
(2147483647, 0), 0), ((201, 1), 84, 4,
+ (2147483647, 0), 0), ((201, 2), 84, 2, (2147483647, 0), 0),
((201, 3), 84, 3, (2147483647, 0), 0)));
+ Table.States (332).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (239, 3), 0)));
+ Table.States (333).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (333), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (306, 3), 3, simple_statement_3'Access, null);
+ Table.States (333).Kernel := To_Vector ((0 => ((306, 3), 99, 0,
(306, 3), 3)));
+ Table.States (333).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (306, 3), 3)));
+ Table.States (334).Action_List.Set_Capacity (26);
+ Add_Action (Table.States (334), 4, (116, 0), 1);
+ Add_Action (Table.States (334), 5, (306, 8), 2);
+ Add_Action (Table.States (334), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (334), 15, (142, 0), 3);
+ Add_Action (Table.States (334), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (334), 18, (164, 0), 4);
+ Add_Action (Table.States (334), 22, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (334), 23, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (334), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (334), 27, (193, 0), 5);
+ Add_Action (Table.States (334), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (334), 31, (306, 3), 9);
+ Add_Action (Table.States (334), 32, (225, 0), 10);
+ Add_Action (Table.States (334), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (334), 41, (306, 0), 13);
+ Add_Action (Table.States (334), 48, (260, 0), 16);
+ Add_Action (Table.States (334), 52, (279, 0), 20);
+ Add_Action (Table.States (334), 57, (293, 0), 21);
+ Add_Action (Table.States (334), 58, (199, 0), 22);
+ Add_Action (Table.States (334), 61, (129, 0), 24);
+ Add_Action (Table.States (334), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (334), 81, (242, 8), 31);
+ Add_Action (Table.States (334), 96, (220, 0), 32);
+ Add_Action (Table.States (334), 107, (134, 0), 363);
+ Add_Action (Table.States (334), 108, (242, 7), 34);
+ Add_Action (Table.States (334), 109, (242, 6), 35);
+ Table.States (334).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (334), 116, 37);
+ Add_Goto (Table.States (334), 126, 39);
+ Add_Goto (Table.States (334), 129, 40);
+ Add_Goto (Table.States (334), 131, 42);
+ Add_Goto (Table.States (334), 134, 43);
+ Add_Goto (Table.States (334), 135, 44);
+ Add_Goto (Table.States (334), 136, 45);
+ Add_Goto (Table.States (334), 142, 48);
+ Add_Goto (Table.States (334), 154, 51);
+ Add_Goto (Table.States (334), 155, 52);
+ Add_Goto (Table.States (334), 164, 54);
+ Add_Goto (Table.States (334), 193, 58);
+ Add_Goto (Table.States (334), 199, 60);
+ Add_Goto (Table.States (334), 220, 69);
+ Add_Goto (Table.States (334), 225, 71);
+ Add_Goto (Table.States (334), 235, 73);
+ Add_Goto (Table.States (334), 242, 74);
+ Add_Goto (Table.States (334), 260, 84);
+ Add_Goto (Table.States (334), 264, 87);
+ Add_Goto (Table.States (334), 275, 93);
+ Add_Goto (Table.States (334), 279, 94);
+ Add_Goto (Table.States (334), 293, 97);
+ Add_Goto (Table.States (334), 296, 98);
+ Add_Goto (Table.States (334), 297, 99);
+ Add_Goto (Table.States (334), 301, 100);
+ Add_Goto (Table.States (334), 302, 364);
+ Add_Goto (Table.States (334), 303, 514);
+ Add_Goto (Table.States (334), 305, 101);
+ Add_Goto (Table.States (334), 306, 102);
+ Add_Goto (Table.States (334), 309, 366);
+ Add_Goto (Table.States (334), 326, 115);
+ Table.States (334).Kernel := To_Vector ((((225, 0), 68, 6,
(2147483647, 0), 0), ((225, 1), 68, 4,
+ (2147483647, 0), 0), ((225, 2), 68, 5, (2147483647, 0), 0),
((225, 3), 68, 3, (2147483647, 0), 0)));
+ Table.States (334).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
+ Table.States (335).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (335), 81, (242, 8), 31);
+ Add_Action (Table.States (335), 107, (242, 5), 120);
+ Add_Action (Table.States (335), 108, (242, 7), 34);
+ Add_Action (Table.States (335), 109, (242, 6), 35);
+ Table.States (335).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (335), 131, 42);
+ Add_Goto (Table.States (335), 241, 515);
+ Add_Goto (Table.States (335), 242, 221);
+ Add_Goto (Table.States (335), 275, 93);
+ Add_Goto (Table.States (335), 296, 98);
+ Table.States (335).Kernel := To_Vector ((0 => ((335, 0), 74, 2,
(2147483647, 0), 0)));
+ Table.States (335).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (336).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (336), 86, (241, 0), 384);
+ Add_Action (Table.States (336), 99, (335, 1), 516);
+ Table.States (336).Kernel := To_Vector ((((241, 0), 241, 2,
(2147483647, 0), 0), ((335, 1), 241, 1,
+ (2147483647, 0), 0)));
+ Table.States (336).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (335, 1), 99, 516)));
+ Table.States (337).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (337), 35, (251, 0), 517);
+ Add_Conflict (Table.States (337), 35, (125, 1), 0, null, null);
+ Add_Action (Table.States (337), 74, (125, 0), 340);
+ Add_Action (Table.States (337), 76, (118, 0), 237);
+ Add_Action (Table.States (337), 87, (296, 0), 239);
+ Add_Action (Table.States (337), 104, (325, 0), 241);
+ Add_Action (Table.States (337), 105, (325, 1), 242);
+ Table.States (337).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (337), 118, 243);
+ Add_Goto (Table.States (337), 125, 518);
+ Add_Goto (Table.States (337), 325, 244);
+ Table.States (337).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((250, 0), 242, 4, (2147483647, 0), 0),
+ ((250, 1), 242, 3, (2147483647, 0), 0), ((251, 0), 242, 3,
(2147483647, 0), 0), ((275, 0), 242, 3,
+ (2147483647, 0), 0), ((296, 0), 242, 2, (2147483647, 0), 0),
((296, 1), 242, 2, (2147483647, 0), 0),
+ ((296, 2), 242, 2, (2147483647, 0), 0), ((296, 3), 242, 2,
(2147483647, 0), 0)));
+ Table.States (337).Minimal_Complete_Actions := To_Vector
(((Reduce, (125, 1), 0), (Shift, (251, 0), 35,
+ 517)));
+ Table.States (338).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (338), 39, (216, 0), 519);
+ Table.States (338).Kernel := To_Vector ((0 => ((216, 0), 35, 3,
(2147483647, 0), 0)));
+ Table.States (338).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (216, 0), 39, 519)));
+ Table.States (339).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (339), 81, (242, 8), 31);
+ Add_Action (Table.States (339), 107, (242, 5), 120);
+ Add_Action (Table.States (339), 108, (242, 7), 34);
+ Add_Action (Table.States (339), 109, (242, 6), 35);
+ Table.States (339).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (339), 131, 42);
+ Add_Goto (Table.States (339), 242, 520);
+ Add_Goto (Table.States (339), 275, 93);
+ Add_Goto (Table.States (339), 296, 98);
+ Table.States (339).Kernel := To_Vector ((0 => ((253, 0), 56, 2,
(2147483647, 0), 0)));
+ Table.States (339).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
Table.States (340).Action_List.Set_Capacity (21);
- Add_Action (Table.States (340), 3, 122);
- Add_Action (Table.States (340), 15, 259);
- Add_Action (Table.States (340), 28, 260);
- Add_Action (Table.States (340), 32, 261);
- Add_Action (Table.States (340), 39, 123);
- Add_Action (Table.States (340), 40, 262);
- Add_Action (Table.States (340), 41, 125);
- Add_Action (Table.States (340), 44, 264);
- Add_Action (Table.States (340), 52, 126);
- Add_Action (Table.States (340), 76, 127);
- Add_Action (Table.States (340), 77, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (340), 79, 31);
- Add_Action (Table.States (340), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (340), 84, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (340), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (340), 95, 128);
- Add_Action (Table.States (340), 96, 129);
- Add_Action (Table.States (340), 104, 130);
- Add_Action (Table.States (340), 105, 120);
- Add_Action (Table.States (340), 106, 34);
- Add_Action (Table.States (340), 107, 265);
- Table.States (340).Goto_List.Set_Capacity (28);
- Add_Goto (Table.States (340), 118, 131);
- Add_Goto (Table.States (340), 125, 266);
- Add_Goto (Table.States (340), 126, 520);
- Add_Goto (Table.States (340), 129, 42);
- Add_Goto (Table.States (340), 137, 268);
- Add_Goto (Table.States (340), 154, 521);
- Add_Goto (Table.States (340), 166, 270);
- Add_Goto (Table.States (340), 167, 271);
- Add_Goto (Table.States (340), 192, 409);
- Add_Goto (Table.States (340), 198, 134);
- Add_Goto (Table.States (340), 222, 274);
- Add_Goto (Table.States (340), 240, 275);
- Add_Goto (Table.States (340), 259, 136);
- Add_Goto (Table.States (340), 273, 93);
- Add_Goto (Table.States (340), 274, 276);
- Add_Goto (Table.States (340), 276, 137);
- Add_Goto (Table.States (340), 278, 277);
- Add_Goto (Table.States (340), 283, 138);
- Add_Goto (Table.States (340), 284, 139);
- Add_Goto (Table.States (340), 285, 140);
- Add_Goto (Table.States (340), 286, 141);
- Add_Goto (Table.States (340), 287, 142);
- Add_Goto (Table.States (340), 288, 143);
- Add_Goto (Table.States (340), 294, 98);
- Add_Goto (Table.States (340), 302, 278);
- Add_Goto (Table.States (340), 321, 145);
- Add_Goto (Table.States (340), 322, 146);
- Add_Goto (Table.States (340), 331, 147);
- Table.States (340).Kernel := To_Vector (((258, 76, 2, False),
(258, 76, 4, False)));
- Table.States (340).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 126, 0)));
- Table.States (341).Action_List.Set_Capacity (47);
- Add_Action (Table.States (341), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (258, 2), 3, pragma_g_2'Access, null);
- Table.States (341).Kernel := To_Vector ((0 => (258, 97, 0,
False)));
- Table.States (341).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 258, 3)));
- Table.States (342).Action_List.Set_Capacity (5);
- Add_Action (Table.States (342), 71, Reduce, (164, 0), 1, null,
null);
- Add_Conflict (Table.States (342), 71, (240, 5), 1, name_5'Access,
name_5_check'Access);
- Add_Action (Table.States (342), 76, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (342), 85, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (342), 102, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (342), 103, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Table.States (342).Kernel := To_Vector (((164, 105, 0, False),
(240, 105, 0, False)));
- Table.States (342).Minimal_Complete_Actions := To_Vector
(((Reduce, 164, 1), (Reduce, 240, 1)));
- Table.States (343).Action_List.Set_Capacity (2);
- Add_Action (Table.States (343), 84, 382);
- Add_Action (Table.States (343), 97, 522);
- Table.States (343).Kernel := To_Vector (((239, 239, 2, True),
(333, 239, 1, False)));
- Table.States (343).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 522)));
- Table.States (344).Action_List.Set_Capacity (7);
- Add_Action (Table.States (344), 7, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (344), 26, 386);
- Add_Action (Table.States (344), 40, 387);
- Add_Action (Table.States (344), 79, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (344), 105, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (344), 106, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (344), 107, Reduce, (242, 1), 0, null,
null);
- Table.States (344).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (344), 115, 388);
- Add_Goto (Table.States (344), 242, 389);
- Table.States (344).Kernel := To_Vector (((246, 82, 4, False),
(246, 82, 5, False), (246, 82, 4, False)));
- Table.States (344).Minimal_Complete_Actions := To_Vector
(((Reduce, 242, 0), (Shift, 26, 386)));
- Table.States (345).Action_List.Set_Capacity (8);
- Add_Action (Table.States (345), (21, 35, 56, 72, 74, 77, 83, 97),
(254, 0), 1, null, null);
- Table.States (345).Kernel := To_Vector ((0 => (254, 200, 0,
False)));
- Table.States (345).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 254, 1)));
- Table.States (346).Action_List.Set_Capacity (4);
- Add_Action (Table.States (346), (35, 56, 74, 97), (263, 0), 3,
procedure_specification_0'Access,
+ Add_Action (Table.States (340), 3, (200, 2), 122);
+ Add_Action (Table.States (340), 28, (127, 6), 521);
+ Add_Action (Table.States (340), 35, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (340), 39, (261, 4), 123);
+ Add_Action (Table.States (340), 40, (168, 1), 263);
+ Add_Action (Table.States (340), 41, (261, 1), 125);
+ Add_Action (Table.States (340), 44, (168, 3), 265);
+ Add_Action (Table.States (340), 52, (278, 0), 126);
+ Add_Action (Table.States (340), 76, (120, 0), 127);
+ Add_Action (Table.States (340), 77, (120, 5), 128);
+ Add_Action (Table.States (340), 81, (242, 8), 31);
+ Add_Action (Table.States (340), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (340), 86, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (340), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (340), 97, (333, 1), 129);
+ Add_Action (Table.States (340), 98, (333, 0), 130);
+ Add_Action (Table.States (340), 99, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (340), 106, (261, 0), 131);
+ Add_Action (Table.States (340), 107, (242, 5), 120);
+ Add_Action (Table.States (340), 108, (242, 7), 34);
+ Add_Action (Table.States (340), 109, (127, 0), 266);
+ Table.States (340).Goto_List.Set_Capacity (24);
+ Add_Goto (Table.States (340), 120, 132);
+ Add_Goto (Table.States (340), 127, 267);
+ Add_Goto (Table.States (340), 128, 522);
+ Add_Goto (Table.States (340), 131, 42);
+ Add_Goto (Table.States (340), 168, 271);
+ Add_Goto (Table.States (340), 169, 272);
+ Add_Goto (Table.States (340), 194, 411);
+ Add_Goto (Table.States (340), 200, 135);
+ Add_Goto (Table.States (340), 242, 276);
+ Add_Goto (Table.States (340), 261, 137);
+ Add_Goto (Table.States (340), 275, 93);
+ Add_Goto (Table.States (340), 278, 138);
+ Add_Goto (Table.States (340), 280, 278);
+ Add_Goto (Table.States (340), 285, 139);
+ Add_Goto (Table.States (340), 286, 140);
+ Add_Goto (Table.States (340), 287, 141);
+ Add_Goto (Table.States (340), 288, 142);
+ Add_Goto (Table.States (340), 289, 143);
+ Add_Goto (Table.States (340), 290, 144);
+ Add_Goto (Table.States (340), 296, 98);
+ Add_Goto (Table.States (340), 304, 279);
+ Add_Goto (Table.States (340), 323, 146);
+ Add_Goto (Table.States (340), 324, 147);
+ Add_Goto (Table.States (340), 333, 148);
+ Table.States (340).Kernel := To_Vector ((0 => ((125, 0), 74, 0,
(128, 1), 1)));
+ Table.States (340).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (128, 1), 1)));
+ Table.States (341).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (341), 35, (254, 0), 523);
+ Table.States (341).Kernel := To_Vector ((((254, 0), 125, 3,
(2147483647, 0), 0), ((254, 1), 125, 2,
+ (2147483647, 0), 0)));
+ Table.States (341).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (254, 0), 35, 523)));
+ Table.States (342).Action_List.Set_Capacity (22);
+ Add_Action (Table.States (342), 3, (200, 2), 122);
+ Add_Action (Table.States (342), 15, (139, 0), 260);
+ Add_Action (Table.States (342), 28, (127, 6), 261);
+ Add_Action (Table.States (342), 32, (224, 0), 262);
+ Add_Action (Table.States (342), 39, (261, 4), 123);
+ Add_Action (Table.States (342), 40, (168, 1), 263);
+ Add_Action (Table.States (342), 41, (261, 1), 125);
+ Add_Action (Table.States (342), 44, (168, 3), 265);
+ Add_Action (Table.States (342), 52, (278, 0), 126);
+ Add_Action (Table.States (342), 76, (120, 0), 127);
+ Add_Action (Table.States (342), 77, (120, 5), 128);
+ Add_Action (Table.States (342), 78, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (342), 81, (242, 8), 31);
+ Add_Action (Table.States (342), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (342), 86, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (342), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (342), 97, (333, 1), 129);
+ Add_Action (Table.States (342), 98, (333, 0), 130);
+ Add_Action (Table.States (342), 106, (261, 0), 131);
+ Add_Action (Table.States (342), 107, (242, 5), 120);
+ Add_Action (Table.States (342), 108, (242, 7), 34);
+ Add_Action (Table.States (342), 109, (127, 0), 266);
+ Table.States (342).Goto_List.Set_Capacity (28);
+ Add_Goto (Table.States (342), 120, 132);
+ Add_Goto (Table.States (342), 127, 267);
+ Add_Goto (Table.States (342), 128, 524);
+ Add_Goto (Table.States (342), 131, 42);
+ Add_Goto (Table.States (342), 139, 269);
+ Add_Goto (Table.States (342), 156, 525);
+ Add_Goto (Table.States (342), 168, 271);
+ Add_Goto (Table.States (342), 169, 272);
+ Add_Goto (Table.States (342), 194, 411);
+ Add_Goto (Table.States (342), 200, 135);
+ Add_Goto (Table.States (342), 224, 275);
+ Add_Goto (Table.States (342), 242, 276);
+ Add_Goto (Table.States (342), 261, 137);
+ Add_Goto (Table.States (342), 275, 93);
+ Add_Goto (Table.States (342), 276, 277);
+ Add_Goto (Table.States (342), 278, 138);
+ Add_Goto (Table.States (342), 280, 278);
+ Add_Goto (Table.States (342), 285, 139);
+ Add_Goto (Table.States (342), 286, 140);
+ Add_Goto (Table.States (342), 287, 141);
+ Add_Goto (Table.States (342), 288, 142);
+ Add_Goto (Table.States (342), 289, 143);
+ Add_Goto (Table.States (342), 290, 144);
+ Add_Goto (Table.States (342), 296, 98);
+ Add_Goto (Table.States (342), 304, 279);
+ Add_Goto (Table.States (342), 323, 146);
+ Add_Goto (Table.States (342), 324, 147);
+ Add_Goto (Table.States (342), 333, 148);
+ Table.States (342).Kernel := To_Vector ((((260, 0), 76, 2,
(2147483647, 0), 0), ((260, 1), 76, 4,
+ (2147483647, 0), 0)));
+ Table.States (342).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (128, 1), 0)));
+ Table.States (343).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (343), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (260, 2), 3, pragma_g_2'Access, null);
+ Table.States (343).Kernel := To_Vector ((0 => ((260, 2), 99, 0,
(260, 2), 3)));
+ Table.States (343).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (260, 2), 3)));
+ Table.States (344).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (344), 71, Reduce, (166, 0), 1, null,
null);
+ Add_Conflict (Table.States (344), 71, (242, 5), 1, name_5'Access,
name_5_check'Access);
+ Add_Action (Table.States (344), 76, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (344), 87, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (344), 104, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (344), 105, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Table.States (344).Kernel := To_Vector ((((166, 0), 107, 0,
(166, 0), 1), ((242, 5), 107, 0, (242, 5),
+ 1)));
+ Table.States (344).Minimal_Complete_Actions := To_Vector
(((Reduce, (166, 0), 1), (Reduce, (242, 5),
+ 1)));
+ Table.States (345).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (345), 86, (241, 0), 384);
+ Add_Action (Table.States (345), 99, (335, 2), 526);
+ Table.States (345).Kernel := To_Vector ((((241, 0), 241, 2,
(2147483647, 0), 0), ((335, 2), 241, 1,
+ (2147483647, 0), 0)));
+ Table.States (345).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (335, 2), 99, 526)));
+ Table.States (346).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (346), 7, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (346), 26, (248, 2), 388);
+ Add_Action (Table.States (346), 40, (244, 0), 389);
+ Add_Action (Table.States (346), 81, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (346), 107, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (346), 108, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (346), 109, Reduce, (244, 1), 0, null,
null);
+ Table.States (346).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (346), 117, 390);
+ Add_Goto (Table.States (346), 244, 391);
+ Table.States (346).Kernel := To_Vector ((((248, 0), 84, 4,
(2147483647, 0), 0), ((248, 1), 84, 5,
+ (2147483647, 0), 0), ((248, 2), 84, 4, (2147483647, 0), 0)));
+ Table.States (346).Minimal_Complete_Actions := To_Vector
(((Reduce, (244, 1), 0), (Shift, (248, 2), 26,
+ 388)));
+ Table.States (347).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (347), (21, 35, 56, 72, 74, 78, 85, 99),
(256, 0), 1, null, null);
+ Table.States (347).Kernel := To_Vector ((0 => ((256, 0), 202, 0,
(256, 0), 1)));
+ Table.States (347).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (256, 0), 1)));
+ Table.States (348).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (348), (35, 56, 74, 99), (265, 0), 3,
procedure_specification_0'Access,
procedure_specification_0_check'Access);
- Table.States (346).Kernel := To_Vector ((0 => (263, 254, 0,
False)));
- Table.States (346).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 263, 3)));
- Table.States (347).Action_List.Set_Capacity (2);
- Add_Action (Table.States (347), 35, 523);
- Add_Conflict (Table.States (347), 35, (123, 1), 0, null, null);
- Add_Action (Table.States (347), 74, 338);
- Table.States (347).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (347), 123, 524);
- Table.States (347).Kernel := To_Vector (((265, 105, 3, False),
(266, 105, 3, False)));
- Table.States (347).Minimal_Complete_Actions := To_Vector
(((Reduce, 123, 0), (Shift, 35, 523)));
- Table.States (348).Action_List.Set_Capacity (3);
- Add_Action (Table.States (348), 35, Reduce, (170, 2), 0, null,
null);
- Add_Action (Table.States (348), 74, Reduce, (170, 2), 0, null,
null);
- Add_Action (Table.States (348), 76, 378);
- Table.States (348).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (348), 170, 525);
- Table.States (348).Kernel := To_Vector (((272, 105, 6, False),
(272, 105, 3, False)));
- Table.States (348).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 170, 0)));
- Table.States (349).Action_List.Set_Capacity (1);
- Add_Action (Table.States (349), 35, 526);
- Table.States (349).Kernel := To_Vector (((305, 123, 6, False),
(305, 123, 3, False)));
- Table.States (349).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 35, 526)));
- Table.States (350).Action_List.Set_Capacity (14);
- Add_Action (Table.States (350), 3, 122);
- Add_Action (Table.States (350), 39, 123);
- Add_Action (Table.States (350), 40, 124);
- Add_Action (Table.States (350), 41, 125);
- Add_Action (Table.States (350), 52, 126);
- Add_Action (Table.States (350), 76, 127);
- Add_Action (Table.States (350), 79, 31);
- Add_Action (Table.States (350), 95, 128);
- Add_Action (Table.States (350), 96, 129);
- Add_Action (Table.States (350), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (350), 104, 130);
- Add_Action (Table.States (350), 105, 120);
- Add_Action (Table.States (350), 106, 34);
- Add_Action (Table.States (350), 107, 35);
- Table.States (350).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (350), 118, 131);
- Add_Goto (Table.States (350), 129, 42);
- Add_Goto (Table.States (350), 192, 132);
- Add_Goto (Table.States (350), 193, 527);
- Add_Goto (Table.States (350), 198, 134);
- Add_Goto (Table.States (350), 240, 135);
- Add_Goto (Table.States (350), 259, 136);
- Add_Goto (Table.States (350), 273, 93);
- Add_Goto (Table.States (350), 276, 137);
- Add_Goto (Table.States (350), 283, 138);
- Add_Goto (Table.States (350), 284, 139);
- Add_Goto (Table.States (350), 285, 140);
- Add_Goto (Table.States (350), 286, 141);
- Add_Goto (Table.States (350), 287, 142);
- Add_Goto (Table.States (350), 288, 143);
- Add_Goto (Table.States (350), 294, 98);
- Add_Goto (Table.States (350), 302, 144);
- Add_Goto (Table.States (350), 321, 145);
- Add_Goto (Table.States (350), 322, 146);
- Add_Goto (Table.States (350), 331, 147);
- Table.States (350).Kernel := To_Vector ((0 => (277, 74, 1,
False)));
- Table.States (350).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (351).Action_List.Set_Capacity (47);
- Add_Action (Table.States (351), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (277, 1), 3, raise_statement_1'Access, null);
- Table.States (351).Kernel := To_Vector ((0 => (277, 97, 0,
False)));
- Table.States (351).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 277, 3)));
- Table.States (352).Action_List.Set_Capacity (1);
- Add_Action (Table.States (352), 5, 528);
- Table.States (352).Kernel := To_Vector ((0 => (291, 74, 2,
False)));
- Table.States (352).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 5, 528)));
+ Table.States (348).Kernel := To_Vector ((0 => ((265, 0), 256, 0,
(265, 0), 3)));
+ Table.States (348).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (265, 0), 3)));
+ Table.States (349).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (349), 35, (268, 0), 527);
+ Add_Conflict (Table.States (349), 35, (125, 1), 0, null, null);
+ Add_Action (Table.States (349), 74, (125, 0), 340);
+ Table.States (349).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (349), 125, 528);
+ Table.States (349).Kernel := To_Vector ((((267, 0), 107, 3,
(2147483647, 0), 0), ((268, 0), 107, 3,
+ (2147483647, 0), 0)));
+ Table.States (349).Minimal_Complete_Actions := To_Vector
(((Reduce, (125, 1), 0), (Shift, (268, 0), 35,
+ 527)));
+ Table.States (350).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (350), 35, Reduce, (172, 2), 0, null,
null);
+ Add_Action (Table.States (350), 74, Reduce, (172, 2), 0, null,
null);
+ Add_Action (Table.States (350), 76, (172, 0), 380);
+ Table.States (350).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (350), 172, 529);
+ Table.States (350).Kernel := To_Vector ((((274, 0), 107, 6,
(2147483647, 0), 0), ((274, 1), 107, 3,
+ (2147483647, 0), 0)));
+ Table.States (350).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (172, 2), 0)));
+ Table.States (351).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (351), 35, (307, 0), 530);
+ Table.States (351).Kernel := To_Vector ((((307, 0), 125, 6,
(2147483647, 0), 0), ((307, 1), 125, 3,
+ (2147483647, 0), 0)));
+ Table.States (351).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (307, 0), 35, 530)));
+ Table.States (352).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (352), 3, (200, 2), 122);
+ Add_Action (Table.States (352), 39, (261, 4), 123);
+ Add_Action (Table.States (352), 40, (200, 3), 124);
+ Add_Action (Table.States (352), 41, (261, 1), 125);
+ Add_Action (Table.States (352), 52, (278, 0), 126);
+ Add_Action (Table.States (352), 76, (120, 0), 127);
+ Add_Action (Table.States (352), 77, (120, 5), 128);
+ Add_Action (Table.States (352), 81, (242, 8), 31);
+ Add_Action (Table.States (352), 97, (333, 1), 129);
+ Add_Action (Table.States (352), 98, (333, 0), 130);
+ Add_Action (Table.States (352), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (352), 106, (261, 0), 131);
+ Add_Action (Table.States (352), 107, (242, 5), 120);
+ Add_Action (Table.States (352), 108, (242, 7), 34);
+ Add_Action (Table.States (352), 109, (242, 6), 35);
+ Table.States (352).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (352), 120, 132);
+ Add_Goto (Table.States (352), 131, 42);
+ Add_Goto (Table.States (352), 194, 133);
+ Add_Goto (Table.States (352), 195, 531);
+ Add_Goto (Table.States (352), 200, 135);
+ Add_Goto (Table.States (352), 242, 136);
+ Add_Goto (Table.States (352), 261, 137);
+ Add_Goto (Table.States (352), 275, 93);
+ Add_Goto (Table.States (352), 278, 138);
+ Add_Goto (Table.States (352), 285, 139);
+ Add_Goto (Table.States (352), 286, 140);
+ Add_Goto (Table.States (352), 287, 141);
+ Add_Goto (Table.States (352), 288, 142);
+ Add_Goto (Table.States (352), 289, 143);
+ Add_Goto (Table.States (352), 290, 144);
+ Add_Goto (Table.States (352), 296, 98);
+ Add_Goto (Table.States (352), 304, 145);
+ Add_Goto (Table.States (352), 323, 146);
+ Add_Goto (Table.States (352), 324, 147);
+ Add_Goto (Table.States (352), 333, 148);
+ Table.States (352).Kernel := To_Vector ((0 => ((279, 0), 74, 1,
(2147483647, 0), 0)));
+ Table.States (352).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
Table.States (353).Action_List.Set_Capacity (47);
Add_Action (Table.States (353), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (291, 1), 3, requeue_statement_1'Access, null);
- Table.States (353).Kernel := To_Vector ((0 => (291, 97, 0,
False)));
- Table.States (353).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 291, 3)));
- Table.States (354).Action_List.Set_Capacity (11);
- Add_Action (Table.States (354), 7, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (354), 8, 402);
- Add_Action (Table.States (354), 16, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (354), 21, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (354), 40, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (354), 79, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (354), 83, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (354), 97, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (354), 105, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (354), 106, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (354), 107, Reduce, (119, 1), 0, null,
null);
- Table.States (354).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (354), 119, 529);
- Table.States (354).Kernel := To_Vector (((195, 82, 2, False),
(195, 82, 1, False)));
- Table.States (354).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 119, 0)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (279, 1), 3, raise_statement_1'Access, null);
+ Table.States (353).Kernel := To_Vector ((0 => ((279, 1), 99, 0,
(279, 1), 3)));
+ Table.States (353).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (279, 1), 3)));
+ Table.States (354).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (354), 5, (293, 0), 532);
+ Table.States (354).Kernel := To_Vector ((0 => ((293, 0), 74, 2,
(2147483647, 0), 0)));
+ Table.States (354).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (293, 0), 5, 532)));
Table.States (355).Action_List.Set_Capacity (47);
Add_Action (Table.States (355), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (303, 0), 3, simple_return_statement_0'Access, null);
- Table.States (355).Kernel := To_Vector ((0 => (303, 97, 0,
False)));
- Table.States (355).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 303, 3)));
- Table.States (356).Action_List.Set_Capacity (47);
- Add_Action (Table.States (356), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (197, 1), 3, extended_return_statement_1'Access, null);
- Table.States (356).Kernel := To_Vector ((0 => (197, 97, 0,
False)));
- Table.States (356).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 197, 3)));
- Table.States (357).Action_List.Set_Capacity (25);
- Add_Action (Table.States (357), 4, 1);
- Add_Action (Table.States (357), 5, 2);
- Add_Action (Table.States (357), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (357), 15, 3);
- Add_Action (Table.States (357), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (357), 18, 4);
- Add_Action (Table.States (357), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (357), 26, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (357), 27, 5);
- Add_Action (Table.States (357), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (357), 31, 9);
- Add_Action (Table.States (357), 32, 10);
- Add_Action (Table.States (357), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (357), 41, 13);
- Add_Action (Table.States (357), 48, 16);
- Add_Action (Table.States (357), 52, 20);
- Add_Action (Table.States (357), 57, 21);
- Add_Action (Table.States (357), 58, 22);
- Add_Action (Table.States (357), 61, 24);
- Add_Action (Table.States (357), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (357), 79, 31);
- Add_Action (Table.States (357), 94, 32);
- Add_Action (Table.States (357), 105, 361);
- Add_Action (Table.States (357), 106, 34);
- Add_Action (Table.States (357), 107, 35);
- Table.States (357).Goto_List.Set_Capacity (32);
- Add_Goto (Table.States (357), 114, 37);
- Add_Goto (Table.States (357), 124, 39);
- Add_Goto (Table.States (357), 127, 40);
- Add_Goto (Table.States (357), 129, 42);
- Add_Goto (Table.States (357), 132, 43);
- Add_Goto (Table.States (357), 133, 44);
- Add_Goto (Table.States (357), 134, 45);
- Add_Goto (Table.States (357), 140, 48);
- Add_Goto (Table.States (357), 152, 51);
- Add_Goto (Table.States (357), 153, 52);
- Add_Goto (Table.States (357), 162, 54);
- Add_Goto (Table.States (357), 191, 58);
- Add_Goto (Table.States (357), 197, 60);
- Add_Goto (Table.States (357), 218, 69);
- Add_Goto (Table.States (357), 219, 530);
- Add_Goto (Table.States (357), 223, 71);
- Add_Goto (Table.States (357), 233, 73);
- Add_Goto (Table.States (357), 240, 74);
- Add_Goto (Table.States (357), 258, 84);
- Add_Goto (Table.States (357), 262, 87);
- Add_Goto (Table.States (357), 273, 93);
- Add_Goto (Table.States (357), 277, 94);
- Add_Goto (Table.States (357), 291, 97);
- Add_Goto (Table.States (357), 294, 98);
- Add_Goto (Table.States (357), 295, 99);
- Add_Goto (Table.States (357), 299, 100);
- Add_Goto (Table.States (357), 300, 362);
- Add_Goto (Table.States (357), 301, 391);
- Add_Goto (Table.States (357), 303, 101);
- Add_Goto (Table.States (357), 304, 102);
- Add_Goto (Table.States (357), 307, 364);
- Add_Goto (Table.States (357), 324, 115);
- Table.States (357).Kernel := To_Vector ((0 => (197, 21, 3,
False)));
- Table.States (357).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 219, 0)));
- Table.States (358).Action_List.Set_Capacity (5);
- Add_Action (Table.States (358), 76, 236);
- Add_Action (Table.States (358), 77, 531);
- Add_Action (Table.States (358), 85, 238);
- Add_Action (Table.States (358), 102, 240);
- Add_Action (Table.States (358), 103, 241);
- Table.States (358).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (358), 116, 242);
- Add_Goto (Table.States (358), 323, 243);
- Table.States (358).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (273, 240, 3, True), (294, 240, 2, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (316, 240, 7, False)));
- Table.States (358).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 531)));
- Table.States (359).Action_List.Set_Capacity (3);
- Add_Action (Table.States (359), (22, 24, 43), (296, 4), 2,
select_alternative_4'Access, null);
- Table.States (359).Kernel := To_Vector ((0 => (296, 97, 0,
False)));
- Table.States (359).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 296, 2)));
- Table.States (360).Action_List.Set_Capacity (1);
- Add_Action (Table.States (360), 88, 532);
- Table.States (360).Kernel := To_Vector (((296, 193, 4, False),
(296, 193, 3, False), (296, 193, 3,
- False)));
- Table.States (360).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 88, 532)));
- Table.States (361).Action_List.Set_Capacity (7);
- Add_Action (Table.States (361), 76, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (361), 82, 533);
- Add_Action (Table.States (361), 83, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (361), 85, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (361), 97, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (361), 102, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (361), 103, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Table.States (361).Kernel := To_Vector (((132, 105, 1, False),
(240, 105, 0, False)));
- Table.States (361).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 240, 1)));
- Table.States (362).Action_List.Set_Capacity (30);
- Add_Action (Table.States (362), 4, 1);
- Add_Action (Table.States (362), 5, 2);
- Add_Action (Table.States (362), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (362), 15, 3);
- Add_Action (Table.States (362), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (362), 18, 4);
- Add_Action (Table.States (362), 22, Reduce, (301, 0), 1, null,
null);
- Add_Action (Table.States (362), 23, Reduce, (301, 0), 1, null,
null);
- Add_Action (Table.States (362), 24, Reduce, (301, 0), 1, null,
null);
- Add_Action (Table.States (362), 26, Reduce, (301, 0), 1, null,
null);
- Add_Action (Table.States (362), 27, 5);
- Add_Action (Table.States (362), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (362), 31, 9);
- Add_Action (Table.States (362), 32, 10);
- Add_Action (Table.States (362), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (362), 41, 13);
- Add_Action (Table.States (362), 43, Reduce, (301, 0), 1, null,
null);
- Add_Action (Table.States (362), 48, 16);
- Add_Action (Table.States (362), 52, 20);
- Add_Action (Table.States (362), 57, 21);
- Add_Action (Table.States (362), 58, 22);
- Add_Action (Table.States (362), 61, 24);
- Add_Action (Table.States (362), 68, Reduce, (301, 0), 1, null,
null);
- Add_Action (Table.States (362), 72, Reduce, (301, 0), 1, null,
null);
- Add_Action (Table.States (362), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (362), 79, 31);
- Add_Action (Table.States (362), 94, 32);
- Add_Action (Table.States (362), 105, 361);
- Add_Action (Table.States (362), 106, 34);
- Add_Action (Table.States (362), 107, 35);
- Table.States (362).Goto_List.Set_Capacity (29);
- Add_Goto (Table.States (362), 114, 37);
- Add_Goto (Table.States (362), 124, 39);
- Add_Goto (Table.States (362), 127, 40);
- Add_Goto (Table.States (362), 129, 42);
- Add_Goto (Table.States (362), 132, 43);
- Add_Goto (Table.States (362), 133, 44);
- Add_Goto (Table.States (362), 134, 45);
- Add_Goto (Table.States (362), 140, 48);
- Add_Goto (Table.States (362), 152, 51);
- Add_Goto (Table.States (362), 153, 52);
- Add_Goto (Table.States (362), 162, 54);
- Add_Goto (Table.States (362), 191, 58);
- Add_Goto (Table.States (362), 197, 60);
- Add_Goto (Table.States (362), 218, 69);
- Add_Goto (Table.States (362), 223, 71);
- Add_Goto (Table.States (362), 233, 73);
- Add_Goto (Table.States (362), 240, 74);
- Add_Goto (Table.States (362), 258, 84);
- Add_Goto (Table.States (362), 262, 87);
- Add_Goto (Table.States (362), 273, 93);
- Add_Goto (Table.States (362), 277, 94);
- Add_Goto (Table.States (362), 291, 97);
- Add_Goto (Table.States (362), 294, 98);
- Add_Goto (Table.States (362), 295, 99);
- Add_Goto (Table.States (362), 299, 100);
- Add_Goto (Table.States (362), 303, 101);
- Add_Goto (Table.States (362), 304, 102);
- Add_Goto (Table.States (362), 307, 534);
- Add_Goto (Table.States (362), 324, 115);
- Table.States (362).Kernel := To_Vector (((300, 300, 2, True),
(301, 300, 0, False)));
- Table.States (362).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 1)));
- Table.States (363).Action_List.Set_Capacity (3);
- Add_Action (Table.States (363), (22, 24, 43), (296, 3), 2, null,
null);
- Table.States (363).Kernel := To_Vector ((0 => (296, 301, 0,
False)));
- Table.States (363).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 296, 2)));
- Table.States (364).Action_List.Set_Capacity (30);
- Add_Action (Table.States (364), (4, 5, 13, 15, 17, 18, 22, 23, 24,
26, 27, 28, 31, 32, 37, 41, 43, 48, 52,
- 57, 58, 61, 68, 72, 73, 79, 94, 105, 106, 107), (300, 1), 1, null,
null);
- Table.States (364).Kernel := To_Vector ((0 => (300, 307, 0,
False)));
- Table.States (364).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 300, 1)));
- Table.States (365).Action_List.Set_Capacity (4);
- Add_Action (Table.States (365), 22, Reduce, (161, 0), 2, null,
null);
- Add_Action (Table.States (365), 24, Reduce, (161, 0), 2, null,
null);
- Add_Action (Table.States (365), 43, Reduce, (161, 0), 2, null,
null);
- Add_Action (Table.States (365), 68, Reduce, (325, 2), 2, null,
null);
- Table.States (365).Kernel := To_Vector (((161, 301, 0, False),
(325, 301, 0, False)));
- Table.States (365).Minimal_Complete_Actions := To_Vector
(((Reduce, 161, 2), (Reduce, 325, 2)));
- Table.States (366).Action_List.Set_Capacity (24);
- Add_Action (Table.States (366), 4, 1);
- Add_Action (Table.States (366), 5, 2);
- Add_Action (Table.States (366), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (366), 15, 3);
- Add_Action (Table.States (366), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (366), 18, 4);
- Add_Action (Table.States (366), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (366), 27, 5);
- Add_Action (Table.States (366), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (366), 31, 9);
- Add_Action (Table.States (366), 32, 10);
- Add_Action (Table.States (366), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (366), 41, 13);
- Add_Action (Table.States (366), 48, 16);
- Add_Action (Table.States (366), 52, 20);
- Add_Action (Table.States (366), 57, 21);
- Add_Action (Table.States (366), 58, 22);
- Add_Action (Table.States (366), 61, 24);
- Add_Action (Table.States (366), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (366), 79, 31);
- Add_Action (Table.States (366), 94, 32);
- Add_Action (Table.States (366), 105, 361);
- Add_Action (Table.States (366), 106, 34);
- Add_Action (Table.States (366), 107, 35);
- Table.States (366).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (366), 114, 37);
- Add_Goto (Table.States (366), 124, 39);
- Add_Goto (Table.States (366), 127, 40);
- Add_Goto (Table.States (366), 129, 42);
- Add_Goto (Table.States (366), 132, 43);
- Add_Goto (Table.States (366), 133, 44);
- Add_Goto (Table.States (366), 134, 45);
- Add_Goto (Table.States (366), 140, 48);
- Add_Goto (Table.States (366), 152, 51);
- Add_Goto (Table.States (366), 153, 52);
- Add_Goto (Table.States (366), 162, 54);
- Add_Goto (Table.States (366), 191, 58);
- Add_Goto (Table.States (366), 197, 60);
- Add_Goto (Table.States (366), 218, 69);
- Add_Goto (Table.States (366), 223, 71);
- Add_Goto (Table.States (366), 233, 73);
- Add_Goto (Table.States (366), 240, 74);
- Add_Goto (Table.States (366), 258, 84);
- Add_Goto (Table.States (366), 262, 87);
- Add_Goto (Table.States (366), 273, 93);
- Add_Goto (Table.States (366), 277, 94);
- Add_Goto (Table.States (366), 291, 97);
- Add_Goto (Table.States (366), 294, 98);
- Add_Goto (Table.States (366), 295, 99);
- Add_Goto (Table.States (366), 299, 100);
- Add_Goto (Table.States (366), 300, 362);
- Add_Goto (Table.States (366), 301, 535);
- Add_Goto (Table.States (366), 303, 101);
- Add_Goto (Table.States (366), 304, 102);
- Add_Goto (Table.States (366), 307, 364);
- Add_Goto (Table.States (366), 324, 115);
- Table.States (366).Kernel := To_Vector ((0 => (153, 22, 3,
False)));
- Table.States (366).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (367).Action_List.Set_Capacity (1);
- Add_Action (Table.States (367), 18, 4);
- Table.States (367).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (367), 161, 536);
- Add_Goto (Table.States (367), 162, 537);
- Table.States (367).Kernel := To_Vector ((0 => (324, 43, 5,
False)));
- Table.States (367).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 18, 4)));
- Table.States (368).Action_List.Set_Capacity (3);
- Add_Action (Table.States (368), 22, Reduce, (179, 1), 2, null,
null);
- Add_Action (Table.States (368), 43, Reduce, (179, 1), 2, null,
null);
- Add_Action (Table.States (368), 68, Reduce, (325, 1), 2, null,
null);
- Table.States (368).Kernel := To_Vector (((179, 301, 0, False),
(325, 301, 0, False)));
- Table.States (368).Minimal_Complete_Actions := To_Vector
(((Reduce, 179, 2), (Reduce, 325, 2)));
- Table.States (369).Action_List.Set_Capacity (3);
- Add_Action (Table.States (369), 22, Reduce, (179, 0), 2, null,
null);
- Add_Action (Table.States (369), 43, Reduce, (179, 0), 2, null,
null);
- Add_Action (Table.States (369), 68, Reduce, (325, 0), 2, null,
null);
- Table.States (369).Kernel := To_Vector (((179, 301, 0, False),
(325, 301, 0, False)));
- Table.States (369).Minimal_Complete_Actions := To_Vector
(((Reduce, 179, 2), (Reduce, 325, 2)));
- Table.States (370).Action_List.Set_Capacity (4);
- Add_Action (Table.States (370), 4, 1);
- Add_Action (Table.States (370), 18, 4);
- Add_Action (Table.States (370), 67, 200);
- Add_Action (Table.States (370), 72, 201);
- Table.States (370).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (370), 114, 202);
- Add_Goto (Table.States (370), 161, 203);
- Add_Goto (Table.States (370), 162, 537);
- Add_Goto (Table.States (370), 296, 538);
- Table.States (370).Kernel := To_Vector ((0 => (297, 43, 2, True)));
- Table.States (370).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 67, 200)));
- Table.States (370).Minimal_Complete_Actions_Recursive := True;
- Table.States (371).Action_List.Set_Capacity (24);
- Add_Action (Table.States (371), 4, 1);
- Add_Action (Table.States (371), 5, 2);
- Add_Action (Table.States (371), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (371), 15, 3);
- Add_Action (Table.States (371), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (371), 18, 4);
- Add_Action (Table.States (371), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (371), 27, 5);
- Add_Action (Table.States (371), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (371), 31, 9);
- Add_Action (Table.States (371), 32, 10);
- Add_Action (Table.States (371), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (371), 41, 13);
- Add_Action (Table.States (371), 48, 16);
- Add_Action (Table.States (371), 52, 20);
- Add_Action (Table.States (371), 57, 21);
- Add_Action (Table.States (371), 58, 22);
- Add_Action (Table.States (371), 61, 24);
- Add_Action (Table.States (371), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (371), 79, 31);
- Add_Action (Table.States (371), 94, 32);
- Add_Action (Table.States (371), 105, 361);
- Add_Action (Table.States (371), 106, 34);
- Add_Action (Table.States (371), 107, 35);
- Table.States (371).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (371), 114, 37);
- Add_Goto (Table.States (371), 124, 39);
- Add_Goto (Table.States (371), 127, 40);
- Add_Goto (Table.States (371), 129, 42);
- Add_Goto (Table.States (371), 132, 43);
- Add_Goto (Table.States (371), 133, 44);
- Add_Goto (Table.States (371), 134, 45);
- Add_Goto (Table.States (371), 140, 48);
- Add_Goto (Table.States (371), 152, 51);
- Add_Goto (Table.States (371), 153, 52);
- Add_Goto (Table.States (371), 162, 54);
- Add_Goto (Table.States (371), 191, 58);
- Add_Goto (Table.States (371), 197, 60);
- Add_Goto (Table.States (371), 218, 69);
- Add_Goto (Table.States (371), 223, 71);
- Add_Goto (Table.States (371), 233, 73);
- Add_Goto (Table.States (371), 240, 74);
- Add_Goto (Table.States (371), 258, 84);
- Add_Goto (Table.States (371), 262, 87);
- Add_Goto (Table.States (371), 273, 93);
- Add_Goto (Table.States (371), 277, 94);
- Add_Goto (Table.States (371), 291, 97);
- Add_Goto (Table.States (371), 294, 98);
- Add_Goto (Table.States (371), 295, 99);
- Add_Goto (Table.States (371), 299, 100);
- Add_Goto (Table.States (371), 300, 362);
- Add_Goto (Table.States (371), 301, 539);
- Add_Goto (Table.States (371), 303, 101);
- Add_Goto (Table.States (371), 304, 102);
- Add_Goto (Table.States (371), 307, 364);
- Add_Goto (Table.States (371), 324, 115);
- Table.States (371).Kernel := To_Vector ((0 => (295, 22, 3,
False)));
- Table.States (371).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (372).Action_List.Set_Capacity (1);
- Add_Action (Table.States (372), 61, 540);
- Table.States (372).Kernel := To_Vector ((0 => (295, 24, 2,
False)));
- Table.States (372).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 61, 540)));
- Table.States (373).Action_List.Set_Capacity (1);
- Add_Action (Table.States (373), 5, 541);
- Table.States (373).Kernel := To_Vector ((0 => (127, 68, 4,
False)));
- Table.States (373).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 5, 541)));
- Table.States (374).Action_List.Set_Capacity (5);
- Add_Action (Table.States (374), 40, 486);
- Add_Action (Table.States (374), 79, 31);
- Add_Action (Table.States (374), 105, 120);
- Add_Action (Table.States (374), 106, 34);
- Add_Action (Table.States (374), 107, 35);
- Table.States (374).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (374), 129, 42);
- Add_Goto (Table.States (374), 240, 487);
- Add_Goto (Table.States (374), 273, 93);
- Add_Goto (Table.States (374), 294, 98);
- Add_Goto (Table.States (374), 315, 542);
- Table.States (374).Kernel := To_Vector ((0 => (314, 35, 2,
False)));
- Table.States (374).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (375).Action_List.Set_Capacity (2);
- Add_Action (Table.States (375), 35, 543);
- Add_Conflict (Table.States (375), 35, (123, 1), 0, null, null);
- Add_Action (Table.States (375), 74, 338);
- Table.States (375).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (375), 123, 544);
- Table.States (375).Kernel := To_Vector (((317, 105, 4, False),
(318, 105, 3, False)));
- Table.States (375).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 35, 543)));
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (293, 1), 3, requeue_statement_1'Access, null);
+ Table.States (355).Kernel := To_Vector ((0 => ((293, 1), 99, 0,
(293, 1), 3)));
+ Table.States (355).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (293, 1), 3)));
+ Table.States (356).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (356), 7, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (356), 8, (121, 0), 404);
+ Add_Action (Table.States (356), 16, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (356), 21, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (356), 40, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (356), 81, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (356), 85, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (356), 99, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (356), 107, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (356), 108, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (356), 109, Reduce, (121, 1), 0, null,
null);
+ Table.States (356).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (356), 121, 533);
+ Table.States (356).Kernel := To_Vector ((((197, 0), 84, 2,
(2147483647, 0), 0), ((197, 1), 84, 1,
+ (2147483647, 0), 0)));
+ Table.States (356).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (121, 1), 0)));
+ Table.States (357).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (357), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (305, 0), 3, simple_return_statement_0'Access, null);
+ Table.States (357).Kernel := To_Vector ((0 => ((305, 0), 99, 0,
(305, 0), 3)));
+ Table.States (357).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (305, 0), 3)));
+ Table.States (358).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (358), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (199, 1), 3, extended_return_statement_1'Access, null);
+ Table.States (358).Kernel := To_Vector ((0 => ((199, 1), 99, 0,
(199, 1), 3)));
+ Table.States (358).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (199, 1), 3)));
+ Table.States (359).Action_List.Set_Capacity (25);
+ Add_Action (Table.States (359), 4, (116, 0), 1);
+ Add_Action (Table.States (359), 5, (306, 8), 2);
+ Add_Action (Table.States (359), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (359), 15, (142, 0), 3);
+ Add_Action (Table.States (359), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (359), 18, (164, 0), 4);
+ Add_Action (Table.States (359), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (359), 26, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (359), 27, (193, 0), 5);
+ Add_Action (Table.States (359), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (359), 31, (306, 3), 9);
+ Add_Action (Table.States (359), 32, (225, 0), 10);
+ Add_Action (Table.States (359), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (359), 41, (306, 0), 13);
+ Add_Action (Table.States (359), 48, (260, 0), 16);
+ Add_Action (Table.States (359), 52, (279, 0), 20);
+ Add_Action (Table.States (359), 57, (293, 0), 21);
+ Add_Action (Table.States (359), 58, (199, 0), 22);
+ Add_Action (Table.States (359), 61, (129, 0), 24);
+ Add_Action (Table.States (359), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (359), 81, (242, 8), 31);
+ Add_Action (Table.States (359), 96, (220, 0), 32);
+ Add_Action (Table.States (359), 107, (134, 0), 363);
+ Add_Action (Table.States (359), 108, (242, 7), 34);
+ Add_Action (Table.States (359), 109, (242, 6), 35);
+ Table.States (359).Goto_List.Set_Capacity (32);
+ Add_Goto (Table.States (359), 116, 37);
+ Add_Goto (Table.States (359), 126, 39);
+ Add_Goto (Table.States (359), 129, 40);
+ Add_Goto (Table.States (359), 131, 42);
+ Add_Goto (Table.States (359), 134, 43);
+ Add_Goto (Table.States (359), 135, 44);
+ Add_Goto (Table.States (359), 136, 45);
+ Add_Goto (Table.States (359), 142, 48);
+ Add_Goto (Table.States (359), 154, 51);
+ Add_Goto (Table.States (359), 155, 52);
+ Add_Goto (Table.States (359), 164, 54);
+ Add_Goto (Table.States (359), 193, 58);
+ Add_Goto (Table.States (359), 199, 60);
+ Add_Goto (Table.States (359), 220, 69);
+ Add_Goto (Table.States (359), 221, 534);
+ Add_Goto (Table.States (359), 225, 71);
+ Add_Goto (Table.States (359), 235, 73);
+ Add_Goto (Table.States (359), 242, 74);
+ Add_Goto (Table.States (359), 260, 84);
+ Add_Goto (Table.States (359), 264, 87);
+ Add_Goto (Table.States (359), 275, 93);
+ Add_Goto (Table.States (359), 279, 94);
+ Add_Goto (Table.States (359), 293, 97);
+ Add_Goto (Table.States (359), 296, 98);
+ Add_Goto (Table.States (359), 297, 99);
+ Add_Goto (Table.States (359), 301, 100);
+ Add_Goto (Table.States (359), 302, 364);
+ Add_Goto (Table.States (359), 303, 393);
+ Add_Goto (Table.States (359), 305, 101);
+ Add_Goto (Table.States (359), 306, 102);
+ Add_Goto (Table.States (359), 309, 366);
+ Add_Goto (Table.States (359), 326, 115);
+ Table.States (359).Kernel := To_Vector ((0 => ((199, 0), 21, 3,
(2147483647, 0), 0)));
+ Table.States (359).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (221, 1), 0)));
end Subr_7;
procedure Subr_8
is begin
- Table.States (376).Action_List.Set_Capacity (4);
- Add_Action (Table.States (376), 35, Reduce, (170, 2), 0, null,
null);
- Add_Action (Table.States (376), 74, Reduce, (170, 2), 0, null,
null);
- Add_Action (Table.States (376), 76, 378);
- Add_Action (Table.States (376), 97, Reduce, (170, 2), 0, null,
null);
- Table.States (376).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (376), 170, 545);
- Table.States (376).Kernel := To_Vector (((320, 105, 6, False),
(320, 105, 3, False), (320, 105, 1,
- False)));
- Table.States (376).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 170, 0)));
+ Table.States (360).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (360), 76, (118, 0), 237);
+ Add_Action (Table.States (360), 78, (318, 0), 535);
+ Add_Action (Table.States (360), 87, (296, 0), 239);
+ Add_Action (Table.States (360), 104, (325, 0), 241);
+ Add_Action (Table.States (360), 105, (325, 1), 242);
+ Table.States (360).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (360), 118, 243);
+ Add_Goto (Table.States (360), 325, 244);
+ Table.States (360).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((275, 0), 242, 3, (2147483647, 0), 0),
+ ((296, 0), 242, 2, (2147483647, 0), 0), ((296, 1), 242, 2,
(2147483647, 0), 0), ((296, 2), 242, 2,
+ (2147483647, 0), 0), ((296, 3), 242, 2, (2147483647, 0), 0),
((318, 0), 242, 7, (2147483647, 0),
+ 0)));
+ Table.States (360).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (318, 0), 78, 535)));
+ Table.States (361).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (361), (22, 24, 43), (298, 4), 2,
select_alternative_4'Access, null);
+ Table.States (361).Kernel := To_Vector ((0 => ((298, 4), 99, 0,
(298, 4), 2)));
+ Table.States (361).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (298, 4), 2)));
+ Table.States (362).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (362), 90, (298, 0), 536);
+ Table.States (362).Kernel := To_Vector ((((298, 0), 195, 4,
(2147483647, 0), 0), ((298, 1), 195, 3,
+ (2147483647, 0), 0), ((298, 2), 195, 3, (2147483647, 0), 0)));
+ Table.States (362).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (298, 0), 90, 536)));
+ Table.States (363).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (363), 76, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (363), 84, (134, 0), 537);
+ Add_Action (Table.States (363), 85, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (363), 87, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (363), 99, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (363), 104, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (363), 105, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Table.States (363).Kernel := To_Vector ((((134, 0), 107, 1,
(2147483647, 0), 0), ((242, 5), 107, 0,
+ (242, 5), 1)));
+ Table.States (363).Minimal_Complete_Actions := To_Vector (((Shift,
(134, 0), 84, 537), (Reduce, (242, 5),
+ 1)));
+ Table.States (364).Action_List.Set_Capacity (30);
+ Add_Action (Table.States (364), 4, (116, 0), 1);
+ Add_Action (Table.States (364), 5, (306, 8), 2);
+ Add_Action (Table.States (364), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (364), 15, (142, 0), 3);
+ Add_Action (Table.States (364), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (364), 18, (164, 0), 4);
+ Add_Action (Table.States (364), 22, Reduce, (303, 0), 1, null,
null);
+ Add_Action (Table.States (364), 23, Reduce, (303, 0), 1, null,
null);
+ Add_Action (Table.States (364), 24, Reduce, (303, 0), 1, null,
null);
+ Add_Action (Table.States (364), 26, Reduce, (303, 0), 1, null,
null);
+ Add_Action (Table.States (364), 27, (193, 0), 5);
+ Add_Action (Table.States (364), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (364), 31, (306, 3), 9);
+ Add_Action (Table.States (364), 32, (225, 0), 10);
+ Add_Action (Table.States (364), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (364), 41, (306, 0), 13);
+ Add_Action (Table.States (364), 43, Reduce, (303, 0), 1, null,
null);
+ Add_Action (Table.States (364), 48, (260, 0), 16);
+ Add_Action (Table.States (364), 52, (279, 0), 20);
+ Add_Action (Table.States (364), 57, (293, 0), 21);
+ Add_Action (Table.States (364), 58, (199, 0), 22);
+ Add_Action (Table.States (364), 61, (129, 0), 24);
+ Add_Action (Table.States (364), 68, Reduce, (303, 0), 1, null,
null);
+ Add_Action (Table.States (364), 72, Reduce, (303, 0), 1, null,
null);
+ Add_Action (Table.States (364), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (364), 81, (242, 8), 31);
+ Add_Action (Table.States (364), 96, (220, 0), 32);
+ Add_Action (Table.States (364), 107, (134, 0), 363);
+ Add_Action (Table.States (364), 108, (242, 7), 34);
+ Add_Action (Table.States (364), 109, (242, 6), 35);
+ Table.States (364).Goto_List.Set_Capacity (29);
+ Add_Goto (Table.States (364), 116, 37);
+ Add_Goto (Table.States (364), 126, 39);
+ Add_Goto (Table.States (364), 129, 40);
+ Add_Goto (Table.States (364), 131, 42);
+ Add_Goto (Table.States (364), 134, 43);
+ Add_Goto (Table.States (364), 135, 44);
+ Add_Goto (Table.States (364), 136, 45);
+ Add_Goto (Table.States (364), 142, 48);
+ Add_Goto (Table.States (364), 154, 51);
+ Add_Goto (Table.States (364), 155, 52);
+ Add_Goto (Table.States (364), 164, 54);
+ Add_Goto (Table.States (364), 193, 58);
+ Add_Goto (Table.States (364), 199, 60);
+ Add_Goto (Table.States (364), 220, 69);
+ Add_Goto (Table.States (364), 225, 71);
+ Add_Goto (Table.States (364), 235, 73);
+ Add_Goto (Table.States (364), 242, 74);
+ Add_Goto (Table.States (364), 260, 84);
+ Add_Goto (Table.States (364), 264, 87);
+ Add_Goto (Table.States (364), 275, 93);
+ Add_Goto (Table.States (364), 279, 94);
+ Add_Goto (Table.States (364), 293, 97);
+ Add_Goto (Table.States (364), 296, 98);
+ Add_Goto (Table.States (364), 297, 99);
+ Add_Goto (Table.States (364), 301, 100);
+ Add_Goto (Table.States (364), 305, 101);
+ Add_Goto (Table.States (364), 306, 102);
+ Add_Goto (Table.States (364), 309, 538);
+ Add_Goto (Table.States (364), 326, 115);
+ Table.States (364).Kernel := To_Vector ((((302, 0), 302, 2,
(2147483647, 0), 0), ((303, 0), 302, 0,
+ (303, 0), 1)));
+ Table.States (364).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 0), 1)));
+ Table.States (365).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (365), (22, 24, 43), (298, 3), 2, null,
null);
+ Table.States (365).Kernel := To_Vector ((0 => ((298, 3), 303, 0,
(298, 3), 2)));
+ Table.States (365).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (298, 3), 2)));
+ Table.States (366).Action_List.Set_Capacity (30);
+ Add_Action (Table.States (366), (4, 5, 13, 15, 17, 18, 22, 23, 24,
26, 27, 28, 31, 32, 37, 41, 43, 48, 52,
+ 57, 58, 61, 68, 72, 73, 81, 96, 107, 108, 109), (302, 1), 1,
null, null);
+ Table.States (366).Kernel := To_Vector ((0 => ((302, 1), 309, 0,
(302, 1), 1)));
+ Table.States (366).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (302, 1), 1)));
+ Table.States (367).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (367), 22, Reduce, (163, 0), 2, null,
null);
+ Add_Action (Table.States (367), 24, Reduce, (163, 0), 2, null,
null);
+ Add_Action (Table.States (367), 43, Reduce, (163, 0), 2, null,
null);
+ Add_Action (Table.States (367), 68, Reduce, (327, 2), 2, null,
null);
+ Table.States (367).Kernel := To_Vector ((((163, 0), 303, 0,
(163, 0), 2), ((327, 2), 303, 0, (327, 2),
+ 2)));
+ Table.States (367).Minimal_Complete_Actions := To_Vector
(((Reduce, (163, 0), 2), (Reduce, (327, 2),
+ 2)));
+ Table.States (368).Action_List.Set_Capacity (24);
+ Add_Action (Table.States (368), 4, (116, 0), 1);
+ Add_Action (Table.States (368), 5, (306, 8), 2);
+ Add_Action (Table.States (368), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (368), 15, (142, 0), 3);
+ Add_Action (Table.States (368), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (368), 18, (164, 0), 4);
+ Add_Action (Table.States (368), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (368), 27, (193, 0), 5);
+ Add_Action (Table.States (368), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (368), 31, (306, 3), 9);
+ Add_Action (Table.States (368), 32, (225, 0), 10);
+ Add_Action (Table.States (368), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (368), 41, (306, 0), 13);
+ Add_Action (Table.States (368), 48, (260, 0), 16);
+ Add_Action (Table.States (368), 52, (279, 0), 20);
+ Add_Action (Table.States (368), 57, (293, 0), 21);
+ Add_Action (Table.States (368), 58, (199, 0), 22);
+ Add_Action (Table.States (368), 61, (129, 0), 24);
+ Add_Action (Table.States (368), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (368), 81, (242, 8), 31);
+ Add_Action (Table.States (368), 96, (220, 0), 32);
+ Add_Action (Table.States (368), 107, (134, 0), 363);
+ Add_Action (Table.States (368), 108, (242, 7), 34);
+ Add_Action (Table.States (368), 109, (242, 6), 35);
+ Table.States (368).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (368), 116, 37);
+ Add_Goto (Table.States (368), 126, 39);
+ Add_Goto (Table.States (368), 129, 40);
+ Add_Goto (Table.States (368), 131, 42);
+ Add_Goto (Table.States (368), 134, 43);
+ Add_Goto (Table.States (368), 135, 44);
+ Add_Goto (Table.States (368), 136, 45);
+ Add_Goto (Table.States (368), 142, 48);
+ Add_Goto (Table.States (368), 154, 51);
+ Add_Goto (Table.States (368), 155, 52);
+ Add_Goto (Table.States (368), 164, 54);
+ Add_Goto (Table.States (368), 193, 58);
+ Add_Goto (Table.States (368), 199, 60);
+ Add_Goto (Table.States (368), 220, 69);
+ Add_Goto (Table.States (368), 225, 71);
+ Add_Goto (Table.States (368), 235, 73);
+ Add_Goto (Table.States (368), 242, 74);
+ Add_Goto (Table.States (368), 260, 84);
+ Add_Goto (Table.States (368), 264, 87);
+ Add_Goto (Table.States (368), 275, 93);
+ Add_Goto (Table.States (368), 279, 94);
+ Add_Goto (Table.States (368), 293, 97);
+ Add_Goto (Table.States (368), 296, 98);
+ Add_Goto (Table.States (368), 297, 99);
+ Add_Goto (Table.States (368), 301, 100);
+ Add_Goto (Table.States (368), 302, 364);
+ Add_Goto (Table.States (368), 303, 539);
+ Add_Goto (Table.States (368), 305, 101);
+ Add_Goto (Table.States (368), 306, 102);
+ Add_Goto (Table.States (368), 309, 366);
+ Add_Goto (Table.States (368), 326, 115);
+ Table.States (368).Kernel := To_Vector ((0 => ((155, 0), 22, 3,
(2147483647, 0), 0)));
+ Table.States (368).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
+ Table.States (369).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (369), 18, (164, 0), 4);
+ Table.States (369).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (369), 163, 540);
+ Add_Goto (Table.States (369), 164, 541);
+ Table.States (369).Kernel := To_Vector ((0 => ((326, 0), 43, 5,
(2147483647, 0), 0)));
+ Table.States (369).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (164, 0), 18, 4)));
+ Table.States (370).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (370), 22, Reduce, (181, 1), 2, null,
null);
+ Add_Action (Table.States (370), 43, Reduce, (181, 1), 2, null,
null);
+ Add_Action (Table.States (370), 68, Reduce, (327, 1), 2, null,
null);
+ Table.States (370).Kernel := To_Vector ((((181, 1), 303, 0,
(181, 1), 2), ((327, 1), 303, 0, (327, 1),
+ 2)));
+ Table.States (370).Minimal_Complete_Actions := To_Vector
(((Reduce, (181, 1), 2), (Reduce, (327, 1),
+ 2)));
+ Table.States (371).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (371), 22, Reduce, (181, 0), 2, null,
null);
+ Add_Action (Table.States (371), 43, Reduce, (181, 0), 2, null,
null);
+ Add_Action (Table.States (371), 68, Reduce, (327, 0), 2, null,
null);
+ Table.States (371).Kernel := To_Vector ((((181, 0), 303, 0,
(181, 0), 2), ((327, 0), 303, 0, (327, 0),
+ 2)));
+ Table.States (371).Minimal_Complete_Actions := To_Vector
(((Reduce, (181, 0), 2), (Reduce, (327, 0),
+ 2)));
+ Table.States (372).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (372), 4, (116, 0), 1);
+ Add_Action (Table.States (372), 18, (164, 0), 4);
+ Add_Action (Table.States (372), 67, (298, 4), 201);
+ Add_Action (Table.States (372), 72, (298, 0), 202);
+ Table.States (372).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (372), 116, 203);
+ Add_Goto (Table.States (372), 163, 204);
+ Add_Goto (Table.States (372), 164, 541);
+ Add_Goto (Table.States (372), 298, 542);
+ Table.States (372).Kernel := To_Vector ((0 => ((299, 0), 43, 2,
(2147483647, 0), 0)));
+ Table.States (372).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (298, 4), 67, 201)));
+ Table.States (373).Action_List.Set_Capacity (24);
+ Add_Action (Table.States (373), 4, (116, 0), 1);
+ Add_Action (Table.States (373), 5, (306, 8), 2);
+ Add_Action (Table.States (373), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (373), 15, (142, 0), 3);
+ Add_Action (Table.States (373), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (373), 18, (164, 0), 4);
+ Add_Action (Table.States (373), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (373), 27, (193, 0), 5);
+ Add_Action (Table.States (373), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (373), 31, (306, 3), 9);
+ Add_Action (Table.States (373), 32, (225, 0), 10);
+ Add_Action (Table.States (373), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (373), 41, (306, 0), 13);
+ Add_Action (Table.States (373), 48, (260, 0), 16);
+ Add_Action (Table.States (373), 52, (279, 0), 20);
+ Add_Action (Table.States (373), 57, (293, 0), 21);
+ Add_Action (Table.States (373), 58, (199, 0), 22);
+ Add_Action (Table.States (373), 61, (129, 0), 24);
+ Add_Action (Table.States (373), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (373), 81, (242, 8), 31);
+ Add_Action (Table.States (373), 96, (220, 0), 32);
+ Add_Action (Table.States (373), 107, (134, 0), 363);
+ Add_Action (Table.States (373), 108, (242, 7), 34);
+ Add_Action (Table.States (373), 109, (242, 6), 35);
+ Table.States (373).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (373), 116, 37);
+ Add_Goto (Table.States (373), 126, 39);
+ Add_Goto (Table.States (373), 129, 40);
+ Add_Goto (Table.States (373), 131, 42);
+ Add_Goto (Table.States (373), 134, 43);
+ Add_Goto (Table.States (373), 135, 44);
+ Add_Goto (Table.States (373), 136, 45);
+ Add_Goto (Table.States (373), 142, 48);
+ Add_Goto (Table.States (373), 154, 51);
+ Add_Goto (Table.States (373), 155, 52);
+ Add_Goto (Table.States (373), 164, 54);
+ Add_Goto (Table.States (373), 193, 58);
+ Add_Goto (Table.States (373), 199, 60);
+ Add_Goto (Table.States (373), 220, 69);
+ Add_Goto (Table.States (373), 225, 71);
+ Add_Goto (Table.States (373), 235, 73);
+ Add_Goto (Table.States (373), 242, 74);
+ Add_Goto (Table.States (373), 260, 84);
+ Add_Goto (Table.States (373), 264, 87);
+ Add_Goto (Table.States (373), 275, 93);
+ Add_Goto (Table.States (373), 279, 94);
+ Add_Goto (Table.States (373), 293, 97);
+ Add_Goto (Table.States (373), 296, 98);
+ Add_Goto (Table.States (373), 297, 99);
+ Add_Goto (Table.States (373), 301, 100);
+ Add_Goto (Table.States (373), 302, 364);
+ Add_Goto (Table.States (373), 303, 543);
+ Add_Goto (Table.States (373), 305, 101);
+ Add_Goto (Table.States (373), 306, 102);
+ Add_Goto (Table.States (373), 309, 366);
+ Add_Goto (Table.States (373), 326, 115);
+ Table.States (373).Kernel := To_Vector ((0 => ((297, 0), 22, 3,
(2147483647, 0), 0)));
+ Table.States (373).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
+ Table.States (374).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (374), 61, (297, 1), 544);
+ Table.States (374).Kernel := To_Vector ((0 => ((297, 1), 24, 2,
(2147483647, 0), 0)));
+ Table.States (374).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (297, 1), 61, 544)));
+ Table.States (375).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (375), 5, (129, 0), 545);
+ Table.States (375).Kernel := To_Vector ((0 => ((129, 0), 68, 4,
(2147483647, 0), 0)));
+ Table.States (375).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (129, 0), 5, 545)));
+ Table.States (376).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (376), 40, (317, 0), 490);
+ Add_Action (Table.States (376), 81, (242, 8), 31);
+ Add_Action (Table.States (376), 107, (242, 5), 120);
+ Add_Action (Table.States (376), 108, (242, 7), 34);
+ Add_Action (Table.States (376), 109, (242, 6), 35);
+ Table.States (376).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (376), 131, 42);
+ Add_Goto (Table.States (376), 242, 491);
+ Add_Goto (Table.States (376), 275, 93);
+ Add_Goto (Table.States (376), 296, 98);
+ Add_Goto (Table.States (376), 317, 546);
+ Table.States (376).Kernel := To_Vector ((0 => ((316, 0), 35, 2,
(2147483647, 0), 0)));
+ Table.States (376).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
Table.States (377).Action_List.Set_Capacity (2);
- Add_Action (Table.States (377), 35, 546);
- Add_Action (Table.States (377), 97, 547);
- Table.States (377).Kernel := To_Vector (((306, 123, 6, False),
(306, 123, 3, False), (306, 123, 1,
- False)));
- Table.States (377).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 547)));
+ Add_Action (Table.States (377), 35, (320, 0), 547);
+ Add_Conflict (Table.States (377), 35, (125, 1), 0, null, null);
+ Add_Action (Table.States (377), 74, (125, 0), 340);
+ Table.States (377).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (377), 125, 548);
+ Table.States (377).Kernel := To_Vector ((((319, 0), 107, 4,
(2147483647, 0), 0), ((320, 0), 107, 3,
+ (2147483647, 0), 0)));
+ Table.States (377).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (320, 0), 35, 547)));
Table.States (378).Action_List.Set_Capacity (4);
- Add_Action (Table.States (378), 77, Reduce, (171, 4), 0, null,
null);
- Add_Action (Table.States (378), 81, 548);
- Add_Action (Table.States (378), 97, Reduce, (171, 4), 0, null,
null);
- Add_Action (Table.States (378), 105, 165);
- Table.States (378).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (378), 171, 549);
- Add_Goto (Table.States (378), 172, 550);
- Add_Goto (Table.States (378), 220, 551);
- Table.States (378).Kernel := To_Vector (((170, 76, 2, False),
(170, 76, 1, False)));
- Table.States (378).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 172, 0)));
+ Add_Action (Table.States (378), 35, Reduce, (172, 2), 0, null,
null);
+ Add_Action (Table.States (378), 74, Reduce, (172, 2), 0, null,
null);
+ Add_Action (Table.States (378), 76, (172, 0), 380);
+ Add_Action (Table.States (378), 99, Reduce, (172, 2), 0, null,
null);
+ Table.States (378).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (378), 172, 549);
+ Table.States (378).Kernel := To_Vector ((((322, 0), 107, 6,
(2147483647, 0), 0), ((322, 1), 107, 3,
+ (2147483647, 0), 0), ((322, 2), 107, 1, (2147483647, 0), 0)));
+ Table.States (378).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (172, 2), 0)));
Table.States (379).Action_List.Set_Capacity (2);
- Add_Action (Table.States (379), 35, 552);
- Add_Action (Table.States (379), 97, 553);
- Table.States (379).Kernel := To_Vector (((207, 170, 3, False),
(224, 170, 3, False), (224, 170, 1, False),
- (260, 170, 6, False), (261, 170, 3, False)));
- Table.States (379).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 553)));
+ Add_Action (Table.States (379), 35, (308, 0), 550);
+ Add_Action (Table.States (379), 99, (308, 2), 551);
+ Table.States (379).Kernel := To_Vector ((((308, 0), 125, 6,
(2147483647, 0), 0), ((308, 1), 125, 3,
+ (2147483647, 0), 0), ((308, 2), 125, 1, (2147483647, 0), 0)));
+ Table.States (379).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (308, 2), 99, 551)));
Table.States (380).Action_List.Set_Capacity (4);
- Add_Action (Table.States (380), 79, 31);
- Add_Action (Table.States (380), 105, 120);
- Add_Action (Table.States (380), 106, 34);
- Add_Action (Table.States (380), 107, 35);
- Table.States (380).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (380), 129, 42);
- Add_Goto (Table.States (380), 239, 554);
- Add_Goto (Table.States (380), 240, 220);
- Add_Goto (Table.States (380), 273, 93);
- Add_Goto (Table.States (380), 294, 98);
- Table.States (380).Kernel := To_Vector ((0 => (332, 69, 2,
False)));
- Table.States (380).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
+ Add_Action (Table.States (380), 78, Reduce, (173, 4), 0, null,
null);
+ Add_Action (Table.States (380), 83, (172, 0), 552);
+ Add_Action (Table.States (380), 99, Reduce, (173, 4), 0, null,
null);
+ Add_Action (Table.States (380), 107, (222, 1), 166);
+ Table.States (380).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (380), 173, 553);
+ Add_Goto (Table.States (380), 174, 554);
+ Add_Goto (Table.States (380), 222, 555);
+ Table.States (380).Kernel := To_Vector ((((172, 0), 76, 2,
(2147483647, 0), 0), ((172, 1), 76, 1,
+ (2147483647, 0), 0)));
+ Table.States (380).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (174, 1), 0)));
Table.States (381).Action_List.Set_Capacity (2);
- Add_Action (Table.States (381), 84, 382);
- Add_Action (Table.States (381), 97, 555);
- Table.States (381).Kernel := To_Vector (((239, 239, 2, True),
(332, 239, 1, False)));
- Table.States (381).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 555)));
+ Add_Action (Table.States (381), 35, (209, 0), 556);
+ Add_Action (Table.States (381), 99, (226, 1), 557);
+ Table.States (381).Kernel := To_Vector ((((209, 0), 172, 3,
(2147483647, 0), 0), ((226, 0), 172, 3,
+ (2147483647, 0), 0), ((226, 1), 172, 1, (2147483647, 0), 0),
((262, 0), 172, 6, (2147483647, 0), 0),
+ ((263, 0), 172, 3, (2147483647, 0), 0)));
+ Table.States (381).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (226, 1), 99, 557)));
Table.States (382).Action_List.Set_Capacity (4);
- Add_Action (Table.States (382), 79, 31);
- Add_Action (Table.States (382), 105, 120);
- Add_Action (Table.States (382), 106, 34);
- Add_Action (Table.States (382), 107, 35);
- Table.States (382).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (382), 129, 42);
- Add_Goto (Table.States (382), 240, 556);
- Add_Goto (Table.States (382), 273, 93);
- Add_Goto (Table.States (382), 294, 98);
- Table.States (382).Kernel := To_Vector ((0 => (239, 84, 1, True)));
- Table.States (382).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (382).Minimal_Complete_Actions_Recursive := True;
- Table.States (383).Action_List.Set_Capacity (41);
- Add_Action (Table.States (383), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (332, 2), 3,
+ Add_Action (Table.States (382), 81, (242, 8), 31);
+ Add_Action (Table.States (382), 107, (242, 5), 120);
+ Add_Action (Table.States (382), 108, (242, 7), 34);
+ Add_Action (Table.States (382), 109, (242, 6), 35);
+ Table.States (382).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (382), 131, 42);
+ Add_Goto (Table.States (382), 241, 558);
+ Add_Goto (Table.States (382), 242, 221);
+ Add_Goto (Table.States (382), 275, 93);
+ Add_Goto (Table.States (382), 296, 98);
+ Table.States (382).Kernel := To_Vector ((0 => ((334, 0), 69, 2,
(2147483647, 0), 0)));
+ Table.States (382).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (383).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (383), 86, (241, 0), 384);
+ Add_Action (Table.States (383), 99, (334, 1), 559);
+ Table.States (383).Kernel := To_Vector ((((241, 0), 241, 2,
(2147483647, 0), 0), ((334, 1), 241, 1,
+ (2147483647, 0), 0)));
+ Table.States (383).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (334, 1), 99, 559)));
+ Table.States (384).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (384), 81, (242, 8), 31);
+ Add_Action (Table.States (384), 107, (242, 5), 120);
+ Add_Action (Table.States (384), 108, (242, 7), 34);
+ Add_Action (Table.States (384), 109, (242, 6), 35);
+ Table.States (384).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (384), 131, 42);
+ Add_Goto (Table.States (384), 242, 560);
+ Add_Goto (Table.States (384), 275, 93);
+ Add_Goto (Table.States (384), 296, 98);
+ Table.States (384).Kernel := To_Vector ((0 => ((241, 0), 86, 1,
(2147483647, 0), 0)));
+ Table.States (384).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (385).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (385), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (334, 2), 3,
use_clause_2'Access, null);
- Table.States (383).Kernel := To_Vector ((0 => (332, 97, 0,
False)));
- Table.States (383).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 332, 3)));
- Table.States (384).Action_List.Set_Capacity (40);
- Add_Action (Table.States (384), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
- 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 79,
94, 105, 106, 107, 108), (333, 3), 3,
+ Table.States (385).Kernel := To_Vector ((0 => ((334, 2), 99, 0,
(334, 2), 3)));
+ Table.States (385).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (334, 2), 3)));
+ Table.States (386).Action_List.Set_Capacity (40);
+ Add_Action (Table.States (386), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
+ 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 81,
96, 107, 108, 109, 110), (335, 3), 3,
with_clause_3'Access, null);
- Table.States (384).Kernel := To_Vector ((0 => (333, 97, 0,
False)));
- Table.States (384).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 333, 3)));
- Table.States (385).Action_List.Set_Capacity (47);
- Add_Action (Table.States (385), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (218, 0), 3, goto_label_0'Access, null);
- Table.States (385).Kernel := To_Vector ((0 => (218, 91, 0,
False)));
- Table.States (385).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 218, 3)));
- Table.States (386).Action_List.Set_Capacity (1);
- Add_Action (Table.States (386), 56, 557);
- Table.States (386).Kernel := To_Vector ((0 => (246, 26, 3,
False)));
- Table.States (386).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 56, 557)));
- Table.States (387).Action_List.Set_Capacity (1);
- Add_Action (Table.States (387), 41, 558);
- Table.States (387).Kernel := To_Vector ((0 => (242, 40, 1,
False)));
- Table.States (387).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 41, 558)));
+ Table.States (386).Kernel := To_Vector ((0 => ((335, 3), 99, 0,
(335, 3), 3)));
+ Table.States (386).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (335, 3), 3)));
+ Table.States (387).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (387), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (220, 0), 3, goto_label_0'Access, null);
+ Table.States (387).Kernel := To_Vector ((0 => ((220, 0), 93, 0,
(220, 0), 3)));
+ Table.States (387).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (220, 0), 3)));
Table.States (388).Action_List.Set_Capacity (1);
- Add_Action (Table.States (388), 56, 559);
- Table.States (388).Kernel := To_Vector ((0 => (246, 115, 3,
False)));
- Table.States (388).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 56, 559)));
- Table.States (389).Action_List.Set_Capacity (5);
- Add_Action (Table.States (389), 7, 560);
- Add_Action (Table.States (389), 79, 31);
- Add_Action (Table.States (389), 105, 120);
- Add_Action (Table.States (389), 106, 34);
- Add_Action (Table.States (389), 107, 35);
- Table.States (389).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (389), 129, 42);
- Add_Goto (Table.States (389), 240, 561);
- Add_Goto (Table.States (389), 273, 93);
- Add_Goto (Table.States (389), 294, 98);
- Table.States (389).Kernel := To_Vector (((115, 242, 2, False),
(115, 242, 3, True), (115, 242, 2, False),
- (246, 242, 4, False)));
- Table.States (389).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 7, 560)));
+ Add_Action (Table.States (388), 56, (248, 2), 561);
+ Table.States (388).Kernel := To_Vector ((0 => ((248, 2), 26, 3,
(2147483647, 0), 0)));
+ Table.States (388).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (248, 2), 56, 561)));
+ Table.States (389).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (389), 41, (244, 0), 562);
+ Table.States (389).Kernel := To_Vector ((0 => ((244, 0), 40, 1,
(2147483647, 0), 0)));
+ Table.States (389).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (244, 0), 41, 562)));
Table.States (390).Action_List.Set_Capacity (1);
- Add_Action (Table.States (390), 24, 562);
- Table.States (390).Kernel := To_Vector ((0 => (134, 219, 2,
False)));
- Table.States (390).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 562)));
- Table.States (391).Action_List.Set_Capacity (2);
- Add_Action (Table.States (391), 24, Reduce, (219, 1), 1, null,
null);
- Add_Action (Table.States (391), 26, 563);
- Table.States (391).Kernel := To_Vector (((219, 301, 1, False),
(219, 301, 0, False)));
- Table.States (391).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 219, 1)));
- Table.States (392).Action_List.Set_Capacity (18);
- Add_Action (Table.States (392), (13, 24, 25, 28, 29, 30, 40, 46,
47, 48, 49, 50, 51, 63, 66, 69, 71, 105),
- (159, 2), 1, null, null);
- Table.States (392).Kernel := To_Vector ((0 => (159, 158, 0,
False)));
- Table.States (392).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 159, 1)));
- Table.States (393).Action_List.Set_Capacity (18);
- Add_Action (Table.States (393), 13, Reduce, (160, 0), 1, null,
null);
- Add_Action (Table.States (393), 24, Reduce, (160, 0), 1, null,
null);
- Add_Action (Table.States (393), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (393), 28, 184);
- Add_Action (Table.States (393), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (393), 30, 8);
- Add_Action (Table.States (393), 40, 12);
- Add_Action (Table.States (393), 46, 14);
- Add_Action (Table.States (393), 47, 15);
- Add_Action (Table.States (393), 48, 16);
- Add_Action (Table.States (393), 49, Reduce, (160, 0), 1, null,
null);
- Add_Action (Table.States (393), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (393), 51, 19);
- Add_Action (Table.States (393), 63, 25);
- Add_Action (Table.States (393), 66, 26);
- Add_Action (Table.States (393), 69, 27);
- Add_Action (Table.States (393), 71, 28);
- Add_Action (Table.States (393), 105, 186);
- Table.States (393).Goto_List.Set_Capacity (51);
- Add_Goto (Table.States (393), 113, 36);
- Add_Goto (Table.States (393), 122, 38);
- Add_Goto (Table.States (393), 128, 41);
- Add_Goto (Table.States (393), 135, 46);
- Add_Goto (Table.States (393), 136, 47);
- Add_Goto (Table.States (393), 158, 564);
- Add_Goto (Table.States (393), 180, 55);
- Add_Goto (Table.States (393), 183, 56);
- Add_Goto (Table.States (393), 187, 57);
- Add_Goto (Table.States (393), 194, 59);
- Add_Goto (Table.States (393), 207, 61);
- Add_Goto (Table.States (393), 208, 62);
- Add_Goto (Table.States (393), 210, 63);
- Add_Goto (Table.States (393), 211, 64);
- Add_Goto (Table.States (393), 214, 65);
- Add_Goto (Table.States (393), 215, 66);
- Add_Goto (Table.States (393), 216, 67);
- Add_Goto (Table.States (393), 217, 68);
- Add_Goto (Table.States (393), 220, 70);
- Add_Goto (Table.States (393), 224, 72);
- Add_Goto (Table.States (393), 244, 75);
- Add_Goto (Table.States (393), 245, 76);
- Add_Goto (Table.States (393), 246, 77);
- Add_Goto (Table.States (393), 247, 78);
- Add_Goto (Table.States (393), 248, 79);
- Add_Goto (Table.States (393), 249, 80);
- Add_Goto (Table.States (393), 250, 81);
- Add_Goto (Table.States (393), 251, 82);
- Add_Goto (Table.States (393), 252, 83);
- Add_Goto (Table.States (393), 258, 565);
- Add_Goto (Table.States (393), 260, 85);
- Add_Goto (Table.States (393), 261, 86);
- Add_Goto (Table.States (393), 263, 88);
- Add_Goto (Table.States (393), 264, 89);
- Add_Goto (Table.States (393), 265, 90);
- Add_Goto (Table.States (393), 266, 91);
- Add_Goto (Table.States (393), 272, 92);
- Add_Goto (Table.States (393), 282, 95);
- Add_Goto (Table.States (393), 290, 96);
- Add_Goto (Table.States (393), 305, 103);
- Add_Goto (Table.States (393), 306, 104);
- Add_Goto (Table.States (393), 308, 106);
- Add_Goto (Table.States (393), 309, 107);
- Add_Goto (Table.States (393), 310, 108);
- Add_Goto (Table.States (393), 312, 109);
- Add_Goto (Table.States (393), 314, 110);
- Add_Goto (Table.States (393), 317, 112);
- Add_Goto (Table.States (393), 318, 113);
- Add_Goto (Table.States (393), 320, 114);
- Add_Goto (Table.States (393), 326, 116);
- Add_Goto (Table.States (393), 332, 117);
- Table.States (393).Kernel := To_Vector (((159, 159, 3, True),
(159, 159, 3, True), (160, 159, 0, False)));
- Table.States (393).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 160, 1)));
- Table.States (394).Action_List.Set_Capacity (1);
- Add_Action (Table.States (394), 13, 566);
- Table.States (394).Kernel := To_Vector ((0 => (134, 160, 3,
False)));
- Table.States (394).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 13, 566)));
+ Add_Action (Table.States (390), 56, (248, 1), 563);
+ Table.States (390).Kernel := To_Vector ((0 => ((248, 1), 117, 3,
(2147483647, 0), 0)));
+ Table.States (390).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (248, 1), 56, 563)));
+ Table.States (391).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (391), 7, (117, 0), 564);
+ Add_Action (Table.States (391), 81, (242, 8), 31);
+ Add_Action (Table.States (391), 107, (242, 5), 120);
+ Add_Action (Table.States (391), 108, (242, 7), 34);
+ Add_Action (Table.States (391), 109, (242, 6), 35);
+ Table.States (391).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (391), 131, 42);
+ Add_Goto (Table.States (391), 242, 565);
+ Add_Goto (Table.States (391), 275, 93);
+ Add_Goto (Table.States (391), 296, 98);
+ Table.States (391).Kernel := To_Vector ((((117, 0), 244, 2,
(2147483647, 0), 0), ((117, 1), 244, 3,
+ (2147483647, 0), 0), ((117, 2), 244, 2, (2147483647, 0), 0),
((248, 0), 244, 4, (2147483647, 0),
+ 0)));
+ Table.States (391).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (117, 0), 7, 564)));
+ Table.States (392).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (392), 24, (136, 1), 566);
+ Table.States (392).Kernel := To_Vector ((0 => ((136, 1), 221, 2,
(2147483647, 0), 0)));
+ Table.States (392).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (136, 1), 24, 566)));
+ Table.States (393).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (393), 24, Reduce, (221, 1), 1, null,
null);
+ Add_Action (Table.States (393), 26, (221, 0), 567);
+ Table.States (393).Kernel := To_Vector ((((221, 0), 303, 1,
(2147483647, 0), 0), ((221, 1), 303, 0,
+ (221, 1), 1)));
+ Table.States (393).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (221, 1), 1)));
+ Table.States (394).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (394), (13, 24, 25, 28, 29, 30, 40, 46,
47, 48, 49, 50, 51, 63, 66, 69, 71, 107),
+ (161, 2), 1, null, null);
+ Table.States (394).Kernel := To_Vector ((0 => ((161, 2), 160, 0,
(161, 2), 1)));
+ Table.States (394).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (161, 2), 1)));
Table.States (395).Action_List.Set_Capacity (18);
- Add_Action (Table.States (395), (13, 24, 25, 28, 29, 30, 40, 46,
47, 48, 49, 50, 51, 63, 66, 69, 71, 105),
- (159, 3), 1, null, null);
- Table.States (395).Kernel := To_Vector ((0 => (159, 258, 0,
False)));
- Table.States (395).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 159, 1)));
- Table.States (396).Action_List.Set_Capacity (3);
- Add_Action (Table.States (396), 33, 312);
- Add_Action (Table.States (396), 42, 313);
- Add_Action (Table.States (396), 82, 314);
- Table.States (396).Kernel := To_Vector (((231, 105, 5, False),
(231, 105, 4, False), (231, 105, 3, False),
- (231, 105, 3, False), (231, 105, 2, False), (231, 105, 2, False)));
- Table.States (396).Minimal_Complete_Actions := To_Vector (((Shift,
42, 313), (Shift, 33, 312)));
- Table.States (397).Action_List.Set_Capacity (1);
- Add_Action (Table.States (397), 24, 567);
- Table.States (397).Kernel := To_Vector ((0 => (233, 301, 3,
False)));
- Table.States (397).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 567)));
- Table.States (398).Action_List.Set_Capacity (24);
- Add_Action (Table.States (398), 4, 1);
- Add_Action (Table.States (398), 5, 2);
- Add_Action (Table.States (398), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (398), 15, 3);
- Add_Action (Table.States (398), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (398), 18, 4);
- Add_Action (Table.States (398), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (398), 27, 5);
- Add_Action (Table.States (398), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (398), 31, 9);
- Add_Action (Table.States (398), 32, 10);
- Add_Action (Table.States (398), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (398), 41, 13);
- Add_Action (Table.States (398), 48, 16);
- Add_Action (Table.States (398), 52, 20);
- Add_Action (Table.States (398), 57, 21);
- Add_Action (Table.States (398), 58, 22);
- Add_Action (Table.States (398), 61, 24);
- Add_Action (Table.States (398), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (398), 79, 31);
- Add_Action (Table.States (398), 94, 32);
- Add_Action (Table.States (398), 105, 361);
- Add_Action (Table.States (398), 106, 34);
- Add_Action (Table.States (398), 107, 35);
- Table.States (398).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (398), 114, 37);
- Add_Goto (Table.States (398), 124, 39);
- Add_Goto (Table.States (398), 127, 40);
- Add_Goto (Table.States (398), 129, 42);
- Add_Goto (Table.States (398), 132, 43);
- Add_Goto (Table.States (398), 133, 44);
- Add_Goto (Table.States (398), 134, 45);
- Add_Goto (Table.States (398), 140, 48);
- Add_Goto (Table.States (398), 152, 51);
- Add_Goto (Table.States (398), 153, 52);
- Add_Goto (Table.States (398), 162, 54);
- Add_Goto (Table.States (398), 191, 58);
- Add_Goto (Table.States (398), 197, 60);
- Add_Goto (Table.States (398), 218, 69);
- Add_Goto (Table.States (398), 223, 71);
- Add_Goto (Table.States (398), 233, 73);
- Add_Goto (Table.States (398), 240, 74);
- Add_Goto (Table.States (398), 258, 84);
- Add_Goto (Table.States (398), 262, 87);
- Add_Goto (Table.States (398), 273, 93);
- Add_Goto (Table.States (398), 277, 94);
- Add_Goto (Table.States (398), 291, 97);
- Add_Goto (Table.States (398), 294, 98);
- Add_Goto (Table.States (398), 295, 99);
- Add_Goto (Table.States (398), 299, 100);
- Add_Goto (Table.States (398), 300, 362);
- Add_Goto (Table.States (398), 301, 568);
- Add_Goto (Table.States (398), 303, 101);
- Add_Goto (Table.States (398), 304, 102);
- Add_Goto (Table.States (398), 307, 364);
- Add_Goto (Table.States (398), 324, 115);
- Table.States (398).Kernel := To_Vector ((0 => (233, 37, 3,
False)));
- Table.States (398).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (399).Action_List.Set_Capacity (6);
- Add_Action (Table.States (399), 35, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (399), 74, 338);
- Add_Action (Table.States (399), 76, 236);
- Add_Action (Table.States (399), 85, 238);
- Add_Action (Table.States (399), 102, 240);
- Add_Action (Table.States (399), 103, 241);
- Table.States (399).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (399), 116, 242);
- Add_Goto (Table.States (399), 123, 339);
- Add_Goto (Table.States (399), 323, 243);
- Table.States (399).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (252, 240, 3, False), (252, 240, 2, False), (273, 240, 3, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True)));
- Table.States (399).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (400).Action_List.Set_Capacity (41);
- Add_Action (Table.States (400), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (215, 0), 3,
+ Add_Action (Table.States (395), 13, Reduce, (162, 0), 1, null,
null);
+ Add_Action (Table.States (395), 24, Reduce, (162, 0), 1, null,
null);
+ Add_Action (Table.States (395), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (395), 28, (124, 0), 185);
+ Add_Action (Table.States (395), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (395), 30, (213, 0), 8);
+ Add_Action (Table.States (395), 40, (249, 0), 12);
+ Add_Action (Table.States (395), 46, (249, 1), 14);
+ Add_Action (Table.States (395), 47, (216, 0), 15);
+ Add_Action (Table.States (395), 48, (260, 0), 16);
+ Add_Action (Table.States (395), 49, Reduce, (162, 0), 1, null,
null);
+ Add_Action (Table.States (395), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (395), 51, (267, 0), 19);
+ Add_Action (Table.States (395), 63, (316, 0), 25);
+ Add_Action (Table.States (395), 66, (308, 0), 26);
+ Add_Action (Table.States (395), 69, (209, 0), 27);
+ Add_Action (Table.States (395), 71, (334, 0), 28);
+ Add_Action (Table.States (395), 107, (222, 1), 187);
+ Table.States (395).Goto_List.Set_Capacity (51);
+ Add_Goto (Table.States (395), 115, 36);
+ Add_Goto (Table.States (395), 124, 38);
+ Add_Goto (Table.States (395), 130, 41);
+ Add_Goto (Table.States (395), 137, 46);
+ Add_Goto (Table.States (395), 138, 47);
+ Add_Goto (Table.States (395), 160, 568);
+ Add_Goto (Table.States (395), 182, 55);
+ Add_Goto (Table.States (395), 185, 56);
+ Add_Goto (Table.States (395), 189, 57);
+ Add_Goto (Table.States (395), 196, 59);
+ Add_Goto (Table.States (395), 209, 61);
+ Add_Goto (Table.States (395), 210, 62);
+ Add_Goto (Table.States (395), 212, 63);
+ Add_Goto (Table.States (395), 213, 64);
+ Add_Goto (Table.States (395), 216, 65);
+ Add_Goto (Table.States (395), 217, 66);
+ Add_Goto (Table.States (395), 218, 67);
+ Add_Goto (Table.States (395), 219, 68);
+ Add_Goto (Table.States (395), 222, 70);
+ Add_Goto (Table.States (395), 226, 72);
+ Add_Goto (Table.States (395), 246, 75);
+ Add_Goto (Table.States (395), 247, 76);
+ Add_Goto (Table.States (395), 248, 77);
+ Add_Goto (Table.States (395), 249, 78);
+ Add_Goto (Table.States (395), 250, 79);
+ Add_Goto (Table.States (395), 251, 80);
+ Add_Goto (Table.States (395), 252, 81);
+ Add_Goto (Table.States (395), 253, 82);
+ Add_Goto (Table.States (395), 254, 83);
+ Add_Goto (Table.States (395), 260, 569);
+ Add_Goto (Table.States (395), 262, 85);
+ Add_Goto (Table.States (395), 263, 86);
+ Add_Goto (Table.States (395), 265, 88);
+ Add_Goto (Table.States (395), 266, 89);
+ Add_Goto (Table.States (395), 267, 90);
+ Add_Goto (Table.States (395), 268, 91);
+ Add_Goto (Table.States (395), 274, 92);
+ Add_Goto (Table.States (395), 284, 95);
+ Add_Goto (Table.States (395), 292, 96);
+ Add_Goto (Table.States (395), 307, 103);
+ Add_Goto (Table.States (395), 308, 104);
+ Add_Goto (Table.States (395), 310, 106);
+ Add_Goto (Table.States (395), 311, 107);
+ Add_Goto (Table.States (395), 312, 108);
+ Add_Goto (Table.States (395), 314, 109);
+ Add_Goto (Table.States (395), 316, 110);
+ Add_Goto (Table.States (395), 319, 112);
+ Add_Goto (Table.States (395), 320, 113);
+ Add_Goto (Table.States (395), 322, 114);
+ Add_Goto (Table.States (395), 328, 116);
+ Add_Goto (Table.States (395), 334, 117);
+ Table.States (395).Kernel := To_Vector ((((161, 0), 161, 3,
(2147483647, 0), 0), ((161, 1), 161, 3,
+ (2147483647, 0), 0), ((162, 0), 161, 0, (162, 0), 1)));
+ Table.States (395).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (162, 0), 1)));
+ Table.States (396).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (396), 13, (136, 0), 570);
+ Table.States (396).Kernel := To_Vector ((0 => ((136, 0), 162, 3,
(2147483647, 0), 0)));
+ Table.States (396).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (136, 0), 13, 570)));
+ Table.States (397).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (397), (13, 24, 25, 28, 29, 30, 40, 46,
47, 48, 49, 50, 51, 63, 66, 69, 71, 107),
+ (161, 3), 1, null, null);
+ Table.States (397).Kernel := To_Vector ((0 => ((161, 3), 260, 0,
(161, 3), 1)));
+ Table.States (397).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (161, 3), 1)));
+ Table.States (398).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (398), 33, (233, 2), 314);
+ Add_Action (Table.States (398), 42, (233, 3), 315);
+ Add_Action (Table.States (398), 84, (233, 0), 316);
+ Table.States (398).Kernel := To_Vector ((((233, 0), 107, 5,
(2147483647, 0), 0), ((233, 1), 107, 4,
+ (2147483647, 0), 0), ((233, 2), 107, 3, (2147483647, 0), 0),
((233, 3), 107, 3, (2147483647, 0), 0),
+ ((233, 4), 107, 2, (2147483647, 0), 0), ((233, 5), 107, 2,
(2147483647, 0), 0)));
+ Table.States (398).Minimal_Complete_Actions := To_Vector (((Shift,
(233, 3), 42, 315), (Shift, (233, 2),
+ 33, 314)));
+ Table.States (399).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (399), 24, (235, 1), 571);
+ Table.States (399).Kernel := To_Vector ((0 => ((235, 1), 303, 3,
(2147483647, 0), 0)));
+ Table.States (399).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (235, 1), 24, 571)));
+ Table.States (400).Action_List.Set_Capacity (24);
+ Add_Action (Table.States (400), 4, (116, 0), 1);
+ Add_Action (Table.States (400), 5, (306, 8), 2);
+ Add_Action (Table.States (400), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (400), 15, (142, 0), 3);
+ Add_Action (Table.States (400), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (400), 18, (164, 0), 4);
+ Add_Action (Table.States (400), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (400), 27, (193, 0), 5);
+ Add_Action (Table.States (400), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (400), 31, (306, 3), 9);
+ Add_Action (Table.States (400), 32, (225, 0), 10);
+ Add_Action (Table.States (400), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (400), 41, (306, 0), 13);
+ Add_Action (Table.States (400), 48, (260, 0), 16);
+ Add_Action (Table.States (400), 52, (279, 0), 20);
+ Add_Action (Table.States (400), 57, (293, 0), 21);
+ Add_Action (Table.States (400), 58, (199, 0), 22);
+ Add_Action (Table.States (400), 61, (129, 0), 24);
+ Add_Action (Table.States (400), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (400), 81, (242, 8), 31);
+ Add_Action (Table.States (400), 96, (220, 0), 32);
+ Add_Action (Table.States (400), 107, (134, 0), 363);
+ Add_Action (Table.States (400), 108, (242, 7), 34);
+ Add_Action (Table.States (400), 109, (242, 6), 35);
+ Table.States (400).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (400), 116, 37);
+ Add_Goto (Table.States (400), 126, 39);
+ Add_Goto (Table.States (400), 129, 40);
+ Add_Goto (Table.States (400), 131, 42);
+ Add_Goto (Table.States (400), 134, 43);
+ Add_Goto (Table.States (400), 135, 44);
+ Add_Goto (Table.States (400), 136, 45);
+ Add_Goto (Table.States (400), 142, 48);
+ Add_Goto (Table.States (400), 154, 51);
+ Add_Goto (Table.States (400), 155, 52);
+ Add_Goto (Table.States (400), 164, 54);
+ Add_Goto (Table.States (400), 193, 58);
+ Add_Goto (Table.States (400), 199, 60);
+ Add_Goto (Table.States (400), 220, 69);
+ Add_Goto (Table.States (400), 225, 71);
+ Add_Goto (Table.States (400), 235, 73);
+ Add_Goto (Table.States (400), 242, 74);
+ Add_Goto (Table.States (400), 260, 84);
+ Add_Goto (Table.States (400), 264, 87);
+ Add_Goto (Table.States (400), 275, 93);
+ Add_Goto (Table.States (400), 279, 94);
+ Add_Goto (Table.States (400), 293, 97);
+ Add_Goto (Table.States (400), 296, 98);
+ Add_Goto (Table.States (400), 297, 99);
+ Add_Goto (Table.States (400), 301, 100);
+ Add_Goto (Table.States (400), 302, 364);
+ Add_Goto (Table.States (400), 303, 572);
+ Add_Goto (Table.States (400), 305, 101);
+ Add_Goto (Table.States (400), 306, 102);
+ Add_Goto (Table.States (400), 309, 366);
+ Add_Goto (Table.States (400), 326, 115);
+ Table.States (400).Kernel := To_Vector ((0 => ((235, 0), 37, 3,
(2147483647, 0), 0)));
+ Table.States (400).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
+ Table.States (401).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (401), 35, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (401), 74, (125, 0), 340);
+ Add_Action (Table.States (401), 76, (118, 0), 237);
+ Add_Action (Table.States (401), 87, (296, 0), 239);
+ Add_Action (Table.States (401), 104, (325, 0), 241);
+ Add_Action (Table.States (401), 105, (325, 1), 242);
+ Table.States (401).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (401), 118, 243);
+ Add_Goto (Table.States (401), 125, 341);
+ Add_Goto (Table.States (401), 325, 244);
+ Table.States (401).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((254, 0), 242, 3, (2147483647, 0), 0),
+ ((254, 1), 242, 2, (2147483647, 0), 0), ((275, 0), 242, 3,
(2147483647, 0), 0), ((296, 0), 242, 2,
+ (2147483647, 0), 0), ((296, 1), 242, 2, (2147483647, 0), 0),
((296, 2), 242, 2, (2147483647, 0), 0),
+ ((296, 3), 242, 2, (2147483647, 0), 0)));
+ Table.States (401).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (402).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (402), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (217, 0), 3,
generic_package_declaration_0'Access, null);
- Table.States (400).Kernel := To_Vector ((0 => (215, 97, 0,
False)));
- Table.States (400).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 215, 3)));
- Table.States (401).Action_List.Set_Capacity (1);
- Add_Action (Table.States (401), 97, 569);
- Table.States (401).Kernel := To_Vector ((0 => (217, 123, 1,
False)));
- Table.States (401).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 569)));
- Table.States (402).Action_List.Set_Capacity (15);
- Add_Action (Table.States (402), (7, 11, 16, 21, 33, 40, 45, 74,
77, 79, 83, 97, 105, 106, 107), (119, 0),
- 1, null, null);
- Table.States (402).Kernel := To_Vector ((0 => (119, 8, 0, False)));
- Table.States (402).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 119, 1)));
+ Table.States (402).Kernel := To_Vector ((0 => ((217, 0), 99, 0,
(217, 0), 3)));
+ Table.States (402).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (217, 0), 3)));
Table.States (403).Action_List.Set_Capacity (1);
- Add_Action (Table.States (403), 83, 570);
- Table.States (403).Kernel := To_Vector ((0 => (158, 16, 2,
False)));
- Table.States (403).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 83, 570)));
- Table.States (404).Action_List.Set_Capacity (1);
- Add_Action (Table.States (404), 97, 571);
- Table.States (404).Kernel := To_Vector ((0 => (187, 26, 1,
False)));
- Table.States (404).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 571)));
- Table.States (405).Action_List.Set_Capacity (11);
- Add_Action (Table.States (405), 7, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (405), 11, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (405), 16, 572);
- Add_Action (Table.States (405), 40, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (405), 74, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (405), 79, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (405), 83, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (405), 97, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (405), 105, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (405), 106, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (405), 107, Reduce, (155, 1), 0, null,
null);
- Table.States (405).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (405), 155, 573);
- Table.States (405).Kernel := To_Vector (((245, 119, 3, False),
(245, 119, 4, False), (245, 119, 10, False),
- (245, 119, 2, False), (245, 119, 3, False), (245, 119, 9, False)));
- Table.States (405).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 155, 0)));
- Table.States (406).Action_List.Set_Capacity (2);
- Add_Action (Table.States (406), (82, 84), (220, 0), 3,
identifier_list_0'Access, null);
- Table.States (406).Kernel := To_Vector ((0 => (220, 105, 0,
True)));
- Table.States (406).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 220, 3)));
- Table.States (406).Minimal_Complete_Actions_Recursive := True;
- Table.States (407).Action_List.Set_Capacity (2);
- Add_Action (Table.States (407), 77, 574);
- Add_Action (Table.States (407), 84, 445);
- Table.States (407).Kernel := To_Vector (((116, 126, 1, False),
(126, 126, 1, True)));
- Table.States (407).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 574)));
- Table.States (408).Action_List.Set_Capacity (1);
- Add_Action (Table.States (408), 77, 575);
- Table.States (408).Kernel := To_Vector ((0 => (116, 154, 1,
False)));
- Table.States (408).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 575)));
- Table.States (409).Action_List.Set_Capacity (6);
- Add_Action (Table.States (409), 35, Reduce, (125, 5), 1,
association_opt_5'Access, null);
- Add_Action (Table.States (409), 77, Reduce, (125, 5), 1,
association_opt_5'Access, null);
- Add_Action (Table.States (409), 80, Reduce, (166, 0), 1, null,
null);
- Add_Action (Table.States (409), 84, Reduce, (125, 5), 1,
association_opt_5'Access, null);
- Add_Action (Table.States (409), 88, Reduce, (166, 0), 1, null,
null);
- Add_Action (Table.States (409), 97, Reduce, (125, 5), 1,
association_opt_5'Access, null);
- Table.States (409).Kernel := To_Vector (((125, 192, 0, False),
(166, 192, 0, False)));
- Table.States (409).Minimal_Complete_Actions := To_Vector
(((Reduce, 125, 1), (Reduce, 166, 1)));
- Table.States (410).Action_List.Set_Capacity (4);
- Add_Action (Table.States (410), 77, Reduce, (279, 1), 1, null,
null);
- Add_Action (Table.States (410), 80, Reduce, (166, 2), 1, null,
null);
- Add_Action (Table.States (410), 84, Reduce, (279, 1), 1, null,
null);
- Add_Action (Table.States (410), 88, Reduce, (166, 2), 1, null,
null);
- Table.States (410).Kernel := To_Vector (((166, 278, 0, False),
(279, 278, 0, False)));
- Table.States (410).Minimal_Complete_Actions := To_Vector
(((Reduce, 166, 1), (Reduce, 279, 1)));
- Table.States (411).Action_List.Set_Capacity (2);
- Add_Action (Table.States (411), 77, 576);
- Add_Action (Table.States (411), 84, 577);
- Table.States (411).Kernel := To_Vector (((240, 279, 1, True),
(279, 279, 4, True)));
- Table.States (411).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 576)));
- Table.States (411).Minimal_Complete_Actions_Recursive := True;
- Table.States (412).Action_List.Set_Capacity (1);
- Add_Action (Table.States (412), 97, 578);
- Table.States (412).Kernel := To_Vector ((0 => (124, 193, 1,
False)));
- Table.States (412).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 578)));
- Table.States (413).Action_List.Set_Capacity (64);
- Add_Action (Table.States (413), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (294, 3), 3,
- selected_component_3'Access, null);
- Table.States (413).Kernel := To_Vector ((0 => (294, 9, 0, True)));
- Table.States (413).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 294, 3)));
- Table.States (413).Minimal_Complete_Actions_Recursive := True;
- Table.States (414).Action_List.Set_Capacity (64);
- Add_Action (Table.States (414), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (294, 0), 3,
- selected_component_0'Access, selected_component_0_check'Access);
- Table.States (414).Kernel := To_Vector ((0 => (294, 105, 0,
True)));
- Table.States (414).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 294, 3)));
- Table.States (414).Minimal_Complete_Actions_Recursive := True;
- Table.States (415).Action_List.Set_Capacity (64);
+ Add_Action (Table.States (403), 99, (219, 0), 573);
+ Table.States (403).Kernel := To_Vector ((0 => ((219, 0), 125, 1,
(2147483647, 0), 0)));
+ Table.States (403).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (219, 0), 99, 573)));
+ Table.States (404).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (404), (7, 11, 16, 21, 33, 40, 45, 74,
78, 81, 85, 99, 107, 108, 109), (121, 0),
+ 1, null, null);
+ Table.States (404).Kernel := To_Vector ((0 => ((121, 0), 8, 0,
(121, 0), 1)));
+ Table.States (404).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (121, 0), 1)));
+ Table.States (405).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (405), 85, (160, 9), 574);
+ Table.States (405).Kernel := To_Vector ((0 => ((160, 9), 16, 2,
(2147483647, 0), 0)));
+ Table.States (405).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (160, 9), 85, 574)));
+ Table.States (406).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (406), 99, (189, 0), 575);
+ Table.States (406).Kernel := To_Vector ((0 => ((189, 0), 26, 1,
(2147483647, 0), 0)));
+ Table.States (406).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (189, 0), 99, 575)));
+ Table.States (407).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (407), 7, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (407), 11, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (407), 16, (157, 0), 576);
+ Add_Action (Table.States (407), 40, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (407), 74, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (407), 81, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (407), 85, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (407), 99, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (407), 107, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (407), 108, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (407), 109, Reduce, (157, 1), 0, null,
null);
+ Table.States (407).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (407), 157, 577);
+ Table.States (407).Kernel := To_Vector ((((247, 0), 121, 3,
(2147483647, 0), 0), ((247, 1), 121, 4,
+ (2147483647, 0), 0), ((247, 2), 121, 10, (2147483647, 0), 0),
((247, 3), 121, 2, (2147483647, 0),
+ 0), ((247, 4), 121, 3, (2147483647, 0), 0), ((247, 5), 121,
9, (2147483647, 0), 0)));
+ Table.States (407).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (157, 1), 0)));
+ Table.States (408).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (408), (84, 86), (222, 0), 3,
identifier_list_0'Access, null);
+ Table.States (408).Kernel := To_Vector ((0 => ((222, 0), 107, 0,
(222, 0), 3)));
+ Table.States (408).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (222, 0), 3)));
+ Table.States (409).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (409), 78, (118, 0), 578);
+ Add_Action (Table.States (409), 86, (128, 0), 448);
+ Table.States (409).Kernel := To_Vector ((((118, 0), 128, 1,
(2147483647, 0), 0), ((128, 0), 128, 1,
+ (2147483647, 0), 0)));
+ Table.States (409).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (118, 0), 78, 578)));
+ Table.States (410).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (410), 78, (118, 1), 579);
+ Table.States (410).Kernel := To_Vector ((0 => ((118, 1), 156, 1,
(2147483647, 0), 0)));
+ Table.States (410).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (118, 1), 78, 579)));
+ Table.States (411).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (411), 35, Reduce, (127, 4), 1,
association_opt_4'Access, null);
+ Add_Action (Table.States (411), 78, Reduce, (127, 4), 1,
association_opt_4'Access, null);
+ Add_Action (Table.States (411), 79, Reduce, (127, 4), 1,
association_opt_4'Access, null);
+ Add_Action (Table.States (411), 82, Reduce, (168, 0), 1, null,
null);
+ Add_Action (Table.States (411), 86, Reduce, (127, 4), 1,
association_opt_4'Access, null);
+ Add_Action (Table.States (411), 90, Reduce, (168, 0), 1, null,
null);
+ Add_Action (Table.States (411), 99, Reduce, (127, 4), 1,
association_opt_4'Access, null);
+ Table.States (411).Kernel := To_Vector ((((127, 4), 194, 0,
(127, 4), 1), ((168, 0), 194, 0, (168, 0),
+ 1)));
+ Table.States (411).Minimal_Complete_Actions := To_Vector
(((Reduce, (127, 4), 1), (Reduce, (168, 0),
+ 1)));
+ Table.States (412).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (412), 78, Reduce, (281, 1), 1, null,
null);
+ Add_Action (Table.States (412), 82, Reduce, (168, 2), 1, null,
null);
+ Add_Action (Table.States (412), 86, Reduce, (281, 1), 1, null,
null);
+ Add_Action (Table.States (412), 90, Reduce, (168, 2), 1, null,
null);
+ Table.States (412).Kernel := To_Vector ((((168, 2), 280, 0,
(168, 2), 1), ((281, 1), 280, 0, (281, 1),
+ 1)));
+ Table.States (412).Minimal_Complete_Actions := To_Vector
(((Reduce, (168, 2), 1), (Reduce, (281, 1),
+ 1)));
+ Table.States (413).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (413), 78, (242, 0), 580);
+ Add_Action (Table.States (413), 86, (281, 0), 581);
+ Table.States (413).Kernel := To_Vector ((((242, 0), 281, 1,
(2147483647, 0), 0), ((281, 0), 281, 4,
+ (2147483647, 0), 0)));
+ Table.States (414).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (414), 99, (126, 0), 582);
+ Table.States (414).Kernel := To_Vector ((0 => ((126, 0), 195, 1,
(2147483647, 0), 0)));
+ Table.States (414).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (126, 0), 99, 582)));
+ Table.States (415).Action_List.Set_Capacity (65);
Add_Action (Table.States (415), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (294, 2), 3,
- selected_component_2'Access, selected_component_2_check'Access);
- Table.States (415).Kernel := To_Vector ((0 => (294, 106, 0,
True)));
- Table.States (415).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 294, 3)));
- Table.States (415).Minimal_Complete_Actions_Recursive := True;
- Table.States (416).Action_List.Set_Capacity (64);
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (296, 3), 3,
+ selected_component_3'Access, null);
+ Table.States (415).Kernel := To_Vector ((0 => ((296, 3), 9, 0,
(296, 3), 3)));
+ Table.States (415).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (296, 3), 3)));
+ Table.States (416).Action_List.Set_Capacity (65);
Add_Action (Table.States (416), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (294, 1), 3,
- selected_component_1'Access, null);
- Table.States (416).Kernel := To_Vector ((0 => (294, 107, 0,
True)));
- Table.States (416).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 294, 3)));
- Table.States (416).Minimal_Complete_Actions_Recursive := True;
- Table.States (417).Action_List.Set_Capacity (64);
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (296, 0), 3,
+ selected_component_0'Access, selected_component_0_check'Access);
+ Table.States (416).Kernel := To_Vector ((0 => ((296, 0), 107, 0,
(296, 0), 3)));
+ Table.States (416).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (296, 0), 3)));
+ Table.States (417).Action_List.Set_Capacity (65);
Add_Action (Table.States (417), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (130, 2), 1, null, null);
- Table.States (417).Kernel := To_Vector ((0 => (130, 7, 0, False)));
- Table.States (417).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 130, 1)));
- Table.States (418).Action_List.Set_Capacity (64);
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (296, 2), 3,
+ selected_component_2'Access, selected_component_2_check'Access);
+ Table.States (417).Kernel := To_Vector ((0 => ((296, 2), 108, 0,
(296, 2), 3)));
+ Table.States (417).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (296, 2), 3)));
+ Table.States (418).Action_List.Set_Capacity (65);
Add_Action (Table.States (418), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (130, 3), 1, null, null);
- Table.States (418).Kernel := To_Vector ((0 => (130, 19, 0,
False)));
- Table.States (418).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 130, 1)));
- Table.States (419).Action_List.Set_Capacity (64);
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (296, 1), 3,
+ selected_component_1'Access, null);
+ Table.States (418).Kernel := To_Vector ((0 => ((296, 1), 109, 0,
(296, 1), 3)));
+ Table.States (418).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (296, 1), 3)));
+ Table.States (419).Action_List.Set_Capacity (65);
Add_Action (Table.States (419), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (130, 4), 1, null, null);
- Table.States (419).Kernel := To_Vector ((0 => (130, 20, 0,
False)));
- Table.States (419).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 130, 1)));
- Table.States (420).Action_List.Set_Capacity (64);
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (132, 2), 1, null,
+ null);
+ Table.States (419).Kernel := To_Vector ((0 => ((132, 2), 7, 0,
(132, 2), 1)));
+ Table.States (419).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (132, 2), 1)));
+ Table.States (420).Action_List.Set_Capacity (65);
Add_Action (Table.States (420), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (130, 5), 1, null, null);
- Table.States (420).Kernel := To_Vector ((0 => (130, 38, 0,
False)));
- Table.States (420).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 130, 1)));
- Table.States (421).Action_List.Set_Capacity (64);
- Add_Action (Table.States (421), 4, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 5, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 10, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 13, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 15, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 17, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 18, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 20, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 21, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 22, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 23, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 27, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 28, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 31, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 32, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 33, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 35, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 37, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 38, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 40, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 41, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 42, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 43, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 48, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 52, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 53, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 55, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 56, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 57, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 58, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 61, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 68, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 71, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 73, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 74, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 75, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 76, 579);
- Add_Conflict (Table.States (421), 76, (130, 1), 1, null, null);
- Add_Action (Table.States (421), 77, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 78, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 79, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 80, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 83, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 84, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 85, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 86, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 87, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 88, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 89, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 90, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 92, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 93, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 94, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 95, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 96, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 97, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 98, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 99, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 100, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 101, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 102, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 103, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 105, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 106, Reduce, (130, 1), 1, null,
null);
- Add_Action (Table.States (421), 107, Reduce, (130, 1), 1, null,
null);
- Table.States (421).Kernel := To_Vector (((130, 105, 3, False),
(130, 105, 0, False)));
- Table.States (421).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 130, 1)));
- Table.States (422).Action_List.Set_Capacity (64);
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (132, 3), 1, null,
+ null);
+ Table.States (420).Kernel := To_Vector ((0 => ((132, 3), 19, 0,
(132, 3), 1)));
+ Table.States (420).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (132, 3), 1)));
+ Table.States (421).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (421), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (132, 4), 1, null,
+ null);
+ Table.States (421).Kernel := To_Vector ((0 => ((132, 4), 20, 0,
(132, 4), 1)));
+ Table.States (421).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (132, 4), 1)));
+ Table.States (422).Action_List.Set_Capacity (65);
Add_Action (Table.States (422), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (273, 0), 3,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (132, 5), 1, null,
+ null);
+ Table.States (422).Kernel := To_Vector ((0 => ((132, 5), 38, 0,
(132, 5), 1)));
+ Table.States (422).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (132, 5), 1)));
+ Table.States (423).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (423), 4, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 5, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 10, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 13, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 15, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 17, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 18, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 20, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 21, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 22, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 23, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 27, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 28, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 31, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 32, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 33, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 35, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 37, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 38, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 40, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 41, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 42, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 43, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 48, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 52, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 53, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 55, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 56, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 57, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 58, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 61, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 68, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 71, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 73, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 74, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 75, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 76, (132, 0), 583);
+ Add_Conflict (Table.States (423), 76, (132, 1), 1, null, null);
+ Add_Action (Table.States (423), 78, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 79, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 80, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 81, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 82, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 85, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 86, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 87, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 88, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 89, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 90, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 91, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 92, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 94, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 95, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 96, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 97, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 98, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 99, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 100, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 101, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 102, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 103, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 104, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 105, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 107, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 108, Reduce, (132, 1), 1, null,
null);
+ Add_Action (Table.States (423), 109, Reduce, (132, 1), 1, null,
null);
+ Table.States (423).Kernel := To_Vector ((((132, 0), 107, 3,
(2147483647, 0), 0), ((132, 1), 107, 0,
+ (132, 1), 1)));
+ Table.States (423).Minimal_Complete_Actions := To_Vector (((Shift,
(132, 0), 76, 583), (Reduce, (132, 1),
+ 1)));
+ end Subr_8;
+ procedure Subr_9
+ is begin
+ Table.States (424).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (424), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (275, 0), 3,
qualified_expression_0'Access, null);
- Table.States (422).Kernel := To_Vector ((0 => (273, 118, 0,
True)));
- Table.States (422).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 273, 3)));
- Table.States (422).Minimal_Complete_Actions_Recursive := True;
- Table.States (423).Action_List.Set_Capacity (64);
- Add_Action (Table.States (423), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (129, 0), 3, null, null);
- Table.States (423).Kernel := To_Vector ((0 => (129, 130, 0,
True)));
- Table.States (423).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 129, 3)));
- Table.States (423).Minimal_Complete_Actions_Recursive := True;
- Table.States (424).Action_List.Set_Capacity (3);
- Add_Action (Table.States (424), 74, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (424), 76, 580);
- Add_Action (Table.States (424), 97, Reduce, (254, 1), 0, null,
null);
- Table.States (424).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (424), 200, 345);
- Add_Goto (Table.States (424), 254, 581);
- Table.States (424).Kernel := To_Vector (((180, 105, 4, False),
(180, 105, 1, False)));
- Table.States (424).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 254, 0)));
- Table.States (425).Action_List.Set_Capacity (6);
- Add_Action (Table.States (425), 35, 582);
- Add_Action (Table.States (425), 58, 318);
- Add_Action (Table.States (425), 76, 319);
- Add_Action (Table.States (425), 85, 238);
- Add_Action (Table.States (425), 102, 240);
- Add_Action (Table.States (425), 103, 241);
- Table.States (425).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (425), 116, 242);
- Add_Goto (Table.States (425), 200, 320);
- Add_Goto (Table.States (425), 253, 321);
- Add_Goto (Table.States (425), 292, 322);
- Add_Goto (Table.States (425), 323, 243);
- Table.States (425).Kernel := To_Vector (((129, 240, 2, True),
(208, 240, 1, False), (214, 240, 4, False),
- (240, 240, 5, True), (240, 240, 2, True), (273, 240, 3, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True)));
- Table.States (425).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 58, 318)));
- Table.States (426).Action_List.Set_Capacity (8);
- Add_Action (Table.States (426), 35, 583);
- Add_Conflict (Table.States (426), 35, (254, 1), 0, null, null);
- Add_Action (Table.States (426), 56, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (426), 74, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (426), 76, 319);
- Add_Action (Table.States (426), 85, 238);
- Add_Action (Table.States (426), 97, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (426), 102, 240);
- Add_Action (Table.States (426), 103, 241);
- Table.States (426).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (426), 116, 242);
- Add_Goto (Table.States (426), 200, 345);
- Add_Goto (Table.States (426), 254, 346);
- Add_Goto (Table.States (426), 323, 243);
- Table.States (426).Kernel := To_Vector (((129, 240, 2, True),
(214, 240, 4, False), (240, 240, 5, True),
- (240, 240, 2, True), (263, 240, 0, False), (273, 240, 3, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True)));
- Table.States (426).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 254, 0)));
- Table.States (427).Action_List.Set_Capacity (1);
- Add_Action (Table.States (427), 76, 584);
- Table.States (427).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (427), 118, 585);
- Add_Goto (Table.States (427), 257, 586);
- Table.States (427).Kernel := To_Vector ((0 => (194, 35, 3,
False)));
- Table.States (427).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 76, 584)));
- Table.States (428).Action_List.Set_Capacity (1);
- Add_Action (Table.States (428), 41, 587);
- Table.States (428).Kernel := To_Vector ((0 => (244, 35, 2,
False)));
- Table.States (428).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 41, 587)));
+ Table.States (424).Kernel := To_Vector ((0 => ((275, 0), 120, 0,
(275, 0), 3)));
+ Table.States (424).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (275, 0), 3)));
+ Table.States (425).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (425), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (131, 0), 3, null,
+ null);
+ Table.States (425).Kernel := To_Vector ((0 => ((131, 0), 132, 0,
(131, 0), 3)));
+ Table.States (425).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (131, 0), 3)));
+ Table.States (426).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (426), 74, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (426), 76, (182, 0), 584);
+ Add_Action (Table.States (426), 99, Reduce, (256, 1), 0, null,
null);
+ Table.States (426).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (426), 202, 347);
+ Add_Goto (Table.States (426), 256, 585);
+ Table.States (426).Kernel := To_Vector ((((182, 0), 107, 4,
(2147483647, 0), 0), ((182, 1), 107, 1,
+ (2147483647, 0), 0)));
+ Table.States (426).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (256, 1), 0)));
+ Table.States (427).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (427), 35, (216, 2), 586);
+ Add_Action (Table.States (427), 58, (294, 0), 320);
+ Add_Action (Table.States (427), 76, (118, 0), 321);
+ Add_Action (Table.States (427), 87, (296, 0), 239);
+ Add_Action (Table.States (427), 104, (325, 0), 241);
+ Add_Action (Table.States (427), 105, (325, 1), 242);
+ Table.States (427).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (427), 118, 243);
+ Add_Goto (Table.States (427), 202, 322);
+ Add_Goto (Table.States (427), 255, 323);
+ Add_Goto (Table.States (427), 294, 324);
+ Add_Goto (Table.States (427), 325, 244);
+ Table.States (427).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((210, 0), 242, 1,
+ (2147483647, 0), 0), ((216, 2), 242, 4, (2147483647, 0), 0),
((242, 0), 242, 5, (2147483647, 0), 0),
+ ((242, 1), 242, 2, (2147483647, 0), 0), ((275, 0), 242, 3,
(2147483647, 0), 0), ((296, 0), 242, 2,
+ (2147483647, 0), 0), ((296, 1), 242, 2, (2147483647, 0), 0),
((296, 2), 242, 2, (2147483647, 0), 0),
+ ((296, 3), 242, 2, (2147483647, 0), 0)));
+ Table.States (427).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (294, 0), 58, 320)));
+ Table.States (428).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (428), 35, (216, 1), 587);
+ Add_Conflict (Table.States (428), 35, (256, 1), 0, null, null);
+ Add_Action (Table.States (428), 56, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (428), 74, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (428), 76, (118, 0), 321);
+ Add_Action (Table.States (428), 87, (296, 0), 239);
+ Add_Action (Table.States (428), 99, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (428), 104, (325, 0), 241);
+ Add_Action (Table.States (428), 105, (325, 1), 242);
+ Table.States (428).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (428), 118, 243);
+ Add_Goto (Table.States (428), 202, 347);
+ Add_Goto (Table.States (428), 256, 348);
+ Add_Goto (Table.States (428), 325, 244);
+ Table.States (428).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((216, 1), 242, 4,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((265, 0), 242, 0, (256, 1), 0), ((275, 0), 242, 3,
(2147483647, 0), 0), ((296, 0), 242, 2,
+ (2147483647, 0), 0), ((296, 1), 242, 2, (2147483647, 0), 0),
((296, 2), 242, 2, (2147483647, 0), 0),
+ ((296, 3), 242, 2, (2147483647, 0), 0)));
+ Table.States (428).Minimal_Complete_Actions := To_Vector (((Shift,
(216, 1), 35, 587), (Reduce, (256, 1),
+ 0)));
Table.States (429).Action_List.Set_Capacity (2);
- Add_Action (Table.States (429), 6, 588);
- Add_Action (Table.States (429), 60, 589);
- Table.States (429).Kernel := To_Vector (((113, 35, 2, False),
(309, 35, 2, False)));
- Table.States (429).Minimal_Complete_Actions := To_Vector (((Shift,
6, 588), (Shift, 60, 589)));
- Table.States (430).Action_List.Set_Capacity (4);
- Add_Action (Table.States (430), 79, 31);
- Add_Action (Table.States (430), 105, 120);
- Add_Action (Table.States (430), 106, 34);
- Add_Action (Table.States (430), 107, 35);
- Table.States (430).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (430), 129, 42);
- Add_Goto (Table.States (430), 240, 590);
- Add_Goto (Table.States (430), 273, 93);
- Add_Goto (Table.States (430), 294, 98);
- Table.States (430).Kernel := To_Vector ((0 => (312, 56, 2,
False)));
- Table.States (430).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
+ Add_Action (Table.States (429), 76, (120, 0), 588);
+ Add_Action (Table.States (429), 77, (120, 5), 128);
+ Table.States (429).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (429), 120, 589);
+ Add_Goto (Table.States (429), 259, 590);
+ Table.States (429).Kernel := To_Vector ((0 => ((196, 0), 35, 3,
(2147483647, 0), 0)));
+ Table.States (429).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (120, 0), 76, 588)));
+ Table.States (430).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (430), 41, (246, 0), 591);
+ Table.States (430).Kernel := To_Vector ((0 => ((246, 0), 35, 2,
(2147483647, 0), 0)));
+ Table.States (430).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (246, 0), 41, 591)));
Table.States (431).Action_List.Set_Capacity (2);
- Add_Action (Table.States (431), 35, 591);
- Add_Action (Table.States (431), 97, 592);
- Table.States (431).Kernel := To_Vector (((308, 123, 4, False),
(310, 123, 1, False)));
- Table.States (431).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 592)));
- Table.States (432).Action_List.Set_Capacity (3);
- Add_Action (Table.States (432), 77, Reduce, (255, 4), 0, null,
null);
- Add_Action (Table.States (432), 97, Reduce, (255, 4), 0, null,
null);
- Add_Action (Table.States (432), 105, 165);
- Table.States (432).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (432), 220, 496);
- Add_Goto (Table.States (432), 255, 497);
- Add_Goto (Table.States (432), 256, 498);
- Table.States (432).Kernel := To_Vector ((0 => (200, 76, 1,
False)));
- Table.States (432).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 256, 0)));
+ Add_Action (Table.States (431), 6, (115, 0), 592);
+ Add_Action (Table.States (431), 60, (311, 0), 593);
+ Table.States (431).Kernel := To_Vector ((((115, 0), 35, 2,
(2147483647, 0), 0), ((311, 0), 35, 2,
+ (2147483647, 0), 0)));
+ Table.States (431).Minimal_Complete_Actions := To_Vector (((Shift,
(115, 0), 6, 592), (Shift, (311, 0),
+ 60, 593)));
+ Table.States (432).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (432), 81, (242, 8), 31);
+ Add_Action (Table.States (432), 107, (242, 5), 120);
+ Add_Action (Table.States (432), 108, (242, 7), 34);
+ Add_Action (Table.States (432), 109, (242, 6), 35);
+ Table.States (432).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (432), 131, 42);
+ Add_Goto (Table.States (432), 242, 594);
+ Add_Goto (Table.States (432), 275, 93);
+ Add_Goto (Table.States (432), 296, 98);
+ Table.States (432).Kernel := To_Vector ((0 => ((314, 0), 56, 2,
(2147483647, 0), 0)));
+ Table.States (432).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
Table.States (433).Action_List.Set_Capacity (2);
- Add_Action (Table.States (433), 21, 593);
- Add_Action (Table.States (433), 97, 594);
- Table.States (433).Kernel := To_Vector (((114, 254, 3, False),
(114, 254, 1, False)));
- Table.States (433).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 594)));
- Table.States (434).Action_List.Set_Capacity (30);
- Add_Action (Table.States (434), 3, 122);
- Add_Action (Table.States (434), 10, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 20, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 21, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 22, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 23, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 35, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 37, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 39, 123);
- Add_Action (Table.States (434), 40, 124);
- Add_Action (Table.States (434), 41, 125);
- Add_Action (Table.States (434), 43, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 52, 126);
- Add_Action (Table.States (434), 53, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 68, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 74, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 75, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 76, 127);
- Add_Action (Table.States (434), 77, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 79, 31);
- Add_Action (Table.States (434), 80, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 84, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 88, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 95, 128);
- Add_Action (Table.States (434), 96, 129);
- Add_Action (Table.States (434), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (434), 104, 130);
- Add_Action (Table.States (434), 105, 120);
- Add_Action (Table.States (434), 106, 34);
- Add_Action (Table.States (434), 107, 35);
- Table.States (434).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (434), 118, 131);
- Add_Goto (Table.States (434), 129, 42);
- Add_Goto (Table.States (434), 192, 132);
- Add_Goto (Table.States (434), 193, 595);
- Add_Goto (Table.States (434), 198, 134);
- Add_Goto (Table.States (434), 240, 135);
- Add_Goto (Table.States (434), 259, 136);
- Add_Goto (Table.States (434), 273, 93);
- Add_Goto (Table.States (434), 276, 137);
- Add_Goto (Table.States (434), 283, 138);
- Add_Goto (Table.States (434), 284, 139);
- Add_Goto (Table.States (434), 285, 140);
- Add_Goto (Table.States (434), 286, 141);
- Add_Goto (Table.States (434), 287, 142);
- Add_Goto (Table.States (434), 288, 143);
- Add_Goto (Table.States (434), 294, 98);
- Add_Goto (Table.States (434), 302, 144);
- Add_Goto (Table.States (434), 321, 145);
- Add_Goto (Table.States (434), 322, 146);
- Add_Goto (Table.States (434), 331, 147);
- Table.States (434).Kernel := To_Vector ((0 => (276, 74, 0, True)));
- Table.States (434).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (434).Minimal_Complete_Actions_Recursive := True;
- Table.States (435).Action_List.Set_Capacity (1);
- Add_Action (Table.States (435), 35, 596);
- Table.States (435).Kernel := To_Vector ((0 => (137, 193, 3,
False)));
- Table.States (435).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 35, 596)));
- Table.States (436).Action_List.Set_Capacity (1);
- Add_Action (Table.States (436), (1 => 105), (275, 0), 1, null,
null);
- Table.States (436).Kernel := To_Vector ((0 => (275, 9, 0, False)));
- Table.States (436).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 275, 1)));
+ Add_Action (Table.States (433), 35, (310, 0), 595);
+ Add_Action (Table.States (433), 99, (312, 0), 596);
+ Table.States (433).Kernel := To_Vector ((((310, 0), 125, 4,
(2147483647, 0), 0), ((312, 0), 125, 1,
+ (2147483647, 0), 0)));
+ Table.States (433).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (312, 0), 99, 596)));
+ Table.States (434).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (434), 78, Reduce, (257, 4), 0, null,
null);
+ Add_Action (Table.States (434), 99, Reduce, (257, 4), 0, null,
null);
+ Add_Action (Table.States (434), 107, (222, 1), 166);
+ Table.States (434).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (434), 222, 500);
+ Add_Goto (Table.States (434), 257, 501);
+ Add_Goto (Table.States (434), 258, 502);
+ Table.States (434).Kernel := To_Vector ((0 => ((202, 0), 76, 1,
(2147483647, 0), 0)));
+ Table.States (434).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (258, 1), 0)));
+ Table.States (435).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (435), 21, (116, 0), 597);
+ Add_Action (Table.States (435), 99, (116, 1), 598);
+ Table.States (435).Kernel := To_Vector ((((116, 0), 256, 3,
(2147483647, 0), 0), ((116, 1), 256, 1,
+ (2147483647, 0), 0)));
+ Table.States (435).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (116, 1), 99, 598)));
+ Table.States (436).Action_List.Set_Capacity (32);
+ Add_Action (Table.States (436), 3, (200, 2), 122);
+ Add_Action (Table.States (436), 10, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 20, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 21, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 22, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 23, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 35, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 37, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 39, (261, 4), 123);
+ Add_Action (Table.States (436), 40, (200, 3), 124);
+ Add_Action (Table.States (436), 41, (261, 1), 125);
+ Add_Action (Table.States (436), 43, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 52, (278, 0), 126);
+ Add_Action (Table.States (436), 53, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 68, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 74, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 75, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 76, (120, 0), 127);
+ Add_Action (Table.States (436), 77, (120, 5), 128);
+ Add_Action (Table.States (436), 78, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 79, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 81, (242, 8), 31);
+ Add_Action (Table.States (436), 82, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 86, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 90, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 97, (333, 1), 129);
+ Add_Action (Table.States (436), 98, (333, 0), 130);
+ Add_Action (Table.States (436), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (436), 106, (261, 0), 131);
+ Add_Action (Table.States (436), 107, (242, 5), 120);
+ Add_Action (Table.States (436), 108, (242, 7), 34);
+ Add_Action (Table.States (436), 109, (242, 6), 35);
+ Table.States (436).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (436), 120, 132);
+ Add_Goto (Table.States (436), 131, 42);
+ Add_Goto (Table.States (436), 194, 133);
+ Add_Goto (Table.States (436), 195, 599);
+ Add_Goto (Table.States (436), 200, 135);
+ Add_Goto (Table.States (436), 242, 136);
+ Add_Goto (Table.States (436), 261, 137);
+ Add_Goto (Table.States (436), 275, 93);
+ Add_Goto (Table.States (436), 278, 138);
+ Add_Goto (Table.States (436), 285, 139);
+ Add_Goto (Table.States (436), 286, 140);
+ Add_Goto (Table.States (436), 287, 141);
+ Add_Goto (Table.States (436), 288, 142);
+ Add_Goto (Table.States (436), 289, 143);
+ Add_Goto (Table.States (436), 290, 144);
+ Add_Goto (Table.States (436), 296, 98);
+ Add_Goto (Table.States (436), 304, 145);
+ Add_Goto (Table.States (436), 323, 146);
+ Add_Goto (Table.States (436), 324, 147);
+ Add_Goto (Table.States (436), 333, 148);
+ Table.States (436).Kernel := To_Vector ((0 => ((278, 0), 74, 0,
(195, 1), 0)));
+ Table.States (436).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
Table.States (437).Action_List.Set_Capacity (1);
- Add_Action (Table.States (437), (1 => 105), (275, 1), 1, null,
null);
- Table.States (437).Kernel := To_Vector ((0 => (275, 62, 0,
False)));
- Table.States (437).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 275, 1)));
+ Add_Action (Table.States (437), 35, (139, 0), 600);
+ Table.States (437).Kernel := To_Vector ((0 => ((139, 0), 195, 3,
(2147483647, 0), 0)));
+ Table.States (437).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (139, 0), 35, 600)));
Table.States (438).Action_List.Set_Capacity (1);
- Add_Action (Table.States (438), 33, 597);
- Table.States (438).Kernel := To_Vector ((0 => (125, 105, 3,
False)));
- Table.States (438).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 33, 597)));
+ Add_Action (Table.States (438), (1 => 107), (277, 0), 1, null,
null);
+ Table.States (438).Kernel := To_Vector ((0 => ((277, 0), 9, 0,
(277, 0), 1)));
+ Table.States (438).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (277, 0), 1)));
Table.States (439).Action_List.Set_Capacity (1);
- Add_Action (Table.States (439), 105, 396);
- Table.States (439).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (439), 231, 598);
- Table.States (439).Kernel := To_Vector ((0 => (274, 275, 4,
False)));
- Table.States (439).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 396)));
- Table.States (440).Action_List.Set_Capacity (1);
- Add_Action (Table.States (440), 68, 599);
- Table.States (440).Kernel := To_Vector (((222, 193, 4, False),
(222, 193, 2, False), (222, 193, 3, False),
- (222, 193, 1, False)));
- Table.States (440).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 68, 599)));
- Table.States (441).Action_List.Set_Capacity (30);
- Add_Action (Table.States (441), 10, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 33, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 35, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 38, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 40, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 43, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 55, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 74, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 75, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 77, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 78, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 79, 31);
- Add_Action (Table.States (441), 80, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 84, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 86, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 87, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 88, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 89, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 90, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 92, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 93, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 95, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 96, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 97, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 98, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 99, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 100, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (441), 105, 120);
- Add_Action (Table.States (441), 106, 34);
- Add_Action (Table.States (441), 107, 35);
- Table.States (441).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (441), 129, 42);
- Add_Goto (Table.States (441), 240, 600);
- Add_Goto (Table.States (441), 273, 93);
- Add_Goto (Table.States (441), 294, 98);
- Table.States (441).Kernel := To_Vector (((166, 41, 1, False),
(259, 41, 0, False)));
- Table.States (441).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 259, 1)));
- end Subr_8;
- procedure Subr_9
- is begin
+ Add_Action (Table.States (439), (1 => 107), (277, 1), 1, null,
null);
+ Table.States (439).Kernel := To_Vector ((0 => ((277, 1), 62, 0,
(277, 1), 1)));
+ Table.States (439).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (277, 1), 1)));
+ Table.States (440).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (440), 33, (127, 6), 601);
+ Add_Action (Table.States (440), 42, (233, 3), 315);
+ Add_Action (Table.States (440), 84, (233, 0), 316);
+ Table.States (440).Kernel := To_Vector ((((127, 6), 107, 3,
(2147483647, 0), 0), ((233, 0), 107, 5,
+ (2147483647, 0), 0), ((233, 1), 107, 4, (2147483647, 0), 0),
((233, 2), 107, 3, (2147483647, 0), 0),
+ ((233, 3), 107, 3, (2147483647, 0), 0), ((233, 4), 107, 2,
(2147483647, 0), 0), ((233, 5), 107, 2,
+ (2147483647, 0), 0)));
+ Table.States (440).Minimal_Complete_Actions := To_Vector (((Shift,
(233, 3), 42, 315), (Shift, (127, 6),
+ 33, 601)));
+ Table.States (441).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (441), 90, (127, 7), 602);
+ Table.States (441).Kernel := To_Vector ((0 => ((127, 7), 233, 2,
(2147483647, 0), 0)));
+ Table.States (441).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (127, 7), 90, 602)));
Table.States (442).Action_List.Set_Capacity (1);
- Add_Action (Table.States (442), 77, 601);
- Table.States (442).Kernel := To_Vector ((0 => (118, 54, 1,
False)));
- Table.States (442).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 601)));
- Table.States (443).Action_List.Set_Capacity (18);
- Add_Action (Table.States (443), 3, 122);
- Add_Action (Table.States (443), 35, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (443), 39, 123);
- Add_Action (Table.States (443), 40, 124);
- Add_Action (Table.States (443), 41, 125);
- Add_Action (Table.States (443), 52, 126);
- Add_Action (Table.States (443), 76, 127);
- Add_Action (Table.States (443), 77, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (443), 79, 31);
- Add_Action (Table.States (443), 81, 602);
- Add_Action (Table.States (443), 84, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (443), 95, 128);
- Add_Action (Table.States (443), 96, 129);
- Add_Action (Table.States (443), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (443), 104, 130);
- Add_Action (Table.States (443), 105, 120);
- Add_Action (Table.States (443), 106, 34);
- Add_Action (Table.States (443), 107, 35);
- Table.States (443).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (443), 118, 131);
- Add_Goto (Table.States (443), 129, 42);
- Add_Goto (Table.States (443), 192, 132);
- Add_Goto (Table.States (443), 193, 603);
- Add_Goto (Table.States (443), 198, 134);
- Add_Goto (Table.States (443), 240, 135);
- Add_Goto (Table.States (443), 259, 136);
- Add_Goto (Table.States (443), 273, 93);
- Add_Goto (Table.States (443), 276, 137);
- Add_Goto (Table.States (443), 283, 138);
- Add_Goto (Table.States (443), 284, 139);
- Add_Goto (Table.States (443), 285, 140);
- Add_Goto (Table.States (443), 286, 141);
- Add_Goto (Table.States (443), 287, 142);
- Add_Goto (Table.States (443), 288, 143);
- Add_Goto (Table.States (443), 294, 98);
- Add_Goto (Table.States (443), 302, 144);
- Add_Goto (Table.States (443), 321, 145);
- Add_Goto (Table.States (443), 322, 146);
- Add_Goto (Table.States (443), 331, 147);
- Table.States (443).Kernel := To_Vector (((125, 88, 0, False),
(125, 88, 1, False)));
- Table.States (443).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (444).Action_List.Set_Capacity (64);
- Add_Action (Table.States (444), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (118, 5), 3,
- aggregate_5'Access, null);
- Table.States (444).Kernel := To_Vector ((0 => (118, 77, 0,
False)));
- Table.States (444).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 118, 3)));
- Table.States (445).Action_List.Set_Capacity (21);
- Add_Action (Table.States (445), 3, 122);
- Add_Action (Table.States (445), 28, 517);
- Add_Action (Table.States (445), 35, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (445), 39, 123);
- Add_Action (Table.States (445), 40, 262);
- Add_Action (Table.States (445), 41, 125);
- Add_Action (Table.States (445), 44, 264);
- Add_Action (Table.States (445), 52, 126);
- Add_Action (Table.States (445), 76, 127);
- Add_Action (Table.States (445), 77, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (445), 79, 31);
- Add_Action (Table.States (445), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (445), 84, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (445), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (445), 95, 128);
- Add_Action (Table.States (445), 96, 129);
- Add_Action (Table.States (445), 97, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (445), 104, 130);
- Add_Action (Table.States (445), 105, 120);
- Add_Action (Table.States (445), 106, 34);
- Add_Action (Table.States (445), 107, 265);
- Table.States (445).Goto_List.Set_Capacity (23);
- Add_Goto (Table.States (445), 118, 131);
- Add_Goto (Table.States (445), 125, 604);
- Add_Goto (Table.States (445), 129, 42);
- Add_Goto (Table.States (445), 166, 270);
- Add_Goto (Table.States (445), 167, 271);
- Add_Goto (Table.States (445), 192, 409);
- Add_Goto (Table.States (445), 198, 134);
- Add_Goto (Table.States (445), 240, 275);
- Add_Goto (Table.States (445), 259, 136);
- Add_Goto (Table.States (445), 273, 93);
- Add_Goto (Table.States (445), 276, 137);
- Add_Goto (Table.States (445), 278, 277);
- Add_Goto (Table.States (445), 283, 138);
- Add_Goto (Table.States (445), 284, 139);
- Add_Goto (Table.States (445), 285, 140);
- Add_Goto (Table.States (445), 286, 141);
- Add_Goto (Table.States (445), 287, 142);
- Add_Goto (Table.States (445), 288, 143);
- Add_Goto (Table.States (445), 294, 98);
- Add_Goto (Table.States (445), 302, 278);
- Add_Goto (Table.States (445), 321, 145);
- Add_Goto (Table.States (445), 322, 146);
- Add_Goto (Table.States (445), 331, 147);
- Table.States (445).Kernel := To_Vector ((0 => (126, 84, 0, True)));
- Table.States (445).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 125, 0)));
- Table.States (445).Minimal_Complete_Actions_Recursive := True;
- Table.States (446).Action_List.Set_Capacity (64);
- Add_Action (Table.States (446), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (118, 4), 3,
- aggregate_4'Access, null);
- Table.States (446).Kernel := To_Vector ((0 => (118, 77, 0,
False)));
- Table.States (446).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 118, 3)));
- Table.States (447).Action_List.Set_Capacity (14);
- Add_Action (Table.States (447), 3, 122);
- Add_Action (Table.States (447), 39, 123);
- Add_Action (Table.States (447), 40, 262);
- Add_Action (Table.States (447), 41, 125);
- Add_Action (Table.States (447), 44, 264);
- Add_Action (Table.States (447), 52, 126);
- Add_Action (Table.States (447), 76, 127);
- Add_Action (Table.States (447), 79, 31);
- Add_Action (Table.States (447), 95, 128);
- Add_Action (Table.States (447), 96, 129);
- Add_Action (Table.States (447), 104, 130);
- Add_Action (Table.States (447), 105, 120);
- Add_Action (Table.States (447), 106, 34);
- Add_Action (Table.States (447), 107, 35);
- Table.States (447).Goto_List.Set_Capacity (21);
- Add_Goto (Table.States (447), 118, 131);
- Add_Goto (Table.States (447), 129, 42);
- Add_Goto (Table.States (447), 166, 605);
- Add_Goto (Table.States (447), 192, 606);
- Add_Goto (Table.States (447), 198, 134);
- Add_Goto (Table.States (447), 240, 275);
- Add_Goto (Table.States (447), 259, 136);
- Add_Goto (Table.States (447), 273, 93);
- Add_Goto (Table.States (447), 276, 137);
- Add_Goto (Table.States (447), 278, 277);
- Add_Goto (Table.States (447), 283, 138);
- Add_Goto (Table.States (447), 284, 139);
- Add_Goto (Table.States (447), 285, 140);
- Add_Goto (Table.States (447), 286, 141);
- Add_Goto (Table.States (447), 287, 142);
- Add_Goto (Table.States (447), 288, 143);
- Add_Goto (Table.States (447), 294, 98);
- Add_Goto (Table.States (447), 302, 278);
- Add_Goto (Table.States (447), 321, 145);
- Add_Goto (Table.States (447), 322, 146);
- Add_Goto (Table.States (447), 331, 147);
- Table.States (447).Kernel := To_Vector ((0 => (167, 80, 1, True)));
- Table.States (447).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (447).Minimal_Complete_Actions_Recursive := True;
- Table.States (448).Action_List.Set_Capacity (18);
- Add_Action (Table.States (448), 3, 122);
- Add_Action (Table.States (448), 35, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (448), 39, 123);
- Add_Action (Table.States (448), 40, 124);
- Add_Action (Table.States (448), 41, 125);
- Add_Action (Table.States (448), 52, 126);
- Add_Action (Table.States (448), 76, 127);
- Add_Action (Table.States (448), 77, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (448), 79, 31);
- Add_Action (Table.States (448), 81, 607);
- Add_Action (Table.States (448), 84, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (448), 95, 128);
- Add_Action (Table.States (448), 96, 129);
- Add_Action (Table.States (448), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (448), 104, 130);
- Add_Action (Table.States (448), 105, 120);
- Add_Action (Table.States (448), 106, 34);
- Add_Action (Table.States (448), 107, 35);
- Table.States (448).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (448), 118, 131);
- Add_Goto (Table.States (448), 129, 42);
- Add_Goto (Table.States (448), 192, 132);
- Add_Goto (Table.States (448), 193, 608);
- Add_Goto (Table.States (448), 198, 134);
- Add_Goto (Table.States (448), 240, 135);
- Add_Goto (Table.States (448), 259, 136);
- Add_Goto (Table.States (448), 273, 93);
- Add_Goto (Table.States (448), 276, 137);
- Add_Goto (Table.States (448), 283, 138);
- Add_Goto (Table.States (448), 284, 139);
- Add_Goto (Table.States (448), 285, 140);
- Add_Goto (Table.States (448), 286, 141);
- Add_Goto (Table.States (448), 287, 142);
- Add_Goto (Table.States (448), 288, 143);
- Add_Goto (Table.States (448), 294, 98);
- Add_Goto (Table.States (448), 302, 144);
- Add_Goto (Table.States (448), 321, 145);
- Add_Goto (Table.States (448), 322, 146);
- Add_Goto (Table.States (448), 331, 147);
- Table.States (448).Kernel := To_Vector (((125, 88, 0, False),
(125, 88, 1, False)));
- Table.States (448).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (449).Action_List.Set_Capacity (1);
- Add_Action (Table.States (449), 19, 609);
- Table.States (449).Kernel := To_Vector ((0 => (118, 74, 2,
False)));
- Table.States (449).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 19, 609)));
- Table.States (450).Action_List.Set_Capacity (19);
- Add_Action (Table.States (450), 3, 122);
- Add_Action (Table.States (450), 28, 517);
- Add_Action (Table.States (450), 39, 123);
- Add_Action (Table.States (450), 40, 262);
- Add_Action (Table.States (450), 41, 610);
- Add_Action (Table.States (450), 44, 264);
- Add_Action (Table.States (450), 52, 126);
- Add_Action (Table.States (450), 76, 127);
- Add_Action (Table.States (450), 77, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (450), 79, 31);
- Add_Action (Table.States (450), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (450), 84, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (450), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (450), 95, 128);
- Add_Action (Table.States (450), 96, 129);
- Add_Action (Table.States (450), 104, 130);
- Add_Action (Table.States (450), 105, 120);
- Add_Action (Table.States (450), 106, 34);
- Add_Action (Table.States (450), 107, 265);
- Table.States (450).Goto_List.Set_Capacity (24);
- Add_Goto (Table.States (450), 118, 131);
- Add_Goto (Table.States (450), 125, 266);
- Add_Goto (Table.States (450), 126, 611);
- Add_Goto (Table.States (450), 129, 42);
- Add_Goto (Table.States (450), 166, 270);
- Add_Goto (Table.States (450), 167, 271);
- Add_Goto (Table.States (450), 192, 409);
- Add_Goto (Table.States (450), 198, 134);
- Add_Goto (Table.States (450), 240, 275);
- Add_Goto (Table.States (450), 259, 136);
- Add_Goto (Table.States (450), 273, 93);
- Add_Goto (Table.States (450), 276, 137);
- Add_Goto (Table.States (450), 278, 277);
- Add_Goto (Table.States (450), 283, 138);
- Add_Goto (Table.States (450), 284, 139);
- Add_Goto (Table.States (450), 285, 140);
- Add_Goto (Table.States (450), 286, 141);
- Add_Goto (Table.States (450), 287, 142);
- Add_Goto (Table.States (450), 288, 143);
- Add_Goto (Table.States (450), 294, 98);
- Add_Goto (Table.States (450), 302, 278);
- Add_Goto (Table.States (450), 321, 145);
- Add_Goto (Table.States (450), 322, 146);
- Add_Goto (Table.States (450), 331, 147);
- Table.States (450).Kernel := To_Vector (((118, 74, 3, False),
(118, 74, 1, False)));
- Table.States (450).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 126, 0)));
- Table.States (451).Action_List.Set_Capacity (7);
- Add_Action (Table.States (451), 7, 417);
- Add_Action (Table.States (451), 19, 418);
- Add_Action (Table.States (451), 20, 419);
- Add_Action (Table.States (451), 38, 420);
- Add_Action (Table.States (451), 53, 612);
- Add_Action (Table.States (451), 76, 127);
- Add_Action (Table.States (451), 105, 421);
- Table.States (451).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (451), 118, 422);
- Add_Goto (Table.States (451), 130, 423);
- Table.States (451).Kernel := To_Vector (((129, 323, 1, True),
(273, 323, 2, True), (278, 323, 3, False),
- (278, 323, 1, False)));
- Table.States (451).Minimal_Complete_Actions := To_Vector (((Shift,
105, 421), (Shift, 53, 612)));
- Table.States (451).Minimal_Complete_Actions_Recursive := True;
- Table.States (452).Action_List.Set_Capacity (12);
- Add_Action (Table.States (452), 3, 122);
- Add_Action (Table.States (452), 39, 123);
- Add_Action (Table.States (452), 40, 124);
- Add_Action (Table.States (452), 41, 125);
- Add_Action (Table.States (452), 76, 127);
- Add_Action (Table.States (452), 79, 31);
- Add_Action (Table.States (452), 95, 128);
- Add_Action (Table.States (452), 96, 129);
- Add_Action (Table.States (452), 104, 130);
- Add_Action (Table.States (452), 105, 120);
- Add_Action (Table.States (452), 106, 34);
- Add_Action (Table.States (452), 107, 35);
- Table.States (452).Goto_List.Set_Capacity (11);
- Add_Goto (Table.States (452), 118, 131);
- Add_Goto (Table.States (452), 129, 42);
- Add_Goto (Table.States (452), 198, 134);
- Add_Goto (Table.States (452), 240, 135);
- Add_Goto (Table.States (452), 259, 136);
- Add_Goto (Table.States (452), 273, 93);
- Add_Goto (Table.States (452), 294, 98);
- Add_Goto (Table.States (452), 302, 613);
- Add_Goto (Table.States (452), 321, 145);
- Add_Goto (Table.States (452), 322, 146);
- Add_Goto (Table.States (452), 331, 147);
- Table.States (452).Kernel := To_Vector ((0 => (278, 86, 1,
False)));
- Table.States (452).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (453).Action_List.Set_Capacity (16);
- Add_Action (Table.States (453), 3, 122);
- Add_Action (Table.States (453), 39, 123);
- Add_Action (Table.States (453), 40, 262);
- Add_Action (Table.States (453), 41, 125);
- Add_Action (Table.States (453), 44, 264);
- Add_Action (Table.States (453), 52, 126);
- Add_Action (Table.States (453), 76, 127);
- Add_Action (Table.States (453), 79, 31);
- Add_Action (Table.States (453), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (453), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (453), 95, 128);
- Add_Action (Table.States (453), 96, 129);
- Add_Action (Table.States (453), 104, 130);
- Add_Action (Table.States (453), 105, 120);
- Add_Action (Table.States (453), 106, 34);
- Add_Action (Table.States (453), 107, 35);
- Table.States (453).Goto_List.Set_Capacity (22);
- Add_Goto (Table.States (453), 118, 131);
- Add_Goto (Table.States (453), 129, 42);
- Add_Goto (Table.States (453), 166, 270);
- Add_Goto (Table.States (453), 167, 614);
- Add_Goto (Table.States (453), 192, 606);
- Add_Goto (Table.States (453), 198, 134);
- Add_Goto (Table.States (453), 240, 275);
- Add_Goto (Table.States (453), 259, 136);
- Add_Goto (Table.States (453), 273, 93);
- Add_Goto (Table.States (453), 276, 137);
- Add_Goto (Table.States (453), 278, 277);
- Add_Goto (Table.States (453), 283, 138);
- Add_Goto (Table.States (453), 284, 139);
- Add_Goto (Table.States (453), 285, 140);
- Add_Goto (Table.States (453), 286, 141);
- Add_Goto (Table.States (453), 287, 142);
- Add_Goto (Table.States (453), 288, 143);
- Add_Goto (Table.States (453), 294, 98);
- Add_Goto (Table.States (453), 302, 278);
- Add_Goto (Table.States (453), 321, 145);
- Add_Goto (Table.States (453), 322, 146);
- Add_Goto (Table.States (453), 331, 147);
- Table.States (453).Kernel := To_Vector ((0 => (141, 72, 1,
False)));
- Table.States (453).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 167, 0)));
- Table.States (454).Action_List.Set_Capacity (2);
- Add_Action (Table.States (454), (24, 72), (142, 1), 1, null, null);
- Table.States (454).Kernel := To_Vector ((0 => (142, 141, 0,
False)));
- Table.States (454).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 142, 1)));
- Table.States (455).Action_List.Set_Capacity (2);
- Add_Action (Table.States (455), 24, 615);
- Add_Action (Table.States (455), 72, 453);
- Table.States (455).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (455), 141, 616);
- Table.States (455).Kernel := To_Vector (((140, 142, 3, False),
(142, 142, 2, True)));
- Table.States (455).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 615)));
- Table.States (456).Action_List.Set_Capacity (35);
- Add_Action (Table.States (456), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
- 78, 80, 83, 84, 86, 87, 88, 89, 90, 92, 93, 95, 96, 97, 98, 99,
100), (198, 0), 3, null, null);
- Table.States (456).Kernel := To_Vector ((0 => (198, 259, 0,
False)));
- Table.States (456).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 198, 3)));
+ Add_Action (Table.States (442), 107, (233, 0), 398);
+ Table.States (442).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (442), 233, 603);
+ Table.States (442).Kernel := To_Vector ((0 => ((276, 0), 277, 4,
(2147483647, 0), 0)));
+ Table.States (442).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (233, 0), 107, 398)));
+ Table.States (443).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (443), 68, (224, 0), 604);
+ Table.States (443).Kernel := To_Vector ((((224, 0), 195, 4,
(2147483647, 0), 0), ((224, 1), 195, 2,
+ (2147483647, 0), 0), ((224, 2), 195, 3, (2147483647, 0), 0),
((224, 3), 195, 1, (2147483647, 0),
+ 0)));
+ Table.States (443).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (224, 0), 68, 604)));
+ Table.States (444).Action_List.Set_Capacity (31);
+ Add_Action (Table.States (444), 10, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 33, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 35, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 38, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 40, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 43, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 55, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 74, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 75, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 78, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 79, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 80, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 81, (242, 8), 31);
+ Add_Action (Table.States (444), 82, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 86, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 88, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 89, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 90, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 91, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 92, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 94, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 95, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 97, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 98, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 99, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 100, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 101, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 102, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (444), 107, (242, 5), 120);
+ Add_Action (Table.States (444), 108, (242, 7), 34);
+ Add_Action (Table.States (444), 109, (242, 6), 35);
+ Table.States (444).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (444), 131, 42);
+ Add_Goto (Table.States (444), 242, 605);
+ Add_Goto (Table.States (444), 275, 93);
+ Add_Goto (Table.States (444), 296, 98);
+ Table.States (444).Kernel := To_Vector ((((168, 1), 41, 1,
(2147483647, 0), 0), ((261, 1), 41, 0,
+ (261, 1), 1)));
+ Table.States (444).Minimal_Complete_Actions := To_Vector (((Shift,
(242, 5), 107, 120), (Reduce, (261, 1),
+ 1)));
+ Table.States (445).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (445), 78, (120, 1), 606);
+ Table.States (445).Kernel := To_Vector ((0 => ((120, 1), 54, 1,
(2147483647, 0), 0)));
+ Table.States (445).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (120, 1), 78, 606)));
+ Table.States (446).Action_List.Set_Capacity (20);
+ Add_Action (Table.States (446), 3, (200, 2), 122);
+ Add_Action (Table.States (446), 35, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (446), 39, (261, 4), 123);
+ Add_Action (Table.States (446), 40, (200, 3), 124);
+ Add_Action (Table.States (446), 41, (261, 1), 125);
+ Add_Action (Table.States (446), 52, (278, 0), 126);
+ Add_Action (Table.States (446), 76, (120, 0), 127);
+ Add_Action (Table.States (446), 77, (120, 5), 128);
+ Add_Action (Table.States (446), 78, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (446), 79, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (446), 81, (242, 8), 31);
+ Add_Action (Table.States (446), 83, (127, 1), 607);
+ Add_Action (Table.States (446), 86, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (446), 97, (333, 1), 129);
+ Add_Action (Table.States (446), 98, (333, 0), 130);
+ Add_Action (Table.States (446), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (446), 106, (261, 0), 131);
+ Add_Action (Table.States (446), 107, (242, 5), 120);
+ Add_Action (Table.States (446), 108, (242, 7), 34);
+ Add_Action (Table.States (446), 109, (242, 6), 35);
+ Table.States (446).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (446), 120, 132);
+ Add_Goto (Table.States (446), 131, 42);
+ Add_Goto (Table.States (446), 194, 133);
+ Add_Goto (Table.States (446), 195, 608);
+ Add_Goto (Table.States (446), 200, 135);
+ Add_Goto (Table.States (446), 242, 136);
+ Add_Goto (Table.States (446), 261, 137);
+ Add_Goto (Table.States (446), 275, 93);
+ Add_Goto (Table.States (446), 278, 138);
+ Add_Goto (Table.States (446), 285, 139);
+ Add_Goto (Table.States (446), 286, 140);
+ Add_Goto (Table.States (446), 287, 141);
+ Add_Goto (Table.States (446), 288, 142);
+ Add_Goto (Table.States (446), 289, 143);
+ Add_Goto (Table.States (446), 290, 144);
+ Add_Goto (Table.States (446), 296, 98);
+ Add_Goto (Table.States (446), 304, 145);
+ Add_Goto (Table.States (446), 323, 146);
+ Add_Goto (Table.States (446), 324, 147);
+ Add_Goto (Table.States (446), 333, 148);
+ Table.States (446).Kernel := To_Vector ((((127, 0), 90, 0, (195,
1), 0), ((127, 1), 90, 1,
+ (2147483647, 0), 0)));
+ Table.States (446).Minimal_Complete_Actions := To_Vector
(((Reduce, (195, 1), 0), (Shift, (127, 1), 83,
+ 607)));
+ Table.States (447).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (447), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (120, 0), 3,
+ aggregate_0'Access, null);
+ Table.States (447).Kernel := To_Vector ((0 => ((120, 0), 78, 0,
(120, 0), 3)));
+ Table.States (447).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (120, 0), 3)));
+ Table.States (448).Action_List.Set_Capacity (23);
+ Add_Action (Table.States (448), 3, (200, 2), 122);
+ Add_Action (Table.States (448), 28, (127, 6), 521);
+ Add_Action (Table.States (448), 35, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (448), 39, (261, 4), 123);
+ Add_Action (Table.States (448), 40, (168, 1), 263);
+ Add_Action (Table.States (448), 41, (261, 1), 125);
+ Add_Action (Table.States (448), 44, (168, 3), 265);
+ Add_Action (Table.States (448), 52, (278, 0), 126);
+ Add_Action (Table.States (448), 76, (120, 0), 127);
+ Add_Action (Table.States (448), 77, (120, 5), 128);
+ Add_Action (Table.States (448), 78, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (448), 79, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (448), 81, (242, 8), 31);
+ Add_Action (Table.States (448), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (448), 86, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (448), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (448), 97, (333, 1), 129);
+ Add_Action (Table.States (448), 98, (333, 0), 130);
+ Add_Action (Table.States (448), 99, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (448), 106, (261, 0), 131);
+ Add_Action (Table.States (448), 107, (242, 5), 120);
+ Add_Action (Table.States (448), 108, (242, 7), 34);
+ Add_Action (Table.States (448), 109, (127, 0), 266);
+ Table.States (448).Goto_List.Set_Capacity (23);
+ Add_Goto (Table.States (448), 120, 132);
+ Add_Goto (Table.States (448), 127, 609);
+ Add_Goto (Table.States (448), 131, 42);
+ Add_Goto (Table.States (448), 168, 271);
+ Add_Goto (Table.States (448), 169, 272);
+ Add_Goto (Table.States (448), 194, 411);
+ Add_Goto (Table.States (448), 200, 135);
+ Add_Goto (Table.States (448), 242, 276);
+ Add_Goto (Table.States (448), 261, 137);
+ Add_Goto (Table.States (448), 275, 93);
+ Add_Goto (Table.States (448), 278, 138);
+ Add_Goto (Table.States (448), 280, 278);
+ Add_Goto (Table.States (448), 285, 139);
+ Add_Goto (Table.States (448), 286, 140);
+ Add_Goto (Table.States (448), 287, 141);
+ Add_Goto (Table.States (448), 288, 142);
+ Add_Goto (Table.States (448), 289, 143);
+ Add_Goto (Table.States (448), 290, 144);
+ Add_Goto (Table.States (448), 296, 98);
+ Add_Goto (Table.States (448), 304, 279);
+ Add_Goto (Table.States (448), 323, 146);
+ Add_Goto (Table.States (448), 324, 147);
+ Add_Goto (Table.States (448), 333, 148);
+ Table.States (448).Kernel := To_Vector ((0 => ((128, 0), 86, 0,
(127, 5), 0)));
+ Table.States (448).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (127, 5), 0)));
+ Table.States (449).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (449), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (120, 6), 3,
+ aggregate_6'Access, null);
+ Table.States (449).Kernel := To_Vector ((0 => ((120, 6), 78, 0,
(120, 6), 3)));
+ Table.States (449).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (120, 6), 3)));
+ Table.States (450).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (450), 3, (200, 2), 122);
+ Add_Action (Table.States (450), 39, (261, 4), 123);
+ Add_Action (Table.States (450), 40, (168, 1), 263);
+ Add_Action (Table.States (450), 41, (261, 1), 125);
+ Add_Action (Table.States (450), 44, (168, 3), 265);
+ Add_Action (Table.States (450), 52, (278, 0), 126);
+ Add_Action (Table.States (450), 76, (120, 0), 127);
+ Add_Action (Table.States (450), 77, (120, 5), 128);
+ Add_Action (Table.States (450), 81, (242, 8), 31);
+ Add_Action (Table.States (450), 97, (333, 1), 129);
+ Add_Action (Table.States (450), 98, (333, 0), 130);
+ Add_Action (Table.States (450), 106, (261, 0), 131);
+ Add_Action (Table.States (450), 107, (242, 5), 120);
+ Add_Action (Table.States (450), 108, (242, 7), 34);
+ Add_Action (Table.States (450), 109, (242, 6), 35);
+ Table.States (450).Goto_List.Set_Capacity (21);
+ Add_Goto (Table.States (450), 120, 132);
+ Add_Goto (Table.States (450), 131, 42);
+ Add_Goto (Table.States (450), 168, 610);
+ Add_Goto (Table.States (450), 194, 611);
+ Add_Goto (Table.States (450), 200, 135);
+ Add_Goto (Table.States (450), 242, 276);
+ Add_Goto (Table.States (450), 261, 137);
+ Add_Goto (Table.States (450), 275, 93);
+ Add_Goto (Table.States (450), 278, 138);
+ Add_Goto (Table.States (450), 280, 278);
+ Add_Goto (Table.States (450), 285, 139);
+ Add_Goto (Table.States (450), 286, 140);
+ Add_Goto (Table.States (450), 287, 141);
+ Add_Goto (Table.States (450), 288, 142);
+ Add_Goto (Table.States (450), 289, 143);
+ Add_Goto (Table.States (450), 290, 144);
+ Add_Goto (Table.States (450), 296, 98);
+ Add_Goto (Table.States (450), 304, 279);
+ Add_Goto (Table.States (450), 323, 146);
+ Add_Goto (Table.States (450), 324, 147);
+ Add_Goto (Table.States (450), 333, 148);
+ Table.States (450).Kernel := To_Vector ((0 => ((169, 0), 82, 1,
(2147483647, 0), 0)));
+ Table.States (450).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (451).Action_List.Set_Capacity (20);
+ Add_Action (Table.States (451), 3, (200, 2), 122);
+ Add_Action (Table.States (451), 35, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (451), 39, (261, 4), 123);
+ Add_Action (Table.States (451), 40, (200, 3), 124);
+ Add_Action (Table.States (451), 41, (261, 1), 125);
+ Add_Action (Table.States (451), 52, (278, 0), 126);
+ Add_Action (Table.States (451), 76, (120, 0), 127);
+ Add_Action (Table.States (451), 77, (120, 5), 128);
+ Add_Action (Table.States (451), 78, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (451), 79, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (451), 81, (242, 8), 31);
+ Add_Action (Table.States (451), 83, (127, 3), 612);
+ Add_Action (Table.States (451), 86, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (451), 97, (333, 1), 129);
+ Add_Action (Table.States (451), 98, (333, 0), 130);
+ Add_Action (Table.States (451), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (451), 106, (261, 0), 131);
+ Add_Action (Table.States (451), 107, (242, 5), 120);
+ Add_Action (Table.States (451), 108, (242, 7), 34);
+ Add_Action (Table.States (451), 109, (242, 6), 35);
+ Table.States (451).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (451), 120, 132);
+ Add_Goto (Table.States (451), 131, 42);
+ Add_Goto (Table.States (451), 194, 133);
+ Add_Goto (Table.States (451), 195, 613);
+ Add_Goto (Table.States (451), 200, 135);
+ Add_Goto (Table.States (451), 242, 136);
+ Add_Goto (Table.States (451), 261, 137);
+ Add_Goto (Table.States (451), 275, 93);
+ Add_Goto (Table.States (451), 278, 138);
+ Add_Goto (Table.States (451), 285, 139);
+ Add_Goto (Table.States (451), 286, 140);
+ Add_Goto (Table.States (451), 287, 141);
+ Add_Goto (Table.States (451), 288, 142);
+ Add_Goto (Table.States (451), 289, 143);
+ Add_Goto (Table.States (451), 290, 144);
+ Add_Goto (Table.States (451), 296, 98);
+ Add_Goto (Table.States (451), 304, 145);
+ Add_Goto (Table.States (451), 323, 146);
+ Add_Goto (Table.States (451), 324, 147);
+ Add_Goto (Table.States (451), 333, 148);
+ Table.States (451).Kernel := To_Vector ((((127, 2), 90, 0, (195,
1), 0), ((127, 3), 90, 1,
+ (2147483647, 0), 0)));
+ Table.States (452).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (452), 19, (120, 4), 614);
+ Table.States (452).Kernel := To_Vector ((0 => ((120, 4), 74, 2,
(2147483647, 0), 0)));
+ Table.States (452).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (120, 4), 19, 614)));
+ Table.States (453).Action_List.Set_Capacity (20);
+ Add_Action (Table.States (453), 3, (200, 2), 122);
+ Add_Action (Table.States (453), 28, (127, 6), 521);
+ Add_Action (Table.States (453), 39, (261, 4), 123);
+ Add_Action (Table.States (453), 40, (168, 1), 263);
+ Add_Action (Table.States (453), 41, (120, 2), 615);
+ Add_Action (Table.States (453), 44, (168, 3), 265);
+ Add_Action (Table.States (453), 52, (278, 0), 126);
+ Add_Action (Table.States (453), 76, (120, 0), 127);
+ Add_Action (Table.States (453), 77, (120, 5), 128);
+ Add_Action (Table.States (453), 78, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (453), 81, (242, 8), 31);
+ Add_Action (Table.States (453), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (453), 86, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (453), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (453), 97, (333, 1), 129);
+ Add_Action (Table.States (453), 98, (333, 0), 130);
+ Add_Action (Table.States (453), 106, (261, 0), 131);
+ Add_Action (Table.States (453), 107, (242, 5), 120);
+ Add_Action (Table.States (453), 108, (242, 7), 34);
+ Add_Action (Table.States (453), 109, (127, 0), 266);
+ Table.States (453).Goto_List.Set_Capacity (24);
+ Add_Goto (Table.States (453), 120, 132);
+ Add_Goto (Table.States (453), 127, 267);
+ Add_Goto (Table.States (453), 128, 616);
+ Add_Goto (Table.States (453), 131, 42);
+ Add_Goto (Table.States (453), 168, 271);
+ Add_Goto (Table.States (453), 169, 272);
+ Add_Goto (Table.States (453), 194, 411);
+ Add_Goto (Table.States (453), 200, 135);
+ Add_Goto (Table.States (453), 242, 276);
+ Add_Goto (Table.States (453), 261, 137);
+ Add_Goto (Table.States (453), 275, 93);
+ Add_Goto (Table.States (453), 278, 138);
+ Add_Goto (Table.States (453), 280, 278);
+ Add_Goto (Table.States (453), 285, 139);
+ Add_Goto (Table.States (453), 286, 140);
+ Add_Goto (Table.States (453), 287, 141);
+ Add_Goto (Table.States (453), 288, 142);
+ Add_Goto (Table.States (453), 289, 143);
+ Add_Goto (Table.States (453), 290, 144);
+ Add_Goto (Table.States (453), 296, 98);
+ Add_Goto (Table.States (453), 304, 279);
+ Add_Goto (Table.States (453), 323, 146);
+ Add_Goto (Table.States (453), 324, 147);
+ Add_Goto (Table.States (453), 333, 148);
+ Table.States (453).Kernel := To_Vector ((((120, 2), 74, 3,
(2147483647, 0), 0), ((120, 3), 74, 1,
+ (2147483647, 0), 0)));
+ Table.States (453).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (128, 1), 0)));
+ Table.States (454).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (454), 7, (132, 2), 419);
+ Add_Action (Table.States (454), 19, (132, 3), 420);
+ Add_Action (Table.States (454), 20, (132, 4), 421);
+ Add_Action (Table.States (454), 38, (132, 5), 422);
+ Add_Action (Table.States (454), 53, (280, 0), 617);
+ Add_Action (Table.States (454), 76, (120, 0), 127);
+ Add_Action (Table.States (454), 77, (120, 5), 128);
+ Add_Action (Table.States (454), 107, (132, 0), 423);
+ Table.States (454).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (454), 120, 424);
+ Add_Goto (Table.States (454), 132, 425);
+ Table.States (454).Kernel := To_Vector ((((131, 0), 325, 1,
(2147483647, 0), 0), ((275, 0), 325, 2,
+ (2147483647, 0), 0), ((280, 0), 325, 3, (2147483647, 0), 0),
((280, 1), 325, 1, (2147483647, 0),
+ 0)));
+ Table.States (455).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (455), 3, (200, 2), 122);
+ Add_Action (Table.States (455), 39, (261, 4), 123);
+ Add_Action (Table.States (455), 40, (200, 3), 124);
+ Add_Action (Table.States (455), 41, (261, 1), 125);
+ Add_Action (Table.States (455), 76, (120, 0), 127);
+ Add_Action (Table.States (455), 77, (120, 5), 128);
+ Add_Action (Table.States (455), 81, (242, 8), 31);
+ Add_Action (Table.States (455), 97, (333, 1), 129);
+ Add_Action (Table.States (455), 98, (333, 0), 130);
+ Add_Action (Table.States (455), 106, (261, 0), 131);
+ Add_Action (Table.States (455), 107, (242, 5), 120);
+ Add_Action (Table.States (455), 108, (242, 7), 34);
+ Add_Action (Table.States (455), 109, (242, 6), 35);
+ Table.States (455).Goto_List.Set_Capacity (11);
+ Add_Goto (Table.States (455), 120, 132);
+ Add_Goto (Table.States (455), 131, 42);
+ Add_Goto (Table.States (455), 200, 135);
+ Add_Goto (Table.States (455), 242, 136);
+ Add_Goto (Table.States (455), 261, 137);
+ Add_Goto (Table.States (455), 275, 93);
+ Add_Goto (Table.States (455), 296, 98);
+ Add_Goto (Table.States (455), 304, 618);
+ Add_Goto (Table.States (455), 323, 146);
+ Add_Goto (Table.States (455), 324, 147);
+ Add_Goto (Table.States (455), 333, 148);
+ Table.States (455).Kernel := To_Vector ((0 => ((280, 2), 88, 1,
(2147483647, 0), 0)));
+ Table.States (455).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (456).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (456), 19, (120, 5), 619);
+ Table.States (456).Kernel := To_Vector ((0 => ((120, 5), 74, 2,
(2147483647, 0), 0)));
+ Table.States (456).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (120, 5), 19, 619)));
Table.States (457).Action_List.Set_Capacity (17);
- Add_Action (Table.States (457), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (283,
- 0), 3, null, null);
- Table.States (457).Kernel := To_Vector ((0 => (283, 288, 0,
True)));
- Table.States (457).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 283, 3)));
- Table.States (457).Minimal_Complete_Actions_Recursive := True;
- Table.States (458).Action_List.Set_Capacity (13);
- Add_Action (Table.States (458), 3, 122);
- Add_Action (Table.States (458), 39, 123);
- Add_Action (Table.States (458), 40, 124);
- Add_Action (Table.States (458), 41, 125);
- Add_Action (Table.States (458), 52, 126);
- Add_Action (Table.States (458), 76, 127);
- Add_Action (Table.States (458), 79, 31);
- Add_Action (Table.States (458), 95, 128);
- Add_Action (Table.States (458), 96, 129);
- Add_Action (Table.States (458), 104, 130);
- Add_Action (Table.States (458), 105, 120);
- Add_Action (Table.States (458), 106, 34);
- Add_Action (Table.States (458), 107, 35);
- Table.States (458).Goto_List.Set_Capacity (13);
- Add_Goto (Table.States (458), 118, 131);
- Add_Goto (Table.States (458), 129, 42);
- Add_Goto (Table.States (458), 198, 134);
- Add_Goto (Table.States (458), 240, 135);
- Add_Goto (Table.States (458), 259, 136);
- Add_Goto (Table.States (458), 273, 93);
- Add_Goto (Table.States (458), 276, 137);
- Add_Goto (Table.States (458), 288, 617);
- Add_Goto (Table.States (458), 294, 98);
- Add_Goto (Table.States (458), 302, 144);
- Add_Goto (Table.States (458), 321, 145);
- Add_Goto (Table.States (458), 322, 146);
- Add_Goto (Table.States (458), 331, 147);
- Table.States (458).Kernel := To_Vector ((0 => (284, 68, 1, True)));
- Table.States (458).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (458).Minimal_Complete_Actions_Recursive := True;
- Table.States (459).Action_List.Set_Capacity (17);
- Add_Action (Table.States (459), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (285,
- 0), 3, null, null);
- Table.States (459).Kernel := To_Vector ((0 => (285, 288, 0,
True)));
- Table.States (459).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 285, 3)));
- Table.States (459).Minimal_Complete_Actions_Recursive := True;
- Table.States (460).Action_List.Set_Capacity (13);
- Add_Action (Table.States (460), 3, 122);
- Add_Action (Table.States (460), 39, 123);
- Add_Action (Table.States (460), 40, 124);
- Add_Action (Table.States (460), 41, 125);
- Add_Action (Table.States (460), 52, 126);
- Add_Action (Table.States (460), 76, 127);
- Add_Action (Table.States (460), 79, 31);
- Add_Action (Table.States (460), 95, 128);
- Add_Action (Table.States (460), 96, 129);
- Add_Action (Table.States (460), 104, 130);
- Add_Action (Table.States (460), 105, 120);
- Add_Action (Table.States (460), 106, 34);
- Add_Action (Table.States (460), 107, 35);
- Table.States (460).Goto_List.Set_Capacity (13);
- Add_Goto (Table.States (460), 118, 131);
- Add_Goto (Table.States (460), 129, 42);
- Add_Goto (Table.States (460), 198, 134);
- Add_Goto (Table.States (460), 240, 135);
- Add_Goto (Table.States (460), 259, 136);
- Add_Goto (Table.States (460), 273, 93);
- Add_Goto (Table.States (460), 276, 137);
- Add_Goto (Table.States (460), 288, 618);
- Add_Goto (Table.States (460), 294, 98);
- Add_Goto (Table.States (460), 302, 144);
- Add_Goto (Table.States (460), 321, 145);
- Add_Goto (Table.States (460), 322, 146);
- Add_Goto (Table.States (460), 331, 147);
- Table.States (460).Kernel := To_Vector ((0 => (286, 22, 1, True)));
- Table.States (460).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (460).Minimal_Complete_Actions_Recursive := True;
- Table.States (461).Action_List.Set_Capacity (17);
- Add_Action (Table.States (461), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (287,
- 0), 3, null, null);
- Table.States (461).Kernel := To_Vector ((0 => (287, 288, 0,
True)));
- Table.States (461).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 287, 3)));
- Table.States (461).Minimal_Complete_Actions_Recursive := True;
- Table.States (462).Action_List.Set_Capacity (13);
- Add_Action (Table.States (462), 3, 122);
- Add_Action (Table.States (462), 39, 123);
- Add_Action (Table.States (462), 40, 124);
- Add_Action (Table.States (462), 41, 125);
- Add_Action (Table.States (462), 52, 126);
- Add_Action (Table.States (462), 76, 127);
- Add_Action (Table.States (462), 79, 31);
- Add_Action (Table.States (462), 95, 128);
- Add_Action (Table.States (462), 96, 129);
- Add_Action (Table.States (462), 104, 130);
- Add_Action (Table.States (462), 105, 120);
- Add_Action (Table.States (462), 106, 34);
- Add_Action (Table.States (462), 107, 35);
+ Add_Action (Table.States (457), 3, (200, 2), 122);
+ Add_Action (Table.States (457), 39, (261, 4), 123);
+ Add_Action (Table.States (457), 40, (168, 1), 263);
+ Add_Action (Table.States (457), 41, (261, 1), 125);
+ Add_Action (Table.States (457), 44, (168, 3), 265);
+ Add_Action (Table.States (457), 52, (278, 0), 126);
+ Add_Action (Table.States (457), 76, (120, 0), 127);
+ Add_Action (Table.States (457), 77, (120, 5), 128);
+ Add_Action (Table.States (457), 81, (242, 8), 31);
+ Add_Action (Table.States (457), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (457), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (457), 97, (333, 1), 129);
+ Add_Action (Table.States (457), 98, (333, 0), 130);
+ Add_Action (Table.States (457), 106, (261, 0), 131);
+ Add_Action (Table.States (457), 107, (242, 5), 120);
+ Add_Action (Table.States (457), 108, (242, 7), 34);
+ Add_Action (Table.States (457), 109, (242, 6), 35);
+ Table.States (457).Goto_List.Set_Capacity (22);
+ Add_Goto (Table.States (457), 120, 132);
+ Add_Goto (Table.States (457), 131, 42);
+ Add_Goto (Table.States (457), 168, 271);
+ Add_Goto (Table.States (457), 169, 620);
+ Add_Goto (Table.States (457), 194, 611);
+ Add_Goto (Table.States (457), 200, 135);
+ Add_Goto (Table.States (457), 242, 276);
+ Add_Goto (Table.States (457), 261, 137);
+ Add_Goto (Table.States (457), 275, 93);
+ Add_Goto (Table.States (457), 278, 138);
+ Add_Goto (Table.States (457), 280, 278);
+ Add_Goto (Table.States (457), 285, 139);
+ Add_Goto (Table.States (457), 286, 140);
+ Add_Goto (Table.States (457), 287, 141);
+ Add_Goto (Table.States (457), 288, 142);
+ Add_Goto (Table.States (457), 289, 143);
+ Add_Goto (Table.States (457), 290, 144);
+ Add_Goto (Table.States (457), 296, 98);
+ Add_Goto (Table.States (457), 304, 279);
+ Add_Goto (Table.States (457), 323, 146);
+ Add_Goto (Table.States (457), 324, 147);
+ Add_Goto (Table.States (457), 333, 148);
+ Table.States (457).Kernel := To_Vector ((0 => ((143, 0), 72, 1,
(2147483647, 0), 0)));
+ Table.States (457).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (169, 2), 0)));
+ Table.States (458).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (458), (24, 72), (144, 1), 1, null,
null);
+ Table.States (458).Kernel := To_Vector ((0 => ((144, 1), 143, 0,
(144, 1), 1)));
+ Table.States (458).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (144, 1), 1)));
+ Table.States (459).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (459), 24, (142, 0), 621);
+ Add_Action (Table.States (459), 72, (143, 0), 457);
+ Table.States (459).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (459), 143, 622);
+ Table.States (459).Kernel := To_Vector ((((142, 0), 144, 3,
(2147483647, 0), 0), ((144, 0), 144, 2,
+ (2147483647, 0), 0)));
+ Table.States (459).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (142, 0), 24, 621)));
+ Table.States (460).Action_List.Set_Capacity (36);
+ Add_Action (Table.States (460), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
+ 79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100,
101, 102), (200, 0), 3, null, null);
+ Table.States (460).Kernel := To_Vector ((0 => ((200, 0), 261, 0,
(200, 0), 3)));
+ Table.States (460).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (200, 0), 3)));
+ Table.States (461).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (461), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (285, 0), 3, null, null);
+ Table.States (461).Kernel := To_Vector ((0 => ((285, 0), 290, 0,
(285, 0), 3)));
+ Table.States (461).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (285, 0), 3)));
+ Table.States (462).Action_List.Set_Capacity (14);
+ Add_Action (Table.States (462), 3, (200, 2), 122);
+ Add_Action (Table.States (462), 39, (261, 4), 123);
+ Add_Action (Table.States (462), 40, (200, 3), 124);
+ Add_Action (Table.States (462), 41, (261, 1), 125);
+ Add_Action (Table.States (462), 52, (278, 0), 126);
+ Add_Action (Table.States (462), 76, (120, 0), 127);
+ Add_Action (Table.States (462), 77, (120, 5), 128);
+ Add_Action (Table.States (462), 81, (242, 8), 31);
+ Add_Action (Table.States (462), 97, (333, 1), 129);
+ Add_Action (Table.States (462), 98, (333, 0), 130);
+ Add_Action (Table.States (462), 106, (261, 0), 131);
+ Add_Action (Table.States (462), 107, (242, 5), 120);
+ Add_Action (Table.States (462), 108, (242, 7), 34);
+ Add_Action (Table.States (462), 109, (242, 6), 35);
Table.States (462).Goto_List.Set_Capacity (13);
- Add_Goto (Table.States (462), 118, 131);
- Add_Goto (Table.States (462), 129, 42);
- Add_Goto (Table.States (462), 198, 134);
- Add_Goto (Table.States (462), 240, 135);
- Add_Goto (Table.States (462), 259, 136);
- Add_Goto (Table.States (462), 273, 93);
- Add_Goto (Table.States (462), 276, 137);
- Add_Goto (Table.States (462), 288, 619);
- Add_Goto (Table.States (462), 294, 98);
- Add_Goto (Table.States (462), 302, 144);
- Add_Goto (Table.States (462), 321, 145);
- Add_Goto (Table.States (462), 322, 146);
- Add_Goto (Table.States (462), 331, 147);
- Table.States (462).Kernel := To_Vector ((0 => (284, 68, 1, True)));
- Table.States (462).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (462).Minimal_Complete_Actions_Recursive := True;
- Table.States (463).Action_List.Set_Capacity (17);
- Add_Action (Table.States (463), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (283,
- 1), 3, null, null);
- Table.States (463).Kernel := To_Vector ((0 => (283, 288, 0,
True)));
- Table.States (463).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 283, 3)));
- Table.States (463).Minimal_Complete_Actions_Recursive := True;
- Table.States (464).Action_List.Set_Capacity (13);
- Add_Action (Table.States (464), 3, 122);
- Add_Action (Table.States (464), 39, 123);
- Add_Action (Table.States (464), 40, 124);
- Add_Action (Table.States (464), 41, 125);
- Add_Action (Table.States (464), 52, 126);
- Add_Action (Table.States (464), 76, 127);
- Add_Action (Table.States (464), 79, 31);
- Add_Action (Table.States (464), 95, 128);
- Add_Action (Table.States (464), 96, 129);
- Add_Action (Table.States (464), 104, 130);
- Add_Action (Table.States (464), 105, 120);
- Add_Action (Table.States (464), 106, 34);
- Add_Action (Table.States (464), 107, 35);
+ Add_Goto (Table.States (462), 120, 132);
+ Add_Goto (Table.States (462), 131, 42);
+ Add_Goto (Table.States (462), 200, 135);
+ Add_Goto (Table.States (462), 242, 136);
+ Add_Goto (Table.States (462), 261, 137);
+ Add_Goto (Table.States (462), 275, 93);
+ Add_Goto (Table.States (462), 278, 138);
+ Add_Goto (Table.States (462), 290, 623);
+ Add_Goto (Table.States (462), 296, 98);
+ Add_Goto (Table.States (462), 304, 145);
+ Add_Goto (Table.States (462), 323, 146);
+ Add_Goto (Table.States (462), 324, 147);
+ Add_Goto (Table.States (462), 333, 148);
+ Table.States (462).Kernel := To_Vector ((0 => ((286, 0), 68, 1,
(2147483647, 0), 0)));
+ Table.States (462).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (463).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (463), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (287, 0), 3, null, null);
+ Table.States (463).Kernel := To_Vector ((0 => ((287, 0), 290, 0,
(287, 0), 3)));
+ Table.States (463).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (287, 0), 3)));
+ Table.States (464).Action_List.Set_Capacity (14);
+ Add_Action (Table.States (464), 3, (200, 2), 122);
+ Add_Action (Table.States (464), 39, (261, 4), 123);
+ Add_Action (Table.States (464), 40, (200, 3), 124);
+ Add_Action (Table.States (464), 41, (261, 1), 125);
+ Add_Action (Table.States (464), 52, (278, 0), 126);
+ Add_Action (Table.States (464), 76, (120, 0), 127);
+ Add_Action (Table.States (464), 77, (120, 5), 128);
+ Add_Action (Table.States (464), 81, (242, 8), 31);
+ Add_Action (Table.States (464), 97, (333, 1), 129);
+ Add_Action (Table.States (464), 98, (333, 0), 130);
+ Add_Action (Table.States (464), 106, (261, 0), 131);
+ Add_Action (Table.States (464), 107, (242, 5), 120);
+ Add_Action (Table.States (464), 108, (242, 7), 34);
+ Add_Action (Table.States (464), 109, (242, 6), 35);
Table.States (464).Goto_List.Set_Capacity (13);
- Add_Goto (Table.States (464), 118, 131);
- Add_Goto (Table.States (464), 129, 42);
- Add_Goto (Table.States (464), 198, 134);
- Add_Goto (Table.States (464), 240, 135);
- Add_Goto (Table.States (464), 259, 136);
- Add_Goto (Table.States (464), 273, 93);
- Add_Goto (Table.States (464), 276, 137);
- Add_Goto (Table.States (464), 288, 620);
- Add_Goto (Table.States (464), 294, 98);
- Add_Goto (Table.States (464), 302, 144);
- Add_Goto (Table.States (464), 321, 145);
- Add_Goto (Table.States (464), 322, 146);
- Add_Goto (Table.States (464), 331, 147);
- Table.States (464).Kernel := To_Vector ((0 => (286, 22, 1, True)));
- Table.States (464).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (464).Minimal_Complete_Actions_Recursive := True;
- Table.States (465).Action_List.Set_Capacity (17);
- Add_Action (Table.States (465), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (285,
- 1), 3, null, null);
- Table.States (465).Kernel := To_Vector ((0 => (285, 288, 0,
True)));
- Table.States (465).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 285, 3)));
- Table.States (465).Minimal_Complete_Actions_Recursive := True;
- Table.States (466).Action_List.Set_Capacity (17);
- Add_Action (Table.States (466), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (287,
- 1), 3, null, null);
- Table.States (466).Kernel := To_Vector ((0 => (287, 288, 0,
True)));
- Table.States (466).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 287, 3)));
- Table.States (466).Minimal_Complete_Actions_Recursive := True;
- Table.States (467).Action_List.Set_Capacity (17);
- Add_Action (Table.States (467), 10, Reduce, (288, 1), 3, null,
null);
- Add_Action (Table.States (467), 20, Reduce, (288, 1), 3, null,
null);
- Add_Action (Table.States (467), 21, Reduce, (288, 1), 3, null,
null);
- Add_Action (Table.States (467), 22, Reduce, (288, 1), 3, null,
null);
- Add_Action (Table.States (467), 23, Reduce, (288, 1), 3, null,
null);
- Add_Action (Table.States (467), 35, Reduce, (288, 1), 3, null,
null);
- Add_Action (Table.States (467), 37, Reduce, (288, 1), 3, null,
null);
- Add_Action (Table.States (467), 43, Reduce, (288, 1), 3, null,
null);
- Add_Action (Table.States (467), 53, Reduce, (288, 1), 3, null,
null);
- Add_Action (Table.States (467), 68, Reduce, (288, 1), 3, null,
null);
- Add_Action (Table.States (467), 74, Reduce, (288, 1), 3, null,
null);
- Add_Action (Table.States (467), 75, Reduce, (288, 1), 3, null,
null);
- Add_Action (Table.States (467), 77, Reduce, (288, 1), 3, null,
null);
- Add_Action (Table.States (467), 80, 621);
- Add_Conflict (Table.States (467), 80, (288, 1), 3, null, null);
- Add_Action (Table.States (467), 84, Reduce, (288, 1), 3, null,
null);
- Add_Action (Table.States (467), 88, Reduce, (288, 1), 3, null,
null);
- Add_Action (Table.States (467), 97, Reduce, (288, 1), 3, null,
null);
- Table.States (467).Kernel := To_Vector (((234, 234, 2, True),
(288, 234, 0, False)));
- Table.States (467).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 288, 3)));
- Table.States (468).Action_List.Set_Capacity (17);
- Add_Action (Table.States (468), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (234,
- 1), 1, null, null);
- Table.States (468).Kernel := To_Vector ((0 => (234, 235, 0,
False)));
- Table.States (468).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 234, 1)));
- Table.States (469).Action_List.Set_Capacity (17);
- Add_Action (Table.States (469), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (235,
- 1), 1, null, null);
- Table.States (469).Kernel := To_Vector ((0 => (235, 278, 0,
False)));
- Table.States (469).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 235, 1)));
- Table.States (470).Action_List.Set_Capacity (18);
- Add_Action (Table.States (470), 10, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 20, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 21, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 22, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 23, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 35, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 37, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 43, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 53, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 68, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 74, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 75, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 77, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 80, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 84, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 86, 452);
- Add_Action (Table.States (470), 88, Reduce, (235, 0), 1, null,
null);
- Add_Action (Table.States (470), 97, Reduce, (235, 0), 1, null,
null);
- Table.States (470).Kernel := To_Vector (((235, 302, 0, False),
(278, 302, 2, False)));
- Table.States (470).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 235, 1)));
- Table.States (471).Action_List.Set_Capacity (12);
- Add_Action (Table.States (471), 3, 122);
- Add_Action (Table.States (471), 39, 123);
- Add_Action (Table.States (471), 40, 124);
- Add_Action (Table.States (471), 41, 125);
- Add_Action (Table.States (471), 76, 127);
- Add_Action (Table.States (471), 79, 31);
- Add_Action (Table.States (471), 95, 128);
- Add_Action (Table.States (471), 96, 129);
- Add_Action (Table.States (471), 104, 130);
- Add_Action (Table.States (471), 105, 120);
- Add_Action (Table.States (471), 106, 34);
- Add_Action (Table.States (471), 107, 35);
- Table.States (471).Goto_List.Set_Capacity (14);
- Add_Goto (Table.States (471), 118, 131);
- Add_Goto (Table.States (471), 129, 42);
- Add_Goto (Table.States (471), 198, 134);
- Add_Goto (Table.States (471), 234, 622);
- Add_Goto (Table.States (471), 235, 468);
- Add_Goto (Table.States (471), 240, 275);
- Add_Goto (Table.States (471), 259, 136);
- Add_Goto (Table.States (471), 273, 93);
- Add_Goto (Table.States (471), 278, 469);
- Add_Goto (Table.States (471), 294, 98);
- Add_Goto (Table.States (471), 302, 470);
- Add_Goto (Table.States (471), 321, 145);
- Add_Goto (Table.States (471), 322, 146);
- Add_Goto (Table.States (471), 331, 147);
- Table.States (471).Kernel := To_Vector ((0 => (288, 33, 1,
False)));
- Table.States (471).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (472).Action_List.Set_Capacity (17);
- Add_Action (Table.States (472), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (288,
- 2), 3, null, null);
- Table.States (472).Kernel := To_Vector ((0 => (288, 302, 0,
False)));
- Table.States (472).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 288, 3)));
- Table.States (473).Action_List.Set_Capacity (35);
- Add_Action (Table.States (473), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
- 78, 80, 83, 84, 86, 87, 88, 89, 90, 92, 93, 95, 96, 97, 98, 99,
100), (321, 0), 3, null, null);
- Table.States (473).Kernel := To_Vector ((0 => (321, 198, 0,
True)));
- Table.States (473).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 321, 3)));
- Table.States (473).Minimal_Complete_Actions_Recursive := True;
- Table.States (474).Action_List.Set_Capacity (35);
- Add_Action (Table.States (474), 10, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 20, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 21, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 22, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 23, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 33, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 35, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 37, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 38, 298);
- Add_Action (Table.States (474), 40, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 42, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 43, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 53, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 55, 299);
- Add_Action (Table.States (474), 68, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 74, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 75, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 77, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 78, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 80, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 83, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 84, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 86, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 87, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 88, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 89, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 90, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 92, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 93, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 95, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 96, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 97, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 98, 300);
- Add_Action (Table.States (474), 99, Reduce, (322, 0), 3, null,
null);
- Add_Action (Table.States (474), 100, 301);
- Table.States (474).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (474), 238, 302);
- Table.States (474).Kernel := To_Vector (((321, 321, 2, True),
(322, 321, 0, True)));
- Table.States (474).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 322, 3)));
- Table.States (474).Minimal_Complete_Actions_Recursive := True;
- Table.States (475).Action_List.Set_Capacity (47);
- Add_Action (Table.States (475), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (162, 0), 4, delay_statement_0'Access, null);
- Table.States (475).Kernel := To_Vector ((0 => (162, 97, 0,
False)));
- Table.States (475).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 162, 4)));
- Table.States (476).Action_List.Set_Capacity (1);
- Add_Action (Table.States (476), 97, 623);
- Table.States (476).Kernel := To_Vector ((0 => (191, 193, 1,
False)));
- Table.States (476).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 623)));
- Table.States (477).Action_List.Set_Capacity (8);
- Add_Action (Table.States (477), 39, 123);
- Add_Action (Table.States (477), 41, 624);
- Add_Action (Table.States (477), 76, 127);
- Add_Action (Table.States (477), 79, 31);
- Add_Action (Table.States (477), 104, 130);
- Add_Action (Table.States (477), 105, 120);
- Add_Action (Table.States (477), 106, 34);
- Add_Action (Table.States (477), 107, 35);
- Table.States (477).Goto_List.Set_Capacity (6);
- Add_Goto (Table.States (477), 118, 131);
- Add_Goto (Table.States (477), 129, 42);
- Add_Goto (Table.States (477), 240, 135);
- Add_Goto (Table.States (477), 259, 257);
- Add_Goto (Table.States (477), 273, 93);
- Add_Goto (Table.States (477), 294, 98);
- Table.States (477).Kernel := To_Vector (((198, 40, 1, False),
(315, 40, 6, False), (315, 40, 2, False)));
- Table.States (477).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (478).Action_List.Set_Capacity (12);
- Add_Action (Table.States (478), 3, 122);
- Add_Action (Table.States (478), 39, 123);
- Add_Action (Table.States (478), 40, 477);
- Add_Action (Table.States (478), 41, 125);
- Add_Action (Table.States (478), 76, 127);
- Add_Action (Table.States (478), 79, 31);
- Add_Action (Table.States (478), 95, 128);
- Add_Action (Table.States (478), 96, 129);
- Add_Action (Table.States (478), 104, 130);
- Add_Action (Table.States (478), 105, 120);
- Add_Action (Table.States (478), 106, 34);
- Add_Action (Table.States (478), 107, 35);
- Table.States (478).Goto_List.Set_Capacity (14);
- Add_Goto (Table.States (478), 118, 131);
- Add_Goto (Table.States (478), 129, 42);
- Add_Goto (Table.States (478), 168, 625);
- Add_Goto (Table.States (478), 198, 134);
- Add_Goto (Table.States (478), 240, 480);
- Add_Goto (Table.States (478), 259, 136);
- Add_Goto (Table.States (478), 273, 93);
- Add_Goto (Table.States (478), 278, 481);
- Add_Goto (Table.States (478), 294, 98);
- Add_Goto (Table.States (478), 302, 482);
- Add_Goto (Table.States (478), 315, 483);
- Add_Goto (Table.States (478), 321, 145);
- Add_Goto (Table.States (478), 322, 146);
- Add_Goto (Table.States (478), 331, 147);
- Table.States (478).Kernel := To_Vector ((0 => (231, 59, 1,
False)));
- Table.States (478).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (479).Action_List.Set_Capacity (2);
- Add_Action (Table.States (479), (37, 88), (231, 5), 3,
iterator_specification_5'Access, null);
- Table.States (479).Kernel := To_Vector ((0 => (231, 168, 0,
False)));
- Table.States (479).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 231, 3)));
+ Add_Goto (Table.States (464), 120, 132);
+ Add_Goto (Table.States (464), 131, 42);
+ Add_Goto (Table.States (464), 200, 135);
+ Add_Goto (Table.States (464), 242, 136);
+ Add_Goto (Table.States (464), 261, 137);
+ Add_Goto (Table.States (464), 275, 93);
+ Add_Goto (Table.States (464), 278, 138);
+ Add_Goto (Table.States (464), 290, 624);
+ Add_Goto (Table.States (464), 296, 98);
+ Add_Goto (Table.States (464), 304, 145);
+ Add_Goto (Table.States (464), 323, 146);
+ Add_Goto (Table.States (464), 324, 147);
+ Add_Goto (Table.States (464), 333, 148);
+ Table.States (464).Kernel := To_Vector ((0 => ((288, 0), 22, 1,
(2147483647, 0), 0)));
+ Table.States (464).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (465).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (465), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (289, 0), 3, null, null);
+ Table.States (465).Kernel := To_Vector ((0 => ((289, 0), 290, 0,
(289, 0), 3)));
+ Table.States (465).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (289, 0), 3)));
+ Table.States (466).Action_List.Set_Capacity (14);
+ Add_Action (Table.States (466), 3, (200, 2), 122);
+ Add_Action (Table.States (466), 39, (261, 4), 123);
+ Add_Action (Table.States (466), 40, (200, 3), 124);
+ Add_Action (Table.States (466), 41, (261, 1), 125);
+ Add_Action (Table.States (466), 52, (278, 0), 126);
+ Add_Action (Table.States (466), 76, (120, 0), 127);
+ Add_Action (Table.States (466), 77, (120, 5), 128);
+ Add_Action (Table.States (466), 81, (242, 8), 31);
+ Add_Action (Table.States (466), 97, (333, 1), 129);
+ Add_Action (Table.States (466), 98, (333, 0), 130);
+ Add_Action (Table.States (466), 106, (261, 0), 131);
+ Add_Action (Table.States (466), 107, (242, 5), 120);
+ Add_Action (Table.States (466), 108, (242, 7), 34);
+ Add_Action (Table.States (466), 109, (242, 6), 35);
+ Table.States (466).Goto_List.Set_Capacity (13);
+ Add_Goto (Table.States (466), 120, 132);
+ Add_Goto (Table.States (466), 131, 42);
+ Add_Goto (Table.States (466), 200, 135);
+ Add_Goto (Table.States (466), 242, 136);
+ Add_Goto (Table.States (466), 261, 137);
+ Add_Goto (Table.States (466), 275, 93);
+ Add_Goto (Table.States (466), 278, 138);
+ Add_Goto (Table.States (466), 290, 625);
+ Add_Goto (Table.States (466), 296, 98);
+ Add_Goto (Table.States (466), 304, 145);
+ Add_Goto (Table.States (466), 323, 146);
+ Add_Goto (Table.States (466), 324, 147);
+ Add_Goto (Table.States (466), 333, 148);
+ Table.States (466).Kernel := To_Vector ((0 => ((286, 1), 68, 1,
(2147483647, 0), 0)));
+ Table.States (466).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
end Subr_9;
procedure Subr_10
is begin
- Table.States (480).Action_List.Set_Capacity (30);
- Add_Action (Table.States (480), 10, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 33, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 37, Reduce, (315, 3), 1,
subtype_indication_3'Access, null);
- Add_Action (Table.States (480), 38, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 40, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 43, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 53, 626);
- Add_Action (Table.States (480), 55, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 75, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 76, 627);
- Add_Action (Table.States (480), 77, Reduce, (259, 3), 1, null,
null);
- Add_Conflict (Table.States (480), 77, (315, 3), 1,
subtype_indication_3'Access, null);
- Add_Action (Table.States (480), 78, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 80, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 84, Reduce, (259, 3), 1, null,
null);
- Add_Conflict (Table.States (480), 84, (315, 3), 1,
subtype_indication_3'Access, null);
- Add_Action (Table.States (480), 85, 238);
- Add_Action (Table.States (480), 86, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 87, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 88, Reduce, (259, 3), 1, null,
null);
- Add_Conflict (Table.States (480), 88, (315, 3), 1,
subtype_indication_3'Access, null);
- Add_Action (Table.States (480), 89, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 90, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 92, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 93, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 95, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 96, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 98, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 99, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 100, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 101, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (480), 102, 240);
- Add_Action (Table.States (480), 103, 241);
- Table.States (480).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (480), 116, 242);
- Add_Goto (Table.States (480), 156, 628);
- Add_Goto (Table.States (480), 225, 629);
- Add_Goto (Table.States (480), 323, 451);
- Table.States (480).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (259, 240, 0, False), (273, 240, 3, True), (278, 240, 4, False),
(278, 240, 2, False), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True), (294, 240, 2, True),
(315, 240, 4, False), (315, 240, 0, False)));
- Table.States (480).Minimal_Complete_Actions := To_Vector
(((Reduce, 259, 1), (Reduce, 315, 1)));
- Table.States (481).Action_List.Set_Capacity (4);
- Add_Action (Table.States (481), (37, 77, 84, 88), (168, 1), 1,
null, null);
- Table.States (481).Kernel := To_Vector ((0 => (168, 278, 0,
False)));
- Table.States (481).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 168, 1)));
- Table.States (482).Action_List.Set_Capacity (1);
- Add_Action (Table.States (482), 86, 452);
- Table.States (482).Kernel := To_Vector ((0 => (278, 302, 2,
False)));
- Table.States (482).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 86, 452)));
- Table.States (483).Action_List.Set_Capacity (4);
- Add_Action (Table.States (483), (37, 77, 84, 88), (168, 0), 1,
null, null);
- Table.States (483).Kernel := To_Vector ((0 => (168, 315, 0,
False)));
- Table.States (483).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 168, 1)));
- Table.States (484).Action_List.Set_Capacity (4);
- Add_Action (Table.States (484), 79, 31);
- Add_Action (Table.States (484), 105, 120);
- Add_Action (Table.States (484), 106, 34);
- Add_Action (Table.States (484), 107, 35);
+ Table.States (467).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (467), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (285, 1), 3, null, null);
+ Table.States (467).Kernel := To_Vector ((0 => ((285, 1), 290, 0,
(285, 1), 3)));
+ Table.States (467).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (285, 1), 3)));
+ Table.States (468).Action_List.Set_Capacity (14);
+ Add_Action (Table.States (468), 3, (200, 2), 122);
+ Add_Action (Table.States (468), 39, (261, 4), 123);
+ Add_Action (Table.States (468), 40, (200, 3), 124);
+ Add_Action (Table.States (468), 41, (261, 1), 125);
+ Add_Action (Table.States (468), 52, (278, 0), 126);
+ Add_Action (Table.States (468), 76, (120, 0), 127);
+ Add_Action (Table.States (468), 77, (120, 5), 128);
+ Add_Action (Table.States (468), 81, (242, 8), 31);
+ Add_Action (Table.States (468), 97, (333, 1), 129);
+ Add_Action (Table.States (468), 98, (333, 0), 130);
+ Add_Action (Table.States (468), 106, (261, 0), 131);
+ Add_Action (Table.States (468), 107, (242, 5), 120);
+ Add_Action (Table.States (468), 108, (242, 7), 34);
+ Add_Action (Table.States (468), 109, (242, 6), 35);
+ Table.States (468).Goto_List.Set_Capacity (13);
+ Add_Goto (Table.States (468), 120, 132);
+ Add_Goto (Table.States (468), 131, 42);
+ Add_Goto (Table.States (468), 200, 135);
+ Add_Goto (Table.States (468), 242, 136);
+ Add_Goto (Table.States (468), 261, 137);
+ Add_Goto (Table.States (468), 275, 93);
+ Add_Goto (Table.States (468), 278, 138);
+ Add_Goto (Table.States (468), 290, 626);
+ Add_Goto (Table.States (468), 296, 98);
+ Add_Goto (Table.States (468), 304, 145);
+ Add_Goto (Table.States (468), 323, 146);
+ Add_Goto (Table.States (468), 324, 147);
+ Add_Goto (Table.States (468), 333, 148);
+ Table.States (468).Kernel := To_Vector ((0 => ((288, 1), 22, 1,
(2147483647, 0), 0)));
+ Table.States (468).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (469).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (469), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (287, 1), 3, null, null);
+ Table.States (469).Kernel := To_Vector ((0 => ((287, 1), 290, 0,
(287, 1), 3)));
+ Table.States (469).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (287, 1), 3)));
+ Table.States (470).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (470), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (289, 1), 3, null, null);
+ Table.States (470).Kernel := To_Vector ((0 => ((289, 1), 290, 0,
(289, 1), 3)));
+ Table.States (470).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (289, 1), 3)));
+ Table.States (471).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (471), 10, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 20, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 21, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 22, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 23, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 35, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 37, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 43, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 53, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 68, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 74, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 75, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 78, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 79, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 82, (236, 0), 627);
+ Add_Conflict (Table.States (471), 82, (290, 1), 3, null, null);
+ Add_Action (Table.States (471), 86, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 90, Reduce, (290, 1), 3, null,
null);
+ Add_Action (Table.States (471), 99, Reduce, (290, 1), 3, null,
null);
+ Table.States (471).Kernel := To_Vector ((((236, 0), 236, 2,
(2147483647, 0), 0), ((290, 1), 236, 0,
+ (290, 1), 3)));
+ Table.States (471).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (290, 1), 3)));
+ Table.States (472).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (472), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (236, 1), 1, null, null);
+ Table.States (472).Kernel := To_Vector ((0 => ((236, 1), 237, 0,
(236, 1), 1)));
+ Table.States (472).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (236, 1), 1)));
+ Table.States (473).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (473), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (237, 1), 1, null, null);
+ Table.States (473).Kernel := To_Vector ((0 => ((237, 1), 280, 0,
(237, 1), 1)));
+ Table.States (473).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (237, 1), 1)));
+ Table.States (474).Action_List.Set_Capacity (19);
+ Add_Action (Table.States (474), 10, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 20, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 21, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 22, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 23, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 35, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 37, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 43, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 53, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 68, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 74, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 75, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 78, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 79, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 82, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 86, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 88, (280, 2), 455);
+ Add_Action (Table.States (474), 90, Reduce, (237, 0), 1, null,
null);
+ Add_Action (Table.States (474), 99, Reduce, (237, 0), 1, null,
null);
+ Table.States (474).Kernel := To_Vector ((((237, 0), 304, 0,
(237, 0), 1), ((280, 2), 304, 2,
+ (2147483647, 0), 0)));
+ Table.States (474).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (237, 0), 1)));
+ Table.States (475).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (475), 3, (200, 2), 122);
+ Add_Action (Table.States (475), 39, (261, 4), 123);
+ Add_Action (Table.States (475), 40, (200, 3), 124);
+ Add_Action (Table.States (475), 41, (261, 1), 125);
+ Add_Action (Table.States (475), 76, (120, 0), 127);
+ Add_Action (Table.States (475), 77, (120, 5), 128);
+ Add_Action (Table.States (475), 81, (242, 8), 31);
+ Add_Action (Table.States (475), 97, (333, 1), 129);
+ Add_Action (Table.States (475), 98, (333, 0), 130);
+ Add_Action (Table.States (475), 106, (261, 0), 131);
+ Add_Action (Table.States (475), 107, (242, 5), 120);
+ Add_Action (Table.States (475), 108, (242, 7), 34);
+ Add_Action (Table.States (475), 109, (242, 6), 35);
+ Table.States (475).Goto_List.Set_Capacity (14);
+ Add_Goto (Table.States (475), 120, 132);
+ Add_Goto (Table.States (475), 131, 42);
+ Add_Goto (Table.States (475), 200, 135);
+ Add_Goto (Table.States (475), 236, 628);
+ Add_Goto (Table.States (475), 237, 472);
+ Add_Goto (Table.States (475), 242, 276);
+ Add_Goto (Table.States (475), 261, 137);
+ Add_Goto (Table.States (475), 275, 93);
+ Add_Goto (Table.States (475), 280, 473);
+ Add_Goto (Table.States (475), 296, 98);
+ Add_Goto (Table.States (475), 304, 474);
+ Add_Goto (Table.States (475), 323, 146);
+ Add_Goto (Table.States (475), 324, 147);
+ Add_Goto (Table.States (475), 333, 148);
+ Table.States (475).Kernel := To_Vector ((0 => ((290, 0), 33, 1,
(2147483647, 0), 0)));
+ Table.States (475).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (476).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (476), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (290, 2), 3, null, null);
+ Table.States (476).Kernel := To_Vector ((0 => ((290, 2), 304, 0,
(290, 2), 3)));
+ Table.States (476).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (290, 2), 3)));
+ Table.States (477).Action_List.Set_Capacity (36);
+ Add_Action (Table.States (477), (10, 20, 21, 22, 23, 33, 35, 37,
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
+ 79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100,
101, 102), (323, 0), 3, null, null);
+ Table.States (477).Kernel := To_Vector ((0 => ((323, 0), 200, 0,
(323, 0), 3)));
+ Table.States (477).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (323, 0), 3)));
+ Table.States (478).Action_List.Set_Capacity (36);
+ Add_Action (Table.States (478), 10, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 20, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 21, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 22, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 23, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 33, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 35, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 37, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 38, (240, 2), 300);
+ Add_Action (Table.States (478), 40, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 42, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 43, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 53, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 55, (240, 3), 301);
+ Add_Action (Table.States (478), 68, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 74, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 75, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 78, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 79, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 80, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 82, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 85, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 86, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 88, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 89, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 90, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 91, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 92, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 94, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 95, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 97, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 98, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 99, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 100, (240, 1), 302);
+ Add_Action (Table.States (478), 101, Reduce, (324, 0), 3, null,
null);
+ Add_Action (Table.States (478), 102, (240, 0), 303);
+ Table.States (478).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (478), 240, 304);
+ Table.States (478).Kernel := To_Vector ((((323, 0), 323, 2,
(2147483647, 0), 0), ((324, 0), 323, 0,
+ (324, 0), 3)));
+ Table.States (478).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (324, 0), 3)));
+ Table.States (479).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (479), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (164, 0), 4, delay_statement_0'Access, null);
+ Table.States (479).Kernel := To_Vector ((0 => ((164, 0), 99, 0,
(164, 0), 4)));
+ Table.States (479).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (164, 0), 4)));
+ Table.States (480).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (480), 99, (193, 0), 629);
+ Table.States (480).Kernel := To_Vector ((0 => ((193, 0), 195, 1,
(2147483647, 0), 0)));
+ Table.States (480).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (193, 0), 99, 629)));
+ Table.States (481).Action_List.Set_Capacity (9);
+ Add_Action (Table.States (481), 39, (261, 4), 123);
+ Add_Action (Table.States (481), 41, (261, 1), 630);
+ Add_Action (Table.States (481), 76, (120, 0), 127);
+ Add_Action (Table.States (481), 77, (120, 5), 128);
+ Add_Action (Table.States (481), 81, (242, 8), 31);
+ Add_Action (Table.States (481), 106, (261, 0), 131);
+ Add_Action (Table.States (481), 107, (242, 5), 120);
+ Add_Action (Table.States (481), 108, (242, 7), 34);
+ Add_Action (Table.States (481), 109, (242, 6), 35);
+ Table.States (481).Goto_List.Set_Capacity (6);
+ Add_Goto (Table.States (481), 120, 132);
+ Add_Goto (Table.States (481), 131, 42);
+ Add_Goto (Table.States (481), 242, 136);
+ Add_Goto (Table.States (481), 261, 258);
+ Add_Goto (Table.States (481), 275, 93);
+ Add_Goto (Table.States (481), 296, 98);
+ Table.States (481).Kernel := To_Vector ((((200, 3), 40, 1,
(2147483647, 0), 0), ((317, 0), 40, 6,
+ (2147483647, 0), 0), ((317, 1), 40, 2, (2147483647, 0), 0)));
+ Table.States (481).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (482).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (482), 3, (200, 2), 122);
+ Add_Action (Table.States (482), 39, (261, 4), 123);
+ Add_Action (Table.States (482), 40, (200, 3), 481);
+ Add_Action (Table.States (482), 41, (261, 1), 125);
+ Add_Action (Table.States (482), 76, (120, 0), 127);
+ Add_Action (Table.States (482), 77, (120, 5), 128);
+ Add_Action (Table.States (482), 81, (242, 8), 31);
+ Add_Action (Table.States (482), 97, (333, 1), 129);
+ Add_Action (Table.States (482), 98, (333, 0), 130);
+ Add_Action (Table.States (482), 106, (261, 0), 131);
+ Add_Action (Table.States (482), 107, (242, 5), 120);
+ Add_Action (Table.States (482), 108, (242, 7), 34);
+ Add_Action (Table.States (482), 109, (242, 6), 35);
+ Table.States (482).Goto_List.Set_Capacity (14);
+ Add_Goto (Table.States (482), 120, 132);
+ Add_Goto (Table.States (482), 131, 42);
+ Add_Goto (Table.States (482), 170, 631);
+ Add_Goto (Table.States (482), 200, 135);
+ Add_Goto (Table.States (482), 242, 484);
+ Add_Goto (Table.States (482), 261, 137);
+ Add_Goto (Table.States (482), 275, 93);
+ Add_Goto (Table.States (482), 280, 485);
+ Add_Goto (Table.States (482), 296, 98);
+ Add_Goto (Table.States (482), 304, 486);
+ Add_Goto (Table.States (482), 317, 487);
+ Add_Goto (Table.States (482), 323, 146);
+ Add_Goto (Table.States (482), 324, 147);
+ Add_Goto (Table.States (482), 333, 148);
+ Table.States (482).Kernel := To_Vector ((0 => ((233, 2), 59, 1,
(2147483647, 0), 0)));
+ Table.States (482).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (483).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (483), (37, 90), (233, 5), 3,
iterator_specification_5'Access, null);
+ Table.States (483).Kernel := To_Vector ((0 => ((233, 5), 170, 0,
(233, 5), 3)));
+ Table.States (483).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (233, 5), 3)));
+ Table.States (484).Action_List.Set_Capacity (30);
+ Add_Action (Table.States (484), 10, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 33, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 37, Reduce, (317, 3), 1,
subtype_indication_3'Access, null);
+ Add_Action (Table.States (484), 38, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 40, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 43, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 53, (158, 0), 632);
+ Add_Action (Table.States (484), 55, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 75, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 76, (118, 0), 633);
+ Add_Action (Table.States (484), 78, Reduce, (261, 3), 1, null,
null);
+ Add_Conflict (Table.States (484), 78, (317, 3), 1,
subtype_indication_3'Access, null);
+ Add_Action (Table.States (484), 80, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 82, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 86, Reduce, (261, 3), 1, null,
null);
+ Add_Conflict (Table.States (484), 86, (317, 3), 1,
subtype_indication_3'Access, null);
+ Add_Action (Table.States (484), 87, (296, 0), 239);
+ Add_Action (Table.States (484), 88, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 89, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 90, Reduce, (261, 3), 1, null,
null);
+ Add_Conflict (Table.States (484), 90, (317, 3), 1,
subtype_indication_3'Access, null);
+ Add_Action (Table.States (484), 91, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 92, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 94, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 95, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 97, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 98, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 100, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 101, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 102, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 103, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (484), 104, (325, 0), 241);
+ Add_Action (Table.States (484), 105, (325, 1), 242);
Table.States (484).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (484), 129, 42);
- Add_Goto (Table.States (484), 240, 630);
- Add_Goto (Table.States (484), 273, 93);
- Add_Goto (Table.States (484), 294, 98);
- Table.States (484).Kernel := To_Vector ((0 => (231, 59, 1,
False)));
- Table.States (484).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (485).Action_List.Set_Capacity (6);
- Add_Action (Table.States (485), 37, Reduce, (231, 4), 3, null,
null);
- Add_Action (Table.States (485), 76, 236);
- Add_Action (Table.States (485), 85, 238);
- Add_Action (Table.States (485), 88, Reduce, (231, 4), 3, null,
null);
- Add_Action (Table.States (485), 102, 240);
- Add_Action (Table.States (485), 103, 241);
- Table.States (485).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (485), 116, 242);
- Add_Goto (Table.States (485), 323, 243);
- Table.States (485).Kernel := To_Vector (((129, 240, 2, True),
(231, 240, 0, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (485).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 231, 3)));
+ Add_Goto (Table.States (484), 118, 243);
+ Add_Goto (Table.States (484), 158, 634);
+ Add_Goto (Table.States (484), 227, 635);
+ Add_Goto (Table.States (484), 325, 454);
+ Table.States (484).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((261, 3), 242, 0, (261, 3), 1), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((280, 0), 242, 4,
(2147483647, 0), 0), ((280, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 0), 242, 2, (2147483647, 0), 0),
((296, 1), 242, 2, (2147483647, 0), 0),
+ ((296, 2), 242, 2, (2147483647, 0), 0), ((296, 3), 242, 2,
(2147483647, 0), 0), ((317, 2), 242, 4,
+ (2147483647, 0), 0), ((317, 3), 242, 0, (317, 3), 1)));
+ Table.States (484).Minimal_Complete_Actions := To_Vector
(((Reduce, (261, 3), 1), (Reduce, (317, 3),
+ 1)));
+ Table.States (485).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (485), (37, 78, 86, 90), (170, 1), 1,
null, null);
+ Table.States (485).Kernel := To_Vector ((0 => ((170, 1), 280, 0,
(170, 1), 1)));
+ Table.States (485).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (170, 1), 1)));
Table.States (486).Action_List.Set_Capacity (1);
- Add_Action (Table.States (486), 41, 631);
- Table.States (486).Kernel := To_Vector (((315, 40, 6, False),
(315, 40, 2, False)));
- Table.States (486).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 41, 631)));
- Table.States (487).Action_List.Set_Capacity (11);
- Add_Action (Table.States (487), 10, Reduce, (315, 3), 1,
subtype_indication_3'Access, null);
- Add_Action (Table.States (487), 21, Reduce, (315, 3), 1,
subtype_indication_3'Access, null);
- Add_Action (Table.States (487), 42, Reduce, (315, 3), 1,
subtype_indication_3'Access, null);
- Add_Action (Table.States (487), 53, 626);
- Add_Action (Table.States (487), 74, Reduce, (315, 3), 1,
subtype_indication_3'Access, null);
- Add_Action (Table.States (487), 76, 627);
- Add_Action (Table.States (487), 83, Reduce, (315, 3), 1,
subtype_indication_3'Access, null);
- Add_Action (Table.States (487), 85, 238);
- Add_Action (Table.States (487), 97, Reduce, (315, 3), 1,
subtype_indication_3'Access, null);
- Add_Action (Table.States (487), 102, 240);
- Add_Action (Table.States (487), 103, 241);
- Table.States (487).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (487), 116, 242);
- Add_Goto (Table.States (487), 156, 628);
- Add_Goto (Table.States (487), 225, 629);
- Add_Goto (Table.States (487), 323, 243);
- Table.States (487).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (273, 240, 3, True), (294, 240, 2, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (315, 240, 4, False), (315, 240, 0, False)));
- Table.States (487).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 315, 1)));
- Table.States (488).Action_List.Set_Capacity (1);
- Add_Action (Table.States (488), 42, 632);
- Table.States (488).Kernel := To_Vector (((231, 315, 3, False),
(231, 315, 2, False)));
- Table.States (488).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 42, 632)));
- Table.States (489).Action_List.Set_Capacity (1);
- Add_Action (Table.States (489), 97, 633);
- Table.States (489).Kernel := To_Vector ((0 => (122, 193, 1,
False)));
- Table.States (489).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 633)));
- Table.States (490).Action_List.Set_Capacity (14);
- Add_Action (Table.States (490), 3, 122);
- Add_Action (Table.States (490), 39, 123);
- Add_Action (Table.States (490), 40, 124);
- Add_Action (Table.States (490), 41, 125);
- Add_Action (Table.States (490), 52, 126);
- Add_Action (Table.States (490), 76, 127);
- Add_Action (Table.States (490), 79, 31);
- Add_Action (Table.States (490), 95, 128);
- Add_Action (Table.States (490), 96, 129);
- Add_Action (Table.States (490), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (490), 104, 130);
- Add_Action (Table.States (490), 105, 120);
- Add_Action (Table.States (490), 106, 34);
- Add_Action (Table.States (490), 107, 35);
- Table.States (490).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (490), 118, 131);
- Add_Goto (Table.States (490), 129, 42);
- Add_Goto (Table.States (490), 192, 132);
- Add_Goto (Table.States (490), 193, 634);
- Add_Goto (Table.States (490), 198, 134);
- Add_Goto (Table.States (490), 240, 135);
- Add_Goto (Table.States (490), 259, 136);
- Add_Goto (Table.States (490), 273, 93);
- Add_Goto (Table.States (490), 276, 137);
- Add_Goto (Table.States (490), 283, 138);
- Add_Goto (Table.States (490), 284, 139);
- Add_Goto (Table.States (490), 285, 140);
- Add_Goto (Table.States (490), 286, 141);
- Add_Goto (Table.States (490), 287, 142);
- Add_Goto (Table.States (490), 288, 143);
- Add_Goto (Table.States (490), 294, 98);
- Add_Goto (Table.States (490), 302, 144);
- Add_Goto (Table.States (490), 321, 145);
- Add_Goto (Table.States (490), 322, 146);
- Add_Goto (Table.States (490), 331, 147);
- Table.States (490).Kernel := To_Vector ((0 => (128, 12, 1,
False)));
- Table.States (490).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (491).Action_List.Set_Capacity (2);
- Add_Action (Table.States (491), 12, 635);
- Add_Action (Table.States (491), 105, Reduce, (236, 1), 0, null,
null);
- Table.States (491).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (491), 236, 636);
- Table.States (491).Kernel := To_Vector ((0 => (282, 54, 11,
False)));
- Table.States (491).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 236, 0)));
+ Add_Action (Table.States (486), 88, (280, 2), 455);
+ Table.States (486).Kernel := To_Vector ((0 => ((280, 2), 304, 2,
(2147483647, 0), 0)));
+ Table.States (486).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (280, 2), 88, 455)));
+ Table.States (487).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (487), (37, 78, 86, 90), (170, 0), 1,
null, null);
+ Table.States (487).Kernel := To_Vector ((0 => ((170, 0), 317, 0,
(170, 0), 1)));
+ Table.States (487).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (170, 0), 1)));
+ Table.States (488).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (488), 81, (242, 8), 31);
+ Add_Action (Table.States (488), 107, (242, 5), 120);
+ Add_Action (Table.States (488), 108, (242, 7), 34);
+ Add_Action (Table.States (488), 109, (242, 6), 35);
+ Table.States (488).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (488), 131, 42);
+ Add_Goto (Table.States (488), 242, 636);
+ Add_Goto (Table.States (488), 275, 93);
+ Add_Goto (Table.States (488), 296, 98);
+ Table.States (488).Kernel := To_Vector ((0 => ((233, 3), 59, 1,
(2147483647, 0), 0)));
+ Table.States (488).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (489).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (489), 37, Reduce, (233, 4), 3, null,
null);
+ Add_Action (Table.States (489), 76, (118, 0), 237);
+ Add_Action (Table.States (489), 87, (296, 0), 239);
+ Add_Action (Table.States (489), 90, Reduce, (233, 4), 3, null,
null);
+ Add_Action (Table.States (489), 104, (325, 0), 241);
+ Add_Action (Table.States (489), 105, (325, 1), 242);
+ Table.States (489).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (489), 118, 243);
+ Add_Goto (Table.States (489), 325, 244);
+ Table.States (489).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((233, 4), 242, 0,
+ (233, 4), 3), ((242, 0), 242, 5, (2147483647, 0), 0), ((242,
1), 242, 2, (2147483647, 0), 0), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (489).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (233, 4), 3)));
+ Table.States (490).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (490), 41, (317, 0), 637);
+ Table.States (490).Kernel := To_Vector ((((317, 0), 40, 6,
(2147483647, 0), 0), ((317, 1), 40, 2,
+ (2147483647, 0), 0)));
+ Table.States (490).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (317, 0), 41, 637)));
+ Table.States (491).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (491), 10, Reduce, (317, 3), 1,
subtype_indication_3'Access, null);
+ Add_Action (Table.States (491), 21, Reduce, (317, 3), 1,
subtype_indication_3'Access, null);
+ Add_Action (Table.States (491), 42, Reduce, (317, 3), 1,
subtype_indication_3'Access, null);
+ Add_Action (Table.States (491), 53, (158, 0), 632);
+ Add_Action (Table.States (491), 74, Reduce, (317, 3), 1,
subtype_indication_3'Access, null);
+ Add_Action (Table.States (491), 76, (118, 0), 633);
+ Add_Action (Table.States (491), 85, Reduce, (317, 3), 1,
subtype_indication_3'Access, null);
+ Add_Action (Table.States (491), 87, (296, 0), 239);
+ Add_Action (Table.States (491), 99, Reduce, (317, 3), 1,
subtype_indication_3'Access, null);
+ Add_Action (Table.States (491), 104, (325, 0), 241);
+ Add_Action (Table.States (491), 105, (325, 1), 242);
+ Table.States (491).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (491), 118, 243);
+ Add_Goto (Table.States (491), 158, 634);
+ Add_Goto (Table.States (491), 227, 635);
+ Add_Goto (Table.States (491), 325, 244);
+ Table.States (491).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((275, 0), 242, 3, (2147483647, 0), 0),
+ ((296, 0), 242, 2, (2147483647, 0), 0), ((296, 1), 242, 2,
(2147483647, 0), 0), ((296, 2), 242, 2,
+ (2147483647, 0), 0), ((296, 3), 242, 2, (2147483647, 0), 0),
((317, 2), 242, 4, (2147483647, 0), 0),
+ ((317, 3), 242, 0, (317, 3), 1)));
+ Table.States (491).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (317, 3), 1)));
Table.States (492).Action_List.Set_Capacity (1);
- Add_Action (Table.States (492), 97, 637);
- Table.States (492).Kernel := To_Vector ((0 => (183, 118, 1,
False)));
- Table.States (492).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 637)));
- Table.States (493).Action_List.Set_Capacity (7);
- Add_Action (Table.States (493), (21, 35, 56, 74, 77, 83, 97),
(292, 1), 2, result_profile_1'Access, null);
- Table.States (493).Kernel := To_Vector ((0 => (292, 115, 0,
True)));
- Table.States (493).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 292, 2)));
- Table.States (493).Minimal_Complete_Actions_Recursive := True;
- Table.States (494).Action_List.Set_Capacity (12);
- Add_Action (Table.States (494), 7, 560);
- Add_Action (Table.States (494), 21, Reduce, (241, 1), 0, null,
null);
- Add_Action (Table.States (494), 35, Reduce, (241, 1), 0, null,
null);
- Add_Action (Table.States (494), 56, Reduce, (241, 1), 0, null,
null);
- Add_Action (Table.States (494), 74, Reduce, (241, 1), 0, null,
null);
- Add_Action (Table.States (494), 77, Reduce, (241, 1), 0, null,
null);
- Add_Action (Table.States (494), 79, 31);
- Add_Action (Table.States (494), 83, Reduce, (241, 1), 0, null,
null);
- Add_Action (Table.States (494), 97, Reduce, (241, 1), 0, null,
null);
- Add_Action (Table.States (494), 105, 120);
- Add_Action (Table.States (494), 106, 34);
- Add_Action (Table.States (494), 107, 35);
- Table.States (494).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (494), 129, 42);
- Add_Goto (Table.States (494), 240, 638);
- Add_Goto (Table.States (494), 241, 639);
- Add_Goto (Table.States (494), 273, 93);
- Add_Goto (Table.States (494), 294, 98);
- Table.States (494).Kernel := To_Vector (((115, 242, 2, False),
(115, 242, 3, True), (115, 242, 2, False),
- (292, 242, 0, False)));
- Table.States (494).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 241, 0)));
- Table.States (495).Action_List.Set_Capacity (30);
- Add_Action (Table.States (495), 10, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 33, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 38, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 40, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 43, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 53, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 55, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 75, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 76, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 77, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 78, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 80, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 82, Reduce, (220, 1), 1,
identifier_list_1'Access, null);
- Add_Action (Table.States (495), 84, Reduce, (220, 1), 1,
identifier_list_1'Access, null);
- Add_Conflict (Table.States (495), 84, (240, 5), 1, name_5'Access,
name_5_check'Access);
- Add_Action (Table.States (495), 85, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 86, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 87, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 88, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 89, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 90, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 92, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 93, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 95, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 96, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 98, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 99, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 100, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 101, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 102, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (495), 103, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Table.States (495).Kernel := To_Vector (((220, 105, 0, False),
(240, 105, 0, False)));
- Table.States (495).Minimal_Complete_Actions := To_Vector
(((Reduce, 220, 1), (Reduce, 240, 1)));
- Table.States (496).Action_List.Set_Capacity (2);
- Add_Action (Table.States (496), 82, 640);
- Add_Action (Table.States (496), 84, 235);
- Table.States (496).Kernel := To_Vector (((220, 220, 2, True),
(255, 220, 3, False), (255, 220, 2, False),
- (255, 220, 4, False), (255, 220, 3, False)));
- Table.States (496).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 82, 640)));
- Table.States (497).Action_List.Set_Capacity (2);
- Add_Action (Table.States (497), (77, 97), (256, 1), 1, null, null);
- Table.States (497).Kernel := To_Vector ((0 => (256, 255, 0,
False)));
- Table.States (497).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 256, 1)));
- Table.States (498).Action_List.Set_Capacity (2);
- Add_Action (Table.States (498), 77, 641);
- Add_Action (Table.States (498), 97, 642);
- Table.States (498).Kernel := To_Vector (((200, 256, 1, False),
(256, 256, 1, True)));
- Table.States (498).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 641)));
- Table.States (499).Action_List.Set_Capacity (7);
- Add_Action (Table.States (499), (21, 35, 56, 74, 77, 83, 97),
(253, 0), 2,
+ Add_Action (Table.States (492), 42, (233, 0), 638);
+ Table.States (492).Kernel := To_Vector ((((233, 0), 317, 3,
(2147483647, 0), 0), ((233, 1), 317, 2,
+ (2147483647, 0), 0)));
+ Table.States (492).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (233, 0), 42, 638)));
+ Table.States (493).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (493), 99, (124, 0), 639);
+ Table.States (493).Kernel := To_Vector ((0 => ((124, 0), 195, 1,
(2147483647, 0), 0)));
+ Table.States (493).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (124, 0), 99, 639)));
+ Table.States (494).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (494), 3, (200, 2), 122);
+ Add_Action (Table.States (494), 39, (261, 4), 123);
+ Add_Action (Table.States (494), 40, (200, 3), 124);
+ Add_Action (Table.States (494), 41, (261, 1), 125);
+ Add_Action (Table.States (494), 52, (278, 0), 126);
+ Add_Action (Table.States (494), 76, (120, 0), 127);
+ Add_Action (Table.States (494), 77, (120, 5), 128);
+ Add_Action (Table.States (494), 81, (242, 8), 31);
+ Add_Action (Table.States (494), 97, (333, 1), 129);
+ Add_Action (Table.States (494), 98, (333, 0), 130);
+ Add_Action (Table.States (494), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (494), 106, (261, 0), 131);
+ Add_Action (Table.States (494), 107, (242, 5), 120);
+ Add_Action (Table.States (494), 108, (242, 7), 34);
+ Add_Action (Table.States (494), 109, (242, 6), 35);
+ Table.States (494).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (494), 120, 132);
+ Add_Goto (Table.States (494), 131, 42);
+ Add_Goto (Table.States (494), 194, 133);
+ Add_Goto (Table.States (494), 195, 640);
+ Add_Goto (Table.States (494), 200, 135);
+ Add_Goto (Table.States (494), 242, 136);
+ Add_Goto (Table.States (494), 261, 137);
+ Add_Goto (Table.States (494), 275, 93);
+ Add_Goto (Table.States (494), 278, 138);
+ Add_Goto (Table.States (494), 285, 139);
+ Add_Goto (Table.States (494), 286, 140);
+ Add_Goto (Table.States (494), 287, 141);
+ Add_Goto (Table.States (494), 288, 142);
+ Add_Goto (Table.States (494), 289, 143);
+ Add_Goto (Table.States (494), 290, 144);
+ Add_Goto (Table.States (494), 296, 98);
+ Add_Goto (Table.States (494), 304, 145);
+ Add_Goto (Table.States (494), 323, 146);
+ Add_Goto (Table.States (494), 324, 147);
+ Add_Goto (Table.States (494), 333, 148);
+ Table.States (494).Kernel := To_Vector ((0 => ((130, 0), 12, 1,
(2147483647, 0), 0)));
+ Table.States (494).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (495).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (495), 12, (238, 0), 641);
+ Add_Action (Table.States (495), 107, Reduce, (238, 1), 0, null,
null);
+ Table.States (495).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (495), 238, 642);
+ Table.States (495).Kernel := To_Vector ((0 => ((284, 0), 54, 11,
(2147483647, 0), 0)));
+ Table.States (495).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (238, 1), 0)));
+ Table.States (496).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (496), 99, (185, 0), 643);
+ Table.States (496).Kernel := To_Vector ((0 => ((185, 0), 120, 1,
(2147483647, 0), 0)));
+ Table.States (496).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (185, 0), 99, 643)));
+ Table.States (497).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (497), (21, 35, 56, 74, 78, 85, 99),
(294, 1), 2, result_profile_1'Access, null);
+ Table.States (497).Kernel := To_Vector ((0 => ((294, 1), 117, 0,
(294, 1), 2)));
+ Table.States (497).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (294, 1), 2)));
+ Table.States (498).Action_List.Set_Capacity (12);
+ Add_Action (Table.States (498), 7, (117, 0), 564);
+ Add_Action (Table.States (498), 21, Reduce, (243, 1), 0, null,
null);
+ Add_Action (Table.States (498), 35, Reduce, (243, 1), 0, null,
null);
+ Add_Action (Table.States (498), 56, Reduce, (243, 1), 0, null,
null);
+ Add_Action (Table.States (498), 74, Reduce, (243, 1), 0, null,
null);
+ Add_Action (Table.States (498), 78, Reduce, (243, 1), 0, null,
null);
+ Add_Action (Table.States (498), 81, (242, 8), 31);
+ Add_Action (Table.States (498), 85, Reduce, (243, 1), 0, null,
null);
+ Add_Action (Table.States (498), 99, Reduce, (243, 1), 0, null,
null);
+ Add_Action (Table.States (498), 107, (242, 5), 120);
+ Add_Action (Table.States (498), 108, (242, 7), 34);
+ Add_Action (Table.States (498), 109, (242, 6), 35);
+ Table.States (498).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (498), 131, 42);
+ Add_Goto (Table.States (498), 242, 644);
+ Add_Goto (Table.States (498), 243, 645);
+ Add_Goto (Table.States (498), 275, 93);
+ Add_Goto (Table.States (498), 296, 98);
+ Table.States (498).Kernel := To_Vector ((((117, 0), 244, 2,
(2147483647, 0), 0), ((117, 1), 244, 3,
+ (2147483647, 0), 0), ((117, 2), 244, 2, (2147483647, 0), 0),
((294, 0), 244, 0, (243, 1), 0)));
+ Table.States (498).Minimal_Complete_Actions := To_Vector (((Shift,
(117, 0), 7, 564), (Reduce, (243, 1),
+ 0)));
+ Table.States (499).Action_List.Set_Capacity (30);
+ Add_Action (Table.States (499), 10, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 33, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 38, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 40, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 43, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 53, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 55, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 75, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 76, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 78, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 80, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 82, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 84, Reduce, (222, 1), 1,
identifier_list_1'Access, null);
+ Add_Action (Table.States (499), 86, Reduce, (222, 1), 1,
identifier_list_1'Access, null);
+ Add_Conflict (Table.States (499), 86, (242, 5), 1, name_5'Access,
name_5_check'Access);
+ Add_Action (Table.States (499), 87, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 88, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 89, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 90, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 91, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 92, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 94, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 95, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 97, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 98, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 100, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 101, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 102, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 103, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 104, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (499), 105, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Table.States (499).Kernel := To_Vector ((((222, 1), 107, 0,
(222, 1), 1), ((242, 5), 107, 0, (242, 5),
+ 1)));
+ Table.States (499).Minimal_Complete_Actions := To_Vector
(((Reduce, (222, 1), 1), (Reduce, (242, 5),
+ 1)));
+ Table.States (500).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (500), 84, (257, 0), 646);
+ Add_Action (Table.States (500), 86, (222, 0), 236);
+ Table.States (500).Kernel := To_Vector ((((222, 0), 222, 2,
(2147483647, 0), 0), ((257, 0), 222, 3,
+ (2147483647, 0), 0), ((257, 1), 222, 2, (2147483647, 0), 0),
((257, 2), 222, 4, (2147483647, 0), 0),
+ ((257, 3), 222, 3, (2147483647, 0), 0)));
+ Table.States (500).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (257, 0), 84, 646)));
+ Table.States (501).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (501), (78, 99), (258, 1), 1, null,
null);
+ Table.States (501).Kernel := To_Vector ((0 => ((258, 1), 257, 0,
(258, 1), 1)));
+ Table.States (501).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (258, 1), 1)));
+ Table.States (502).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (502), 78, (202, 0), 647);
+ Add_Action (Table.States (502), 99, (258, 0), 648);
+ Table.States (502).Kernel := To_Vector ((((202, 0), 258, 1,
(2147483647, 0), 0), ((258, 0), 258, 1,
+ (2147483647, 0), 0)));
+ Table.States (502).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (202, 0), 78, 647)));
+ Table.States (503).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (503), (21, 35, 56, 74, 78, 85, 99),
(255, 0), 2,
parameter_and_result_profile_0'Access, null);
- Table.States (499).Kernel := To_Vector ((0 => (253, 292, 0,
True)));
- Table.States (499).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 253, 2)));
- Table.States (499).Minimal_Complete_Actions_Recursive := True;
- Table.States (500).Action_List.Set_Capacity (4);
- Add_Action (Table.States (500), 79, 31);
- Add_Action (Table.States (500), 105, 120);
- Add_Action (Table.States (500), 106, 34);
- Add_Action (Table.States (500), 107, 35);
- Table.States (500).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (500), 129, 42);
- Add_Goto (Table.States (500), 240, 643);
- Add_Goto (Table.States (500), 273, 93);
- Add_Goto (Table.States (500), 294, 98);
- Table.States (500).Kernel := To_Vector ((0 => (216, 56, 2,
False)));
- Table.States (500).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (501).Action_List.Set_Capacity (4);
- Add_Action (Table.States (501), 79, 31);
- Add_Action (Table.States (501), 105, 120);
- Add_Action (Table.States (501), 106, 34);
- Add_Action (Table.States (501), 107, 35);
- Table.States (501).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (501), 129, 42);
- Add_Goto (Table.States (501), 240, 644);
- Add_Goto (Table.States (501), 273, 93);
- Add_Goto (Table.States (501), 294, 98);
- Table.States (501).Kernel := To_Vector ((0 => (216, 56, 2,
False)));
- Table.States (501).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (502).Action_List.Set_Capacity (4);
- Add_Action (Table.States (502), 79, 31);
- Add_Action (Table.States (502), 105, 120);
- Add_Action (Table.States (502), 106, 34);
- Add_Action (Table.States (502), 107, 35);
- Table.States (502).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (502), 129, 42);
- Add_Goto (Table.States (502), 240, 645);
- Add_Goto (Table.States (502), 273, 93);
- Add_Goto (Table.States (502), 294, 98);
- Table.States (502).Kernel := To_Vector ((0 => (216, 56, 2,
False)));
- Table.States (502).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (503).Action_List.Set_Capacity (3);
- Add_Action (Table.States (503), 35, 646);
- Add_Action (Table.States (503), 74, 338);
- Add_Action (Table.States (503), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (503).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (503), 123, 647);
- Table.States (503).Kernel := To_Vector (((202, 170, 3, False),
(202, 170, 3, False), (202, 170, 1,
- False)));
- Table.States (503).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (504).Action_List.Set_Capacity (5);
- Add_Action (Table.States (504), 35, 648);
- Add_Action (Table.States (504), 76, 236);
- Add_Action (Table.States (504), 85, 238);
- Add_Action (Table.States (504), 102, 240);
- Add_Action (Table.States (504), 103, 241);
- Table.States (504).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (504), 116, 242);
- Add_Goto (Table.States (504), 323, 243);
- Table.States (504).Kernel := To_Vector (((129, 240, 2, True),
(205, 240, 4, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (504).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 35, 648)));
- Table.States (505).Action_List.Set_Capacity (7);
- Add_Action (Table.States (505), 6, 649);
- Add_Action (Table.States (505), 41, 650);
- Add_Action (Table.States (505), 79, 31);
- Add_Action (Table.States (505), 81, 651);
- Add_Action (Table.States (505), 105, 120);
- Add_Action (Table.States (505), 106, 34);
- Add_Action (Table.States (505), 107, 35);
- Table.States (505).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (505), 129, 42);
- Add_Goto (Table.States (505), 240, 652);
- Add_Goto (Table.States (505), 273, 93);
- Add_Goto (Table.States (505), 294, 98);
- Add_Goto (Table.States (505), 311, 653);
- Table.States (505).Kernel := To_Vector (((201, 35, 3, False),
(201, 35, 2, False), (201, 35, 2, False)));
- Table.States (505).Minimal_Complete_Actions := To_Vector (((Shift,
105, 120), (Shift, 6, 649)));
- Table.States (506).Action_List.Set_Capacity (1);
- Add_Action (Table.States (506), 97, 654);
- Table.States (506).Kernel := To_Vector ((0 => (201, 123, 1,
False)));
- Table.States (506).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 654)));
- Table.States (507).Action_List.Set_Capacity (10);
- Add_Action (Table.States (507), 7, Reduce, (237, 0), 1, null,
null);
- Add_Action (Table.States (507), 40, Reduce, (237, 0), 1, null,
null);
- Add_Action (Table.States (507), 45, 655);
- Add_Action (Table.States (507), 74, Reduce, (237, 0), 1, null,
null);
- Add_Action (Table.States (507), 79, Reduce, (237, 0), 1, null,
null);
- Add_Action (Table.States (507), 83, Reduce, (237, 0), 1, null,
null);
- Add_Action (Table.States (507), 97, Reduce, (237, 0), 1, null,
null);
- Add_Action (Table.States (507), 105, Reduce, (237, 0), 1, null,
null);
- Add_Action (Table.States (507), 106, Reduce, (237, 0), 1, null,
null);
- Add_Action (Table.States (507), 107, Reduce, (237, 0), 1, null,
null);
- Table.States (507).Kernel := To_Vector (((237, 33, 0, False),
(237, 33, 1, False)));
- Table.States (507).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 237, 1)));
- Table.States (508).Action_List.Set_Capacity (9);
- Add_Action (Table.States (508), (7, 40, 74, 79, 83, 97, 105, 106,
107), (237, 2), 1, null, null);
- Table.States (508).Kernel := To_Vector ((0 => (237, 45, 0,
False)));
- Table.States (508).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 237, 1)));
- Table.States (509).Action_List.Set_Capacity (6);
- Add_Action (Table.States (509), 7, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (509), 40, 387);
- Add_Action (Table.States (509), 79, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (509), 105, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (509), 106, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (509), 107, Reduce, (242, 1), 0, null,
null);
- Table.States (509).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (509), 115, 656);
- Add_Goto (Table.States (509), 242, 657);
- Table.States (509).Kernel := To_Vector (((199, 237, 3, False),
(199, 237, 4, False), (199, 237, 2, False),
- (199, 237, 3, False)));
- Table.States (509).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 242, 0)));
- Table.States (510).Action_List.Set_Capacity (3);
- Add_Action (Table.States (510), 22, 658);
- Add_Action (Table.States (510), 23, 659);
- Add_Action (Table.States (510), 24, 660);
- Table.States (510).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (510), 175, 661);
- Add_Goto (Table.States (510), 176, 662);
- Table.States (510).Kernel := To_Vector (((223, 301, 6, False),
(223, 301, 4, False), (223, 301, 5, False),
- (223, 301, 3, False)));
- Table.States (510).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 660)));
- Table.States (511).Action_List.Set_Capacity (2);
- Add_Action (Table.States (511), 84, 382);
- Add_Action (Table.States (511), 97, 663);
- Table.States (511).Kernel := To_Vector (((239, 239, 2, True),
(333, 239, 1, False)));
- Table.States (511).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 663)));
- Table.States (512).Action_List.Set_Capacity (40);
- Add_Action (Table.States (512), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
- 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 79,
94, 105, 106, 107, 108), (333, 1), 4,
+ Table.States (503).Kernel := To_Vector ((0 => ((255, 0), 294, 0,
(255, 0), 2)));
+ Table.States (503).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (255, 0), 2)));
+ Table.States (504).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (504), 81, (242, 8), 31);
+ Add_Action (Table.States (504), 107, (242, 5), 120);
+ Add_Action (Table.States (504), 108, (242, 7), 34);
+ Add_Action (Table.States (504), 109, (242, 6), 35);
+ Table.States (504).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (504), 131, 42);
+ Add_Goto (Table.States (504), 242, 649);
+ Add_Goto (Table.States (504), 275, 93);
+ Add_Goto (Table.States (504), 296, 98);
+ Table.States (504).Kernel := To_Vector ((0 => ((218, 2), 56, 2,
(2147483647, 0), 0)));
+ Table.States (504).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (505).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (505), 81, (242, 8), 31);
+ Add_Action (Table.States (505), 107, (242, 5), 120);
+ Add_Action (Table.States (505), 108, (242, 7), 34);
+ Add_Action (Table.States (505), 109, (242, 6), 35);
+ Table.States (505).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (505), 131, 42);
+ Add_Goto (Table.States (505), 242, 650);
+ Add_Goto (Table.States (505), 275, 93);
+ Add_Goto (Table.States (505), 296, 98);
+ Table.States (505).Kernel := To_Vector ((0 => ((218, 0), 56, 2,
(2147483647, 0), 0)));
+ Table.States (505).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (506).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (506), 81, (242, 8), 31);
+ Add_Action (Table.States (506), 107, (242, 5), 120);
+ Add_Action (Table.States (506), 108, (242, 7), 34);
+ Add_Action (Table.States (506), 109, (242, 6), 35);
+ Table.States (506).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (506), 131, 42);
+ Add_Goto (Table.States (506), 242, 651);
+ Add_Goto (Table.States (506), 275, 93);
+ Add_Goto (Table.States (506), 296, 98);
+ Table.States (506).Kernel := To_Vector ((0 => ((218, 1), 56, 2,
(2147483647, 0), 0)));
+ Table.States (506).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (507).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (507), 35, (204, 0), 652);
+ Add_Action (Table.States (507), 74, (125, 0), 340);
+ Add_Action (Table.States (507), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (507).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (507), 125, 653);
+ Table.States (507).Kernel := To_Vector ((((204, 0), 172, 3,
(2147483647, 0), 0), ((204, 1), 172, 3,
+ (2147483647, 0), 0), ((204, 2), 172, 1, (2147483647, 0), 0)));
+ Table.States (507).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (508).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (508), 35, (207, 0), 654);
+ Add_Action (Table.States (508), 76, (118, 0), 237);
+ Add_Action (Table.States (508), 87, (296, 0), 239);
+ Add_Action (Table.States (508), 104, (325, 0), 241);
+ Add_Action (Table.States (508), 105, (325, 1), 242);
+ Table.States (508).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (508), 118, 243);
+ Add_Goto (Table.States (508), 325, 244);
+ Table.States (508).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((207, 0), 242, 4,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (508).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (207, 0), 35, 654)));
+ Table.States (509).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (509), 6, (203, 0), 655);
+ Add_Action (Table.States (509), 41, (313, 2), 656);
+ Add_Action (Table.States (509), 81, (242, 8), 31);
+ Add_Action (Table.States (509), 83, (313, 1), 657);
+ Add_Action (Table.States (509), 107, (242, 5), 120);
+ Add_Action (Table.States (509), 108, (242, 7), 34);
+ Add_Action (Table.States (509), 109, (242, 6), 35);
+ Table.States (509).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (509), 131, 42);
+ Add_Goto (Table.States (509), 242, 658);
+ Add_Goto (Table.States (509), 275, 93);
+ Add_Goto (Table.States (509), 296, 98);
+ Add_Goto (Table.States (509), 313, 659);
+ Table.States (509).Kernel := To_Vector ((((203, 0), 35, 3,
(2147483647, 0), 0), ((203, 1), 35, 2,
+ (2147483647, 0), 0), ((203, 2), 35, 2, (2147483647, 0), 0)));
+ Table.States (509).Minimal_Complete_Actions := To_Vector (((Shift,
(242, 5), 107, 120), (Shift, (203, 0),
+ 6, 655)));
+ Table.States (510).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (510), 99, (203, 3), 660);
+ Table.States (510).Kernel := To_Vector ((0 => ((203, 3), 125, 1,
(2147483647, 0), 0)));
+ Table.States (510).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (203, 3), 99, 660)));
+ Table.States (511).Action_List.Set_Capacity (10);
+ Add_Action (Table.States (511), 7, Reduce, (239, 0), 1, null,
null);
+ Add_Action (Table.States (511), 40, Reduce, (239, 0), 1, null,
null);
+ Add_Action (Table.States (511), 45, (239, 1), 661);
+ Add_Action (Table.States (511), 74, Reduce, (239, 0), 1, null,
null);
+ Add_Action (Table.States (511), 81, Reduce, (239, 0), 1, null,
null);
+ Add_Action (Table.States (511), 85, Reduce, (239, 0), 1, null,
null);
+ Add_Action (Table.States (511), 99, Reduce, (239, 0), 1, null,
null);
+ Add_Action (Table.States (511), 107, Reduce, (239, 0), 1, null,
null);
+ Add_Action (Table.States (511), 108, Reduce, (239, 0), 1, null,
null);
+ Add_Action (Table.States (511), 109, Reduce, (239, 0), 1, null,
null);
+ Table.States (511).Kernel := To_Vector ((((239, 0), 33, 0, (239,
0), 1), ((239, 1), 33, 1,
+ (2147483647, 0), 0)));
+ Table.States (511).Minimal_Complete_Actions := To_Vector
(((Reduce, (239, 0), 1), (Shift, (239, 1), 45,
+ 661)));
+ Table.States (512).Action_List.Set_Capacity (9);
+ Add_Action (Table.States (512), (7, 40, 74, 81, 85, 99, 107, 108,
109), (239, 2), 1, null, null);
+ Table.States (512).Kernel := To_Vector ((0 => ((239, 2), 45, 0,
(239, 2), 1)));
+ Table.States (512).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (239, 2), 1)));
+ Table.States (513).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (513), 7, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (513), 40, (244, 0), 389);
+ Add_Action (Table.States (513), 81, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (513), 107, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (513), 108, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (513), 109, Reduce, (244, 1), 0, null,
null);
+ Table.States (513).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (513), 117, 662);
+ Add_Goto (Table.States (513), 244, 663);
+ Table.States (513).Kernel := To_Vector ((((201, 0), 239, 3,
(2147483647, 0), 0), ((201, 1), 239, 4,
+ (2147483647, 0), 0), ((201, 2), 239, 2, (2147483647, 0), 0),
((201, 3), 239, 3, (2147483647, 0),
+ 0)));
+ Table.States (513).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (244, 1), 0)));
+ Table.States (514).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (514), 22, (225, 1), 664);
+ Add_Action (Table.States (514), 23, (177, 0), 665);
+ Add_Action (Table.States (514), 24, (225, 3), 666);
+ Table.States (514).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (514), 177, 667);
+ Add_Goto (Table.States (514), 178, 668);
+ Table.States (514).Kernel := To_Vector ((((225, 0), 303, 6,
(2147483647, 0), 0), ((225, 1), 303, 4,
+ (2147483647, 0), 0), ((225, 2), 303, 5, (2147483647, 0), 0),
((225, 3), 303, 3, (2147483647, 0),
+ 0)));
+ Table.States (514).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (225, 3), 24, 666)));
+ Table.States (515).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (515), 86, (241, 0), 384);
+ Add_Action (Table.States (515), 99, (335, 0), 669);
+ Table.States (515).Kernel := To_Vector ((((241, 0), 241, 2,
(2147483647, 0), 0), ((335, 0), 241, 1,
+ (2147483647, 0), 0)));
+ Table.States (515).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (335, 0), 99, 669)));
+ Table.States (516).Action_List.Set_Capacity (40);
+ Add_Action (Table.States (516), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
+ 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 81,
96, 107, 108, 109, 110), (335, 1), 4,
with_clause_1'Access, null);
- Table.States (512).Kernel := To_Vector ((0 => (333, 97, 0,
False)));
- Table.States (512).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 333, 4)));
- Table.States (513).Action_List.Set_Capacity (1);
- Add_Action (Table.States (513), 60, 664);
- Table.States (513).Kernel := To_Vector ((0 => (249, 35, 2,
False)));
- Table.States (513).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 60, 664)));
- Table.States (514).Action_List.Set_Capacity (1);
- Add_Action (Table.States (514), 35, 665);
- Table.States (514).Kernel := To_Vector (((248, 123, 4, False),
(248, 123, 3, False)));
- Table.States (514).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 35, 665)));
- Table.States (515).Action_List.Set_Capacity (4);
- Add_Action (Table.States (515), 79, 31);
- Add_Action (Table.States (515), 105, 120);
- Add_Action (Table.States (515), 106, 34);
- Add_Action (Table.States (515), 107, 35);
- Table.States (515).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (515), 129, 42);
- Add_Goto (Table.States (515), 240, 666);
- Add_Goto (Table.States (515), 273, 93);
- Add_Goto (Table.States (515), 294, 98);
- Table.States (515).Kernel := To_Vector ((0 => (214, 39, 2,
False)));
- Table.States (515).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (516).Action_List.Set_Capacity (6);
- Add_Action (Table.States (516), 74, 338);
- Add_Action (Table.States (516), 76, 236);
- Add_Action (Table.States (516), 85, 238);
- Add_Action (Table.States (516), 97, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (516), 102, 240);
- Add_Action (Table.States (516), 103, 241);
- Table.States (516).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (516), 116, 242);
- Add_Goto (Table.States (516), 123, 667);
- Add_Goto (Table.States (516), 323, 243);
- Table.States (516).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (251, 240, 1, False), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (516).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
+ Table.States (516).Kernel := To_Vector ((0 => ((335, 1), 99, 0,
(335, 1), 4)));
+ Table.States (516).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (335, 1), 4)));
Table.States (517).Action_List.Set_Capacity (1);
- Add_Action (Table.States (517), 105, 438);
- Table.States (517).Kernel := To_Vector ((0 => (125, 28, 4,
False)));
- Table.States (517).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 438)));
- Table.States (518).Action_List.Set_Capacity (3);
- Add_Action (Table.States (518), 35, Reduce, (123, 0), 2,
aspect_specification_opt_0'Access, null);
- Add_Action (Table.States (518), 84, 445);
- Add_Action (Table.States (518), 97, Reduce, (123, 0), 2,
aspect_specification_opt_0'Access, null);
- Table.States (518).Kernel := To_Vector (((123, 126, 0, False),
(126, 126, 1, True)));
- Table.States (518).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 2)));
- Table.States (519).Action_List.Set_Capacity (17);
- Add_Action (Table.States (519), 24, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (519), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (519), 28, 184);
- Add_Action (Table.States (519), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (519), 30, 8);
- Add_Action (Table.States (519), 40, 12);
- Add_Action (Table.States (519), 46, 14);
- Add_Action (Table.States (519), 47, 15);
- Add_Action (Table.States (519), 48, 16);
- Add_Action (Table.States (519), 49, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (519), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (519), 51, 19);
- Add_Action (Table.States (519), 63, 25);
- Add_Action (Table.States (519), 66, 26);
- Add_Action (Table.States (519), 69, 27);
- Add_Action (Table.States (519), 71, 28);
- Add_Action (Table.States (519), 105, 186);
- Table.States (519).Goto_List.Set_Capacity (53);
- Add_Goto (Table.States (519), 113, 36);
- Add_Goto (Table.States (519), 122, 38);
- Add_Goto (Table.States (519), 128, 41);
- Add_Goto (Table.States (519), 135, 46);
- Add_Goto (Table.States (519), 136, 47);
- Add_Goto (Table.States (519), 158, 392);
- Add_Goto (Table.States (519), 159, 393);
- Add_Goto (Table.States (519), 160, 668);
- Add_Goto (Table.States (519), 180, 55);
- Add_Goto (Table.States (519), 183, 56);
- Add_Goto (Table.States (519), 187, 57);
- Add_Goto (Table.States (519), 194, 59);
- Add_Goto (Table.States (519), 207, 61);
- Add_Goto (Table.States (519), 208, 62);
- Add_Goto (Table.States (519), 210, 63);
- Add_Goto (Table.States (519), 211, 64);
- Add_Goto (Table.States (519), 214, 65);
- Add_Goto (Table.States (519), 215, 66);
- Add_Goto (Table.States (519), 216, 67);
- Add_Goto (Table.States (519), 217, 68);
- Add_Goto (Table.States (519), 220, 70);
- Add_Goto (Table.States (519), 224, 72);
- Add_Goto (Table.States (519), 244, 75);
- Add_Goto (Table.States (519), 245, 76);
- Add_Goto (Table.States (519), 246, 77);
- Add_Goto (Table.States (519), 247, 78);
- Add_Goto (Table.States (519), 248, 79);
- Add_Goto (Table.States (519), 249, 80);
- Add_Goto (Table.States (519), 250, 81);
- Add_Goto (Table.States (519), 251, 82);
- Add_Goto (Table.States (519), 252, 83);
- Add_Goto (Table.States (519), 258, 395);
- Add_Goto (Table.States (519), 260, 85);
- Add_Goto (Table.States (519), 261, 86);
- Add_Goto (Table.States (519), 263, 88);
- Add_Goto (Table.States (519), 264, 89);
- Add_Goto (Table.States (519), 265, 90);
- Add_Goto (Table.States (519), 266, 91);
- Add_Goto (Table.States (519), 272, 92);
- Add_Goto (Table.States (519), 282, 95);
- Add_Goto (Table.States (519), 290, 96);
- Add_Goto (Table.States (519), 305, 103);
- Add_Goto (Table.States (519), 306, 104);
- Add_Goto (Table.States (519), 308, 106);
- Add_Goto (Table.States (519), 309, 107);
- Add_Goto (Table.States (519), 310, 108);
- Add_Goto (Table.States (519), 312, 109);
- Add_Goto (Table.States (519), 314, 110);
- Add_Goto (Table.States (519), 317, 112);
- Add_Goto (Table.States (519), 318, 113);
- Add_Goto (Table.States (519), 320, 114);
- Add_Goto (Table.States (519), 326, 116);
- Add_Goto (Table.States (519), 332, 117);
- Table.States (519).Kernel := To_Vector (((252, 35, 2, False),
(252, 35, 1, False)));
- Table.States (519).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 160, 0)));
- Table.States (520).Action_List.Set_Capacity (2);
- Add_Action (Table.States (520), 77, 669);
- Add_Action (Table.States (520), 84, 445);
- Table.States (520).Kernel := To_Vector (((126, 126, 1, True),
(258, 126, 2, False)));
- Table.States (520).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 669)));
+ Add_Action (Table.States (517), 60, (251, 0), 670);
+ Table.States (517).Kernel := To_Vector ((0 => ((251, 0), 35, 2,
(2147483647, 0), 0)));
+ Table.States (517).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (251, 0), 60, 670)));
+ Table.States (518).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (518), 35, (250, 0), 671);
+ Table.States (518).Kernel := To_Vector ((((250, 0), 125, 4,
(2147483647, 0), 0), ((250, 1), 125, 3,
+ (2147483647, 0), 0)));
+ Table.States (518).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (250, 0), 35, 671)));
+ Table.States (519).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (519), 81, (242, 8), 31);
+ Add_Action (Table.States (519), 107, (242, 5), 120);
+ Add_Action (Table.States (519), 108, (242, 7), 34);
+ Add_Action (Table.States (519), 109, (242, 6), 35);
+ Table.States (519).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (519), 131, 42);
+ Add_Goto (Table.States (519), 242, 672);
+ Add_Goto (Table.States (519), 275, 93);
+ Add_Goto (Table.States (519), 296, 98);
+ Table.States (519).Kernel := To_Vector ((0 => ((216, 0), 39, 2,
(2147483647, 0), 0)));
+ Table.States (519).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (520).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (520), 74, (125, 0), 340);
+ Add_Action (Table.States (520), 76, (118, 0), 237);
+ Add_Action (Table.States (520), 87, (296, 0), 239);
+ Add_Action (Table.States (520), 99, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (520), 104, (325, 0), 241);
+ Add_Action (Table.States (520), 105, (325, 1), 242);
+ Table.States (520).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (520), 118, 243);
+ Add_Goto (Table.States (520), 125, 673);
+ Add_Goto (Table.States (520), 325, 244);
+ Table.States (520).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((253, 0), 242, 1, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (520).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ end Subr_10;
+ procedure Subr_11
+ is begin
Table.States (521).Action_List.Set_Capacity (1);
- Add_Action (Table.States (521), 77, 670);
- Table.States (521).Kernel := To_Vector ((0 => (258, 154, 2,
False)));
- Table.States (521).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 670)));
- Table.States (522).Action_List.Set_Capacity (40);
- Add_Action (Table.States (522), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
- 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 79,
94, 105, 106, 107, 108), (333, 2), 4,
+ Add_Action (Table.States (521), 107, (127, 6), 440);
+ Table.States (521).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (521), 233, 441);
+ Table.States (521).Kernel := To_Vector ((((127, 6), 28, 4,
(2147483647, 0), 0), ((127, 7), 28, 5,
+ (2147483647, 0), 0)));
+ Table.States (521).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (127, 6), 107, 440)));
+ Table.States (522).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (522), 35, Reduce, (125, 0), 2,
aspect_specification_opt_0'Access, null);
+ Add_Action (Table.States (522), 86, (128, 0), 448);
+ Add_Action (Table.States (522), 99, Reduce, (125, 0), 2,
aspect_specification_opt_0'Access, null);
+ Table.States (522).Kernel := To_Vector ((((125, 0), 128, 0,
(125, 0), 2), ((128, 0), 128, 1,
+ (2147483647, 0), 0)));
+ Table.States (522).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 0), 2)));
+ Table.States (523).Action_List.Set_Capacity (17);
+ Add_Action (Table.States (523), 24, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (523), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (523), 28, (124, 0), 185);
+ Add_Action (Table.States (523), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (523), 30, (213, 0), 8);
+ Add_Action (Table.States (523), 40, (249, 0), 12);
+ Add_Action (Table.States (523), 46, (249, 1), 14);
+ Add_Action (Table.States (523), 47, (216, 0), 15);
+ Add_Action (Table.States (523), 48, (260, 0), 16);
+ Add_Action (Table.States (523), 49, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (523), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (523), 51, (267, 0), 19);
+ Add_Action (Table.States (523), 63, (316, 0), 25);
+ Add_Action (Table.States (523), 66, (308, 0), 26);
+ Add_Action (Table.States (523), 69, (209, 0), 27);
+ Add_Action (Table.States (523), 71, (334, 0), 28);
+ Add_Action (Table.States (523), 107, (222, 1), 187);
+ Table.States (523).Goto_List.Set_Capacity (53);
+ Add_Goto (Table.States (523), 115, 36);
+ Add_Goto (Table.States (523), 124, 38);
+ Add_Goto (Table.States (523), 130, 41);
+ Add_Goto (Table.States (523), 137, 46);
+ Add_Goto (Table.States (523), 138, 47);
+ Add_Goto (Table.States (523), 160, 394);
+ Add_Goto (Table.States (523), 161, 395);
+ Add_Goto (Table.States (523), 162, 674);
+ Add_Goto (Table.States (523), 182, 55);
+ Add_Goto (Table.States (523), 185, 56);
+ Add_Goto (Table.States (523), 189, 57);
+ Add_Goto (Table.States (523), 196, 59);
+ Add_Goto (Table.States (523), 209, 61);
+ Add_Goto (Table.States (523), 210, 62);
+ Add_Goto (Table.States (523), 212, 63);
+ Add_Goto (Table.States (523), 213, 64);
+ Add_Goto (Table.States (523), 216, 65);
+ Add_Goto (Table.States (523), 217, 66);
+ Add_Goto (Table.States (523), 218, 67);
+ Add_Goto (Table.States (523), 219, 68);
+ Add_Goto (Table.States (523), 222, 70);
+ Add_Goto (Table.States (523), 226, 72);
+ Add_Goto (Table.States (523), 246, 75);
+ Add_Goto (Table.States (523), 247, 76);
+ Add_Goto (Table.States (523), 248, 77);
+ Add_Goto (Table.States (523), 249, 78);
+ Add_Goto (Table.States (523), 250, 79);
+ Add_Goto (Table.States (523), 251, 80);
+ Add_Goto (Table.States (523), 252, 81);
+ Add_Goto (Table.States (523), 253, 82);
+ Add_Goto (Table.States (523), 254, 83);
+ Add_Goto (Table.States (523), 260, 397);
+ Add_Goto (Table.States (523), 262, 85);
+ Add_Goto (Table.States (523), 263, 86);
+ Add_Goto (Table.States (523), 265, 88);
+ Add_Goto (Table.States (523), 266, 89);
+ Add_Goto (Table.States (523), 267, 90);
+ Add_Goto (Table.States (523), 268, 91);
+ Add_Goto (Table.States (523), 274, 92);
+ Add_Goto (Table.States (523), 284, 95);
+ Add_Goto (Table.States (523), 292, 96);
+ Add_Goto (Table.States (523), 307, 103);
+ Add_Goto (Table.States (523), 308, 104);
+ Add_Goto (Table.States (523), 310, 106);
+ Add_Goto (Table.States (523), 311, 107);
+ Add_Goto (Table.States (523), 312, 108);
+ Add_Goto (Table.States (523), 314, 109);
+ Add_Goto (Table.States (523), 316, 110);
+ Add_Goto (Table.States (523), 319, 112);
+ Add_Goto (Table.States (523), 320, 113);
+ Add_Goto (Table.States (523), 322, 114);
+ Add_Goto (Table.States (523), 328, 116);
+ Add_Goto (Table.States (523), 334, 117);
+ Table.States (523).Kernel := To_Vector ((((254, 0), 35, 2,
(2147483647, 0), 0), ((254, 1), 35, 1,
+ (2147483647, 0), 0)));
+ Table.States (523).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (162, 1), 0)));
+ Table.States (524).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (524), 78, (260, 0), 675);
+ Add_Action (Table.States (524), 86, (128, 0), 448);
+ Table.States (524).Kernel := To_Vector ((((128, 0), 128, 1,
(2147483647, 0), 0), ((260, 0), 128, 2,
+ (2147483647, 0), 0)));
+ Table.States (524).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (260, 0), 78, 675)));
+ Table.States (525).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (525), 78, (260, 1), 676);
+ Table.States (525).Kernel := To_Vector ((0 => ((260, 1), 156, 2,
(2147483647, 0), 0)));
+ Table.States (525).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (260, 1), 78, 676)));
+ Table.States (526).Action_List.Set_Capacity (40);
+ Add_Action (Table.States (526), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
+ 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 81,
96, 107, 108, 109, 110), (335, 2), 4,
with_clause_2'Access, null);
- Table.States (522).Kernel := To_Vector ((0 => (333, 97, 0,
False)));
- Table.States (522).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 333, 4)));
- Table.States (523).Action_List.Set_Capacity (1);
- Add_Action (Table.States (523), 60, 671);
- Table.States (523).Kernel := To_Vector ((0 => (266, 35, 2,
False)));
- Table.States (523).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 60, 671)));
- Table.States (524).Action_List.Set_Capacity (1);
- Add_Action (Table.States (524), 35, 672);
- Table.States (524).Kernel := To_Vector ((0 => (265, 123, 3,
False)));
- Table.States (524).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 35, 672)));
- Table.States (525).Action_List.Set_Capacity (2);
- Add_Action (Table.States (525), 35, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (525), 74, 338);
- Table.States (525).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (525), 123, 673);
- Table.States (525).Kernel := To_Vector (((272, 170, 6, False),
(272, 170, 3, False)));
- Table.States (525).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (526).Action_List.Set_Capacity (18);
- Add_Action (Table.States (526), 24, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (526), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (526), 28, 184);
- Add_Action (Table.States (526), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (526), 30, 8);
- Add_Action (Table.States (526), 39, 674);
- Add_Action (Table.States (526), 40, 12);
- Add_Action (Table.States (526), 46, 14);
- Add_Action (Table.States (526), 47, 15);
- Add_Action (Table.States (526), 48, 16);
- Add_Action (Table.States (526), 49, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (526), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (526), 51, 19);
- Add_Action (Table.States (526), 63, 25);
- Add_Action (Table.States (526), 66, 26);
- Add_Action (Table.States (526), 69, 27);
- Add_Action (Table.States (526), 71, 28);
- Add_Action (Table.States (526), 105, 186);
- Table.States (526).Goto_List.Set_Capacity (54);
- Add_Goto (Table.States (526), 113, 36);
- Add_Goto (Table.States (526), 122, 38);
- Add_Goto (Table.States (526), 128, 41);
- Add_Goto (Table.States (526), 135, 46);
- Add_Goto (Table.States (526), 136, 47);
- Add_Goto (Table.States (526), 158, 392);
- Add_Goto (Table.States (526), 159, 393);
- Add_Goto (Table.States (526), 160, 675);
- Add_Goto (Table.States (526), 180, 55);
- Add_Goto (Table.States (526), 183, 56);
- Add_Goto (Table.States (526), 187, 57);
- Add_Goto (Table.States (526), 194, 59);
- Add_Goto (Table.States (526), 207, 61);
- Add_Goto (Table.States (526), 208, 62);
- Add_Goto (Table.States (526), 210, 63);
- Add_Goto (Table.States (526), 211, 64);
- Add_Goto (Table.States (526), 214, 65);
- Add_Goto (Table.States (526), 215, 66);
- Add_Goto (Table.States (526), 216, 67);
- Add_Goto (Table.States (526), 217, 68);
- Add_Goto (Table.States (526), 220, 70);
- Add_Goto (Table.States (526), 224, 72);
- Add_Goto (Table.States (526), 244, 75);
- Add_Goto (Table.States (526), 245, 76);
- Add_Goto (Table.States (526), 246, 77);
- Add_Goto (Table.States (526), 247, 78);
- Add_Goto (Table.States (526), 248, 79);
- Add_Goto (Table.States (526), 249, 80);
- Add_Goto (Table.States (526), 250, 81);
- Add_Goto (Table.States (526), 251, 82);
- Add_Goto (Table.States (526), 252, 83);
- Add_Goto (Table.States (526), 258, 395);
- Add_Goto (Table.States (526), 260, 85);
- Add_Goto (Table.States (526), 261, 86);
- Add_Goto (Table.States (526), 263, 88);
- Add_Goto (Table.States (526), 264, 89);
- Add_Goto (Table.States (526), 265, 90);
- Add_Goto (Table.States (526), 266, 91);
- Add_Goto (Table.States (526), 267, 676);
- Add_Goto (Table.States (526), 272, 92);
- Add_Goto (Table.States (526), 282, 95);
- Add_Goto (Table.States (526), 290, 96);
- Add_Goto (Table.States (526), 305, 103);
- Add_Goto (Table.States (526), 306, 104);
- Add_Goto (Table.States (526), 308, 106);
- Add_Goto (Table.States (526), 309, 107);
- Add_Goto (Table.States (526), 310, 108);
- Add_Goto (Table.States (526), 312, 109);
- Add_Goto (Table.States (526), 314, 110);
- Add_Goto (Table.States (526), 317, 112);
- Add_Goto (Table.States (526), 318, 113);
- Add_Goto (Table.States (526), 320, 114);
- Add_Goto (Table.States (526), 326, 116);
- Add_Goto (Table.States (526), 332, 117);
- Table.States (526).Kernel := To_Vector (((305, 35, 5, False),
(305, 35, 2, False)));
- Table.States (526).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 160, 0)));
+ Table.States (526).Kernel := To_Vector ((0 => ((335, 2), 99, 0,
(335, 2), 4)));
+ Table.States (526).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (335, 2), 4)));
Table.States (527).Action_List.Set_Capacity (1);
- Add_Action (Table.States (527), 97, 677);
- Table.States (527).Kernel := To_Vector ((0 => (277, 193, 1,
False)));
- Table.States (527).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 677)));
+ Add_Action (Table.States (527), 60, (268, 0), 677);
+ Table.States (527).Kernel := To_Vector ((0 => ((268, 0), 35, 2,
(2147483647, 0), 0)));
+ Table.States (527).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (268, 0), 60, 677)));
Table.States (528).Action_List.Set_Capacity (1);
- Add_Action (Table.States (528), 97, 678);
- Table.States (528).Kernel := To_Vector ((0 => (291, 5, 1, False)));
- Table.States (528).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 678)));
- Table.States (529).Action_List.Set_Capacity (10);
- Add_Action (Table.States (529), 7, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (529), 16, 572);
- Add_Action (Table.States (529), 21, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (529), 40, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (529), 79, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (529), 83, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (529), 97, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (529), 105, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (529), 106, Reduce, (155, 1), 0, null,
null);
- Add_Action (Table.States (529), 107, Reduce, (155, 1), 0, null,
null);
+ Add_Action (Table.States (528), 35, (267, 0), 678);
+ Table.States (528).Kernel := To_Vector ((0 => ((267, 0), 125, 3,
(2147483647, 0), 0)));
+ Table.States (528).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (267, 0), 35, 678)));
+ Table.States (529).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (529), 35, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (529), 74, (125, 0), 340);
Table.States (529).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (529), 155, 679);
- Table.States (529).Kernel := To_Vector (((195, 119, 2, False),
(195, 119, 1, False)));
- Table.States (529).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 155, 0)));
- Table.States (530).Action_List.Set_Capacity (1);
- Add_Action (Table.States (530), 24, 680);
- Table.States (530).Kernel := To_Vector ((0 => (197, 219, 3,
False)));
- Table.States (530).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 680)));
- Table.States (531).Action_List.Set_Capacity (7);
- Add_Action (Table.States (531), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (531), 40, 12);
- Add_Action (Table.States (531), 46, 14);
- Add_Action (Table.States (531), 47, 681);
- Add_Action (Table.States (531), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (531), 51, 682);
- Add_Action (Table.States (531), 66, 683);
- Table.States (531).Goto_List.Set_Capacity (8);
- Add_Goto (Table.States (531), 208, 62);
- Add_Goto (Table.States (531), 247, 684);
- Add_Goto (Table.States (531), 248, 79);
- Add_Goto (Table.States (531), 263, 88);
- Add_Goto (Table.States (531), 264, 685);
- Add_Goto (Table.States (531), 265, 90);
- Add_Goto (Table.States (531), 308, 106);
- Add_Goto (Table.States (531), 317, 112);
- Table.States (531).Kernel := To_Vector ((0 => (316, 77, 6,
False)));
- Table.States (531).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 247, 0)));
- Table.States (532).Action_List.Set_Capacity (3);
- Add_Action (Table.States (532), 4, 1);
- Add_Action (Table.States (532), 18, 4);
- Add_Action (Table.States (532), 67, 686);
- Table.States (532).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (532), 114, 687);
- Add_Goto (Table.States (532), 161, 688);
- Add_Goto (Table.States (532), 162, 537);
- Table.States (532).Kernel := To_Vector (((296, 88, 3, False),
(296, 88, 2, False), (296, 88, 2, False)));
- Table.States (532).Minimal_Complete_Actions := To_Vector (((Shift,
67, 686), (Shift, 18, 4)));
- Table.States (533).Action_List.Set_Capacity (5);
- Add_Action (Table.States (533), (13, 17, 28, 37, 73), (132, 0), 2,
block_label_0'Access,
+ Add_Goto (Table.States (529), 125, 679);
+ Table.States (529).Kernel := To_Vector ((((274, 0), 172, 6,
(2147483647, 0), 0), ((274, 1), 172, 3,
+ (2147483647, 0), 0)));
+ Table.States (529).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (530).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (530), 24, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (530), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (530), 28, (124, 0), 185);
+ Add_Action (Table.States (530), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (530), 30, (213, 0), 8);
+ Add_Action (Table.States (530), 39, (307, 0), 680);
+ Add_Action (Table.States (530), 40, (249, 0), 12);
+ Add_Action (Table.States (530), 46, (249, 1), 14);
+ Add_Action (Table.States (530), 47, (216, 0), 15);
+ Add_Action (Table.States (530), 48, (260, 0), 16);
+ Add_Action (Table.States (530), 49, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (530), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (530), 51, (267, 0), 19);
+ Add_Action (Table.States (530), 63, (316, 0), 25);
+ Add_Action (Table.States (530), 66, (308, 0), 26);
+ Add_Action (Table.States (530), 69, (209, 0), 27);
+ Add_Action (Table.States (530), 71, (334, 0), 28);
+ Add_Action (Table.States (530), 107, (222, 1), 187);
+ Table.States (530).Goto_List.Set_Capacity (54);
+ Add_Goto (Table.States (530), 115, 36);
+ Add_Goto (Table.States (530), 124, 38);
+ Add_Goto (Table.States (530), 130, 41);
+ Add_Goto (Table.States (530), 137, 46);
+ Add_Goto (Table.States (530), 138, 47);
+ Add_Goto (Table.States (530), 160, 394);
+ Add_Goto (Table.States (530), 161, 395);
+ Add_Goto (Table.States (530), 162, 681);
+ Add_Goto (Table.States (530), 182, 55);
+ Add_Goto (Table.States (530), 185, 56);
+ Add_Goto (Table.States (530), 189, 57);
+ Add_Goto (Table.States (530), 196, 59);
+ Add_Goto (Table.States (530), 209, 61);
+ Add_Goto (Table.States (530), 210, 62);
+ Add_Goto (Table.States (530), 212, 63);
+ Add_Goto (Table.States (530), 213, 64);
+ Add_Goto (Table.States (530), 216, 65);
+ Add_Goto (Table.States (530), 217, 66);
+ Add_Goto (Table.States (530), 218, 67);
+ Add_Goto (Table.States (530), 219, 68);
+ Add_Goto (Table.States (530), 222, 70);
+ Add_Goto (Table.States (530), 226, 72);
+ Add_Goto (Table.States (530), 246, 75);
+ Add_Goto (Table.States (530), 247, 76);
+ Add_Goto (Table.States (530), 248, 77);
+ Add_Goto (Table.States (530), 249, 78);
+ Add_Goto (Table.States (530), 250, 79);
+ Add_Goto (Table.States (530), 251, 80);
+ Add_Goto (Table.States (530), 252, 81);
+ Add_Goto (Table.States (530), 253, 82);
+ Add_Goto (Table.States (530), 254, 83);
+ Add_Goto (Table.States (530), 260, 397);
+ Add_Goto (Table.States (530), 262, 85);
+ Add_Goto (Table.States (530), 263, 86);
+ Add_Goto (Table.States (530), 265, 88);
+ Add_Goto (Table.States (530), 266, 89);
+ Add_Goto (Table.States (530), 267, 90);
+ Add_Goto (Table.States (530), 268, 91);
+ Add_Goto (Table.States (530), 269, 682);
+ Add_Goto (Table.States (530), 274, 92);
+ Add_Goto (Table.States (530), 284, 95);
+ Add_Goto (Table.States (530), 292, 96);
+ Add_Goto (Table.States (530), 307, 103);
+ Add_Goto (Table.States (530), 308, 104);
+ Add_Goto (Table.States (530), 310, 106);
+ Add_Goto (Table.States (530), 311, 107);
+ Add_Goto (Table.States (530), 312, 108);
+ Add_Goto (Table.States (530), 314, 109);
+ Add_Goto (Table.States (530), 316, 110);
+ Add_Goto (Table.States (530), 319, 112);
+ Add_Goto (Table.States (530), 320, 113);
+ Add_Goto (Table.States (530), 322, 114);
+ Add_Goto (Table.States (530), 328, 116);
+ Add_Goto (Table.States (530), 334, 117);
+ Table.States (530).Kernel := To_Vector ((((307, 0), 35, 5,
(2147483647, 0), 0), ((307, 1), 35, 2,
+ (2147483647, 0), 0)));
+ Table.States (530).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (162, 1), 0)));
+ Table.States (531).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (531), 99, (279, 0), 683);
+ Table.States (531).Kernel := To_Vector ((0 => ((279, 0), 195, 1,
(2147483647, 0), 0)));
+ Table.States (531).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (279, 0), 99, 683)));
+ Table.States (532).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (532), 99, (293, 0), 684);
+ Table.States (532).Kernel := To_Vector ((0 => ((293, 0), 5, 1,
(2147483647, 0), 0)));
+ Table.States (532).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (293, 0), 99, 684)));
+ Table.States (533).Action_List.Set_Capacity (10);
+ Add_Action (Table.States (533), 7, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (533), 16, (157, 0), 576);
+ Add_Action (Table.States (533), 21, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (533), 40, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (533), 81, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (533), 85, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (533), 99, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (533), 107, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (533), 108, Reduce, (157, 1), 0, null,
null);
+ Add_Action (Table.States (533), 109, Reduce, (157, 1), 0, null,
null);
+ Table.States (533).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (533), 157, 685);
+ Table.States (533).Kernel := To_Vector ((((197, 0), 121, 2,
(2147483647, 0), 0), ((197, 1), 121, 1,
+ (2147483647, 0), 0)));
+ Table.States (533).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (157, 1), 0)));
+ Table.States (534).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (534), 24, (199, 0), 686);
+ Table.States (534).Kernel := To_Vector ((0 => ((199, 0), 221, 3,
(2147483647, 0), 0)));
+ Table.States (534).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (199, 0), 24, 686)));
+ Table.States (535).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (535), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (535), 40, (249, 0), 12);
+ Add_Action (Table.States (535), 46, (249, 1), 14);
+ Add_Action (Table.States (535), 47, (250, 0), 687);
+ Add_Action (Table.States (535), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (535), 51, (267, 0), 688);
+ Add_Action (Table.States (535), 66, (319, 0), 689);
+ Table.States (535).Goto_List.Set_Capacity (8);
+ Add_Goto (Table.States (535), 210, 62);
+ Add_Goto (Table.States (535), 249, 690);
+ Add_Goto (Table.States (535), 250, 79);
+ Add_Goto (Table.States (535), 265, 88);
+ Add_Goto (Table.States (535), 266, 691);
+ Add_Goto (Table.States (535), 267, 90);
+ Add_Goto (Table.States (535), 310, 106);
+ Add_Goto (Table.States (535), 319, 112);
+ Table.States (535).Kernel := To_Vector ((0 => ((318, 0), 78, 6,
(2147483647, 0), 0)));
+ Table.States (535).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (249, 2), 0)));
+ Table.States (536).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (536), 4, (116, 0), 1);
+ Add_Action (Table.States (536), 18, (164, 0), 4);
+ Add_Action (Table.States (536), 67, (298, 1), 692);
+ Table.States (536).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (536), 116, 693);
+ Add_Goto (Table.States (536), 163, 694);
+ Add_Goto (Table.States (536), 164, 541);
+ Table.States (536).Kernel := To_Vector ((((298, 0), 90, 3,
(2147483647, 0), 0), ((298, 1), 90, 2,
+ (2147483647, 0), 0), ((298, 2), 90, 2, (2147483647, 0), 0)));
+ Table.States (536).Minimal_Complete_Actions := To_Vector (((Shift,
(298, 1), 67, 692), (Shift, (164, 0),
+ 18, 4)));
+ Table.States (537).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (537), (13, 17, 28, 37, 73), (134, 0),
2, block_label_0'Access,
block_label_0_check'Access);
- Table.States (533).Kernel := To_Vector ((0 => (132, 82, 0,
False)));
- Table.States (533).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 132, 2)));
- Table.States (534).Action_List.Set_Capacity (30);
- Add_Action (Table.States (534), (4, 5, 13, 15, 17, 18, 22, 23, 24,
26, 27, 28, 31, 32, 37, 41, 43, 48, 52,
- 57, 58, 61, 68, 72, 73, 79, 94, 105, 106, 107), (300, 0), 2, null,
null);
- Table.States (534).Kernel := To_Vector ((0 => (300, 307, 0,
True)));
- Table.States (534).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 300, 2)));
- Table.States (534).Minimal_Complete_Actions_Recursive := True;
- Table.States (535).Action_List.Set_Capacity (1);
- Add_Action (Table.States (535), 24, 689);
- Table.States (535).Kernel := To_Vector ((0 => (153, 301, 3,
False)));
- Table.States (535).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 689)));
- Table.States (536).Action_List.Set_Capacity (1);
- Add_Action (Table.States (536), 24, 690);
- Table.States (536).Kernel := To_Vector ((0 => (324, 161, 3,
False)));
- Table.States (536).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 690)));
- Table.States (537).Action_List.Set_Capacity (26);
- Add_Action (Table.States (537), 4, 1);
- Add_Action (Table.States (537), 5, 2);
- Add_Action (Table.States (537), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (537), 15, 3);
- Add_Action (Table.States (537), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (537), 18, 4);
- Add_Action (Table.States (537), 22, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (537), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (537), 27, 5);
- Add_Action (Table.States (537), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (537), 31, 9);
- Add_Action (Table.States (537), 32, 10);
- Add_Action (Table.States (537), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (537), 41, 13);
- Add_Action (Table.States (537), 43, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (537), 48, 16);
- Add_Action (Table.States (537), 52, 20);
- Add_Action (Table.States (537), 57, 21);
- Add_Action (Table.States (537), 58, 22);
- Add_Action (Table.States (537), 61, 24);
- Add_Action (Table.States (537), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (537), 79, 31);
- Add_Action (Table.States (537), 94, 32);
- Add_Action (Table.States (537), 105, 361);
- Add_Action (Table.States (537), 106, 34);
- Add_Action (Table.States (537), 107, 35);
- Table.States (537).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (537), 114, 37);
- Add_Goto (Table.States (537), 124, 39);
- Add_Goto (Table.States (537), 127, 40);
- Add_Goto (Table.States (537), 129, 42);
- Add_Goto (Table.States (537), 132, 43);
- Add_Goto (Table.States (537), 133, 44);
- Add_Goto (Table.States (537), 134, 45);
- Add_Goto (Table.States (537), 140, 48);
- Add_Goto (Table.States (537), 152, 51);
- Add_Goto (Table.States (537), 153, 52);
- Add_Goto (Table.States (537), 162, 54);
- Add_Goto (Table.States (537), 191, 58);
- Add_Goto (Table.States (537), 197, 60);
- Add_Goto (Table.States (537), 218, 69);
- Add_Goto (Table.States (537), 223, 71);
- Add_Goto (Table.States (537), 233, 73);
- Add_Goto (Table.States (537), 240, 74);
- Add_Goto (Table.States (537), 258, 84);
- Add_Goto (Table.States (537), 262, 87);
- Add_Goto (Table.States (537), 273, 93);
- Add_Goto (Table.States (537), 277, 94);
- Add_Goto (Table.States (537), 291, 97);
- Add_Goto (Table.States (537), 294, 98);
- Add_Goto (Table.States (537), 295, 99);
- Add_Goto (Table.States (537), 299, 100);
- Add_Goto (Table.States (537), 300, 362);
- Add_Goto (Table.States (537), 301, 691);
- Add_Goto (Table.States (537), 303, 101);
- Add_Goto (Table.States (537), 304, 102);
- Add_Goto (Table.States (537), 307, 364);
- Add_Goto (Table.States (537), 324, 115);
- Table.States (537).Kernel := To_Vector ((0 => (161, 162, 0,
False)));
- Table.States (537).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- end Subr_10;
- procedure Subr_11
- is begin
- Table.States (538).Action_List.Set_Capacity (3);
- Add_Action (Table.States (538), (22, 24, 43), (297, 0), 3,
select_alternative_list_0'Access, null);
- Table.States (538).Kernel := To_Vector ((0 => (297, 296, 0,
True)));
- Table.States (538).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 297, 3)));
- Table.States (538).Minimal_Complete_Actions_Recursive := True;
+ Table.States (537).Kernel := To_Vector ((0 => ((134, 0), 84, 0,
(134, 0), 2)));
+ Table.States (537).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (134, 0), 2)));
+ Table.States (538).Action_List.Set_Capacity (30);
+ Add_Action (Table.States (538), (4, 5, 13, 15, 17, 18, 22, 23, 24,
26, 27, 28, 31, 32, 37, 41, 43, 48, 52,
+ 57, 58, 61, 68, 72, 73, 81, 96, 107, 108, 109), (302, 0), 2,
null, null);
+ Table.States (538).Kernel := To_Vector ((0 => ((302, 0), 309, 0,
(302, 0), 2)));
+ Table.States (538).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (302, 0), 2)));
Table.States (539).Action_List.Set_Capacity (1);
- Add_Action (Table.States (539), 24, 692);
- Table.States (539).Kernel := To_Vector ((0 => (295, 301, 3,
False)));
- Table.States (539).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 692)));
+ Add_Action (Table.States (539), 24, (155, 0), 695);
+ Table.States (539).Kernel := To_Vector ((0 => ((155, 0), 303, 3,
(2147483647, 0), 0)));
+ Table.States (539).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (155, 0), 24, 695)));
Table.States (540).Action_List.Set_Capacity (1);
- Add_Action (Table.States (540), 97, 693);
- Table.States (540).Kernel := To_Vector ((0 => (295, 61, 1,
False)));
- Table.States (540).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 693)));
- Table.States (541).Action_List.Set_Capacity (24);
- Add_Action (Table.States (541), 4, 1);
- Add_Action (Table.States (541), 5, 2);
- Add_Action (Table.States (541), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (541), 15, 3);
- Add_Action (Table.States (541), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (541), 18, 4);
- Add_Action (Table.States (541), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (541), 27, 5);
- Add_Action (Table.States (541), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (541), 31, 9);
- Add_Action (Table.States (541), 32, 10);
- Add_Action (Table.States (541), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (541), 41, 13);
- Add_Action (Table.States (541), 48, 16);
- Add_Action (Table.States (541), 52, 20);
- Add_Action (Table.States (541), 57, 21);
- Add_Action (Table.States (541), 58, 22);
- Add_Action (Table.States (541), 61, 24);
- Add_Action (Table.States (541), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (541), 79, 31);
- Add_Action (Table.States (541), 94, 32);
- Add_Action (Table.States (541), 105, 361);
- Add_Action (Table.States (541), 106, 34);
- Add_Action (Table.States (541), 107, 35);
+ Add_Action (Table.States (540), 24, (326, 0), 696);
+ Table.States (540).Kernel := To_Vector ((0 => ((326, 0), 163, 3,
(2147483647, 0), 0)));
+ Table.States (540).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (326, 0), 24, 696)));
+ Table.States (541).Action_List.Set_Capacity (26);
+ Add_Action (Table.States (541), 4, (116, 0), 1);
+ Add_Action (Table.States (541), 5, (306, 8), 2);
+ Add_Action (Table.States (541), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (541), 15, (142, 0), 3);
+ Add_Action (Table.States (541), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (541), 18, (164, 0), 4);
+ Add_Action (Table.States (541), 22, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (541), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (541), 27, (193, 0), 5);
+ Add_Action (Table.States (541), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (541), 31, (306, 3), 9);
+ Add_Action (Table.States (541), 32, (225, 0), 10);
+ Add_Action (Table.States (541), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (541), 41, (306, 0), 13);
+ Add_Action (Table.States (541), 43, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (541), 48, (260, 0), 16);
+ Add_Action (Table.States (541), 52, (279, 0), 20);
+ Add_Action (Table.States (541), 57, (293, 0), 21);
+ Add_Action (Table.States (541), 58, (199, 0), 22);
+ Add_Action (Table.States (541), 61, (129, 0), 24);
+ Add_Action (Table.States (541), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (541), 81, (242, 8), 31);
+ Add_Action (Table.States (541), 96, (220, 0), 32);
+ Add_Action (Table.States (541), 107, (134, 0), 363);
+ Add_Action (Table.States (541), 108, (242, 7), 34);
+ Add_Action (Table.States (541), 109, (242, 6), 35);
Table.States (541).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (541), 114, 37);
- Add_Goto (Table.States (541), 124, 39);
- Add_Goto (Table.States (541), 127, 40);
- Add_Goto (Table.States (541), 129, 42);
- Add_Goto (Table.States (541), 132, 43);
- Add_Goto (Table.States (541), 133, 44);
- Add_Goto (Table.States (541), 134, 45);
- Add_Goto (Table.States (541), 140, 48);
- Add_Goto (Table.States (541), 152, 51);
- Add_Goto (Table.States (541), 153, 52);
- Add_Goto (Table.States (541), 162, 54);
- Add_Goto (Table.States (541), 191, 58);
- Add_Goto (Table.States (541), 197, 60);
- Add_Goto (Table.States (541), 218, 69);
- Add_Goto (Table.States (541), 223, 71);
- Add_Goto (Table.States (541), 233, 73);
- Add_Goto (Table.States (541), 240, 74);
- Add_Goto (Table.States (541), 258, 84);
- Add_Goto (Table.States (541), 262, 87);
- Add_Goto (Table.States (541), 273, 93);
- Add_Goto (Table.States (541), 277, 94);
- Add_Goto (Table.States (541), 291, 97);
- Add_Goto (Table.States (541), 294, 98);
- Add_Goto (Table.States (541), 295, 99);
- Add_Goto (Table.States (541), 299, 100);
- Add_Goto (Table.States (541), 300, 362);
- Add_Goto (Table.States (541), 301, 694);
- Add_Goto (Table.States (541), 303, 101);
- Add_Goto (Table.States (541), 304, 102);
- Add_Goto (Table.States (541), 307, 364);
- Add_Goto (Table.States (541), 324, 115);
- Table.States (541).Kernel := To_Vector ((0 => (127, 5, 3, False)));
- Table.States (541).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (542).Action_List.Set_Capacity (2);
- Add_Action (Table.States (542), 74, 338);
- Add_Action (Table.States (542), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (542).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (542), 123, 695);
- Table.States (542).Kernel := To_Vector ((0 => (314, 315, 1,
False)));
- Table.States (542).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
+ Add_Goto (Table.States (541), 116, 37);
+ Add_Goto (Table.States (541), 126, 39);
+ Add_Goto (Table.States (541), 129, 40);
+ Add_Goto (Table.States (541), 131, 42);
+ Add_Goto (Table.States (541), 134, 43);
+ Add_Goto (Table.States (541), 135, 44);
+ Add_Goto (Table.States (541), 136, 45);
+ Add_Goto (Table.States (541), 142, 48);
+ Add_Goto (Table.States (541), 154, 51);
+ Add_Goto (Table.States (541), 155, 52);
+ Add_Goto (Table.States (541), 164, 54);
+ Add_Goto (Table.States (541), 193, 58);
+ Add_Goto (Table.States (541), 199, 60);
+ Add_Goto (Table.States (541), 220, 69);
+ Add_Goto (Table.States (541), 225, 71);
+ Add_Goto (Table.States (541), 235, 73);
+ Add_Goto (Table.States (541), 242, 74);
+ Add_Goto (Table.States (541), 260, 84);
+ Add_Goto (Table.States (541), 264, 87);
+ Add_Goto (Table.States (541), 275, 93);
+ Add_Goto (Table.States (541), 279, 94);
+ Add_Goto (Table.States (541), 293, 97);
+ Add_Goto (Table.States (541), 296, 98);
+ Add_Goto (Table.States (541), 297, 99);
+ Add_Goto (Table.States (541), 301, 100);
+ Add_Goto (Table.States (541), 302, 364);
+ Add_Goto (Table.States (541), 303, 697);
+ Add_Goto (Table.States (541), 305, 101);
+ Add_Goto (Table.States (541), 306, 102);
+ Add_Goto (Table.States (541), 309, 366);
+ Add_Goto (Table.States (541), 326, 115);
+ Table.States (541).Kernel := To_Vector ((0 => ((163, 0), 164, 0,
(303, 1), 0)));
+ Table.States (541).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
+ Table.States (542).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (542), (22, 24, 43), (299, 0), 3,
select_alternative_list_0'Access, null);
+ Table.States (542).Kernel := To_Vector ((0 => ((299, 0), 298, 0,
(299, 0), 3)));
+ Table.States (542).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (299, 0), 3)));
Table.States (543).Action_List.Set_Capacity (1);
- Add_Action (Table.States (543), 60, 696);
- Table.States (543).Kernel := To_Vector ((0 => (318, 35, 2,
False)));
- Table.States (543).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 60, 696)));
+ Add_Action (Table.States (543), 24, (297, 0), 698);
+ Table.States (543).Kernel := To_Vector ((0 => ((297, 0), 303, 3,
(2147483647, 0), 0)));
+ Table.States (543).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (297, 0), 24, 698)));
Table.States (544).Action_List.Set_Capacity (1);
- Add_Action (Table.States (544), 35, 697);
- Table.States (544).Kernel := To_Vector ((0 => (317, 123, 4,
False)));
- Table.States (544).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 35, 697)));
- Table.States (545).Action_List.Set_Capacity (3);
- Add_Action (Table.States (545), 35, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (545), 74, 338);
- Add_Action (Table.States (545), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (545).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (545), 123, 698);
- Table.States (545).Kernel := To_Vector (((320, 170, 6, False),
(320, 170, 3, False), (320, 170, 1,
- False)));
- Table.States (545).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (546).Action_List.Set_Capacity (18);
- Add_Action (Table.States (546), 24, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (546), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (546), 28, 184);
- Add_Action (Table.States (546), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (546), 30, 8);
- Add_Action (Table.States (546), 39, 699);
- Add_Action (Table.States (546), 40, 12);
- Add_Action (Table.States (546), 46, 14);
- Add_Action (Table.States (546), 47, 15);
- Add_Action (Table.States (546), 48, 16);
- Add_Action (Table.States (546), 49, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (546), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (546), 51, 19);
- Add_Action (Table.States (546), 63, 25);
- Add_Action (Table.States (546), 66, 26);
- Add_Action (Table.States (546), 69, 27);
- Add_Action (Table.States (546), 71, 28);
- Add_Action (Table.States (546), 105, 186);
- Table.States (546).Goto_List.Set_Capacity (54);
- Add_Goto (Table.States (546), 113, 36);
- Add_Goto (Table.States (546), 122, 38);
- Add_Goto (Table.States (546), 128, 41);
- Add_Goto (Table.States (546), 135, 46);
- Add_Goto (Table.States (546), 136, 47);
- Add_Goto (Table.States (546), 158, 392);
- Add_Goto (Table.States (546), 159, 393);
- Add_Goto (Table.States (546), 160, 700);
- Add_Goto (Table.States (546), 180, 55);
- Add_Goto (Table.States (546), 183, 56);
- Add_Goto (Table.States (546), 187, 57);
- Add_Goto (Table.States (546), 194, 59);
- Add_Goto (Table.States (546), 207, 61);
- Add_Goto (Table.States (546), 208, 62);
- Add_Goto (Table.States (546), 210, 63);
- Add_Goto (Table.States (546), 211, 64);
- Add_Goto (Table.States (546), 214, 65);
- Add_Goto (Table.States (546), 215, 66);
- Add_Goto (Table.States (546), 216, 67);
- Add_Goto (Table.States (546), 217, 68);
- Add_Goto (Table.States (546), 220, 70);
- Add_Goto (Table.States (546), 224, 72);
- Add_Goto (Table.States (546), 244, 75);
- Add_Goto (Table.States (546), 245, 76);
- Add_Goto (Table.States (546), 246, 77);
- Add_Goto (Table.States (546), 247, 78);
- Add_Goto (Table.States (546), 248, 79);
- Add_Goto (Table.States (546), 249, 80);
- Add_Goto (Table.States (546), 250, 81);
- Add_Goto (Table.States (546), 251, 82);
- Add_Goto (Table.States (546), 252, 83);
- Add_Goto (Table.States (546), 258, 395);
- Add_Goto (Table.States (546), 260, 85);
- Add_Goto (Table.States (546), 261, 86);
- Add_Goto (Table.States (546), 263, 88);
- Add_Goto (Table.States (546), 264, 89);
- Add_Goto (Table.States (546), 265, 90);
- Add_Goto (Table.States (546), 266, 91);
- Add_Goto (Table.States (546), 272, 92);
- Add_Goto (Table.States (546), 282, 95);
- Add_Goto (Table.States (546), 290, 96);
- Add_Goto (Table.States (546), 305, 103);
- Add_Goto (Table.States (546), 306, 104);
- Add_Goto (Table.States (546), 308, 106);
- Add_Goto (Table.States (546), 309, 107);
- Add_Goto (Table.States (546), 310, 108);
- Add_Goto (Table.States (546), 312, 109);
- Add_Goto (Table.States (546), 314, 110);
- Add_Goto (Table.States (546), 317, 112);
- Add_Goto (Table.States (546), 318, 113);
- Add_Goto (Table.States (546), 319, 701);
- Add_Goto (Table.States (546), 320, 114);
- Add_Goto (Table.States (546), 326, 116);
- Add_Goto (Table.States (546), 332, 117);
- Table.States (546).Kernel := To_Vector (((306, 35, 5, False),
(306, 35, 2, False)));
- Table.States (546).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 319, 0)));
- Table.States (547).Action_List.Set_Capacity (41);
- Add_Action (Table.States (547), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (306, 2), 4,
- single_task_declaration_2'Access, null);
- Table.States (547).Kernel := To_Vector ((0 => (306, 97, 0,
False)));
- Table.States (547).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 306, 4)));
+ Add_Action (Table.States (544), 99, (297, 1), 699);
+ Table.States (544).Kernel := To_Vector ((0 => ((297, 1), 61, 1,
(2147483647, 0), 0)));
+ Table.States (544).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (297, 1), 99, 699)));
+ Table.States (545).Action_List.Set_Capacity (24);
+ Add_Action (Table.States (545), 4, (116, 0), 1);
+ Add_Action (Table.States (545), 5, (306, 8), 2);
+ Add_Action (Table.States (545), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (545), 15, (142, 0), 3);
+ Add_Action (Table.States (545), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (545), 18, (164, 0), 4);
+ Add_Action (Table.States (545), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (545), 27, (193, 0), 5);
+ Add_Action (Table.States (545), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (545), 31, (306, 3), 9);
+ Add_Action (Table.States (545), 32, (225, 0), 10);
+ Add_Action (Table.States (545), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (545), 41, (306, 0), 13);
+ Add_Action (Table.States (545), 48, (260, 0), 16);
+ Add_Action (Table.States (545), 52, (279, 0), 20);
+ Add_Action (Table.States (545), 57, (293, 0), 21);
+ Add_Action (Table.States (545), 58, (199, 0), 22);
+ Add_Action (Table.States (545), 61, (129, 0), 24);
+ Add_Action (Table.States (545), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (545), 81, (242, 8), 31);
+ Add_Action (Table.States (545), 96, (220, 0), 32);
+ Add_Action (Table.States (545), 107, (134, 0), 363);
+ Add_Action (Table.States (545), 108, (242, 7), 34);
+ Add_Action (Table.States (545), 109, (242, 6), 35);
+ Table.States (545).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (545), 116, 37);
+ Add_Goto (Table.States (545), 126, 39);
+ Add_Goto (Table.States (545), 129, 40);
+ Add_Goto (Table.States (545), 131, 42);
+ Add_Goto (Table.States (545), 134, 43);
+ Add_Goto (Table.States (545), 135, 44);
+ Add_Goto (Table.States (545), 136, 45);
+ Add_Goto (Table.States (545), 142, 48);
+ Add_Goto (Table.States (545), 154, 51);
+ Add_Goto (Table.States (545), 155, 52);
+ Add_Goto (Table.States (545), 164, 54);
+ Add_Goto (Table.States (545), 193, 58);
+ Add_Goto (Table.States (545), 199, 60);
+ Add_Goto (Table.States (545), 220, 69);
+ Add_Goto (Table.States (545), 225, 71);
+ Add_Goto (Table.States (545), 235, 73);
+ Add_Goto (Table.States (545), 242, 74);
+ Add_Goto (Table.States (545), 260, 84);
+ Add_Goto (Table.States (545), 264, 87);
+ Add_Goto (Table.States (545), 275, 93);
+ Add_Goto (Table.States (545), 279, 94);
+ Add_Goto (Table.States (545), 293, 97);
+ Add_Goto (Table.States (545), 296, 98);
+ Add_Goto (Table.States (545), 297, 99);
+ Add_Goto (Table.States (545), 301, 100);
+ Add_Goto (Table.States (545), 302, 364);
+ Add_Goto (Table.States (545), 303, 700);
+ Add_Goto (Table.States (545), 305, 101);
+ Add_Goto (Table.States (545), 306, 102);
+ Add_Goto (Table.States (545), 309, 366);
+ Add_Goto (Table.States (545), 326, 115);
+ Table.States (545).Kernel := To_Vector ((0 => ((129, 0), 5, 3,
(2147483647, 0), 0)));
+ Table.States (545).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
+ Table.States (546).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (546), 74, (125, 0), 340);
+ Add_Action (Table.States (546), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (546).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (546), 125, 701);
+ Table.States (546).Kernel := To_Vector ((0 => ((316, 0), 317, 1,
(2147483647, 0), 0)));
+ Table.States (546).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (547).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (547), 60, (320, 0), 702);
+ Table.States (547).Kernel := To_Vector ((0 => ((320, 0), 35, 2,
(2147483647, 0), 0)));
+ Table.States (547).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (320, 0), 60, 702)));
Table.States (548).Action_List.Set_Capacity (1);
- Add_Action (Table.States (548), 77, 702);
- Table.States (548).Kernel := To_Vector ((0 => (170, 81, 1,
False)));
- Table.States (548).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 702)));
- Table.States (549).Action_List.Set_Capacity (2);
- Add_Action (Table.States (549), (77, 97), (172, 1), 1, null, null);
- Table.States (549).Kernel := To_Vector ((0 => (172, 171, 0,
False)));
- Table.States (549).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 172, 1)));
- Table.States (550).Action_List.Set_Capacity (2);
- Add_Action (Table.States (550), 77, 703);
- Add_Action (Table.States (550), 97, 704);
- Table.States (550).Kernel := To_Vector (((170, 172, 1, False),
(172, 172, 1, True)));
- Table.States (550).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 703)));
- Table.States (551).Action_List.Set_Capacity (2);
- Add_Action (Table.States (551), 82, 705);
- Add_Action (Table.States (551), 84, 235);
- Table.States (551).Kernel := To_Vector (((171, 220, 3, False),
(171, 220, 4, False), (171, 220, 2, False),
- (171, 220, 3, False), (220, 220, 2, True)));
- Table.States (551).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 82, 705)));
- Table.States (552).Action_List.Set_Capacity (19);
- Add_Action (Table.States (552), 6, 706);
- Add_Action (Table.States (552), 7, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (552), 11, 707);
- Add_Action (Table.States (552), 19, 708);
- Add_Action (Table.States (552), 20, 709);
- Add_Action (Table.States (552), 34, 710);
- Add_Action (Table.States (552), 36, 711);
- Add_Action (Table.States (552), 38, 712);
- Add_Action (Table.States (552), 39, Reduce, (110, 5), 0, null,
null);
- Add_Conflict (Table.States (552), 39, (111, 3), 0, null, null);
- Add_Action (Table.States (552), 40, 387);
- Add_Action (Table.States (552), 41, Reduce, (112, 5), 0, null,
null);
- Add_Action (Table.States (552), 49, Reduce, (112, 5), 0, null,
null);
- Add_Action (Table.States (552), 51, 714);
- Add_Action (Table.States (552), 53, 715);
- Add_Action (Table.States (552), 54, Reduce, (112, 5), 0, null,
null);
- Add_Action (Table.States (552), 64, 717);
- Add_Action (Table.States (552), 65, 718);
- Add_Action (Table.States (552), 66, 719);
- Add_Action (Table.States (552), 76, 720);
- Table.States (552).Goto_List.Set_Capacity (10);
- Add_Goto (Table.States (552), 110, 721);
- Add_Goto (Table.States (552), 111, 722);
- Add_Goto (Table.States (552), 112, 723);
- Add_Goto (Table.States (552), 115, 724);
- Add_Goto (Table.States (552), 121, 725);
- Add_Goto (Table.States (552), 163, 726);
- Add_Goto (Table.States (552), 184, 727);
- Add_Goto (Table.States (552), 229, 728);
- Add_Goto (Table.States (552), 242, 729);
- Add_Goto (Table.States (552), 327, 730);
- Table.States (552).Kernel := To_Vector (((207, 35, 2, False),
(224, 35, 2, False), (260, 35, 5, False),
- (261, 35, 2, False)));
- Table.States (552).Minimal_Complete_Actions := To_Vector (((Shift,
38, 712), (Shift, 65, 718), (Reduce,
- 112, 0)));
- Table.States (553).Action_List.Set_Capacity (41);
- Add_Action (Table.States (553), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (224, 1), 4,
- incomplete_type_declaration_1'Access, null);
- Table.States (553).Kernel := To_Vector ((0 => (224, 97, 0,
False)));
- Table.States (553).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 224, 4)));
+ Add_Action (Table.States (548), 35, (319, 0), 703);
+ Table.States (548).Kernel := To_Vector ((0 => ((319, 0), 125, 4,
(2147483647, 0), 0)));
+ Table.States (548).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (319, 0), 35, 703)));
+ Table.States (549).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (549), 35, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (549), 74, (125, 0), 340);
+ Add_Action (Table.States (549), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (549).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (549), 125, 704);
+ Table.States (549).Kernel := To_Vector ((((322, 0), 172, 6,
(2147483647, 0), 0), ((322, 1), 172, 3,
+ (2147483647, 0), 0), ((322, 2), 172, 1, (2147483647, 0), 0)));
+ Table.States (549).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (550).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (550), 24, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (550), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (550), 28, (124, 0), 185);
+ Add_Action (Table.States (550), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (550), 30, (213, 0), 8);
+ Add_Action (Table.States (550), 39, (308, 0), 705);
+ Add_Action (Table.States (550), 40, (249, 0), 12);
+ Add_Action (Table.States (550), 46, (249, 1), 14);
+ Add_Action (Table.States (550), 47, (216, 0), 15);
+ Add_Action (Table.States (550), 48, (260, 0), 16);
+ Add_Action (Table.States (550), 49, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (550), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (550), 51, (267, 0), 19);
+ Add_Action (Table.States (550), 63, (316, 0), 25);
+ Add_Action (Table.States (550), 66, (308, 0), 26);
+ Add_Action (Table.States (550), 69, (209, 0), 27);
+ Add_Action (Table.States (550), 71, (334, 0), 28);
+ Add_Action (Table.States (550), 107, (222, 1), 187);
+ Table.States (550).Goto_List.Set_Capacity (54);
+ Add_Goto (Table.States (550), 115, 36);
+ Add_Goto (Table.States (550), 124, 38);
+ Add_Goto (Table.States (550), 130, 41);
+ Add_Goto (Table.States (550), 137, 46);
+ Add_Goto (Table.States (550), 138, 47);
+ Add_Goto (Table.States (550), 160, 394);
+ Add_Goto (Table.States (550), 161, 395);
+ Add_Goto (Table.States (550), 162, 706);
+ Add_Goto (Table.States (550), 182, 55);
+ Add_Goto (Table.States (550), 185, 56);
+ Add_Goto (Table.States (550), 189, 57);
+ Add_Goto (Table.States (550), 196, 59);
+ Add_Goto (Table.States (550), 209, 61);
+ Add_Goto (Table.States (550), 210, 62);
+ Add_Goto (Table.States (550), 212, 63);
+ Add_Goto (Table.States (550), 213, 64);
+ Add_Goto (Table.States (550), 216, 65);
+ Add_Goto (Table.States (550), 217, 66);
+ Add_Goto (Table.States (550), 218, 67);
+ Add_Goto (Table.States (550), 219, 68);
+ Add_Goto (Table.States (550), 222, 70);
+ Add_Goto (Table.States (550), 226, 72);
+ Add_Goto (Table.States (550), 246, 75);
+ Add_Goto (Table.States (550), 247, 76);
+ Add_Goto (Table.States (550), 248, 77);
+ Add_Goto (Table.States (550), 249, 78);
+ Add_Goto (Table.States (550), 250, 79);
+ Add_Goto (Table.States (550), 251, 80);
+ Add_Goto (Table.States (550), 252, 81);
+ Add_Goto (Table.States (550), 253, 82);
+ Add_Goto (Table.States (550), 254, 83);
+ Add_Goto (Table.States (550), 260, 397);
+ Add_Goto (Table.States (550), 262, 85);
+ Add_Goto (Table.States (550), 263, 86);
+ Add_Goto (Table.States (550), 265, 88);
+ Add_Goto (Table.States (550), 266, 89);
+ Add_Goto (Table.States (550), 267, 90);
+ Add_Goto (Table.States (550), 268, 91);
+ Add_Goto (Table.States (550), 274, 92);
+ Add_Goto (Table.States (550), 284, 95);
+ Add_Goto (Table.States (550), 292, 96);
+ Add_Goto (Table.States (550), 307, 103);
+ Add_Goto (Table.States (550), 308, 104);
+ Add_Goto (Table.States (550), 310, 106);
+ Add_Goto (Table.States (550), 311, 107);
+ Add_Goto (Table.States (550), 312, 108);
+ Add_Goto (Table.States (550), 314, 109);
+ Add_Goto (Table.States (550), 316, 110);
+ Add_Goto (Table.States (550), 319, 112);
+ Add_Goto (Table.States (550), 320, 113);
+ Add_Goto (Table.States (550), 321, 707);
+ Add_Goto (Table.States (550), 322, 114);
+ Add_Goto (Table.States (550), 328, 116);
+ Add_Goto (Table.States (550), 334, 117);
+ Table.States (550).Kernel := To_Vector ((((308, 0), 35, 5,
(2147483647, 0), 0), ((308, 1), 35, 2,
+ (2147483647, 0), 0)));
+ Table.States (550).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (321, 1), 0)));
+ Table.States (551).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (551), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (308, 2), 4,
+ single_task_declaration_2'Access, null);
+ Table.States (551).Kernel := To_Vector ((0 => ((308, 2), 99, 0,
(308, 2), 4)));
+ Table.States (551).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (308, 2), 4)));
+ Table.States (552).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (552), 78, (172, 0), 708);
+ Table.States (552).Kernel := To_Vector ((0 => ((172, 0), 83, 1,
(2147483647, 0), 0)));
+ Table.States (552).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (172, 0), 78, 708)));
+ Table.States (553).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (553), (78, 99), (174, 1), 1, null,
null);
+ Table.States (553).Kernel := To_Vector ((0 => ((174, 1), 173, 0,
(174, 1), 1)));
+ Table.States (553).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (174, 1), 1)));
Table.States (554).Action_List.Set_Capacity (2);
- Add_Action (Table.States (554), 84, 382);
- Add_Action (Table.States (554), 97, 731);
- Table.States (554).Kernel := To_Vector (((239, 239, 2, True),
(332, 239, 1, False)));
- Table.States (554).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 731)));
- Table.States (555).Action_List.Set_Capacity (41);
- Add_Action (Table.States (555), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (332, 1), 4,
+ Add_Action (Table.States (554), 78, (172, 1), 709);
+ Add_Action (Table.States (554), 99, (174, 0), 710);
+ Table.States (554).Kernel := To_Vector ((((172, 1), 174, 1,
(2147483647, 0), 0), ((174, 0), 174, 1,
+ (2147483647, 0), 0)));
+ Table.States (554).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (172, 1), 78, 709)));
+ Table.States (555).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (555), 84, (173, 0), 711);
+ Add_Action (Table.States (555), 86, (222, 0), 236);
+ Table.States (555).Kernel := To_Vector ((((173, 0), 222, 3,
(2147483647, 0), 0), ((173, 1), 222, 4,
+ (2147483647, 0), 0), ((173, 2), 222, 2, (2147483647, 0), 0),
((173, 3), 222, 3, (2147483647, 0), 0),
+ ((222, 0), 222, 2, (2147483647, 0), 0)));
+ Table.States (555).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (173, 0), 84, 711)));
+ Table.States (556).Action_List.Set_Capacity (19);
+ Add_Action (Table.States (556), 6, (112, 0), 712);
+ Add_Action (Table.States (556), 7, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (556), 11, (123, 0), 713);
+ Add_Action (Table.States (556), 19, (329, 4), 714);
+ Add_Action (Table.States (556), 20, (329, 3), 715);
+ Add_Action (Table.States (556), 34, (231, 8), 716);
+ Add_Action (Table.States (556), 36, (112, 3), 717);
+ Add_Action (Table.States (556), 38, (329, 2), 718);
+ Add_Action (Table.States (556), 39, Reduce, (112, 5), 0, null,
null);
+ Add_Conflict (Table.States (556), 39, (113, 3), 0, null, null);
+ Add_Action (Table.States (556), 40, (244, 0), 389);
+ Add_Action (Table.States (556), 41, Reduce, (114, 5), 0, null,
null);
+ Add_Action (Table.States (556), 49, Reduce, (114, 5), 0, null,
null);
+ Add_Action (Table.States (556), 51, (231, 2), 720);
+ Add_Action (Table.States (556), 53, (329, 1), 721);
+ Add_Action (Table.States (556), 54, Reduce, (114, 5), 0, null,
null);
+ Add_Action (Table.States (556), 64, (112, 4), 723);
+ Add_Action (Table.States (556), 65, (114, 2), 724);
+ Add_Action (Table.States (556), 66, (231, 1), 725);
+ Add_Action (Table.States (556), 76, (186, 0), 726);
+ Table.States (556).Goto_List.Set_Capacity (10);
+ Add_Goto (Table.States (556), 112, 727);
+ Add_Goto (Table.States (556), 113, 728);
+ Add_Goto (Table.States (556), 114, 729);
+ Add_Goto (Table.States (556), 117, 730);
+ Add_Goto (Table.States (556), 123, 731);
+ Add_Goto (Table.States (556), 165, 732);
+ Add_Goto (Table.States (556), 186, 733);
+ Add_Goto (Table.States (556), 231, 734);
+ Add_Goto (Table.States (556), 244, 735);
+ Add_Goto (Table.States (556), 329, 736);
+ Table.States (556).Kernel := To_Vector ((((209, 0), 35, 2,
(2147483647, 0), 0), ((226, 0), 35, 2,
+ (2147483647, 0), 0), ((262, 0), 35, 5, (2147483647, 0), 0),
((263, 0), 35, 2, (2147483647, 0), 0)));
+ Table.States (556).Minimal_Complete_Actions := To_Vector (((Shift,
(329, 2), 38, 718), (Shift, (114, 2),
+ 65, 724), (Reduce, (114, 5), 0)));
+ Table.States (557).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (557), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (226, 1), 4,
+ incomplete_type_declaration_1'Access, null);
+ Table.States (557).Kernel := To_Vector ((0 => ((226, 1), 99, 0,
(226, 1), 4)));
+ Table.States (557).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (226, 1), 4)));
+ Table.States (558).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (558), 86, (241, 0), 384);
+ Add_Action (Table.States (558), 99, (334, 0), 737);
+ Table.States (558).Kernel := To_Vector ((((241, 0), 241, 2,
(2147483647, 0), 0), ((334, 0), 241, 1,
+ (2147483647, 0), 0)));
+ Table.States (558).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (334, 0), 99, 737)));
+ Table.States (559).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (559), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (334, 1), 4,
use_clause_1'Access, null);
- Table.States (555).Kernel := To_Vector ((0 => (332, 97, 0,
False)));
- Table.States (555).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 332, 4)));
- Table.States (556).Action_List.Set_Capacity (6);
- Add_Action (Table.States (556), 76, 236);
- Add_Action (Table.States (556), 84, Reduce, (239, 0), 3, null,
null);
- Add_Action (Table.States (556), 85, 238);
- Add_Action (Table.States (556), 97, Reduce, (239, 0), 3, null,
null);
- Add_Action (Table.States (556), 102, 240);
- Add_Action (Table.States (556), 103, 241);
- Table.States (556).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (556), 116, 242);
- Add_Goto (Table.States (556), 323, 243);
- Table.States (556).Kernel := To_Vector (((129, 240, 2, True),
(239, 240, 0, True), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (556).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 239, 3)));
- Table.States (556).Minimal_Complete_Actions_Recursive := True;
- Table.States (557).Action_List.Set_Capacity (4);
- Add_Action (Table.States (557), 79, 31);
- Add_Action (Table.States (557), 105, 120);
- Add_Action (Table.States (557), 106, 34);
- Add_Action (Table.States (557), 107, 35);
- Table.States (557).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (557), 129, 42);
- Add_Goto (Table.States (557), 240, 732);
- Add_Goto (Table.States (557), 273, 93);
- Add_Goto (Table.States (557), 294, 98);
- Table.States (557).Kernel := To_Vector ((0 => (246, 56, 2,
False)));
- Table.States (557).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (558).Action_List.Set_Capacity (12);
- Add_Action (Table.States (558), (7, 21, 35, 56, 74, 77, 79, 83,
97, 105, 106, 107), (242, 0), 2, null,
- null);
- Table.States (558).Kernel := To_Vector ((0 => (242, 41, 0,
False)));
- Table.States (558).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 242, 2)));
- Table.States (559).Action_List.Set_Capacity (4);
- Add_Action (Table.States (559), 79, 31);
- Add_Action (Table.States (559), 105, 120);
- Add_Action (Table.States (559), 106, 34);
- Add_Action (Table.States (559), 107, 35);
- Table.States (559).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (559), 129, 42);
- Add_Goto (Table.States (559), 240, 733);
- Add_Goto (Table.States (559), 273, 93);
- Add_Goto (Table.States (559), 294, 98);
- Table.States (559).Kernel := To_Vector ((0 => (246, 56, 2,
False)));
- Table.States (559).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (560).Action_List.Set_Capacity (9);
- Add_Action (Table.States (560), 9, 734);
- Add_Action (Table.States (560), 16, 735);
- Add_Action (Table.States (560), 29, Reduce, (271, 1), 0, null,
null);
- Add_Action (Table.States (560), 50, Reduce, (271, 1), 0, null,
null);
- Add_Action (Table.States (560), 51, 736);
- Add_Action (Table.States (560), 79, Reduce, (209, 2), 0, null,
null);
- Add_Action (Table.States (560), 105, Reduce, (209, 2), 0, null,
null);
- Add_Action (Table.States (560), 106, Reduce, (209, 2), 0, null,
null);
- Add_Action (Table.States (560), 107, Reduce, (209, 2), 0, null,
null);
+ Table.States (559).Kernel := To_Vector ((0 => ((334, 1), 99, 0,
(334, 1), 4)));
+ Table.States (559).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (334, 1), 4)));
+ Table.States (560).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (560), 76, (118, 0), 237);
+ Add_Action (Table.States (560), 86, Reduce, (241, 0), 3, null,
null);
+ Add_Action (Table.States (560), 87, (296, 0), 239);
+ Add_Action (Table.States (560), 99, Reduce, (241, 0), 3, null,
null);
+ Add_Action (Table.States (560), 104, (325, 0), 241);
+ Add_Action (Table.States (560), 105, (325, 1), 242);
Table.States (560).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (560), 209, 737);
- Add_Goto (Table.States (560), 271, 738);
- Table.States (560).Kernel := To_Vector (((115, 7, 1, False), (115,
7, 2, True), (115, 7, 1, False)));
- Table.States (560).Minimal_Complete_Actions := To_Vector
(((Reduce, 271, 0), (Reduce, 209, 0)));
- Table.States (560).Minimal_Complete_Actions_Recursive := True;
- Table.States (561).Action_List.Set_Capacity (5);
- Add_Action (Table.States (561), 56, 739);
- Add_Action (Table.States (561), 76, 236);
- Add_Action (Table.States (561), 85, 238);
- Add_Action (Table.States (561), 102, 240);
- Add_Action (Table.States (561), 103, 241);
- Table.States (561).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (561), 116, 242);
- Add_Goto (Table.States (561), 323, 243);
- Table.States (561).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (246, 240, 3, False), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (561).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 56, 739)));
- Table.States (562).Action_List.Set_Capacity (2);
- Add_Action (Table.States (562), 97, Reduce, (221, 1), 0, null,
null);
- Add_Action (Table.States (562), 105, 150);
- Table.States (562).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (562), 221, 740);
- Table.States (562).Kernel := To_Vector ((0 => (134, 24, 1,
False)));
- Table.States (562).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 0)));
- Table.States (563).Action_List.Set_Capacity (3);
- Add_Action (Table.States (563), 24, Reduce, (190, 1), 0, null,
null);
- Add_Action (Table.States (563), 48, 16);
- Add_Action (Table.States (563), 72, 741);
+ Add_Goto (Table.States (560), 118, 243);
+ Add_Goto (Table.States (560), 325, 244);
+ Table.States (560).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((241, 0), 242, 0,
+ (241, 0), 3), ((242, 0), 242, 5, (2147483647, 0), 0), ((242,
1), 242, 2, (2147483647, 0), 0), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (560).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (241, 0), 3)));
+ Table.States (561).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (561), 81, (242, 8), 31);
+ Add_Action (Table.States (561), 107, (242, 5), 120);
+ Add_Action (Table.States (561), 108, (242, 7), 34);
+ Add_Action (Table.States (561), 109, (242, 6), 35);
+ Table.States (561).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (561), 131, 42);
+ Add_Goto (Table.States (561), 242, 738);
+ Add_Goto (Table.States (561), 275, 93);
+ Add_Goto (Table.States (561), 296, 98);
+ Table.States (561).Kernel := To_Vector ((0 => ((248, 2), 56, 2,
(2147483647, 0), 0)));
+ Table.States (561).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (562).Action_List.Set_Capacity (12);
+ Add_Action (Table.States (562), (7, 21, 35, 56, 74, 78, 81, 85,
99, 107, 108, 109), (244, 0), 2, null,
+ null);
+ Table.States (562).Kernel := To_Vector ((0 => ((244, 0), 41, 0,
(244, 0), 2)));
+ Table.States (562).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (244, 0), 2)));
+ Table.States (563).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (563), 81, (242, 8), 31);
+ Add_Action (Table.States (563), 107, (242, 5), 120);
+ Add_Action (Table.States (563), 108, (242, 7), 34);
+ Add_Action (Table.States (563), 109, (242, 6), 35);
Table.States (563).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (563), 188, 742);
- Add_Goto (Table.States (563), 189, 743);
- Add_Goto (Table.States (563), 190, 744);
- Add_Goto (Table.States (563), 258, 745);
- Table.States (563).Kernel := To_Vector ((0 => (219, 26, 0,
False)));
- Table.States (563).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 190, 0)));
- Table.States (564).Action_List.Set_Capacity (18);
- Add_Action (Table.States (564), (13, 24, 25, 28, 29, 30, 40, 46,
47, 48, 49, 50, 51, 63, 66, 69, 71, 105),
- (159, 0), 2, null, null);
- Table.States (564).Kernel := To_Vector ((0 => (159, 158, 0,
True)));
- Table.States (564).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 159, 2)));
- Table.States (564).Minimal_Complete_Actions_Recursive := True;
- Table.States (565).Action_List.Set_Capacity (18);
- Add_Action (Table.States (565), (13, 24, 25, 28, 29, 30, 40, 46,
47, 48, 49, 50, 51, 63, 66, 69, 71, 105),
- (159, 1), 2, null, null);
- Table.States (565).Kernel := To_Vector ((0 => (159, 258, 0,
True)));
- Table.States (565).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 159, 2)));
- Table.States (565).Minimal_Complete_Actions_Recursive := True;
- Table.States (566).Action_List.Set_Capacity (25);
- Add_Action (Table.States (566), 4, 1);
- Add_Action (Table.States (566), 5, 2);
- Add_Action (Table.States (566), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (566), 15, 3);
- Add_Action (Table.States (566), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (566), 18, 4);
- Add_Action (Table.States (566), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (566), 26, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (566), 27, 5);
- Add_Action (Table.States (566), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (566), 31, 9);
- Add_Action (Table.States (566), 32, 10);
- Add_Action (Table.States (566), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (566), 41, 13);
- Add_Action (Table.States (566), 48, 16);
- Add_Action (Table.States (566), 52, 20);
- Add_Action (Table.States (566), 57, 21);
- Add_Action (Table.States (566), 58, 22);
- Add_Action (Table.States (566), 61, 24);
- Add_Action (Table.States (566), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (566), 79, 31);
- Add_Action (Table.States (566), 94, 32);
- Add_Action (Table.States (566), 105, 361);
- Add_Action (Table.States (566), 106, 34);
- Add_Action (Table.States (566), 107, 35);
- Table.States (566).Goto_List.Set_Capacity (32);
- Add_Goto (Table.States (566), 114, 37);
- Add_Goto (Table.States (566), 124, 39);
- Add_Goto (Table.States (566), 127, 40);
- Add_Goto (Table.States (566), 129, 42);
- Add_Goto (Table.States (566), 132, 43);
- Add_Goto (Table.States (566), 133, 44);
- Add_Goto (Table.States (566), 134, 45);
- Add_Goto (Table.States (566), 140, 48);
- Add_Goto (Table.States (566), 152, 51);
- Add_Goto (Table.States (566), 153, 52);
- Add_Goto (Table.States (566), 162, 54);
- Add_Goto (Table.States (566), 191, 58);
- Add_Goto (Table.States (566), 197, 60);
- Add_Goto (Table.States (566), 218, 69);
- Add_Goto (Table.States (566), 219, 746);
- Add_Goto (Table.States (566), 223, 71);
- Add_Goto (Table.States (566), 233, 73);
- Add_Goto (Table.States (566), 240, 74);
- Add_Goto (Table.States (566), 258, 84);
- Add_Goto (Table.States (566), 262, 87);
- Add_Goto (Table.States (566), 273, 93);
- Add_Goto (Table.States (566), 277, 94);
- Add_Goto (Table.States (566), 291, 97);
- Add_Goto (Table.States (566), 294, 98);
- Add_Goto (Table.States (566), 295, 99);
- Add_Goto (Table.States (566), 299, 100);
- Add_Goto (Table.States (566), 300, 362);
- Add_Goto (Table.States (566), 301, 391);
- Add_Goto (Table.States (566), 303, 101);
- Add_Goto (Table.States (566), 304, 102);
- Add_Goto (Table.States (566), 307, 364);
- Add_Goto (Table.States (566), 324, 115);
- Table.States (566).Kernel := To_Vector ((0 => (134, 13, 2,
False)));
- Table.States (566).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 219, 0)));
- Table.States (567).Action_List.Set_Capacity (1);
- Add_Action (Table.States (567), 37, 747);
- Table.States (567).Kernel := To_Vector ((0 => (233, 24, 2,
False)));
- Table.States (567).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 747)));
- Table.States (568).Action_List.Set_Capacity (1);
- Add_Action (Table.States (568), 24, 748);
- Table.States (568).Kernel := To_Vector ((0 => (233, 301, 3,
False)));
- Table.States (568).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 748)));
- Table.States (569).Action_List.Set_Capacity (41);
- Add_Action (Table.States (569), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (217, 0), 4,
+ Add_Goto (Table.States (563), 131, 42);
+ Add_Goto (Table.States (563), 242, 739);
+ Add_Goto (Table.States (563), 275, 93);
+ Add_Goto (Table.States (563), 296, 98);
+ Table.States (563).Kernel := To_Vector ((0 => ((248, 1), 56, 2,
(2147483647, 0), 0)));
+ Table.States (563).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (564).Action_List.Set_Capacity (9);
+ Add_Action (Table.States (564), 9, (211, 0), 740);
+ Add_Action (Table.States (564), 16, (211, 1), 741);
+ Add_Action (Table.States (564), 29, Reduce, (273, 1), 0, null,
null);
+ Add_Action (Table.States (564), 50, Reduce, (273, 1), 0, null,
null);
+ Add_Action (Table.States (564), 51, (273, 0), 742);
+ Add_Action (Table.States (564), 81, Reduce, (211, 2), 0, null,
null);
+ Add_Action (Table.States (564), 107, Reduce, (211, 2), 0, null,
null);
+ Add_Action (Table.States (564), 108, Reduce, (211, 2), 0, null,
null);
+ Add_Action (Table.States (564), 109, Reduce, (211, 2), 0, null,
null);
+ Table.States (564).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (564), 211, 743);
+ Add_Goto (Table.States (564), 273, 744);
+ Table.States (564).Kernel := To_Vector ((((117, 0), 7, 1,
(2147483647, 0), 0), ((117, 1), 7, 2,
+ (2147483647, 0), 0), ((117, 2), 7, 1, (2147483647, 0), 0)));
+ Table.States (564).Minimal_Complete_Actions := To_Vector
(((Reduce, (273, 1), 0), (Reduce, (211, 2),
+ 0)));
+ Table.States (565).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (565), 56, (248, 0), 745);
+ Add_Action (Table.States (565), 76, (118, 0), 237);
+ Add_Action (Table.States (565), 87, (296, 0), 239);
+ Add_Action (Table.States (565), 104, (325, 0), 241);
+ Add_Action (Table.States (565), 105, (325, 1), 242);
+ Table.States (565).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (565), 118, 243);
+ Add_Goto (Table.States (565), 325, 244);
+ Table.States (565).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((248, 0), 242, 3, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (565).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (248, 0), 56, 745)));
+ Table.States (566).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (566), 99, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (566), 107, (223, 0), 151);
+ Table.States (566).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (566), 223, 746);
+ Table.States (566).Kernel := To_Vector ((0 => ((136, 1), 24, 1,
(2147483647, 0), 0)));
+ Table.States (566).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 1), 0)));
+ Table.States (567).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (567), 24, Reduce, (192, 1), 0, null,
null);
+ Add_Action (Table.States (567), 48, (260, 0), 16);
+ Add_Action (Table.States (567), 72, (190, 0), 747);
+ Table.States (567).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (567), 190, 748);
+ Add_Goto (Table.States (567), 191, 749);
+ Add_Goto (Table.States (567), 192, 750);
+ Add_Goto (Table.States (567), 260, 751);
+ Table.States (567).Kernel := To_Vector ((0 => ((221, 0), 26, 0,
(192, 1), 0)));
+ Table.States (567).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (192, 1), 0)));
+ Table.States (568).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (568), (13, 24, 25, 28, 29, 30, 40, 46,
47, 48, 49, 50, 51, 63, 66, 69, 71, 107),
+ (161, 0), 2, null, null);
+ Table.States (568).Kernel := To_Vector ((0 => ((161, 0), 160, 0,
(161, 0), 2)));
+ Table.States (568).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (161, 0), 2)));
+ Table.States (569).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (569), (13, 24, 25, 28, 29, 30, 40, 46,
47, 48, 49, 50, 51, 63, 66, 69, 71, 107),
+ (161, 1), 2, null, null);
+ Table.States (569).Kernel := To_Vector ((0 => ((161, 1), 260, 0,
(161, 1), 2)));
+ Table.States (569).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (161, 1), 2)));
+ Table.States (570).Action_List.Set_Capacity (25);
+ Add_Action (Table.States (570), 4, (116, 0), 1);
+ Add_Action (Table.States (570), 5, (306, 8), 2);
+ Add_Action (Table.States (570), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (570), 15, (142, 0), 3);
+ Add_Action (Table.States (570), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (570), 18, (164, 0), 4);
+ Add_Action (Table.States (570), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (570), 26, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (570), 27, (193, 0), 5);
+ Add_Action (Table.States (570), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (570), 31, (306, 3), 9);
+ Add_Action (Table.States (570), 32, (225, 0), 10);
+ Add_Action (Table.States (570), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (570), 41, (306, 0), 13);
+ Add_Action (Table.States (570), 48, (260, 0), 16);
+ Add_Action (Table.States (570), 52, (279, 0), 20);
+ Add_Action (Table.States (570), 57, (293, 0), 21);
+ Add_Action (Table.States (570), 58, (199, 0), 22);
+ Add_Action (Table.States (570), 61, (129, 0), 24);
+ Add_Action (Table.States (570), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (570), 81, (242, 8), 31);
+ Add_Action (Table.States (570), 96, (220, 0), 32);
+ Add_Action (Table.States (570), 107, (134, 0), 363);
+ Add_Action (Table.States (570), 108, (242, 7), 34);
+ Add_Action (Table.States (570), 109, (242, 6), 35);
+ Table.States (570).Goto_List.Set_Capacity (32);
+ Add_Goto (Table.States (570), 116, 37);
+ Add_Goto (Table.States (570), 126, 39);
+ Add_Goto (Table.States (570), 129, 40);
+ Add_Goto (Table.States (570), 131, 42);
+ Add_Goto (Table.States (570), 134, 43);
+ Add_Goto (Table.States (570), 135, 44);
+ Add_Goto (Table.States (570), 136, 45);
+ Add_Goto (Table.States (570), 142, 48);
+ Add_Goto (Table.States (570), 154, 51);
+ Add_Goto (Table.States (570), 155, 52);
+ Add_Goto (Table.States (570), 164, 54);
+ Add_Goto (Table.States (570), 193, 58);
+ Add_Goto (Table.States (570), 199, 60);
+ Add_Goto (Table.States (570), 220, 69);
+ Add_Goto (Table.States (570), 221, 752);
+ Add_Goto (Table.States (570), 225, 71);
+ Add_Goto (Table.States (570), 235, 73);
+ Add_Goto (Table.States (570), 242, 74);
+ Add_Goto (Table.States (570), 260, 84);
+ Add_Goto (Table.States (570), 264, 87);
+ Add_Goto (Table.States (570), 275, 93);
+ Add_Goto (Table.States (570), 279, 94);
+ Add_Goto (Table.States (570), 293, 97);
+ Add_Goto (Table.States (570), 296, 98);
+ Add_Goto (Table.States (570), 297, 99);
+ Add_Goto (Table.States (570), 301, 100);
+ Add_Goto (Table.States (570), 302, 364);
+ Add_Goto (Table.States (570), 303, 393);
+ Add_Goto (Table.States (570), 305, 101);
+ Add_Goto (Table.States (570), 306, 102);
+ Add_Goto (Table.States (570), 309, 366);
+ Add_Goto (Table.States (570), 326, 115);
+ Table.States (570).Kernel := To_Vector ((0 => ((136, 0), 13, 2,
(2147483647, 0), 0)));
+ Table.States (570).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (221, 1), 0)));
+ end Subr_11;
+ procedure Subr_12
+ is begin
+ Table.States (571).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (571), 37, (235, 1), 753);
+ Table.States (571).Kernel := To_Vector ((0 => ((235, 1), 24, 2,
(2147483647, 0), 0)));
+ Table.States (571).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (235, 1), 37, 753)));
+ Table.States (572).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (572), 24, (235, 0), 754);
+ Table.States (572).Kernel := To_Vector ((0 => ((235, 0), 303, 3,
(2147483647, 0), 0)));
+ Table.States (572).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (235, 0), 24, 754)));
+ Table.States (573).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (573), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (219, 0), 4,
generic_subprogram_declaration_0'Access, null);
- Table.States (569).Kernel := To_Vector ((0 => (217, 97, 0,
False)));
- Table.States (569).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 217, 4)));
- Table.States (570).Action_List.Set_Capacity (14);
- Add_Action (Table.States (570), 3, 122);
- Add_Action (Table.States (570), 39, 123);
- Add_Action (Table.States (570), 40, 124);
- Add_Action (Table.States (570), 41, 125);
- Add_Action (Table.States (570), 52, 126);
- Add_Action (Table.States (570), 76, 127);
- Add_Action (Table.States (570), 79, 31);
- Add_Action (Table.States (570), 95, 128);
- Add_Action (Table.States (570), 96, 129);
- Add_Action (Table.States (570), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (570), 104, 130);
- Add_Action (Table.States (570), 105, 120);
- Add_Action (Table.States (570), 106, 34);
- Add_Action (Table.States (570), 107, 35);
- Table.States (570).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (570), 118, 131);
- Add_Goto (Table.States (570), 129, 42);
- Add_Goto (Table.States (570), 192, 132);
- Add_Goto (Table.States (570), 193, 749);
- Add_Goto (Table.States (570), 198, 134);
- Add_Goto (Table.States (570), 240, 135);
- Add_Goto (Table.States (570), 259, 136);
- Add_Goto (Table.States (570), 273, 93);
- Add_Goto (Table.States (570), 276, 137);
- Add_Goto (Table.States (570), 283, 138);
- Add_Goto (Table.States (570), 284, 139);
- Add_Goto (Table.States (570), 285, 140);
- Add_Goto (Table.States (570), 286, 141);
- Add_Goto (Table.States (570), 287, 142);
- Add_Goto (Table.States (570), 288, 143);
- Add_Goto (Table.States (570), 294, 98);
- Add_Goto (Table.States (570), 302, 144);
- Add_Goto (Table.States (570), 321, 145);
- Add_Goto (Table.States (570), 322, 146);
- Add_Goto (Table.States (570), 331, 147);
- Table.States (570).Kernel := To_Vector ((0 => (158, 83, 1,
False)));
- Table.States (570).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (571).Action_List.Set_Capacity (41);
- Add_Action (Table.States (571), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (187, 0), 4,
+ Table.States (573).Kernel := To_Vector ((0 => ((219, 0), 99, 0,
(219, 0), 4)));
+ Table.States (573).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (219, 0), 4)));
+ Table.States (574).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (574), 3, (200, 2), 122);
+ Add_Action (Table.States (574), 39, (261, 4), 123);
+ Add_Action (Table.States (574), 40, (200, 3), 124);
+ Add_Action (Table.States (574), 41, (261, 1), 125);
+ Add_Action (Table.States (574), 52, (278, 0), 126);
+ Add_Action (Table.States (574), 76, (120, 0), 127);
+ Add_Action (Table.States (574), 77, (120, 5), 128);
+ Add_Action (Table.States (574), 81, (242, 8), 31);
+ Add_Action (Table.States (574), 97, (333, 1), 129);
+ Add_Action (Table.States (574), 98, (333, 0), 130);
+ Add_Action (Table.States (574), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (574), 106, (261, 0), 131);
+ Add_Action (Table.States (574), 107, (242, 5), 120);
+ Add_Action (Table.States (574), 108, (242, 7), 34);
+ Add_Action (Table.States (574), 109, (242, 6), 35);
+ Table.States (574).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (574), 120, 132);
+ Add_Goto (Table.States (574), 131, 42);
+ Add_Goto (Table.States (574), 194, 133);
+ Add_Goto (Table.States (574), 195, 755);
+ Add_Goto (Table.States (574), 200, 135);
+ Add_Goto (Table.States (574), 242, 136);
+ Add_Goto (Table.States (574), 261, 137);
+ Add_Goto (Table.States (574), 275, 93);
+ Add_Goto (Table.States (574), 278, 138);
+ Add_Goto (Table.States (574), 285, 139);
+ Add_Goto (Table.States (574), 286, 140);
+ Add_Goto (Table.States (574), 287, 141);
+ Add_Goto (Table.States (574), 288, 142);
+ Add_Goto (Table.States (574), 289, 143);
+ Add_Goto (Table.States (574), 290, 144);
+ Add_Goto (Table.States (574), 296, 98);
+ Add_Goto (Table.States (574), 304, 145);
+ Add_Goto (Table.States (574), 323, 146);
+ Add_Goto (Table.States (574), 324, 147);
+ Add_Goto (Table.States (574), 333, 148);
+ Table.States (574).Kernel := To_Vector ((0 => ((160, 9), 85, 1,
(2147483647, 0), 0)));
+ Table.States (574).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (575).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (575), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (189, 0), 4,
exception_declaration_0'Access, null);
- Table.States (571).Kernel := To_Vector ((0 => (187, 97, 0,
False)));
- Table.States (571).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 187, 4)));
- Table.States (572).Action_List.Set_Capacity (11);
- Add_Action (Table.States (572), (7, 11, 21, 40, 74, 79, 83, 97,
105, 106, 107), (155, 0), 1, null, null);
- Table.States (572).Kernel := To_Vector ((0 => (155, 16, 0,
False)));
- Table.States (572).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 155, 1)));
- Table.States (573).Action_List.Set_Capacity (7);
- Add_Action (Table.States (573), 7, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (573), 11, 707);
- Add_Action (Table.States (573), 40, 750);
- Add_Action (Table.States (573), 79, 31);
- Add_Action (Table.States (573), 105, 120);
- Add_Action (Table.States (573), 106, 34);
- Add_Action (Table.States (573), 107, 35);
- Table.States (573).Goto_List.Set_Capacity (8);
- Add_Goto (Table.States (573), 115, 751);
- Add_Goto (Table.States (573), 121, 752);
- Add_Goto (Table.States (573), 129, 42);
- Add_Goto (Table.States (573), 240, 487);
- Add_Goto (Table.States (573), 242, 729);
- Add_Goto (Table.States (573), 273, 93);
- Add_Goto (Table.States (573), 294, 98);
- Add_Goto (Table.States (573), 315, 753);
- Table.States (573).Kernel := To_Vector (((245, 155, 3, False),
(245, 155, 4, False), (245, 155, 10, False),
- (245, 155, 2, False), (245, 155, 3, False), (245, 155, 9, False)));
- Table.States (573).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (574).Action_List.Set_Capacity (64);
- Add_Action (Table.States (574), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (116, 0), 3,
+ Table.States (575).Kernel := To_Vector ((0 => ((189, 0), 99, 0,
(189, 0), 4)));
+ Table.States (575).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (189, 0), 4)));
+ Table.States (576).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (576), (7, 11, 21, 40, 74, 81, 85, 99,
107, 108, 109), (157, 0), 1, null, null);
+ Table.States (576).Kernel := To_Vector ((0 => ((157, 0), 16, 0,
(157, 0), 1)));
+ Table.States (576).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (157, 0), 1)));
+ Table.States (577).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (577), 7, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (577), 11, (123, 0), 713);
+ Add_Action (Table.States (577), 40, (244, 0), 756);
+ Add_Action (Table.States (577), 81, (242, 8), 31);
+ Add_Action (Table.States (577), 107, (242, 5), 120);
+ Add_Action (Table.States (577), 108, (242, 7), 34);
+ Add_Action (Table.States (577), 109, (242, 6), 35);
+ Table.States (577).Goto_List.Set_Capacity (8);
+ Add_Goto (Table.States (577), 117, 757);
+ Add_Goto (Table.States (577), 123, 758);
+ Add_Goto (Table.States (577), 131, 42);
+ Add_Goto (Table.States (577), 242, 491);
+ Add_Goto (Table.States (577), 244, 735);
+ Add_Goto (Table.States (577), 275, 93);
+ Add_Goto (Table.States (577), 296, 98);
+ Add_Goto (Table.States (577), 317, 759);
+ Table.States (577).Kernel := To_Vector ((((247, 0), 157, 3,
(2147483647, 0), 0), ((247, 1), 157, 4,
+ (2147483647, 0), 0), ((247, 2), 157, 10, (2147483647, 0), 0),
((247, 3), 157, 2, (2147483647, 0),
+ 0), ((247, 4), 157, 3, (2147483647, 0), 0), ((247, 5), 157,
9, (2147483647, 0), 0)));
+ Table.States (577).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (578).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (578), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (118, 0), 3,
actual_parameter_part_0'Access, null);
- Table.States (574).Kernel := To_Vector ((0 => (116, 77, 0,
False)));
- Table.States (574).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 116, 3)));
- Table.States (575).Action_List.Set_Capacity (64);
- Add_Action (Table.States (575), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (116, 1), 3,
+ Table.States (578).Kernel := To_Vector ((0 => ((118, 0), 78, 0,
(118, 0), 3)));
+ Table.States (578).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (118, 0), 3)));
+ Table.States (579).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (579), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (118, 1), 3,
actual_parameter_part_1'Access, null);
- Table.States (575).Kernel := To_Vector ((0 => (116, 77, 0,
False)));
- Table.States (575).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 116, 3)));
- Table.States (576).Action_List.Set_Capacity (64);
- Add_Action (Table.States (576), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (240, 0), 4, name_0'Access,
- null);
- Table.States (576).Kernel := To_Vector ((0 => (240, 77, 0, True)));
- Table.States (576).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 240, 4)));
- Table.States (576).Minimal_Complete_Actions_Recursive := True;
- Table.States (577).Action_List.Set_Capacity (12);
- Add_Action (Table.States (577), 3, 122);
- Add_Action (Table.States (577), 39, 123);
- Add_Action (Table.States (577), 40, 124);
- Add_Action (Table.States (577), 41, 125);
- Add_Action (Table.States (577), 76, 127);
- Add_Action (Table.States (577), 79, 31);
- Add_Action (Table.States (577), 95, 128);
- Add_Action (Table.States (577), 96, 129);
- Add_Action (Table.States (577), 104, 130);
- Add_Action (Table.States (577), 105, 120);
- Add_Action (Table.States (577), 106, 34);
- Add_Action (Table.States (577), 107, 35);
- Table.States (577).Goto_List.Set_Capacity (12);
- Add_Goto (Table.States (577), 118, 131);
- Add_Goto (Table.States (577), 129, 42);
- Add_Goto (Table.States (577), 198, 134);
- Add_Goto (Table.States (577), 240, 275);
- Add_Goto (Table.States (577), 259, 136);
- Add_Goto (Table.States (577), 273, 93);
- Add_Goto (Table.States (577), 278, 754);
- Add_Goto (Table.States (577), 294, 98);
- Add_Goto (Table.States (577), 302, 482);
- Add_Goto (Table.States (577), 321, 145);
- Add_Goto (Table.States (577), 322, 146);
- Add_Goto (Table.States (577), 331, 147);
- Table.States (577).Kernel := To_Vector ((0 => (279, 84, 3, True)));
- Table.States (577).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (577).Minimal_Complete_Actions_Recursive := True;
- Table.States (578).Action_List.Set_Capacity (47);
- Add_Action (Table.States (578), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (124, 0), 4, assignment_statement_0'Access, null);
- Table.States (578).Kernel := To_Vector ((0 => (124, 97, 0,
False)));
- Table.States (578).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 124, 4)));
- Table.States (579).Action_List.Set_Capacity (13);
- Add_Action (Table.States (579), 3, 122);
- Add_Action (Table.States (579), 39, 123);
- Add_Action (Table.States (579), 40, 124);
- Add_Action (Table.States (579), 41, 125);
- Add_Action (Table.States (579), 52, 126);
- Add_Action (Table.States (579), 76, 127);
- Add_Action (Table.States (579), 79, 31);
- Add_Action (Table.States (579), 95, 128);
- Add_Action (Table.States (579), 96, 129);
- Add_Action (Table.States (579), 104, 130);
- Add_Action (Table.States (579), 105, 120);
- Add_Action (Table.States (579), 106, 34);
- Add_Action (Table.States (579), 107, 35);
- Table.States (579).Goto_List.Set_Capacity (19);
- Add_Goto (Table.States (579), 118, 131);
- Add_Goto (Table.States (579), 129, 42);
- Add_Goto (Table.States (579), 192, 755);
- Add_Goto (Table.States (579), 198, 134);
- Add_Goto (Table.States (579), 240, 135);
- Add_Goto (Table.States (579), 259, 136);
- Add_Goto (Table.States (579), 273, 93);
- Add_Goto (Table.States (579), 276, 137);
- Add_Goto (Table.States (579), 283, 138);
- Add_Goto (Table.States (579), 284, 139);
- Add_Goto (Table.States (579), 285, 140);
- Add_Goto (Table.States (579), 286, 141);
- Add_Goto (Table.States (579), 287, 142);
- Add_Goto (Table.States (579), 288, 143);
- Add_Goto (Table.States (579), 294, 98);
- Add_Goto (Table.States (579), 302, 144);
- Add_Goto (Table.States (579), 321, 145);
- Add_Goto (Table.States (579), 322, 146);
- Add_Goto (Table.States (579), 331, 147);
- Table.States (579).Kernel := To_Vector ((0 => (130, 76, 2,
False)));
- Table.States (579).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (580).Action_List.Set_Capacity (14);
- Add_Action (Table.States (580), 3, 122);
- Add_Action (Table.States (580), 39, 123);
- Add_Action (Table.States (580), 40, 477);
- Add_Action (Table.States (580), 41, 125);
- Add_Action (Table.States (580), 76, 127);
- Add_Action (Table.States (580), 77, Reduce, (255, 4), 0, null,
null);
- Add_Action (Table.States (580), 79, 31);
- Add_Action (Table.States (580), 95, 128);
- Add_Action (Table.States (580), 96, 129);
- Add_Action (Table.States (580), 97, Reduce, (255, 4), 0, null,
null);
- Add_Action (Table.States (580), 104, 130);
- Add_Action (Table.States (580), 105, 495);
- Add_Action (Table.States (580), 106, 34);
- Add_Action (Table.States (580), 107, 35);
- Table.States (580).Goto_List.Set_Capacity (17);
- Add_Goto (Table.States (580), 118, 131);
- Add_Goto (Table.States (580), 129, 42);
- Add_Goto (Table.States (580), 168, 756);
- Add_Goto (Table.States (580), 198, 134);
- Add_Goto (Table.States (580), 220, 496);
- Add_Goto (Table.States (580), 240, 480);
- Add_Goto (Table.States (580), 255, 497);
- Add_Goto (Table.States (580), 256, 498);
- Add_Goto (Table.States (580), 259, 136);
- Add_Goto (Table.States (580), 273, 93);
- Add_Goto (Table.States (580), 278, 481);
- Add_Goto (Table.States (580), 294, 98);
- Add_Goto (Table.States (580), 302, 482);
- Add_Goto (Table.States (580), 315, 483);
- Add_Goto (Table.States (580), 321, 145);
- Add_Goto (Table.States (580), 322, 146);
- Add_Goto (Table.States (580), 331, 147);
- Table.States (580).Kernel := To_Vector (((180, 76, 3, False),
(200, 76, 1, False)));
- Table.States (580).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 256, 0)));
- Table.States (581).Action_List.Set_Capacity (2);
- Add_Action (Table.States (581), 74, 338);
- Add_Action (Table.States (581), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (581).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (581), 123, 757);
- Table.States (581).Kernel := To_Vector ((0 => (180, 254, 1,
False)));
- Table.States (581).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (582).Action_List.Set_Capacity (1);
- Add_Action (Table.States (582), 39, 758);
- Table.States (582).Kernel := To_Vector ((0 => (214, 35, 3,
False)));
- Table.States (582).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 39, 758)));
- Table.States (583).Action_List.Set_Capacity (1);
- Add_Action (Table.States (583), 39, 759);
- Table.States (583).Kernel := To_Vector ((0 => (214, 35, 3,
False)));
- Table.States (583).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 39, 759)));
- Table.States (584).Action_List.Set_Capacity (22);
- Add_Action (Table.States (584), 3, 122);
- Add_Action (Table.States (584), 15, 259);
- Add_Action (Table.States (584), 28, 260);
- Add_Action (Table.States (584), 32, 261);
- Add_Action (Table.States (584), 39, 123);
- Add_Action (Table.States (584), 40, 262);
- Add_Action (Table.States (584), 41, 263);
- Add_Action (Table.States (584), 44, 264);
- Add_Action (Table.States (584), 52, 126);
- Add_Action (Table.States (584), 74, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (584), 76, 127);
- Add_Action (Table.States (584), 77, Reduce, (125, 6), 0, null,
null);
- Add_Conflict (Table.States (584), 77, (193, 1), 0, null, null);
- Add_Action (Table.States (584), 79, 31);
- Add_Action (Table.States (584), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (584), 84, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (584), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (584), 95, 128);
- Add_Action (Table.States (584), 96, 129);
- Add_Action (Table.States (584), 104, 130);
- Add_Action (Table.States (584), 105, 120);
- Add_Action (Table.States (584), 106, 34);
- Add_Action (Table.States (584), 107, 265);
- Table.States (584).Goto_List.Set_Capacity (29);
- Add_Goto (Table.States (584), 118, 131);
- Add_Goto (Table.States (584), 125, 266);
- Add_Goto (Table.States (584), 126, 267);
- Add_Goto (Table.States (584), 129, 42);
- Add_Goto (Table.States (584), 137, 268);
- Add_Goto (Table.States (584), 154, 269);
- Add_Goto (Table.States (584), 166, 270);
- Add_Goto (Table.States (584), 167, 271);
- Add_Goto (Table.States (584), 192, 272);
- Add_Goto (Table.States (584), 193, 760);
- Add_Goto (Table.States (584), 198, 134);
- Add_Goto (Table.States (584), 222, 274);
- Add_Goto (Table.States (584), 240, 275);
- Add_Goto (Table.States (584), 259, 136);
- Add_Goto (Table.States (584), 273, 93);
- Add_Goto (Table.States (584), 274, 276);
- Add_Goto (Table.States (584), 276, 137);
- Add_Goto (Table.States (584), 278, 277);
- Add_Goto (Table.States (584), 283, 138);
- Add_Goto (Table.States (584), 284, 139);
- Add_Goto (Table.States (584), 285, 140);
- Add_Goto (Table.States (584), 286, 141);
- Add_Goto (Table.States (584), 287, 142);
- Add_Goto (Table.States (584), 288, 143);
- Add_Goto (Table.States (584), 294, 98);
- Add_Goto (Table.States (584), 302, 278);
- Add_Goto (Table.States (584), 321, 145);
- Add_Goto (Table.States (584), 322, 146);
- Add_Goto (Table.States (584), 331, 147);
- Table.States (584).Kernel := To_Vector (((118, 76, 4, False),
(118, 76, 2, False), (118, 76, 3, False),
- (118, 76, 4, False), (118, 76, 3, False), (118, 76, 1, False),
(257, 76, 1, False)));
- Table.States (584).Minimal_Complete_Actions := To_Vector
(((Reduce, 126, 0), (Reduce, 193, 0)));
+ Table.States (579).Kernel := To_Vector ((0 => ((118, 1), 78, 0,
(118, 1), 3)));
+ Table.States (579).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (118, 1), 3)));
+ Table.States (580).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (580), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (242, 0), 4,
+ name_0'Access, null);
+ Table.States (580).Kernel := To_Vector ((0 => ((242, 0), 78, 0,
(242, 0), 4)));
+ Table.States (580).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (242, 0), 4)));
+ Table.States (581).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (581), 3, (200, 2), 122);
+ Add_Action (Table.States (581), 39, (261, 4), 123);
+ Add_Action (Table.States (581), 40, (200, 3), 124);
+ Add_Action (Table.States (581), 41, (261, 1), 125);
+ Add_Action (Table.States (581), 76, (120, 0), 127);
+ Add_Action (Table.States (581), 77, (120, 5), 128);
+ Add_Action (Table.States (581), 81, (242, 8), 31);
+ Add_Action (Table.States (581), 97, (333, 1), 129);
+ Add_Action (Table.States (581), 98, (333, 0), 130);
+ Add_Action (Table.States (581), 106, (261, 0), 131);
+ Add_Action (Table.States (581), 107, (242, 5), 120);
+ Add_Action (Table.States (581), 108, (242, 7), 34);
+ Add_Action (Table.States (581), 109, (242, 6), 35);
+ Table.States (581).Goto_List.Set_Capacity (12);
+ Add_Goto (Table.States (581), 120, 132);
+ Add_Goto (Table.States (581), 131, 42);
+ Add_Goto (Table.States (581), 200, 135);
+ Add_Goto (Table.States (581), 242, 276);
+ Add_Goto (Table.States (581), 261, 137);
+ Add_Goto (Table.States (581), 275, 93);
+ Add_Goto (Table.States (581), 280, 760);
+ Add_Goto (Table.States (581), 296, 98);
+ Add_Goto (Table.States (581), 304, 486);
+ Add_Goto (Table.States (581), 323, 146);
+ Add_Goto (Table.States (581), 324, 147);
+ Add_Goto (Table.States (581), 333, 148);
+ Table.States (581).Kernel := To_Vector ((0 => ((281, 0), 86, 3,
(2147483647, 0), 0)));
+ Table.States (581).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (582).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (582), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (126, 0), 4, assignment_statement_0'Access, null);
+ Table.States (582).Kernel := To_Vector ((0 => ((126, 0), 99, 0,
(126, 0), 4)));
+ Table.States (582).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (126, 0), 4)));
+ Table.States (583).Action_List.Set_Capacity (14);
+ Add_Action (Table.States (583), 3, (200, 2), 122);
+ Add_Action (Table.States (583), 39, (261, 4), 123);
+ Add_Action (Table.States (583), 40, (200, 3), 124);
+ Add_Action (Table.States (583), 41, (261, 1), 125);
+ Add_Action (Table.States (583), 52, (278, 0), 126);
+ Add_Action (Table.States (583), 76, (120, 0), 127);
+ Add_Action (Table.States (583), 77, (120, 5), 128);
+ Add_Action (Table.States (583), 81, (242, 8), 31);
+ Add_Action (Table.States (583), 97, (333, 1), 129);
+ Add_Action (Table.States (583), 98, (333, 0), 130);
+ Add_Action (Table.States (583), 106, (261, 0), 131);
+ Add_Action (Table.States (583), 107, (242, 5), 120);
+ Add_Action (Table.States (583), 108, (242, 7), 34);
+ Add_Action (Table.States (583), 109, (242, 6), 35);
+ Table.States (583).Goto_List.Set_Capacity (19);
+ Add_Goto (Table.States (583), 120, 132);
+ Add_Goto (Table.States (583), 131, 42);
+ Add_Goto (Table.States (583), 194, 761);
+ Add_Goto (Table.States (583), 200, 135);
+ Add_Goto (Table.States (583), 242, 136);
+ Add_Goto (Table.States (583), 261, 137);
+ Add_Goto (Table.States (583), 275, 93);
+ Add_Goto (Table.States (583), 278, 138);
+ Add_Goto (Table.States (583), 285, 139);
+ Add_Goto (Table.States (583), 286, 140);
+ Add_Goto (Table.States (583), 287, 141);
+ Add_Goto (Table.States (583), 288, 142);
+ Add_Goto (Table.States (583), 289, 143);
+ Add_Goto (Table.States (583), 290, 144);
+ Add_Goto (Table.States (583), 296, 98);
+ Add_Goto (Table.States (583), 304, 145);
+ Add_Goto (Table.States (583), 323, 146);
+ Add_Goto (Table.States (583), 324, 147);
+ Add_Goto (Table.States (583), 333, 148);
+ Table.States (583).Kernel := To_Vector ((0 => ((132, 0), 76, 2,
(2147483647, 0), 0)));
+ Table.States (583).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (584).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (584), 3, (200, 2), 122);
+ Add_Action (Table.States (584), 39, (261, 4), 123);
+ Add_Action (Table.States (584), 40, (200, 3), 481);
+ Add_Action (Table.States (584), 41, (261, 1), 125);
+ Add_Action (Table.States (584), 76, (120, 0), 127);
+ Add_Action (Table.States (584), 77, (120, 5), 128);
+ Add_Action (Table.States (584), 78, Reduce, (257, 4), 0, null,
null);
+ Add_Action (Table.States (584), 81, (242, 8), 31);
+ Add_Action (Table.States (584), 97, (333, 1), 129);
+ Add_Action (Table.States (584), 98, (333, 0), 130);
+ Add_Action (Table.States (584), 99, Reduce, (257, 4), 0, null,
null);
+ Add_Action (Table.States (584), 106, (261, 0), 131);
+ Add_Action (Table.States (584), 107, (222, 1), 499);
+ Add_Action (Table.States (584), 108, (242, 7), 34);
+ Add_Action (Table.States (584), 109, (242, 6), 35);
+ Table.States (584).Goto_List.Set_Capacity (17);
+ Add_Goto (Table.States (584), 120, 132);
+ Add_Goto (Table.States (584), 131, 42);
+ Add_Goto (Table.States (584), 170, 762);
+ Add_Goto (Table.States (584), 200, 135);
+ Add_Goto (Table.States (584), 222, 500);
+ Add_Goto (Table.States (584), 242, 484);
+ Add_Goto (Table.States (584), 257, 501);
+ Add_Goto (Table.States (584), 258, 502);
+ Add_Goto (Table.States (584), 261, 137);
+ Add_Goto (Table.States (584), 275, 93);
+ Add_Goto (Table.States (584), 280, 485);
+ Add_Goto (Table.States (584), 296, 98);
+ Add_Goto (Table.States (584), 304, 486);
+ Add_Goto (Table.States (584), 317, 487);
+ Add_Goto (Table.States (584), 323, 146);
+ Add_Goto (Table.States (584), 324, 147);
+ Add_Goto (Table.States (584), 333, 148);
+ Table.States (584).Kernel := To_Vector ((((182, 0), 76, 3,
(2147483647, 0), 0), ((202, 0), 76, 1,
+ (2147483647, 0), 0)));
+ Table.States (584).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (258, 1), 0)));
Table.States (585).Action_List.Set_Capacity (2);
- Add_Action (Table.States (585), (74, 97), (257, 1), 1, null, null);
- Table.States (585).Kernel := To_Vector ((0 => (257, 118, 0,
False)));
- Table.States (585).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 257, 1)));
- Table.States (586).Action_List.Set_Capacity (2);
- Add_Action (Table.States (586), 74, 338);
- Add_Action (Table.States (586), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (586).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (586), 123, 761);
- Table.States (586).Kernel := To_Vector ((0 => (194, 257, 1,
False)));
- Table.States (586).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (587).Action_List.Set_Capacity (2);
- Add_Action (Table.States (587), 74, 338);
- Add_Action (Table.States (587), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (587).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (587), 123, 762);
- Table.States (587).Kernel := To_Vector ((0 => (244, 41, 1,
False)));
- Table.States (587).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (588).Action_List.Set_Capacity (2);
- Add_Action (Table.States (588), 74, 338);
- Add_Action (Table.States (588), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (588).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (588), 123, 763);
- Table.States (588).Kernel := To_Vector ((0 => (113, 6, 1, False)));
- Table.States (588).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
+ Add_Action (Table.States (585), 74, (125, 0), 340);
+ Add_Action (Table.States (585), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (585).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (585), 125, 763);
+ Table.States (585).Kernel := To_Vector ((0 => ((182, 1), 256, 1,
(2147483647, 0), 0)));
+ Table.States (585).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (586).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (586), 39, (216, 2), 764);
+ Table.States (586).Kernel := To_Vector ((0 => ((216, 2), 35, 3,
(2147483647, 0), 0)));
+ Table.States (586).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (216, 2), 39, 764)));
+ Table.States (587).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (587), 39, (216, 1), 765);
+ Table.States (587).Kernel := To_Vector ((0 => ((216, 1), 35, 3,
(2147483647, 0), 0)));
+ Table.States (587).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (216, 1), 39, 765)));
+ Table.States (588).Action_List.Set_Capacity (23);
+ Add_Action (Table.States (588), 3, (200, 2), 122);
+ Add_Action (Table.States (588), 15, (139, 0), 260);
+ Add_Action (Table.States (588), 28, (127, 6), 261);
+ Add_Action (Table.States (588), 32, (224, 0), 262);
+ Add_Action (Table.States (588), 39, (261, 4), 123);
+ Add_Action (Table.States (588), 40, (168, 1), 263);
+ Add_Action (Table.States (588), 41, (120, 1), 264);
+ Add_Action (Table.States (588), 44, (168, 3), 265);
+ Add_Action (Table.States (588), 52, (278, 0), 126);
+ Add_Action (Table.States (588), 74, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (588), 76, (120, 0), 127);
+ Add_Action (Table.States (588), 77, (120, 5), 128);
+ Add_Action (Table.States (588), 78, Reduce, (127, 5), 0, null,
null);
+ Add_Conflict (Table.States (588), 78, (195, 1), 0, null, null);
+ Add_Action (Table.States (588), 81, (242, 8), 31);
+ Add_Action (Table.States (588), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (588), 86, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (588), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (588), 97, (333, 1), 129);
+ Add_Action (Table.States (588), 98, (333, 0), 130);
+ Add_Action (Table.States (588), 106, (261, 0), 131);
+ Add_Action (Table.States (588), 107, (242, 5), 120);
+ Add_Action (Table.States (588), 108, (242, 7), 34);
+ Add_Action (Table.States (588), 109, (127, 0), 266);
+ Table.States (588).Goto_List.Set_Capacity (29);
+ Add_Goto (Table.States (588), 120, 132);
+ Add_Goto (Table.States (588), 127, 267);
+ Add_Goto (Table.States (588), 128, 268);
+ Add_Goto (Table.States (588), 131, 42);
+ Add_Goto (Table.States (588), 139, 269);
+ Add_Goto (Table.States (588), 156, 270);
+ Add_Goto (Table.States (588), 168, 271);
+ Add_Goto (Table.States (588), 169, 272);
+ Add_Goto (Table.States (588), 194, 273);
+ Add_Goto (Table.States (588), 195, 766);
+ Add_Goto (Table.States (588), 200, 135);
+ Add_Goto (Table.States (588), 224, 275);
+ Add_Goto (Table.States (588), 242, 276);
+ Add_Goto (Table.States (588), 261, 137);
+ Add_Goto (Table.States (588), 275, 93);
+ Add_Goto (Table.States (588), 276, 277);
+ Add_Goto (Table.States (588), 278, 138);
+ Add_Goto (Table.States (588), 280, 278);
+ Add_Goto (Table.States (588), 285, 139);
+ Add_Goto (Table.States (588), 286, 140);
+ Add_Goto (Table.States (588), 287, 141);
+ Add_Goto (Table.States (588), 288, 142);
+ Add_Goto (Table.States (588), 289, 143);
+ Add_Goto (Table.States (588), 290, 144);
+ Add_Goto (Table.States (588), 296, 98);
+ Add_Goto (Table.States (588), 304, 279);
+ Add_Goto (Table.States (588), 323, 146);
+ Add_Goto (Table.States (588), 324, 147);
+ Add_Goto (Table.States (588), 333, 148);
+ Table.States (588).Kernel := To_Vector ((((120, 0), 76, 1,
(2147483647, 0), 0), ((120, 1), 76, 3,
+ (2147483647, 0), 0), ((120, 2), 76, 4, (2147483647, 0), 0),
((120, 3), 76, 2, (2147483647, 0), 0),
+ ((120, 4), 76, 4, (2147483647, 0), 0), ((120, 6), 76, 3,
(2147483647, 0), 0), ((259, 0), 76, 1,
+ (2147483647, 0), 0)));
+ Table.States (588).Minimal_Complete_Actions := To_Vector
(((Reduce, (128, 1), 0), (Reduce, (195, 1),
+ 0)));
Table.States (589).Action_List.Set_Capacity (2);
- Add_Action (Table.States (589), 74, 338);
- Add_Action (Table.States (589), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (589).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (589), 123, 764);
- Table.States (589).Kernel := To_Vector ((0 => (309, 60, 1,
False)));
- Table.States (589).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (590).Action_List.Set_Capacity (6);
- Add_Action (Table.States (590), 74, 338);
- Add_Action (Table.States (590), 76, 236);
- Add_Action (Table.States (590), 85, 238);
- Add_Action (Table.States (590), 97, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (590), 102, 240);
- Add_Action (Table.States (590), 103, 241);
- Table.States (590).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (590), 116, 242);
- Add_Goto (Table.States (590), 123, 765);
- Add_Goto (Table.States (590), 323, 243);
- Table.States (590).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (273, 240, 3, True), (294, 240, 2, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (312, 240, 1, False)));
- Table.States (590).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- end Subr_11;
- procedure Subr_12
- is begin
- Table.States (591).Action_List.Set_Capacity (16);
- Add_Action (Table.States (591), 13, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (591), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (591), 28, 184);
- Add_Action (Table.States (591), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (591), 30, 8);
- Add_Action (Table.States (591), 40, 12);
- Add_Action (Table.States (591), 46, 14);
- Add_Action (Table.States (591), 47, 15);
- Add_Action (Table.States (591), 48, 16);
- Add_Action (Table.States (591), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (591), 51, 19);
- Add_Action (Table.States (591), 63, 25);
- Add_Action (Table.States (591), 66, 26);
- Add_Action (Table.States (591), 69, 27);
- Add_Action (Table.States (591), 71, 28);
- Add_Action (Table.States (591), 105, 186);
- Table.States (591).Goto_List.Set_Capacity (53);
- Add_Goto (Table.States (591), 113, 36);
- Add_Goto (Table.States (591), 122, 38);
- Add_Goto (Table.States (591), 128, 41);
- Add_Goto (Table.States (591), 135, 46);
- Add_Goto (Table.States (591), 136, 47);
- Add_Goto (Table.States (591), 158, 392);
- Add_Goto (Table.States (591), 159, 393);
- Add_Goto (Table.States (591), 160, 766);
- Add_Goto (Table.States (591), 180, 55);
- Add_Goto (Table.States (591), 183, 56);
- Add_Goto (Table.States (591), 187, 57);
- Add_Goto (Table.States (591), 194, 59);
- Add_Goto (Table.States (591), 207, 61);
- Add_Goto (Table.States (591), 208, 62);
- Add_Goto (Table.States (591), 210, 63);
- Add_Goto (Table.States (591), 211, 64);
- Add_Goto (Table.States (591), 214, 65);
- Add_Goto (Table.States (591), 215, 66);
- Add_Goto (Table.States (591), 216, 67);
- Add_Goto (Table.States (591), 217, 68);
- Add_Goto (Table.States (591), 220, 70);
- Add_Goto (Table.States (591), 224, 72);
- Add_Goto (Table.States (591), 244, 75);
- Add_Goto (Table.States (591), 245, 76);
- Add_Goto (Table.States (591), 246, 77);
- Add_Goto (Table.States (591), 247, 78);
- Add_Goto (Table.States (591), 248, 79);
- Add_Goto (Table.States (591), 249, 80);
- Add_Goto (Table.States (591), 250, 81);
- Add_Goto (Table.States (591), 251, 82);
- Add_Goto (Table.States (591), 252, 83);
- Add_Goto (Table.States (591), 258, 395);
- Add_Goto (Table.States (591), 260, 85);
- Add_Goto (Table.States (591), 261, 86);
- Add_Goto (Table.States (591), 263, 88);
- Add_Goto (Table.States (591), 264, 89);
- Add_Goto (Table.States (591), 265, 90);
- Add_Goto (Table.States (591), 266, 91);
- Add_Goto (Table.States (591), 272, 92);
- Add_Goto (Table.States (591), 282, 95);
- Add_Goto (Table.States (591), 290, 96);
- Add_Goto (Table.States (591), 305, 103);
- Add_Goto (Table.States (591), 306, 104);
- Add_Goto (Table.States (591), 308, 106);
- Add_Goto (Table.States (591), 309, 107);
- Add_Goto (Table.States (591), 310, 108);
- Add_Goto (Table.States (591), 312, 109);
- Add_Goto (Table.States (591), 314, 110);
- Add_Goto (Table.States (591), 317, 112);
- Add_Goto (Table.States (591), 318, 113);
- Add_Goto (Table.States (591), 320, 114);
- Add_Goto (Table.States (591), 326, 116);
- Add_Goto (Table.States (591), 332, 117);
- Table.States (591).Kernel := To_Vector ((0 => (308, 35, 3,
False)));
- Table.States (591).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 160, 0)));
- Table.States (592).Action_List.Set_Capacity (41);
- Add_Action (Table.States (592), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (310, 0), 4,
+ Add_Action (Table.States (589), (74, 99), (259, 1), 1, null,
null);
+ Table.States (589).Kernel := To_Vector ((0 => ((259, 1), 120, 0,
(259, 1), 1)));
+ Table.States (589).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (259, 1), 1)));
+ Table.States (590).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (590), 74, (125, 0), 340);
+ Add_Action (Table.States (590), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (590).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (590), 125, 767);
+ Table.States (590).Kernel := To_Vector ((0 => ((196, 0), 259, 1,
(2147483647, 0), 0)));
+ Table.States (590).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (591).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (591), 74, (125, 0), 340);
+ Add_Action (Table.States (591), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (591).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (591), 125, 768);
+ Table.States (591).Kernel := To_Vector ((0 => ((246, 0), 41, 1,
(2147483647, 0), 0)));
+ Table.States (591).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (592).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (592), 74, (125, 0), 340);
+ Add_Action (Table.States (592), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (592).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (592), 125, 769);
+ Table.States (592).Kernel := To_Vector ((0 => ((115, 0), 6, 1,
(2147483647, 0), 0)));
+ Table.States (592).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (593).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (593), 74, (125, 0), 340);
+ Add_Action (Table.States (593), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (593).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (593), 125, 770);
+ Table.States (593).Kernel := To_Vector ((0 => ((311, 0), 60, 1,
(2147483647, 0), 0)));
+ Table.States (593).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (594).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (594), 74, (125, 0), 340);
+ Add_Action (Table.States (594), 76, (118, 0), 237);
+ Add_Action (Table.States (594), 87, (296, 0), 239);
+ Add_Action (Table.States (594), 99, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (594), 104, (325, 0), 241);
+ Add_Action (Table.States (594), 105, (325, 1), 242);
+ Table.States (594).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (594), 118, 243);
+ Add_Goto (Table.States (594), 125, 771);
+ Add_Goto (Table.States (594), 325, 244);
+ Table.States (594).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((275, 0), 242, 3, (2147483647, 0), 0),
+ ((296, 0), 242, 2, (2147483647, 0), 0), ((296, 1), 242, 2,
(2147483647, 0), 0), ((296, 2), 242, 2,
+ (2147483647, 0), 0), ((296, 3), 242, 2, (2147483647, 0), 0),
((314, 0), 242, 1, (2147483647, 0),
+ 0)));
+ Table.States (594).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (595).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (595), 13, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (595), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (595), 28, (124, 0), 185);
+ Add_Action (Table.States (595), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (595), 30, (213, 0), 8);
+ Add_Action (Table.States (595), 40, (249, 0), 12);
+ Add_Action (Table.States (595), 46, (249, 1), 14);
+ Add_Action (Table.States (595), 47, (216, 0), 15);
+ Add_Action (Table.States (595), 48, (260, 0), 16);
+ Add_Action (Table.States (595), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (595), 51, (267, 0), 19);
+ Add_Action (Table.States (595), 63, (316, 0), 25);
+ Add_Action (Table.States (595), 66, (308, 0), 26);
+ Add_Action (Table.States (595), 69, (209, 0), 27);
+ Add_Action (Table.States (595), 71, (334, 0), 28);
+ Add_Action (Table.States (595), 107, (222, 1), 187);
+ Table.States (595).Goto_List.Set_Capacity (53);
+ Add_Goto (Table.States (595), 115, 36);
+ Add_Goto (Table.States (595), 124, 38);
+ Add_Goto (Table.States (595), 130, 41);
+ Add_Goto (Table.States (595), 137, 46);
+ Add_Goto (Table.States (595), 138, 47);
+ Add_Goto (Table.States (595), 160, 394);
+ Add_Goto (Table.States (595), 161, 395);
+ Add_Goto (Table.States (595), 162, 772);
+ Add_Goto (Table.States (595), 182, 55);
+ Add_Goto (Table.States (595), 185, 56);
+ Add_Goto (Table.States (595), 189, 57);
+ Add_Goto (Table.States (595), 196, 59);
+ Add_Goto (Table.States (595), 209, 61);
+ Add_Goto (Table.States (595), 210, 62);
+ Add_Goto (Table.States (595), 212, 63);
+ Add_Goto (Table.States (595), 213, 64);
+ Add_Goto (Table.States (595), 216, 65);
+ Add_Goto (Table.States (595), 217, 66);
+ Add_Goto (Table.States (595), 218, 67);
+ Add_Goto (Table.States (595), 219, 68);
+ Add_Goto (Table.States (595), 222, 70);
+ Add_Goto (Table.States (595), 226, 72);
+ Add_Goto (Table.States (595), 246, 75);
+ Add_Goto (Table.States (595), 247, 76);
+ Add_Goto (Table.States (595), 248, 77);
+ Add_Goto (Table.States (595), 249, 78);
+ Add_Goto (Table.States (595), 250, 79);
+ Add_Goto (Table.States (595), 251, 80);
+ Add_Goto (Table.States (595), 252, 81);
+ Add_Goto (Table.States (595), 253, 82);
+ Add_Goto (Table.States (595), 254, 83);
+ Add_Goto (Table.States (595), 260, 397);
+ Add_Goto (Table.States (595), 262, 85);
+ Add_Goto (Table.States (595), 263, 86);
+ Add_Goto (Table.States (595), 265, 88);
+ Add_Goto (Table.States (595), 266, 89);
+ Add_Goto (Table.States (595), 267, 90);
+ Add_Goto (Table.States (595), 268, 91);
+ Add_Goto (Table.States (595), 274, 92);
+ Add_Goto (Table.States (595), 284, 95);
+ Add_Goto (Table.States (595), 292, 96);
+ Add_Goto (Table.States (595), 307, 103);
+ Add_Goto (Table.States (595), 308, 104);
+ Add_Goto (Table.States (595), 310, 106);
+ Add_Goto (Table.States (595), 311, 107);
+ Add_Goto (Table.States (595), 312, 108);
+ Add_Goto (Table.States (595), 314, 109);
+ Add_Goto (Table.States (595), 316, 110);
+ Add_Goto (Table.States (595), 319, 112);
+ Add_Goto (Table.States (595), 320, 113);
+ Add_Goto (Table.States (595), 322, 114);
+ Add_Goto (Table.States (595), 328, 116);
+ Add_Goto (Table.States (595), 334, 117);
+ Table.States (595).Kernel := To_Vector ((0 => ((310, 0), 35, 3,
(2147483647, 0), 0)));
+ Table.States (595).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (162, 1), 0)));
+ Table.States (596).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (596), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (312, 0), 4,
subprogram_declaration_0'Access, null);
- Table.States (592).Kernel := To_Vector ((0 => (310, 97, 0,
False)));
- Table.States (592).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 310, 4)));
- Table.States (593).Action_List.Set_Capacity (25);
- Add_Action (Table.States (593), 4, 1);
- Add_Action (Table.States (593), 5, 2);
- Add_Action (Table.States (593), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (593), 15, 3);
- Add_Action (Table.States (593), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (593), 18, 4);
- Add_Action (Table.States (593), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (593), 26, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (593), 27, 5);
- Add_Action (Table.States (593), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (593), 31, 9);
- Add_Action (Table.States (593), 32, 10);
- Add_Action (Table.States (593), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (593), 41, 13);
- Add_Action (Table.States (593), 48, 16);
- Add_Action (Table.States (593), 52, 20);
- Add_Action (Table.States (593), 57, 21);
- Add_Action (Table.States (593), 58, 22);
- Add_Action (Table.States (593), 61, 24);
- Add_Action (Table.States (593), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (593), 79, 31);
- Add_Action (Table.States (593), 94, 32);
- Add_Action (Table.States (593), 105, 361);
- Add_Action (Table.States (593), 106, 34);
- Add_Action (Table.States (593), 107, 35);
- Table.States (593).Goto_List.Set_Capacity (32);
- Add_Goto (Table.States (593), 114, 37);
- Add_Goto (Table.States (593), 124, 39);
- Add_Goto (Table.States (593), 127, 40);
- Add_Goto (Table.States (593), 129, 42);
- Add_Goto (Table.States (593), 132, 43);
- Add_Goto (Table.States (593), 133, 44);
- Add_Goto (Table.States (593), 134, 45);
- Add_Goto (Table.States (593), 140, 48);
- Add_Goto (Table.States (593), 152, 51);
- Add_Goto (Table.States (593), 153, 52);
- Add_Goto (Table.States (593), 162, 54);
- Add_Goto (Table.States (593), 191, 58);
- Add_Goto (Table.States (593), 197, 60);
- Add_Goto (Table.States (593), 218, 69);
- Add_Goto (Table.States (593), 219, 767);
- Add_Goto (Table.States (593), 223, 71);
- Add_Goto (Table.States (593), 233, 73);
- Add_Goto (Table.States (593), 240, 74);
- Add_Goto (Table.States (593), 258, 84);
- Add_Goto (Table.States (593), 262, 87);
- Add_Goto (Table.States (593), 273, 93);
- Add_Goto (Table.States (593), 277, 94);
- Add_Goto (Table.States (593), 291, 97);
- Add_Goto (Table.States (593), 294, 98);
- Add_Goto (Table.States (593), 295, 99);
- Add_Goto (Table.States (593), 299, 100);
- Add_Goto (Table.States (593), 300, 362);
- Add_Goto (Table.States (593), 301, 391);
- Add_Goto (Table.States (593), 303, 101);
- Add_Goto (Table.States (593), 304, 102);
- Add_Goto (Table.States (593), 307, 364);
- Add_Goto (Table.States (593), 324, 115);
- Table.States (593).Kernel := To_Vector ((0 => (114, 21, 2,
False)));
- Table.States (593).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 219, 0)));
- Table.States (594).Action_List.Set_Capacity (47);
- Add_Action (Table.States (594), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (114, 1), 5, accept_statement_1'Access, null);
- Table.States (594).Kernel := To_Vector ((0 => (114, 97, 0,
False)));
- Table.States (594).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 114, 5)));
- Table.States (595).Action_List.Set_Capacity (17);
- Add_Action (Table.States (595), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (276,
- 0), 4, raise_expression_0'Access, null);
- Table.States (595).Kernel := To_Vector ((0 => (276, 193, 0,
True)));
- Table.States (595).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 276, 4)));
- Table.States (595).Minimal_Complete_Actions_Recursive := True;
- Table.States (596).Action_List.Set_Capacity (1);
- Add_Action (Table.States (596), 72, 768);
- Table.States (596).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (596), 138, 769);
- Add_Goto (Table.States (596), 139, 770);
- Table.States (596).Kernel := To_Vector ((0 => (137, 35, 2,
False)));
- Table.States (596).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 72, 768)));
- Table.States (597).Action_List.Set_Capacity (16);
- Add_Action (Table.States (597), 3, 122);
- Add_Action (Table.States (597), 39, 123);
- Add_Action (Table.States (597), 40, 262);
- Add_Action (Table.States (597), 41, 125);
- Add_Action (Table.States (597), 44, 264);
- Add_Action (Table.States (597), 52, 126);
- Add_Action (Table.States (597), 76, 127);
- Add_Action (Table.States (597), 79, 31);
- Add_Action (Table.States (597), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (597), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (597), 95, 128);
- Add_Action (Table.States (597), 96, 129);
- Add_Action (Table.States (597), 104, 130);
- Add_Action (Table.States (597), 105, 120);
- Add_Action (Table.States (597), 106, 34);
- Add_Action (Table.States (597), 107, 35);
- Table.States (597).Goto_List.Set_Capacity (22);
- Add_Goto (Table.States (597), 118, 131);
- Add_Goto (Table.States (597), 129, 42);
- Add_Goto (Table.States (597), 166, 270);
- Add_Goto (Table.States (597), 167, 771);
- Add_Goto (Table.States (597), 192, 606);
- Add_Goto (Table.States (597), 198, 134);
- Add_Goto (Table.States (597), 240, 275);
- Add_Goto (Table.States (597), 259, 136);
- Add_Goto (Table.States (597), 273, 93);
- Add_Goto (Table.States (597), 276, 137);
- Add_Goto (Table.States (597), 278, 277);
- Add_Goto (Table.States (597), 283, 138);
- Add_Goto (Table.States (597), 284, 139);
- Add_Goto (Table.States (597), 285, 140);
- Add_Goto (Table.States (597), 286, 141);
- Add_Goto (Table.States (597), 287, 142);
- Add_Goto (Table.States (597), 288, 143);
- Add_Goto (Table.States (597), 294, 98);
- Add_Goto (Table.States (597), 302, 278);
- Add_Goto (Table.States (597), 321, 145);
- Add_Goto (Table.States (597), 322, 146);
- Add_Goto (Table.States (597), 331, 147);
- Table.States (597).Kernel := To_Vector ((0 => (125, 33, 2,
False)));
- Table.States (597).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 167, 0)));
- Table.States (598).Action_List.Set_Capacity (1);
- Add_Action (Table.States (598), 88, 772);
- Table.States (598).Kernel := To_Vector ((0 => (274, 231, 1,
False)));
- Table.States (598).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 88, 772)));
- Table.States (599).Action_List.Set_Capacity (16);
- Add_Action (Table.States (599), 3, 122);
- Add_Action (Table.States (599), 22, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (599), 23, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (599), 39, 123);
- Add_Action (Table.States (599), 40, 124);
- Add_Action (Table.States (599), 41, 125);
- Add_Action (Table.States (599), 52, 126);
- Add_Action (Table.States (599), 76, 127);
- Add_Action (Table.States (599), 77, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (599), 79, 31);
- Add_Action (Table.States (599), 95, 128);
- Add_Action (Table.States (599), 96, 129);
- Add_Action (Table.States (599), 104, 130);
- Add_Action (Table.States (599), 105, 120);
- Add_Action (Table.States (599), 106, 34);
- Add_Action (Table.States (599), 107, 35);
- Table.States (599).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (599), 118, 131);
- Add_Goto (Table.States (599), 129, 42);
- Add_Goto (Table.States (599), 192, 132);
- Add_Goto (Table.States (599), 193, 773);
- Add_Goto (Table.States (599), 198, 134);
- Add_Goto (Table.States (599), 240, 135);
- Add_Goto (Table.States (599), 259, 136);
- Add_Goto (Table.States (599), 273, 93);
- Add_Goto (Table.States (599), 276, 137);
- Add_Goto (Table.States (599), 283, 138);
- Add_Goto (Table.States (599), 284, 139);
- Add_Goto (Table.States (599), 285, 140);
- Add_Goto (Table.States (599), 286, 141);
- Add_Goto (Table.States (599), 287, 142);
- Add_Goto (Table.States (599), 288, 143);
- Add_Goto (Table.States (599), 294, 98);
- Add_Goto (Table.States (599), 302, 144);
- Add_Goto (Table.States (599), 321, 145);
- Add_Goto (Table.States (599), 322, 146);
- Add_Goto (Table.States (599), 331, 147);
- Table.States (599).Kernel := To_Vector (((222, 68, 3, False),
(222, 68, 1, False), (222, 68, 2, False),
- (222, 68, 0, False)));
- Table.States (599).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (600).Action_List.Set_Capacity (6);
- Add_Action (Table.States (600), 76, 236);
- Add_Action (Table.States (600), 80, Reduce, (166, 1), 3, null,
null);
- Add_Action (Table.States (600), 85, 238);
- Add_Action (Table.States (600), 88, Reduce, (166, 1), 3, null,
null);
- Add_Action (Table.States (600), 102, 240);
- Add_Action (Table.States (600), 103, 241);
+ Table.States (596).Kernel := To_Vector ((0 => ((312, 0), 99, 0,
(312, 0), 4)));
+ Table.States (596).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (312, 0), 4)));
+ Table.States (597).Action_List.Set_Capacity (25);
+ Add_Action (Table.States (597), 4, (116, 0), 1);
+ Add_Action (Table.States (597), 5, (306, 8), 2);
+ Add_Action (Table.States (597), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (597), 15, (142, 0), 3);
+ Add_Action (Table.States (597), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (597), 18, (164, 0), 4);
+ Add_Action (Table.States (597), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (597), 26, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (597), 27, (193, 0), 5);
+ Add_Action (Table.States (597), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (597), 31, (306, 3), 9);
+ Add_Action (Table.States (597), 32, (225, 0), 10);
+ Add_Action (Table.States (597), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (597), 41, (306, 0), 13);
+ Add_Action (Table.States (597), 48, (260, 0), 16);
+ Add_Action (Table.States (597), 52, (279, 0), 20);
+ Add_Action (Table.States (597), 57, (293, 0), 21);
+ Add_Action (Table.States (597), 58, (199, 0), 22);
+ Add_Action (Table.States (597), 61, (129, 0), 24);
+ Add_Action (Table.States (597), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (597), 81, (242, 8), 31);
+ Add_Action (Table.States (597), 96, (220, 0), 32);
+ Add_Action (Table.States (597), 107, (134, 0), 363);
+ Add_Action (Table.States (597), 108, (242, 7), 34);
+ Add_Action (Table.States (597), 109, (242, 6), 35);
+ Table.States (597).Goto_List.Set_Capacity (32);
+ Add_Goto (Table.States (597), 116, 37);
+ Add_Goto (Table.States (597), 126, 39);
+ Add_Goto (Table.States (597), 129, 40);
+ Add_Goto (Table.States (597), 131, 42);
+ Add_Goto (Table.States (597), 134, 43);
+ Add_Goto (Table.States (597), 135, 44);
+ Add_Goto (Table.States (597), 136, 45);
+ Add_Goto (Table.States (597), 142, 48);
+ Add_Goto (Table.States (597), 154, 51);
+ Add_Goto (Table.States (597), 155, 52);
+ Add_Goto (Table.States (597), 164, 54);
+ Add_Goto (Table.States (597), 193, 58);
+ Add_Goto (Table.States (597), 199, 60);
+ Add_Goto (Table.States (597), 220, 69);
+ Add_Goto (Table.States (597), 221, 773);
+ Add_Goto (Table.States (597), 225, 71);
+ Add_Goto (Table.States (597), 235, 73);
+ Add_Goto (Table.States (597), 242, 74);
+ Add_Goto (Table.States (597), 260, 84);
+ Add_Goto (Table.States (597), 264, 87);
+ Add_Goto (Table.States (597), 275, 93);
+ Add_Goto (Table.States (597), 279, 94);
+ Add_Goto (Table.States (597), 293, 97);
+ Add_Goto (Table.States (597), 296, 98);
+ Add_Goto (Table.States (597), 297, 99);
+ Add_Goto (Table.States (597), 301, 100);
+ Add_Goto (Table.States (597), 302, 364);
+ Add_Goto (Table.States (597), 303, 393);
+ Add_Goto (Table.States (597), 305, 101);
+ Add_Goto (Table.States (597), 306, 102);
+ Add_Goto (Table.States (597), 309, 366);
+ Add_Goto (Table.States (597), 326, 115);
+ Table.States (597).Kernel := To_Vector ((0 => ((116, 0), 21, 2,
(2147483647, 0), 0)));
+ Table.States (597).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (221, 1), 0)));
+ Table.States (598).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (598), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (116, 1), 5, accept_statement_1'Access, null);
+ Table.States (598).Kernel := To_Vector ((0 => ((116, 1), 99, 0,
(116, 1), 5)));
+ Table.States (598).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (116, 1), 5)));
+ Table.States (599).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (599), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (278, 0), 4, raise_expression_0'Access, null);
+ Table.States (599).Kernel := To_Vector ((0 => ((278, 0), 195, 0,
(278, 0), 4)));
+ Table.States (599).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (278, 0), 4)));
+ Table.States (600).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (600), 72, (140, 0), 774);
Table.States (600).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (600), 116, 242);
- Add_Goto (Table.States (600), 323, 243);
- Table.States (600).Kernel := To_Vector (((129, 240, 2, True),
(166, 240, 0, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (600).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 166, 3)));
- Table.States (601).Action_List.Set_Capacity (64);
- Add_Action (Table.States (601), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (118, 2), 4, null, null);
- Table.States (601).Kernel := To_Vector ((0 => (118, 77, 0,
False)));
- Table.States (601).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 118, 4)));
- Table.States (602).Action_List.Set_Capacity (4);
- Add_Action (Table.States (602), (35, 77, 84, 97), (125, 1), 3,
null, null);
- Table.States (602).Kernel := To_Vector ((0 => (125, 81, 0,
False)));
- Table.States (602).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 125, 3)));
- Table.States (603).Action_List.Set_Capacity (4);
- Add_Action (Table.States (603), (35, 77, 84, 97), (125, 0), 3,
association_opt_0'Access, null);
- Table.States (603).Kernel := To_Vector ((0 => (125, 193, 0,
False)));
- Table.States (603).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 125, 3)));
- Table.States (604).Action_List.Set_Capacity (4);
- Add_Action (Table.States (604), (35, 77, 84, 97), (126, 0), 3,
null, null);
- Table.States (604).Kernel := To_Vector ((0 => (126, 125, 0,
True)));
- Table.States (604).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 126, 3)));
- Table.States (604).Minimal_Complete_Actions_Recursive := True;
- Table.States (605).Action_List.Set_Capacity (2);
- Add_Action (Table.States (605), (80, 88), (167, 0), 3, null, null);
- Table.States (605).Kernel := To_Vector ((0 => (167, 166, 0,
True)));
- Table.States (605).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 167, 3)));
- Table.States (605).Minimal_Complete_Actions_Recursive := True;
- Table.States (606).Action_List.Set_Capacity (2);
- Add_Action (Table.States (606), (80, 88), (166, 0), 1, null, null);
- Table.States (606).Kernel := To_Vector ((0 => (166, 192, 0,
False)));
- Table.States (606).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 166, 1)));
- Table.States (607).Action_List.Set_Capacity (4);
- Add_Action (Table.States (607), (35, 77, 84, 97), (125, 3), 3,
association_opt_3'Access, null);
- Table.States (607).Kernel := To_Vector ((0 => (125, 81, 0,
False)));
- Table.States (607).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 125, 3)));
- Table.States (608).Action_List.Set_Capacity (4);
- Add_Action (Table.States (608), (35, 77, 84, 97), (125, 2), 3,
association_opt_2'Access, null);
- Table.States (608).Kernel := To_Vector ((0 => (125, 193, 0,
False)));
- Table.States (608).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 125, 3)));
- Table.States (609).Action_List.Set_Capacity (19);
- Add_Action (Table.States (609), 3, 122);
- Add_Action (Table.States (609), 28, 517);
- Add_Action (Table.States (609), 39, 123);
- Add_Action (Table.States (609), 40, 262);
- Add_Action (Table.States (609), 41, 125);
- Add_Action (Table.States (609), 44, 264);
- Add_Action (Table.States (609), 52, 126);
- Add_Action (Table.States (609), 76, 127);
- Add_Action (Table.States (609), 77, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (609), 79, 31);
- Add_Action (Table.States (609), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (609), 84, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (609), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (609), 95, 128);
- Add_Action (Table.States (609), 96, 129);
- Add_Action (Table.States (609), 104, 130);
- Add_Action (Table.States (609), 105, 120);
- Add_Action (Table.States (609), 106, 34);
- Add_Action (Table.States (609), 107, 265);
- Table.States (609).Goto_List.Set_Capacity (24);
- Add_Goto (Table.States (609), 118, 131);
- Add_Goto (Table.States (609), 125, 266);
- Add_Goto (Table.States (609), 126, 774);
- Add_Goto (Table.States (609), 129, 42);
- Add_Goto (Table.States (609), 166, 270);
- Add_Goto (Table.States (609), 167, 271);
- Add_Goto (Table.States (609), 192, 409);
- Add_Goto (Table.States (609), 198, 134);
- Add_Goto (Table.States (609), 240, 275);
- Add_Goto (Table.States (609), 259, 136);
- Add_Goto (Table.States (609), 273, 93);
- Add_Goto (Table.States (609), 276, 137);
- Add_Goto (Table.States (609), 278, 277);
- Add_Goto (Table.States (609), 283, 138);
- Add_Goto (Table.States (609), 284, 139);
- Add_Goto (Table.States (609), 285, 140);
- Add_Goto (Table.States (609), 286, 141);
- Add_Goto (Table.States (609), 287, 142);
- Add_Goto (Table.States (609), 288, 143);
- Add_Goto (Table.States (609), 294, 98);
- Add_Goto (Table.States (609), 302, 278);
- Add_Goto (Table.States (609), 321, 145);
- Add_Goto (Table.States (609), 322, 146);
- Add_Goto (Table.States (609), 331, 147);
- Table.States (609).Kernel := To_Vector ((0 => (118, 19, 1,
False)));
- Table.States (609).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 126, 0)));
- Table.States (610).Action_List.Set_Capacity (25);
- Add_Action (Table.States (610), 10, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 33, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 38, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 40, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 43, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 54, 775);
- Add_Action (Table.States (610), 55, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 75, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 77, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 78, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 80, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 84, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 86, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 87, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 88, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 89, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 90, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 92, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 93, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 95, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 96, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 98, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 99, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 100, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (610), 101, Reduce, (259, 1), 1, null,
null);
- Table.States (610).Kernel := To_Vector (((118, 41, 2, False),
(259, 41, 0, False)));
- Table.States (610).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 259, 1)));
+ Add_Goto (Table.States (600), 140, 775);
+ Add_Goto (Table.States (600), 141, 776);
+ Table.States (600).Kernel := To_Vector ((0 => ((139, 0), 35, 2,
(2147483647, 0), 0)));
+ Table.States (600).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (140, 0), 72, 774)));
+ Table.States (601).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (601), 3, (200, 2), 122);
+ Add_Action (Table.States (601), 39, (261, 4), 123);
+ Add_Action (Table.States (601), 40, (168, 1), 777);
+ Add_Action (Table.States (601), 41, (261, 1), 125);
+ Add_Action (Table.States (601), 44, (168, 3), 265);
+ Add_Action (Table.States (601), 52, (278, 0), 126);
+ Add_Action (Table.States (601), 59, (233, 2), 482);
+ Add_Action (Table.States (601), 76, (120, 0), 127);
+ Add_Action (Table.States (601), 77, (120, 5), 128);
+ Add_Action (Table.States (601), 81, (242, 8), 31);
+ Add_Action (Table.States (601), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (601), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (601), 97, (333, 1), 129);
+ Add_Action (Table.States (601), 98, (333, 0), 130);
+ Add_Action (Table.States (601), 106, (261, 0), 131);
+ Add_Action (Table.States (601), 107, (242, 5), 120);
+ Add_Action (Table.States (601), 108, (242, 7), 34);
+ Add_Action (Table.States (601), 109, (242, 6), 35);
+ Table.States (601).Goto_List.Set_Capacity (24);
+ Add_Goto (Table.States (601), 120, 132);
+ Add_Goto (Table.States (601), 131, 42);
+ Add_Goto (Table.States (601), 168, 271);
+ Add_Goto (Table.States (601), 169, 778);
+ Add_Goto (Table.States (601), 170, 483);
+ Add_Goto (Table.States (601), 194, 611);
+ Add_Goto (Table.States (601), 200, 135);
+ Add_Goto (Table.States (601), 242, 484);
+ Add_Goto (Table.States (601), 261, 137);
+ Add_Goto (Table.States (601), 275, 93);
+ Add_Goto (Table.States (601), 278, 138);
+ Add_Goto (Table.States (601), 280, 779);
+ Add_Goto (Table.States (601), 285, 139);
+ Add_Goto (Table.States (601), 286, 140);
+ Add_Goto (Table.States (601), 287, 141);
+ Add_Goto (Table.States (601), 288, 142);
+ Add_Goto (Table.States (601), 289, 143);
+ Add_Goto (Table.States (601), 290, 144);
+ Add_Goto (Table.States (601), 296, 98);
+ Add_Goto (Table.States (601), 304, 279);
+ Add_Goto (Table.States (601), 317, 487);
+ Add_Goto (Table.States (601), 323, 146);
+ Add_Goto (Table.States (601), 324, 147);
+ Add_Goto (Table.States (601), 333, 148);
+ Table.States (601).Kernel := To_Vector ((((127, 6), 33, 2,
(2147483647, 0), 0), ((233, 2), 33, 2,
+ (2147483647, 0), 0), ((233, 5), 33, 1, (2147483647, 0), 0)));
+ Table.States (601).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (602).Action_List.Set_Capacity (14);
+ Add_Action (Table.States (602), 3, (200, 2), 122);
+ Add_Action (Table.States (602), 39, (261, 4), 123);
+ Add_Action (Table.States (602), 40, (200, 3), 124);
+ Add_Action (Table.States (602), 41, (261, 1), 125);
+ Add_Action (Table.States (602), 52, (278, 0), 126);
+ Add_Action (Table.States (602), 76, (120, 0), 127);
+ Add_Action (Table.States (602), 77, (120, 5), 128);
+ Add_Action (Table.States (602), 81, (242, 8), 31);
+ Add_Action (Table.States (602), 97, (333, 1), 129);
+ Add_Action (Table.States (602), 98, (333, 0), 130);
+ Add_Action (Table.States (602), 106, (261, 0), 131);
+ Add_Action (Table.States (602), 107, (242, 5), 120);
+ Add_Action (Table.States (602), 108, (242, 7), 34);
+ Add_Action (Table.States (602), 109, (242, 6), 35);
+ Table.States (602).Goto_List.Set_Capacity (19);
+ Add_Goto (Table.States (602), 120, 132);
+ Add_Goto (Table.States (602), 131, 42);
+ Add_Goto (Table.States (602), 194, 780);
+ Add_Goto (Table.States (602), 200, 135);
+ Add_Goto (Table.States (602), 242, 136);
+ Add_Goto (Table.States (602), 261, 137);
+ Add_Goto (Table.States (602), 275, 93);
+ Add_Goto (Table.States (602), 278, 138);
+ Add_Goto (Table.States (602), 285, 139);
+ Add_Goto (Table.States (602), 286, 140);
+ Add_Goto (Table.States (602), 287, 141);
+ Add_Goto (Table.States (602), 288, 142);
+ Add_Goto (Table.States (602), 289, 143);
+ Add_Goto (Table.States (602), 290, 144);
+ Add_Goto (Table.States (602), 296, 98);
+ Add_Goto (Table.States (602), 304, 145);
+ Add_Goto (Table.States (602), 323, 146);
+ Add_Goto (Table.States (602), 324, 147);
+ Add_Goto (Table.States (602), 333, 148);
+ Table.States (602).Kernel := To_Vector ((0 => ((127, 7), 90, 1,
(2147483647, 0), 0)));
+ Table.States (602).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (603).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (603), 90, (276, 0), 781);
+ Table.States (603).Kernel := To_Vector ((0 => ((276, 0), 233, 1,
(2147483647, 0), 0)));
+ Table.States (603).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (276, 0), 90, 781)));
+ Table.States (604).Action_List.Set_Capacity (17);
+ Add_Action (Table.States (604), 3, (200, 2), 122);
+ Add_Action (Table.States (604), 22, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (604), 23, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (604), 39, (261, 4), 123);
+ Add_Action (Table.States (604), 40, (200, 3), 124);
+ Add_Action (Table.States (604), 41, (261, 1), 125);
+ Add_Action (Table.States (604), 52, (278, 0), 126);
+ Add_Action (Table.States (604), 76, (120, 0), 127);
+ Add_Action (Table.States (604), 77, (120, 5), 128);
+ Add_Action (Table.States (604), 78, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (604), 81, (242, 8), 31);
+ Add_Action (Table.States (604), 97, (333, 1), 129);
+ Add_Action (Table.States (604), 98, (333, 0), 130);
+ Add_Action (Table.States (604), 106, (261, 0), 131);
+ Add_Action (Table.States (604), 107, (242, 5), 120);
+ Add_Action (Table.States (604), 108, (242, 7), 34);
+ Add_Action (Table.States (604), 109, (242, 6), 35);
+ Table.States (604).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (604), 120, 132);
+ Add_Goto (Table.States (604), 131, 42);
+ Add_Goto (Table.States (604), 194, 133);
+ Add_Goto (Table.States (604), 195, 782);
+ Add_Goto (Table.States (604), 200, 135);
+ Add_Goto (Table.States (604), 242, 136);
+ Add_Goto (Table.States (604), 261, 137);
+ Add_Goto (Table.States (604), 275, 93);
+ Add_Goto (Table.States (604), 278, 138);
+ Add_Goto (Table.States (604), 285, 139);
+ Add_Goto (Table.States (604), 286, 140);
+ Add_Goto (Table.States (604), 287, 141);
+ Add_Goto (Table.States (604), 288, 142);
+ Add_Goto (Table.States (604), 289, 143);
+ Add_Goto (Table.States (604), 290, 144);
+ Add_Goto (Table.States (604), 296, 98);
+ Add_Goto (Table.States (604), 304, 145);
+ Add_Goto (Table.States (604), 323, 146);
+ Add_Goto (Table.States (604), 324, 147);
+ Add_Goto (Table.States (604), 333, 148);
+ Table.States (604).Kernel := To_Vector ((((224, 0), 68, 3,
(2147483647, 0), 0), ((224, 1), 68, 1,
+ (2147483647, 0), 0), ((224, 2), 68, 2, (2147483647, 0), 0),
((224, 3), 68, 0, (195, 1), 0)));
+ Table.States (604).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (605).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (605), 76, (118, 0), 237);
+ Add_Action (Table.States (605), 82, Reduce, (168, 1), 3, null,
null);
+ Add_Action (Table.States (605), 87, (296, 0), 239);
+ Add_Action (Table.States (605), 90, Reduce, (168, 1), 3, null,
null);
+ Add_Action (Table.States (605), 104, (325, 0), 241);
+ Add_Action (Table.States (605), 105, (325, 1), 242);
+ Table.States (605).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (605), 118, 243);
+ Add_Goto (Table.States (605), 325, 244);
+ Table.States (605).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((168, 1), 242, 0,
+ (168, 1), 3), ((242, 0), 242, 5, (2147483647, 0), 0), ((242,
1), 242, 2, (2147483647, 0), 0), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (605).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (168, 1), 3)));
+ Table.States (606).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (606), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (120, 1), 4, null,
+ null);
+ Table.States (606).Kernel := To_Vector ((0 => ((120, 1), 78, 0,
(120, 1), 4)));
+ Table.States (606).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (120, 1), 4)));
+ Table.States (607).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (607), (35, 78, 79, 86, 99), (127, 1),
3, null, null);
+ Table.States (607).Kernel := To_Vector ((0 => ((127, 1), 83, 0,
(127, 1), 3)));
+ Table.States (607).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (127, 1), 3)));
+ Table.States (608).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (608), (35, 78, 79, 86, 99), (127, 0),
3, association_opt_0'Access, null);
+ Table.States (608).Kernel := To_Vector ((0 => ((127, 0), 195, 0,
(127, 0), 3)));
+ Table.States (608).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (127, 0), 3)));
+ Table.States (609).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (609), (35, 78, 79, 86, 99), (128, 0),
3, null, null);
+ Table.States (609).Kernel := To_Vector ((0 => ((128, 0), 127, 0,
(128, 0), 3)));
+ Table.States (609).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (128, 0), 3)));
+ Table.States (610).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (610), (82, 90), (169, 0), 3, null,
null);
+ Table.States (610).Kernel := To_Vector ((0 => ((169, 0), 168, 0,
(169, 0), 3)));
+ Table.States (610).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (169, 0), 3)));
Table.States (611).Action_List.Set_Capacity (2);
- Add_Action (Table.States (611), 77, 776);
- Add_Action (Table.States (611), 84, 445);
- Table.States (611).Kernel := To_Vector (((118, 126, 1, False),
(126, 126, 1, True)));
- Table.States (611).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 776)));
- Table.States (612).Action_List.Set_Capacity (20);
- Add_Action (Table.States (612), 10, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 20, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 21, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 22, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 23, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 35, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 37, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 42, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 43, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 53, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 68, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 74, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 75, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 76, 777);
- Add_Action (Table.States (612), 77, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 80, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 83, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 84, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 88, Reduce, (278, 1), 3, null,
null);
- Add_Action (Table.States (612), 97, Reduce, (278, 1), 3, null,
null);
- Table.States (612).Kernel := To_Vector (((278, 53, 2, False),
(278, 53, 0, False)));
- Table.States (612).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 278, 3)));
- Table.States (613).Action_List.Set_Capacity (19);
- Add_Action (Table.States (613), (10, 20, 21, 22, 23, 35, 37, 42,
43, 53, 68, 74, 75, 77, 80, 83, 84, 88,
- 97), (278, 2), 3, null, null);
- Table.States (613).Kernel := To_Vector ((0 => (278, 302, 0,
False)));
- Table.States (613).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 278, 3)));
- Table.States (614).Action_List.Set_Capacity (2);
- Add_Action (Table.States (614), 80, 447);
- Add_Action (Table.States (614), 88, 778);
- Table.States (614).Kernel := To_Vector (((141, 167, 1, False),
(167, 167, 2, True)));
- Table.States (614).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 88, 778)));
- Table.States (615).Action_List.Set_Capacity (1);
- Add_Action (Table.States (615), 15, 779);
- Table.States (615).Kernel := To_Vector ((0 => (140, 24, 2,
False)));
- Table.States (615).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 15, 779)));
+ Add_Action (Table.States (611), (82, 90), (168, 0), 1, null,
null);
+ Table.States (611).Kernel := To_Vector ((0 => ((168, 0), 194, 0,
(168, 0), 1)));
+ Table.States (611).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (168, 0), 1)));
+ Table.States (612).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (612), (35, 78, 79, 86, 99), (127, 3),
3, association_opt_3'Access, null);
+ Table.States (612).Kernel := To_Vector ((0 => ((127, 3), 83, 0,
(127, 3), 3)));
+ Table.States (612).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (127, 3), 3)));
+ Table.States (613).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (613), (35, 78, 79, 86, 99), (127, 2),
3, association_opt_2'Access, null);
+ Table.States (613).Kernel := To_Vector ((0 => ((127, 2), 195, 0,
(127, 2), 3)));
+ Table.States (613).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (127, 2), 3)));
+ Table.States (614).Action_List.Set_Capacity (20);
+ Add_Action (Table.States (614), 3, (200, 2), 122);
+ Add_Action (Table.States (614), 28, (127, 6), 521);
+ Add_Action (Table.States (614), 39, (261, 4), 123);
+ Add_Action (Table.States (614), 40, (168, 1), 263);
+ Add_Action (Table.States (614), 41, (261, 1), 125);
+ Add_Action (Table.States (614), 44, (168, 3), 265);
+ Add_Action (Table.States (614), 52, (278, 0), 126);
+ Add_Action (Table.States (614), 76, (120, 0), 127);
+ Add_Action (Table.States (614), 77, (120, 5), 128);
+ Add_Action (Table.States (614), 78, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (614), 81, (242, 8), 31);
+ Add_Action (Table.States (614), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (614), 86, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (614), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (614), 97, (333, 1), 129);
+ Add_Action (Table.States (614), 98, (333, 0), 130);
+ Add_Action (Table.States (614), 106, (261, 0), 131);
+ Add_Action (Table.States (614), 107, (242, 5), 120);
+ Add_Action (Table.States (614), 108, (242, 7), 34);
+ Add_Action (Table.States (614), 109, (127, 0), 266);
+ Table.States (614).Goto_List.Set_Capacity (24);
+ Add_Goto (Table.States (614), 120, 132);
+ Add_Goto (Table.States (614), 127, 267);
+ Add_Goto (Table.States (614), 128, 783);
+ Add_Goto (Table.States (614), 131, 42);
+ Add_Goto (Table.States (614), 168, 271);
+ Add_Goto (Table.States (614), 169, 272);
+ Add_Goto (Table.States (614), 194, 411);
+ Add_Goto (Table.States (614), 200, 135);
+ Add_Goto (Table.States (614), 242, 276);
+ Add_Goto (Table.States (614), 261, 137);
+ Add_Goto (Table.States (614), 275, 93);
+ Add_Goto (Table.States (614), 278, 138);
+ Add_Goto (Table.States (614), 280, 278);
+ Add_Goto (Table.States (614), 285, 139);
+ Add_Goto (Table.States (614), 286, 140);
+ Add_Goto (Table.States (614), 287, 141);
+ Add_Goto (Table.States (614), 288, 142);
+ Add_Goto (Table.States (614), 289, 143);
+ Add_Goto (Table.States (614), 290, 144);
+ Add_Goto (Table.States (614), 296, 98);
+ Add_Goto (Table.States (614), 304, 279);
+ Add_Goto (Table.States (614), 323, 146);
+ Add_Goto (Table.States (614), 324, 147);
+ Add_Goto (Table.States (614), 333, 148);
+ Table.States (614).Kernel := To_Vector ((0 => ((120, 4), 19, 1,
(2147483647, 0), 0)));
+ Table.States (614).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (128, 1), 0)));
+ Table.States (615).Action_List.Set_Capacity (25);
+ Add_Action (Table.States (615), 10, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 33, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 38, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 40, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 43, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 54, (120, 2), 784);
+ Add_Action (Table.States (615), 55, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 75, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 78, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 80, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 82, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 86, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 88, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 89, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 90, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 91, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 92, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 94, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 95, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 97, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 98, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 100, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 101, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 102, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (615), 103, Reduce, (261, 1), 1, null,
null);
+ Table.States (615).Kernel := To_Vector ((((120, 2), 41, 2,
(2147483647, 0), 0), ((261, 1), 41, 0,
+ (261, 1), 1)));
+ Table.States (615).Minimal_Complete_Actions := To_Vector (((Shift,
(120, 2), 54, 784), (Reduce, (261, 1),
+ 1)));
+ end Subr_12;
+ procedure Subr_13
+ is begin
Table.States (616).Action_List.Set_Capacity (2);
- Add_Action (Table.States (616), (24, 72), (142, 0), 2,
case_statement_alternative_list_0'Access, null);
- Table.States (616).Kernel := To_Vector ((0 => (142, 141, 0,
True)));
- Table.States (616).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 142, 2)));
- Table.States (616).Minimal_Complete_Actions_Recursive := True;
- Table.States (617).Action_List.Set_Capacity (17);
- Add_Action (Table.States (617), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (284,
- 0), 4, null, null);
- Table.States (617).Kernel := To_Vector ((0 => (284, 288, 0,
True)));
- Table.States (617).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 284, 4)));
- Table.States (617).Minimal_Complete_Actions_Recursive := True;
- Table.States (618).Action_List.Set_Capacity (17);
- Add_Action (Table.States (618), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (286,
- 0), 4, null, null);
- Table.States (618).Kernel := To_Vector ((0 => (286, 288, 0,
True)));
- Table.States (618).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 286, 4)));
- Table.States (618).Minimal_Complete_Actions_Recursive := True;
- Table.States (619).Action_List.Set_Capacity (17);
- Add_Action (Table.States (619), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (284,
- 1), 4, null, null);
- Table.States (619).Kernel := To_Vector ((0 => (284, 288, 0,
True)));
- Table.States (619).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 284, 4)));
- Table.States (619).Minimal_Complete_Actions_Recursive := True;
- Table.States (620).Action_List.Set_Capacity (17);
- Add_Action (Table.States (620), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (286,
- 1), 4, null, null);
- Table.States (620).Kernel := To_Vector ((0 => (286, 288, 0,
True)));
- Table.States (620).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 286, 4)));
- Table.States (620).Minimal_Complete_Actions_Recursive := True;
- Table.States (621).Action_List.Set_Capacity (12);
- Add_Action (Table.States (621), 3, 122);
- Add_Action (Table.States (621), 39, 123);
- Add_Action (Table.States (621), 40, 124);
- Add_Action (Table.States (621), 41, 125);
- Add_Action (Table.States (621), 76, 127);
- Add_Action (Table.States (621), 79, 31);
- Add_Action (Table.States (621), 95, 128);
- Add_Action (Table.States (621), 96, 129);
- Add_Action (Table.States (621), 104, 130);
- Add_Action (Table.States (621), 105, 120);
- Add_Action (Table.States (621), 106, 34);
- Add_Action (Table.States (621), 107, 35);
- Table.States (621).Goto_List.Set_Capacity (13);
- Add_Goto (Table.States (621), 118, 131);
- Add_Goto (Table.States (621), 129, 42);
- Add_Goto (Table.States (621), 198, 134);
- Add_Goto (Table.States (621), 235, 780);
- Add_Goto (Table.States (621), 240, 275);
- Add_Goto (Table.States (621), 259, 136);
- Add_Goto (Table.States (621), 273, 93);
- Add_Goto (Table.States (621), 278, 469);
- Add_Goto (Table.States (621), 294, 98);
- Add_Goto (Table.States (621), 302, 470);
- Add_Goto (Table.States (621), 321, 145);
- Add_Goto (Table.States (621), 322, 146);
- Add_Goto (Table.States (621), 331, 147);
- Table.States (621).Kernel := To_Vector ((0 => (234, 80, 1, True)));
- Table.States (621).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (621).Minimal_Complete_Actions_Recursive := True;
- Table.States (622).Action_List.Set_Capacity (17);
- Add_Action (Table.States (622), 10, Reduce, (288, 0), 4, null,
null);
- Add_Action (Table.States (622), 20, Reduce, (288, 0), 4, null,
null);
- Add_Action (Table.States (622), 21, Reduce, (288, 0), 4, null,
null);
- Add_Action (Table.States (622), 22, Reduce, (288, 0), 4, null,
null);
- Add_Action (Table.States (622), 23, Reduce, (288, 0), 4, null,
null);
- Add_Action (Table.States (622), 35, Reduce, (288, 0), 4, null,
null);
- Add_Action (Table.States (622), 37, Reduce, (288, 0), 4, null,
null);
- Add_Action (Table.States (622), 43, Reduce, (288, 0), 4, null,
null);
- Add_Action (Table.States (622), 53, Reduce, (288, 0), 4, null,
null);
- Add_Action (Table.States (622), 68, Reduce, (288, 0), 4, null,
null);
- Add_Action (Table.States (622), 74, Reduce, (288, 0), 4, null,
null);
- Add_Action (Table.States (622), 75, Reduce, (288, 0), 4, null,
null);
- Add_Action (Table.States (622), 77, Reduce, (288, 0), 4, null,
null);
- Add_Action (Table.States (622), 80, 621);
- Add_Conflict (Table.States (622), 80, (288, 0), 4, null, null);
- Add_Action (Table.States (622), 84, Reduce, (288, 0), 4, null,
null);
- Add_Action (Table.States (622), 88, Reduce, (288, 0), 4, null,
null);
- Add_Action (Table.States (622), 97, Reduce, (288, 0), 4, null,
null);
- Table.States (622).Kernel := To_Vector (((234, 234, 2, True),
(288, 234, 0, False)));
- Table.States (622).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 288, 4)));
- Table.States (623).Action_List.Set_Capacity (47);
- Add_Action (Table.States (623), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (191, 0), 5, exit_statement_0'Access, null);
- Table.States (623).Kernel := To_Vector ((0 => (191, 97, 0,
False)));
- Table.States (623).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 191, 5)));
- Table.States (624).Action_List.Set_Capacity (12);
- Add_Action (Table.States (624), 38, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (624), 55, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (624), 78, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (624), 79, 31);
- Add_Action (Table.States (624), 86, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (624), 95, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (624), 96, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (624), 98, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (624), 100, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (624), 105, 120);
- Add_Action (Table.States (624), 106, 34);
- Add_Action (Table.States (624), 107, 35);
- Table.States (624).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (624), 129, 42);
- Add_Goto (Table.States (624), 240, 781);
- Add_Goto (Table.States (624), 273, 93);
- Add_Goto (Table.States (624), 294, 98);
- Table.States (624).Kernel := To_Vector (((259, 41, 0, False),
(315, 41, 5, False), (315, 41, 1, False)));
- Table.States (624).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 259, 1)));
- Table.States (625).Action_List.Set_Capacity (2);
- Add_Action (Table.States (625), (37, 88), (231, 2), 4,
iterator_specification_2'Access, null);
- Table.States (625).Kernel := To_Vector ((0 => (231, 168, 0,
False)));
- Table.States (625).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 231, 4)));
- Table.States (626).Action_List.Set_Capacity (12);
- Add_Action (Table.States (626), 3, 122);
- Add_Action (Table.States (626), 39, 123);
- Add_Action (Table.States (626), 40, 124);
- Add_Action (Table.States (626), 41, 125);
- Add_Action (Table.States (626), 76, 127);
- Add_Action (Table.States (626), 79, 31);
- Add_Action (Table.States (626), 95, 128);
- Add_Action (Table.States (626), 96, 129);
- Add_Action (Table.States (626), 104, 130);
- Add_Action (Table.States (626), 105, 120);
- Add_Action (Table.States (626), 106, 34);
- Add_Action (Table.States (626), 107, 35);
- Table.States (626).Goto_List.Set_Capacity (12);
- Add_Goto (Table.States (626), 118, 131);
- Add_Goto (Table.States (626), 129, 42);
- Add_Goto (Table.States (626), 198, 134);
- Add_Goto (Table.States (626), 240, 275);
- Add_Goto (Table.States (626), 259, 136);
- Add_Goto (Table.States (626), 273, 93);
- Add_Goto (Table.States (626), 278, 782);
- Add_Goto (Table.States (626), 294, 98);
- Add_Goto (Table.States (626), 302, 482);
- Add_Goto (Table.States (626), 321, 145);
- Add_Goto (Table.States (626), 322, 146);
- Add_Goto (Table.States (626), 331, 147);
- Table.States (626).Kernel := To_Vector ((0 => (156, 53, 3,
False)));
- Table.States (626).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (627).Action_List.Set_Capacity (21);
- Add_Action (Table.States (627), 3, 122);
- Add_Action (Table.States (627), 15, 259);
- Add_Action (Table.States (627), 28, 260);
- Add_Action (Table.States (627), 32, 261);
- Add_Action (Table.States (627), 39, 123);
- Add_Action (Table.States (627), 40, 783);
- Add_Action (Table.States (627), 41, 125);
- Add_Action (Table.States (627), 44, 264);
- Add_Action (Table.States (627), 52, 126);
- Add_Action (Table.States (627), 76, 127);
- Add_Action (Table.States (627), 77, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (627), 79, 31);
- Add_Action (Table.States (627), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (627), 84, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (627), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (627), 95, 128);
- Add_Action (Table.States (627), 96, 129);
- Add_Action (Table.States (627), 104, 130);
- Add_Action (Table.States (627), 105, 120);
- Add_Action (Table.States (627), 106, 34);
- Add_Action (Table.States (627), 107, 265);
- Table.States (627).Goto_List.Set_Capacity (32);
- Add_Goto (Table.States (627), 118, 131);
- Add_Goto (Table.States (627), 125, 266);
- Add_Goto (Table.States (627), 126, 407);
- Add_Goto (Table.States (627), 129, 42);
- Add_Goto (Table.States (627), 137, 268);
- Add_Goto (Table.States (627), 154, 408);
- Add_Goto (Table.States (627), 166, 270);
- Add_Goto (Table.States (627), 167, 271);
- Add_Goto (Table.States (627), 168, 784);
- Add_Goto (Table.States (627), 169, 785);
- Add_Goto (Table.States (627), 192, 409);
- Add_Goto (Table.States (627), 198, 134);
- Add_Goto (Table.States (627), 222, 274);
- Add_Goto (Table.States (627), 240, 480);
- Add_Goto (Table.States (627), 259, 136);
- Add_Goto (Table.States (627), 273, 93);
- Add_Goto (Table.States (627), 274, 276);
- Add_Goto (Table.States (627), 276, 137);
- Add_Goto (Table.States (627), 278, 786);
- Add_Goto (Table.States (627), 279, 411);
- Add_Goto (Table.States (627), 283, 138);
- Add_Goto (Table.States (627), 284, 139);
- Add_Goto (Table.States (627), 285, 140);
- Add_Goto (Table.States (627), 286, 141);
- Add_Goto (Table.States (627), 287, 142);
- Add_Goto (Table.States (627), 288, 143);
- Add_Goto (Table.States (627), 294, 98);
- Add_Goto (Table.States (627), 302, 278);
- Add_Goto (Table.States (627), 315, 483);
- Add_Goto (Table.States (627), 321, 145);
- Add_Goto (Table.States (627), 322, 146);
- Add_Goto (Table.States (627), 331, 147);
- Table.States (627).Kernel := To_Vector (((116, 76, 1, False),
(116, 76, 3, False), (225, 76, 4, False),
- (240, 76, 4, True)));
- Table.States (627).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 126, 0)));
- Table.States (627).Minimal_Complete_Actions_Recursive := True;
- Table.States (628).Action_List.Set_Capacity (10);
- Add_Action (Table.States (628), (10, 21, 37, 42, 74, 77, 83, 84,
88, 97), (315, 2), 2,
+ Add_Action (Table.States (616), 78, (120, 3), 785);
+ Add_Action (Table.States (616), 86, (128, 0), 448);
+ Table.States (616).Kernel := To_Vector ((((120, 3), 128, 1,
(2147483647, 0), 0), ((128, 0), 128, 1,
+ (2147483647, 0), 0)));
+ Table.States (616).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (120, 3), 78, 785)));
+ Table.States (617).Action_List.Set_Capacity (21);
+ Add_Action (Table.States (617), 10, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 20, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 21, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 22, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 23, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 35, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 37, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 42, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 43, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 53, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 68, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 74, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 75, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 76, (280, 0), 786);
+ Add_Action (Table.States (617), 78, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 79, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 82, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 85, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 86, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 90, Reduce, (280, 1), 3, null,
null);
+ Add_Action (Table.States (617), 99, Reduce, (280, 1), 3, null,
null);
+ Table.States (617).Kernel := To_Vector ((((280, 0), 53, 2,
(2147483647, 0), 0), ((280, 1), 53, 0,
+ (280, 1), 3)));
+ Table.States (617).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (280, 1), 3)));
+ Table.States (618).Action_List.Set_Capacity (20);
+ Add_Action (Table.States (618), (10, 20, 21, 22, 23, 35, 37, 42,
43, 53, 68, 74, 75, 78, 79, 82, 85, 86,
+ 90, 99), (280, 2), 3, null, null);
+ Table.States (618).Kernel := To_Vector ((0 => ((280, 2), 304, 0,
(280, 2), 3)));
+ Table.States (618).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (280, 2), 3)));
+ Table.States (619).Action_List.Set_Capacity (20);
+ Add_Action (Table.States (619), 3, (200, 2), 122);
+ Add_Action (Table.States (619), 28, (127, 6), 521);
+ Add_Action (Table.States (619), 39, (261, 4), 123);
+ Add_Action (Table.States (619), 40, (168, 1), 263);
+ Add_Action (Table.States (619), 41, (261, 1), 125);
+ Add_Action (Table.States (619), 44, (168, 3), 265);
+ Add_Action (Table.States (619), 52, (278, 0), 126);
+ Add_Action (Table.States (619), 76, (120, 0), 127);
+ Add_Action (Table.States (619), 77, (120, 5), 128);
+ Add_Action (Table.States (619), 79, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (619), 81, (242, 8), 31);
+ Add_Action (Table.States (619), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (619), 86, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (619), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (619), 97, (333, 1), 129);
+ Add_Action (Table.States (619), 98, (333, 0), 130);
+ Add_Action (Table.States (619), 106, (261, 0), 131);
+ Add_Action (Table.States (619), 107, (242, 5), 120);
+ Add_Action (Table.States (619), 108, (242, 7), 34);
+ Add_Action (Table.States (619), 109, (127, 0), 266);
+ Table.States (619).Goto_List.Set_Capacity (24);
+ Add_Goto (Table.States (619), 120, 132);
+ Add_Goto (Table.States (619), 127, 267);
+ Add_Goto (Table.States (619), 128, 787);
+ Add_Goto (Table.States (619), 131, 42);
+ Add_Goto (Table.States (619), 168, 271);
+ Add_Goto (Table.States (619), 169, 272);
+ Add_Goto (Table.States (619), 194, 411);
+ Add_Goto (Table.States (619), 200, 135);
+ Add_Goto (Table.States (619), 242, 276);
+ Add_Goto (Table.States (619), 261, 137);
+ Add_Goto (Table.States (619), 275, 93);
+ Add_Goto (Table.States (619), 278, 138);
+ Add_Goto (Table.States (619), 280, 278);
+ Add_Goto (Table.States (619), 285, 139);
+ Add_Goto (Table.States (619), 286, 140);
+ Add_Goto (Table.States (619), 287, 141);
+ Add_Goto (Table.States (619), 288, 142);
+ Add_Goto (Table.States (619), 289, 143);
+ Add_Goto (Table.States (619), 290, 144);
+ Add_Goto (Table.States (619), 296, 98);
+ Add_Goto (Table.States (619), 304, 279);
+ Add_Goto (Table.States (619), 323, 146);
+ Add_Goto (Table.States (619), 324, 147);
+ Add_Goto (Table.States (619), 333, 148);
+ Table.States (619).Kernel := To_Vector ((0 => ((120, 5), 19, 1,
(2147483647, 0), 0)));
+ Table.States (619).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (128, 1), 0)));
+ Table.States (620).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (620), 82, (169, 0), 450);
+ Add_Action (Table.States (620), 90, (143, 0), 788);
+ Table.States (620).Kernel := To_Vector ((((143, 0), 169, 1,
(2147483647, 0), 0), ((169, 0), 169, 2,
+ (2147483647, 0), 0)));
+ Table.States (620).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (143, 0), 90, 788)));
+ Table.States (621).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (621), 15, (142, 0), 789);
+ Table.States (621).Kernel := To_Vector ((0 => ((142, 0), 24, 2,
(2147483647, 0), 0)));
+ Table.States (621).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (142, 0), 15, 789)));
+ Table.States (622).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (622), (24, 72), (144, 0), 2,
case_statement_alternative_list_0'Access, null);
+ Table.States (622).Kernel := To_Vector ((0 => ((144, 0), 143, 0,
(144, 0), 2)));
+ Table.States (622).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (144, 0), 2)));
+ Table.States (623).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (623), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (286, 0), 4, null, null);
+ Table.States (623).Kernel := To_Vector ((0 => ((286, 0), 290, 0,
(286, 0), 4)));
+ Table.States (623).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (286, 0), 4)));
+ Table.States (624).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (624), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (288, 0), 4, null, null);
+ Table.States (624).Kernel := To_Vector ((0 => ((288, 0), 290, 0,
(288, 0), 4)));
+ Table.States (624).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (288, 0), 4)));
+ Table.States (625).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (625), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (286, 1), 4, null, null);
+ Table.States (625).Kernel := To_Vector ((0 => ((286, 1), 290, 0,
(286, 1), 4)));
+ Table.States (625).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (286, 1), 4)));
+ Table.States (626).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (626), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (288, 1), 4, null, null);
+ Table.States (626).Kernel := To_Vector ((0 => ((288, 1), 290, 0,
(288, 1), 4)));
+ Table.States (626).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (288, 1), 4)));
+ Table.States (627).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (627), 3, (200, 2), 122);
+ Add_Action (Table.States (627), 39, (261, 4), 123);
+ Add_Action (Table.States (627), 40, (200, 3), 124);
+ Add_Action (Table.States (627), 41, (261, 1), 125);
+ Add_Action (Table.States (627), 76, (120, 0), 127);
+ Add_Action (Table.States (627), 77, (120, 5), 128);
+ Add_Action (Table.States (627), 81, (242, 8), 31);
+ Add_Action (Table.States (627), 97, (333, 1), 129);
+ Add_Action (Table.States (627), 98, (333, 0), 130);
+ Add_Action (Table.States (627), 106, (261, 0), 131);
+ Add_Action (Table.States (627), 107, (242, 5), 120);
+ Add_Action (Table.States (627), 108, (242, 7), 34);
+ Add_Action (Table.States (627), 109, (242, 6), 35);
+ Table.States (627).Goto_List.Set_Capacity (13);
+ Add_Goto (Table.States (627), 120, 132);
+ Add_Goto (Table.States (627), 131, 42);
+ Add_Goto (Table.States (627), 200, 135);
+ Add_Goto (Table.States (627), 237, 790);
+ Add_Goto (Table.States (627), 242, 276);
+ Add_Goto (Table.States (627), 261, 137);
+ Add_Goto (Table.States (627), 275, 93);
+ Add_Goto (Table.States (627), 280, 473);
+ Add_Goto (Table.States (627), 296, 98);
+ Add_Goto (Table.States (627), 304, 474);
+ Add_Goto (Table.States (627), 323, 146);
+ Add_Goto (Table.States (627), 324, 147);
+ Add_Goto (Table.States (627), 333, 148);
+ Table.States (627).Kernel := To_Vector ((0 => ((236, 0), 82, 1,
(2147483647, 0), 0)));
+ Table.States (627).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (628).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (628), 10, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 20, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 21, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 22, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 23, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 35, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 37, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 43, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 53, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 68, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 74, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 75, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 78, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 79, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 82, (236, 0), 627);
+ Add_Conflict (Table.States (628), 82, (290, 0), 4, null, null);
+ Add_Action (Table.States (628), 86, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 90, Reduce, (290, 0), 4, null,
null);
+ Add_Action (Table.States (628), 99, Reduce, (290, 0), 4, null,
null);
+ Table.States (628).Kernel := To_Vector ((((236, 0), 236, 2,
(2147483647, 0), 0), ((290, 0), 236, 0,
+ (290, 0), 4)));
+ Table.States (628).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (290, 0), 4)));
+ Table.States (629).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (629), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (193, 0), 5, exit_statement_0'Access, null);
+ Table.States (629).Kernel := To_Vector ((0 => ((193, 0), 99, 0,
(193, 0), 5)));
+ Table.States (629).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (193, 0), 5)));
+ Table.States (630).Action_List.Set_Capacity (12);
+ Add_Action (Table.States (630), 38, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (630), 55, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (630), 80, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (630), 81, (242, 8), 31);
+ Add_Action (Table.States (630), 88, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (630), 97, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (630), 98, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (630), 100, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (630), 102, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (630), 107, (242, 5), 120);
+ Add_Action (Table.States (630), 108, (242, 7), 34);
+ Add_Action (Table.States (630), 109, (242, 6), 35);
+ Table.States (630).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (630), 131, 42);
+ Add_Goto (Table.States (630), 242, 791);
+ Add_Goto (Table.States (630), 275, 93);
+ Add_Goto (Table.States (630), 296, 98);
+ Table.States (630).Kernel := To_Vector ((((261, 1), 41, 0, (261,
1), 1), ((317, 0), 41, 5,
+ (2147483647, 0), 0), ((317, 1), 41, 1, (2147483647, 0), 0)));
+ Table.States (630).Minimal_Complete_Actions := To_Vector
(((Reduce, (261, 1), 1), (Shift, (242, 5), 107,
+ 120)));
+ Table.States (631).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (631), (37, 90), (233, 2), 4,
iterator_specification_2'Access, null);
+ Table.States (631).Kernel := To_Vector ((0 => ((233, 2), 170, 0,
(233, 2), 4)));
+ Table.States (631).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (233, 2), 4)));
+ Table.States (632).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (632), 3, (200, 2), 122);
+ Add_Action (Table.States (632), 39, (261, 4), 123);
+ Add_Action (Table.States (632), 40, (200, 3), 124);
+ Add_Action (Table.States (632), 41, (261, 1), 125);
+ Add_Action (Table.States (632), 76, (120, 0), 127);
+ Add_Action (Table.States (632), 77, (120, 5), 128);
+ Add_Action (Table.States (632), 81, (242, 8), 31);
+ Add_Action (Table.States (632), 97, (333, 1), 129);
+ Add_Action (Table.States (632), 98, (333, 0), 130);
+ Add_Action (Table.States (632), 106, (261, 0), 131);
+ Add_Action (Table.States (632), 107, (242, 5), 120);
+ Add_Action (Table.States (632), 108, (242, 7), 34);
+ Add_Action (Table.States (632), 109, (242, 6), 35);
+ Table.States (632).Goto_List.Set_Capacity (12);
+ Add_Goto (Table.States (632), 120, 132);
+ Add_Goto (Table.States (632), 131, 42);
+ Add_Goto (Table.States (632), 200, 135);
+ Add_Goto (Table.States (632), 242, 276);
+ Add_Goto (Table.States (632), 261, 137);
+ Add_Goto (Table.States (632), 275, 93);
+ Add_Goto (Table.States (632), 280, 792);
+ Add_Goto (Table.States (632), 296, 98);
+ Add_Goto (Table.States (632), 304, 486);
+ Add_Goto (Table.States (632), 323, 146);
+ Add_Goto (Table.States (632), 324, 147);
+ Add_Goto (Table.States (632), 333, 148);
+ Table.States (632).Kernel := To_Vector ((0 => ((158, 0), 53, 3,
(2147483647, 0), 0)));
+ Table.States (632).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (633).Action_List.Set_Capacity (22);
+ Add_Action (Table.States (633), 3, (200, 2), 122);
+ Add_Action (Table.States (633), 15, (139, 0), 260);
+ Add_Action (Table.States (633), 28, (127, 6), 261);
+ Add_Action (Table.States (633), 32, (224, 0), 262);
+ Add_Action (Table.States (633), 39, (261, 4), 123);
+ Add_Action (Table.States (633), 40, (168, 1), 777);
+ Add_Action (Table.States (633), 41, (261, 1), 125);
+ Add_Action (Table.States (633), 44, (168, 3), 265);
+ Add_Action (Table.States (633), 52, (278, 0), 126);
+ Add_Action (Table.States (633), 76, (120, 0), 127);
+ Add_Action (Table.States (633), 77, (120, 5), 128);
+ Add_Action (Table.States (633), 78, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (633), 81, (242, 8), 31);
+ Add_Action (Table.States (633), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (633), 86, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (633), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (633), 97, (333, 1), 129);
+ Add_Action (Table.States (633), 98, (333, 0), 130);
+ Add_Action (Table.States (633), 106, (261, 0), 131);
+ Add_Action (Table.States (633), 107, (242, 5), 120);
+ Add_Action (Table.States (633), 108, (242, 7), 34);
+ Add_Action (Table.States (633), 109, (127, 0), 266);
+ Table.States (633).Goto_List.Set_Capacity (32);
+ Add_Goto (Table.States (633), 120, 132);
+ Add_Goto (Table.States (633), 127, 267);
+ Add_Goto (Table.States (633), 128, 409);
+ Add_Goto (Table.States (633), 131, 42);
+ Add_Goto (Table.States (633), 139, 269);
+ Add_Goto (Table.States (633), 156, 410);
+ Add_Goto (Table.States (633), 168, 271);
+ Add_Goto (Table.States (633), 169, 272);
+ Add_Goto (Table.States (633), 170, 793);
+ Add_Goto (Table.States (633), 171, 794);
+ Add_Goto (Table.States (633), 194, 411);
+ Add_Goto (Table.States (633), 200, 135);
+ Add_Goto (Table.States (633), 224, 275);
+ Add_Goto (Table.States (633), 242, 484);
+ Add_Goto (Table.States (633), 261, 137);
+ Add_Goto (Table.States (633), 275, 93);
+ Add_Goto (Table.States (633), 276, 277);
+ Add_Goto (Table.States (633), 278, 138);
+ Add_Goto (Table.States (633), 280, 795);
+ Add_Goto (Table.States (633), 281, 413);
+ Add_Goto (Table.States (633), 285, 139);
+ Add_Goto (Table.States (633), 286, 140);
+ Add_Goto (Table.States (633), 287, 141);
+ Add_Goto (Table.States (633), 288, 142);
+ Add_Goto (Table.States (633), 289, 143);
+ Add_Goto (Table.States (633), 290, 144);
+ Add_Goto (Table.States (633), 296, 98);
+ Add_Goto (Table.States (633), 304, 279);
+ Add_Goto (Table.States (633), 317, 487);
+ Add_Goto (Table.States (633), 323, 146);
+ Add_Goto (Table.States (633), 324, 147);
+ Add_Goto (Table.States (633), 333, 148);
+ Table.States (633).Kernel := To_Vector ((((118, 0), 76, 1,
(2147483647, 0), 0), ((118, 1), 76, 3,
+ (2147483647, 0), 0), ((227, 0), 76, 4, (2147483647, 0), 0),
((242, 0), 76, 4, (2147483647, 0), 0)));
+ Table.States (633).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (128, 1), 0)));
+ Table.States (634).Action_List.Set_Capacity (10);
+ Add_Action (Table.States (634), (10, 21, 37, 42, 74, 78, 85, 86,
90, 99), (317, 2), 2,
subtype_indication_2'Access, null);
- Table.States (628).Kernel := To_Vector ((0 => (315, 156, 0,
False)));
- Table.States (628).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 315, 2)));
- Table.States (629).Action_List.Set_Capacity (10);
- Add_Action (Table.States (629), (10, 21, 37, 42, 74, 77, 83, 84,
88, 97), (156, 1), 1, null, null);
- Table.States (629).Kernel := To_Vector ((0 => (156, 225, 0,
False)));
- Table.States (629).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 156, 1)));
- Table.States (630).Action_List.Set_Capacity (6);
- Add_Action (Table.States (630), 37, Reduce, (231, 3), 4, null,
null);
- Add_Action (Table.States (630), 76, 236);
- Add_Action (Table.States (630), 85, 238);
- Add_Action (Table.States (630), 88, Reduce, (231, 3), 4, null,
null);
- Add_Action (Table.States (630), 102, 240);
- Add_Action (Table.States (630), 103, 241);
- Table.States (630).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (630), 116, 242);
- Add_Goto (Table.States (630), 323, 243);
- Table.States (630).Kernel := To_Vector (((129, 240, 2, True),
(231, 240, 0, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (630).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 231, 4)));
- Table.States (631).Action_List.Set_Capacity (4);
- Add_Action (Table.States (631), 79, 31);
- Add_Action (Table.States (631), 105, 120);
- Add_Action (Table.States (631), 106, 34);
- Add_Action (Table.States (631), 107, 35);
- Table.States (631).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (631), 129, 42);
- Add_Goto (Table.States (631), 240, 781);
- Add_Goto (Table.States (631), 273, 93);
- Add_Goto (Table.States (631), 294, 98);
- Table.States (631).Kernel := To_Vector (((315, 41, 5, False),
(315, 41, 1, False)));
- Table.States (631).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (632).Action_List.Set_Capacity (5);
- Add_Action (Table.States (632), 59, 787);
- Add_Action (Table.States (632), 79, 31);
- Add_Action (Table.States (632), 105, 120);
- Add_Action (Table.States (632), 106, 34);
- Add_Action (Table.States (632), 107, 35);
- Table.States (632).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (632), 129, 42);
- Add_Goto (Table.States (632), 240, 788);
- Add_Goto (Table.States (632), 273, 93);
- Add_Goto (Table.States (632), 294, 98);
- Table.States (632).Kernel := To_Vector (((231, 42, 2, False),
(231, 42, 1, False)));
- Table.States (632).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (633).Action_List.Set_Capacity (42);
- Add_Action (Table.States (633), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73,
74, 79, 94, 105, 106, 107, 108), (122, 0),
- 5, aspect_clause_0'Access, null);
- Table.States (633).Kernel := To_Vector ((0 => (122, 97, 0,
False)));
- Table.States (633).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 122, 5)));
- Table.States (634).Action_List.Set_Capacity (1);
- Add_Action (Table.States (634), 97, 789);
- Table.States (634).Kernel := To_Vector ((0 => (128, 193, 1,
False)));
- Table.States (634).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 789)));
- Table.States (635).Action_List.Set_Capacity (1);
- Add_Action (Table.States (635), 38, 790);
- Table.States (635).Kernel := To_Vector ((0 => (236, 12, 2,
False)));
- Table.States (635).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 38, 790)));
- Table.States (636).Action_List.Set_Capacity (1);
- Add_Action (Table.States (636), 105, 791);
+ Table.States (634).Kernel := To_Vector ((0 => ((317, 2), 158, 0,
(317, 2), 2)));
+ Table.States (634).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (317, 2), 2)));
+ Table.States (635).Action_List.Set_Capacity (10);
+ Add_Action (Table.States (635), (10, 21, 37, 42, 74, 78, 85, 86,
90, 99), (158, 1), 1, null, null);
+ Table.States (635).Kernel := To_Vector ((0 => ((158, 1), 227, 0,
(158, 1), 1)));
+ Table.States (635).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (158, 1), 1)));
+ Table.States (636).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (636), 37, Reduce, (233, 3), 4, null,
null);
+ Add_Action (Table.States (636), 76, (118, 0), 237);
+ Add_Action (Table.States (636), 87, (296, 0), 239);
+ Add_Action (Table.States (636), 90, Reduce, (233, 3), 4, null,
null);
+ Add_Action (Table.States (636), 104, (325, 0), 241);
+ Add_Action (Table.States (636), 105, (325, 1), 242);
Table.States (636).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (636), 145, 792);
- Add_Goto (Table.States (636), 146, 793);
- Table.States (636).Kernel := To_Vector ((0 => (282, 236, 11,
False)));
- Table.States (636).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 791)));
- Table.States (637).Action_List.Set_Capacity (42);
- Add_Action (Table.States (637), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73,
74, 79, 94, 105, 106, 107, 108), (183, 0),
+ Add_Goto (Table.States (636), 118, 243);
+ Add_Goto (Table.States (636), 325, 244);
+ Table.States (636).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((233, 3), 242, 0,
+ (233, 3), 4), ((242, 0), 242, 5, (2147483647, 0), 0), ((242,
1), 242, 2, (2147483647, 0), 0), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (636).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (233, 3), 4)));
+ Table.States (637).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (637), 81, (242, 8), 31);
+ Add_Action (Table.States (637), 107, (242, 5), 120);
+ Add_Action (Table.States (637), 108, (242, 7), 34);
+ Add_Action (Table.States (637), 109, (242, 6), 35);
+ Table.States (637).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (637), 131, 42);
+ Add_Goto (Table.States (637), 242, 791);
+ Add_Goto (Table.States (637), 275, 93);
+ Add_Goto (Table.States (637), 296, 98);
+ Table.States (637).Kernel := To_Vector ((((317, 0), 41, 5,
(2147483647, 0), 0), ((317, 1), 41, 1,
+ (2147483647, 0), 0)));
+ Table.States (637).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (638).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (638), 59, (233, 0), 796);
+ Add_Action (Table.States (638), 81, (242, 8), 31);
+ Add_Action (Table.States (638), 107, (242, 5), 120);
+ Add_Action (Table.States (638), 108, (242, 7), 34);
+ Add_Action (Table.States (638), 109, (242, 6), 35);
+ Table.States (638).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (638), 131, 42);
+ Add_Goto (Table.States (638), 242, 797);
+ Add_Goto (Table.States (638), 275, 93);
+ Add_Goto (Table.States (638), 296, 98);
+ Table.States (638).Kernel := To_Vector ((((233, 0), 42, 2,
(2147483647, 0), 0), ((233, 1), 42, 1,
+ (2147483647, 0), 0)));
+ Table.States (638).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (639).Action_List.Set_Capacity (42);
+ Add_Action (Table.States (639), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73,
74, 81, 96, 107, 108, 109, 110), (124, 0),
+ 5, aspect_clause_0'Access, null);
+ Table.States (639).Kernel := To_Vector ((0 => ((124, 0), 99, 0,
(124, 0), 5)));
+ Table.States (639).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (124, 0), 5)));
+ Table.States (640).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (640), 99, (130, 0), 798);
+ Table.States (640).Kernel := To_Vector ((0 => ((130, 0), 195, 1,
(2147483647, 0), 0)));
+ Table.States (640).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (130, 0), 99, 798)));
+ Table.States (641).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (641), 38, (238, 0), 799);
+ Table.States (641).Kernel := To_Vector ((0 => ((238, 0), 12, 2,
(2147483647, 0), 0)));
+ Table.States (641).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (238, 0), 38, 799)));
+ Table.States (642).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (642), 107, (147, 0), 800);
+ Table.States (642).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (642), 147, 801);
+ Add_Goto (Table.States (642), 148, 802);
+ Table.States (642).Kernel := To_Vector ((0 => ((284, 0), 238,
11, (2147483647, 0), 0)));
+ Table.States (642).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (147, 0), 107, 800)));
+ Table.States (643).Action_List.Set_Capacity (42);
+ Add_Action (Table.States (643), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73,
74, 81, 96, 107, 108, 109, 110), (185, 0),
5, enumeration_representation_clause_0'Access, null);
- Table.States (637).Kernel := To_Vector ((0 => (183, 97, 0,
False)));
- Table.States (637).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 183, 5)));
- Table.States (638).Action_List.Set_Capacity (11);
- Add_Action (Table.States (638), 21, Reduce, (241, 0), 1, null,
name_opt_0_check'Access);
- Add_Action (Table.States (638), 35, Reduce, (241, 0), 1, null,
name_opt_0_check'Access);
- Add_Action (Table.States (638), 56, Reduce, (241, 0), 1, null,
name_opt_0_check'Access);
- Add_Action (Table.States (638), 74, Reduce, (241, 0), 1, null,
name_opt_0_check'Access);
- Add_Action (Table.States (638), 76, 236);
- Add_Action (Table.States (638), 77, Reduce, (241, 0), 1, null,
name_opt_0_check'Access);
- Add_Action (Table.States (638), 83, Reduce, (241, 0), 1, null,
name_opt_0_check'Access);
- Add_Action (Table.States (638), 85, 238);
- Add_Action (Table.States (638), 97, Reduce, (241, 0), 1, null,
name_opt_0_check'Access);
- Add_Action (Table.States (638), 102, 240);
- Add_Action (Table.States (638), 103, 241);
- Table.States (638).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (638), 116, 242);
- Add_Goto (Table.States (638), 323, 243);
- Table.States (638).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (241, 240, 0, False), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (638).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 241, 1)));
- Table.States (639).Action_List.Set_Capacity (7);
- Add_Action (Table.States (639), (21, 35, 56, 74, 77, 83, 97),
(292, 0), 3, result_profile_0'Access, null);
- Table.States (639).Kernel := To_Vector ((0 => (292, 241, 0,
False)));
- Table.States (639).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 292, 3)));
- Table.States (640).Action_List.Set_Capacity (12);
- Add_Action (Table.States (640), 7, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (640), 8, 402);
- Add_Action (Table.States (640), 33, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (640), 40, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (640), 45, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (640), 77, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (640), 79, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (640), 83, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (640), 97, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (640), 105, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (640), 106, Reduce, (119, 1), 0, null,
null);
- Add_Action (Table.States (640), 107, Reduce, (119, 1), 0, null,
null);
- Table.States (640).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (640), 119, 794);
- Table.States (640).Kernel := To_Vector (((255, 82, 2, False),
(255, 82, 1, False), (255, 82, 3, False),
- (255, 82, 2, False)));
- Table.States (640).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 119, 0)));
- end Subr_12;
- procedure Subr_13
- is begin
- Table.States (641).Action_List.Set_Capacity (9);
- Add_Action (Table.States (641), (21, 35, 56, 58, 72, 74, 77, 83,
97), (200, 0), 3, formal_part_0'Access,
+ Table.States (643).Kernel := To_Vector ((0 => ((185, 0), 99, 0,
(185, 0), 5)));
+ Table.States (643).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (185, 0), 5)));
+ Table.States (644).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (644), 21, Reduce, (243, 0), 1, null,
name_opt_0_check'Access);
+ Add_Action (Table.States (644), 35, Reduce, (243, 0), 1, null,
name_opt_0_check'Access);
+ Add_Action (Table.States (644), 56, Reduce, (243, 0), 1, null,
name_opt_0_check'Access);
+ Add_Action (Table.States (644), 74, Reduce, (243, 0), 1, null,
name_opt_0_check'Access);
+ Add_Action (Table.States (644), 76, (118, 0), 237);
+ Add_Action (Table.States (644), 78, Reduce, (243, 0), 1, null,
name_opt_0_check'Access);
+ Add_Action (Table.States (644), 85, Reduce, (243, 0), 1, null,
name_opt_0_check'Access);
+ Add_Action (Table.States (644), 87, (296, 0), 239);
+ Add_Action (Table.States (644), 99, Reduce, (243, 0), 1, null,
name_opt_0_check'Access);
+ Add_Action (Table.States (644), 104, (325, 0), 241);
+ Add_Action (Table.States (644), 105, (325, 1), 242);
+ Table.States (644).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (644), 118, 243);
+ Add_Goto (Table.States (644), 325, 244);
+ Table.States (644).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((243, 0), 242, 0, (243, 0), 1), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (644).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (243, 0), 1)));
+ Table.States (645).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (645), (21, 35, 56, 74, 78, 85, 99),
(294, 0), 3, result_profile_0'Access, null);
+ Table.States (645).Kernel := To_Vector ((0 => ((294, 0), 243, 0,
(294, 0), 3)));
+ Table.States (645).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (294, 0), 3)));
+ Table.States (646).Action_List.Set_Capacity (12);
+ Add_Action (Table.States (646), 7, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (646), 8, (121, 0), 404);
+ Add_Action (Table.States (646), 33, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (646), 40, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (646), 45, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (646), 78, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (646), 81, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (646), 85, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (646), 99, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (646), 107, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (646), 108, Reduce, (121, 1), 0, null,
null);
+ Add_Action (Table.States (646), 109, Reduce, (121, 1), 0, null,
null);
+ Table.States (646).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (646), 121, 803);
+ Table.States (646).Kernel := To_Vector ((((257, 0), 84, 2,
(2147483647, 0), 0), ((257, 1), 84, 1,
+ (2147483647, 0), 0), ((257, 2), 84, 3, (2147483647, 0), 0),
((257, 3), 84, 2, (2147483647, 0), 0)));
+ Table.States (646).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (121, 1), 0)));
+ Table.States (647).Action_List.Set_Capacity (9);
+ Add_Action (Table.States (647), (21, 35, 56, 58, 72, 74, 78, 85,
99), (202, 0), 3, formal_part_0'Access,
null);
- Table.States (641).Kernel := To_Vector ((0 => (200, 77, 0,
False)));
- Table.States (641).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 200, 3)));
- Table.States (642).Action_List.Set_Capacity (3);
- Add_Action (Table.States (642), 77, Reduce, (255, 4), 0, null,
null);
- Add_Action (Table.States (642), 97, Reduce, (255, 4), 0, null,
null);
- Add_Action (Table.States (642), 105, 165);
- Table.States (642).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (642), 220, 496);
- Add_Goto (Table.States (642), 255, 795);
- Table.States (642).Kernel := To_Vector ((0 => (256, 97, 0, True)));
- Table.States (642).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 255, 0)));
- Table.States (642).Minimal_Complete_Actions_Recursive := True;
- Table.States (643).Action_List.Set_Capacity (6);
- Add_Action (Table.States (643), 74, 338);
- Add_Action (Table.States (643), 76, 236);
- Add_Action (Table.States (643), 85, 238);
- Add_Action (Table.States (643), 97, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (643), 102, 240);
- Add_Action (Table.States (643), 103, 241);
- Table.States (643).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (643), 116, 242);
- Add_Goto (Table.States (643), 123, 796);
- Add_Goto (Table.States (643), 323, 243);
- Table.States (643).Kernel := To_Vector (((129, 240, 2, True),
(216, 240, 1, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (643).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (644).Action_List.Set_Capacity (6);
- Add_Action (Table.States (644), 74, 338);
- Add_Action (Table.States (644), 76, 236);
- Add_Action (Table.States (644), 85, 238);
- Add_Action (Table.States (644), 97, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (644), 102, 240);
- Add_Action (Table.States (644), 103, 241);
- Table.States (644).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (644), 116, 242);
- Add_Goto (Table.States (644), 123, 797);
- Add_Goto (Table.States (644), 323, 243);
- Table.States (644).Kernel := To_Vector (((129, 240, 2, True),
(216, 240, 1, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (644).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (645).Action_List.Set_Capacity (6);
- Add_Action (Table.States (645), 74, 338);
- Add_Action (Table.States (645), 76, 236);
- Add_Action (Table.States (645), 85, 238);
- Add_Action (Table.States (645), 97, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (645), 102, 240);
- Add_Action (Table.States (645), 103, 241);
- Table.States (645).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (645), 116, 242);
- Add_Goto (Table.States (645), 123, 798);
- Add_Goto (Table.States (645), 323, 243);
- Table.States (645).Kernel := To_Vector (((129, 240, 2, True),
(216, 240, 1, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (645).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (646).Action_List.Set_Capacity (17);
- Add_Action (Table.States (646), 6, 799);
- Add_Action (Table.States (646), 7, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (646), 11, 707);
- Add_Action (Table.States (646), 19, 800);
- Add_Action (Table.States (646), 20, 801);
- Add_Action (Table.States (646), 34, 710);
- Add_Action (Table.States (646), 36, 802);
- Add_Action (Table.States (646), 38, 803);
- Add_Action (Table.States (646), 39, Reduce, (110, 5), 0, null,
null);
- Add_Action (Table.States (646), 40, 387);
- Add_Action (Table.States (646), 49, Reduce, (112, 5), 0, null,
null);
- Add_Action (Table.States (646), 51, 714);
- Add_Action (Table.States (646), 53, 804);
- Add_Action (Table.States (646), 64, 717);
- Add_Action (Table.States (646), 65, 805);
- Add_Action (Table.States (646), 66, 719);
- Add_Action (Table.States (646), 76, 806);
- Table.States (646).Goto_List.Set_Capacity (8);
- Add_Goto (Table.States (646), 110, 807);
- Add_Goto (Table.States (646), 112, 808);
- Add_Goto (Table.States (646), 115, 809);
- Add_Goto (Table.States (646), 121, 810);
- Add_Goto (Table.States (646), 203, 811);
- Add_Goto (Table.States (646), 204, 812);
- Add_Goto (Table.States (646), 229, 813);
- Add_Goto (Table.States (646), 242, 729);
- Table.States (646).Kernel := To_Vector (((202, 35, 2, False),
(202, 35, 2, False)));
- Table.States (646).Minimal_Complete_Actions := To_Vector
(((Reduce, 112, 0), (Shift, 65, 805)));
- Table.States (647).Action_List.Set_Capacity (1);
- Add_Action (Table.States (647), 97, 814);
- Table.States (647).Kernel := To_Vector ((0 => (202, 123, 1,
False)));
- Table.States (647).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 814)));
- Table.States (648).Action_List.Set_Capacity (1);
- Add_Action (Table.States (648), 39, 815);
- Table.States (648).Kernel := To_Vector ((0 => (205, 35, 3,
False)));
- Table.States (648).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 39, 815)));
- Table.States (649).Action_List.Set_Capacity (8);
- Add_Action (Table.States (649), 41, 650);
- Add_Action (Table.States (649), 74, 338);
- Add_Action (Table.States (649), 79, 31);
- Add_Action (Table.States (649), 81, 651);
- Add_Action (Table.States (649), 97, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (649), 105, 120);
- Add_Action (Table.States (649), 106, 34);
- Add_Action (Table.States (649), 107, 35);
- Table.States (649).Goto_List.Set_Capacity (6);
- Add_Goto (Table.States (649), 123, 816);
- Add_Goto (Table.States (649), 129, 42);
- Add_Goto (Table.States (649), 240, 652);
- Add_Goto (Table.States (649), 273, 93);
- Add_Goto (Table.States (649), 294, 98);
- Add_Goto (Table.States (649), 311, 817);
- Table.States (649).Kernel := To_Vector (((201, 6, 2, False), (201,
6, 1, False)));
- Table.States (649).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (650).Action_List.Set_Capacity (2);
- Add_Action (Table.States (650), (74, 97), (311, 2), 1, null, null);
- Table.States (650).Kernel := To_Vector ((0 => (311, 41, 0,
False)));
- Table.States (650).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 311, 1)));
- Table.States (651).Action_List.Set_Capacity (2);
- Add_Action (Table.States (651), (74, 97), (311, 1), 1, null, null);
- Table.States (651).Kernel := To_Vector ((0 => (311, 81, 0,
False)));
- Table.States (651).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 311, 1)));
- Table.States (652).Action_List.Set_Capacity (6);
- Add_Action (Table.States (652), 74, Reduce, (311, 0), 1,
subprogram_default_0'Access, null);
- Add_Action (Table.States (652), 76, 236);
- Add_Action (Table.States (652), 85, 238);
- Add_Action (Table.States (652), 97, Reduce, (311, 0), 1,
subprogram_default_0'Access, null);
- Add_Action (Table.States (652), 102, 240);
- Add_Action (Table.States (652), 103, 241);
- Table.States (652).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (652), 116, 242);
- Add_Goto (Table.States (652), 323, 243);
- Table.States (652).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (273, 240, 3, True), (294, 240, 2, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (311, 240, 0, False)));
- Table.States (652).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 311, 1)));
- Table.States (653).Action_List.Set_Capacity (2);
- Add_Action (Table.States (653), 74, 338);
- Add_Action (Table.States (653), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (653).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (653), 123, 818);
- Table.States (653).Kernel := To_Vector ((0 => (201, 311, 1,
False)));
- Table.States (653).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (654).Action_List.Set_Capacity (8);
- Add_Action (Table.States (654), (29, 47, 48, 50, 69, 71, 74, 105),
(201, 3), 4,
+ Table.States (647).Kernel := To_Vector ((0 => ((202, 0), 78, 0,
(202, 0), 3)));
+ Table.States (647).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (202, 0), 3)));
+ Table.States (648).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (648), 78, Reduce, (257, 4), 0, null,
null);
+ Add_Action (Table.States (648), 99, Reduce, (257, 4), 0, null,
null);
+ Add_Action (Table.States (648), 107, (222, 1), 166);
+ Table.States (648).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (648), 222, 500);
+ Add_Goto (Table.States (648), 257, 804);
+ Table.States (648).Kernel := To_Vector ((0 => ((258, 0), 99, 0,
(257, 4), 0)));
+ Table.States (648).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (257, 4), 0)));
+ Table.States (649).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (649), 74, (125, 0), 340);
+ Add_Action (Table.States (649), 76, (118, 0), 237);
+ Add_Action (Table.States (649), 87, (296, 0), 239);
+ Add_Action (Table.States (649), 99, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (649), 104, (325, 0), 241);
+ Add_Action (Table.States (649), 105, (325, 1), 242);
+ Table.States (649).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (649), 118, 243);
+ Add_Goto (Table.States (649), 125, 805);
+ Add_Goto (Table.States (649), 325, 244);
+ Table.States (649).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((218, 2), 242, 1,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (649).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (650).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (650), 74, (125, 0), 340);
+ Add_Action (Table.States (650), 76, (118, 0), 237);
+ Add_Action (Table.States (650), 87, (296, 0), 239);
+ Add_Action (Table.States (650), 99, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (650), 104, (325, 0), 241);
+ Add_Action (Table.States (650), 105, (325, 1), 242);
+ Table.States (650).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (650), 118, 243);
+ Add_Goto (Table.States (650), 125, 806);
+ Add_Goto (Table.States (650), 325, 244);
+ Table.States (650).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((218, 0), 242, 1,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (650).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (651).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (651), 74, (125, 0), 340);
+ Add_Action (Table.States (651), 76, (118, 0), 237);
+ Add_Action (Table.States (651), 87, (296, 0), 239);
+ Add_Action (Table.States (651), 99, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (651), 104, (325, 0), 241);
+ Add_Action (Table.States (651), 105, (325, 1), 242);
+ Table.States (651).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (651), 118, 243);
+ Add_Goto (Table.States (651), 125, 807);
+ Add_Goto (Table.States (651), 325, 244);
+ Table.States (651).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((218, 1), 242, 1,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (651).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (652).Action_List.Set_Capacity (17);
+ Add_Action (Table.States (652), 6, (112, 0), 808);
+ Add_Action (Table.States (652), 7, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (652), 11, (123, 0), 713);
+ Add_Action (Table.States (652), 19, (205, 6), 809);
+ Add_Action (Table.States (652), 20, (205, 5), 810);
+ Add_Action (Table.States (652), 34, (231, 8), 716);
+ Add_Action (Table.States (652), 36, (112, 3), 811);
+ Add_Action (Table.States (652), 38, (205, 4), 812);
+ Add_Action (Table.States (652), 39, Reduce, (112, 5), 0, null,
null);
+ Add_Action (Table.States (652), 40, (244, 0), 389);
+ Add_Action (Table.States (652), 49, Reduce, (114, 5), 0, null,
null);
+ Add_Action (Table.States (652), 51, (231, 2), 720);
+ Add_Action (Table.States (652), 53, (205, 3), 813);
+ Add_Action (Table.States (652), 64, (112, 4), 723);
+ Add_Action (Table.States (652), 65, (114, 2), 814);
+ Add_Action (Table.States (652), 66, (231, 1), 725);
+ Add_Action (Table.States (652), 76, (205, 2), 815);
+ Table.States (652).Goto_List.Set_Capacity (8);
+ Add_Goto (Table.States (652), 112, 816);
+ Add_Goto (Table.States (652), 114, 817);
+ Add_Goto (Table.States (652), 117, 818);
+ Add_Goto (Table.States (652), 123, 819);
+ Add_Goto (Table.States (652), 205, 820);
+ Add_Goto (Table.States (652), 206, 821);
+ Add_Goto (Table.States (652), 231, 822);
+ Add_Goto (Table.States (652), 244, 735);
+ Table.States (652).Kernel := To_Vector ((((204, 0), 35, 2,
(2147483647, 0), 0), ((204, 1), 35, 2,
+ (2147483647, 0), 0)));
+ Table.States (652).Minimal_Complete_Actions := To_Vector
(((Reduce, (114, 5), 0), (Shift, (114, 2), 65,
+ 814)));
+ Table.States (653).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (653), 99, (204, 2), 823);
+ Table.States (653).Kernel := To_Vector ((0 => ((204, 2), 125, 1,
(2147483647, 0), 0)));
+ Table.States (653).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (204, 2), 99, 823)));
+ Table.States (654).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (654), 39, (207, 0), 824);
+ Table.States (654).Kernel := To_Vector ((0 => ((207, 0), 35, 3,
(2147483647, 0), 0)));
+ Table.States (654).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (207, 0), 39, 824)));
+ Table.States (655).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (655), 41, (313, 2), 656);
+ Add_Action (Table.States (655), 74, (125, 0), 340);
+ Add_Action (Table.States (655), 81, (242, 8), 31);
+ Add_Action (Table.States (655), 83, (313, 1), 657);
+ Add_Action (Table.States (655), 99, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (655), 107, (242, 5), 120);
+ Add_Action (Table.States (655), 108, (242, 7), 34);
+ Add_Action (Table.States (655), 109, (242, 6), 35);
+ Table.States (655).Goto_List.Set_Capacity (6);
+ Add_Goto (Table.States (655), 125, 825);
+ Add_Goto (Table.States (655), 131, 42);
+ Add_Goto (Table.States (655), 242, 658);
+ Add_Goto (Table.States (655), 275, 93);
+ Add_Goto (Table.States (655), 296, 98);
+ Add_Goto (Table.States (655), 313, 826);
+ Table.States (655).Kernel := To_Vector ((((203, 0), 6, 2,
(2147483647, 0), 0), ((203, 2), 6, 1,
+ (2147483647, 0), 0)));
+ Table.States (655).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (656).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (656), (74, 99), (313, 2), 1, null,
null);
+ Table.States (656).Kernel := To_Vector ((0 => ((313, 2), 41, 0,
(313, 2), 1)));
+ Table.States (656).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (313, 2), 1)));
+ Table.States (657).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (657), (74, 99), (313, 1), 1, null,
null);
+ Table.States (657).Kernel := To_Vector ((0 => ((313, 1), 83, 0,
(313, 1), 1)));
+ Table.States (657).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (313, 1), 1)));
+ Table.States (658).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (658), 74, Reduce, (313, 0), 1,
subprogram_default_0'Access, null);
+ Add_Action (Table.States (658), 76, (118, 0), 237);
+ Add_Action (Table.States (658), 87, (296, 0), 239);
+ Add_Action (Table.States (658), 99, Reduce, (313, 0), 1,
subprogram_default_0'Access, null);
+ Add_Action (Table.States (658), 104, (325, 0), 241);
+ Add_Action (Table.States (658), 105, (325, 1), 242);
+ Table.States (658).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (658), 118, 243);
+ Add_Goto (Table.States (658), 325, 244);
+ Table.States (658).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((275, 0), 242, 3, (2147483647, 0), 0),
+ ((296, 0), 242, 2, (2147483647, 0), 0), ((296, 1), 242, 2,
(2147483647, 0), 0), ((296, 2), 242, 2,
+ (2147483647, 0), 0), ((296, 3), 242, 2, (2147483647, 0), 0),
((313, 0), 242, 0, (313, 0), 1)));
+ Table.States (658).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (313, 0), 1)));
+ Table.States (659).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (659), 74, (125, 0), 340);
+ Add_Action (Table.States (659), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (659).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (659), 125, 827);
+ Table.States (659).Kernel := To_Vector ((0 => ((203, 1), 313, 1,
(2147483647, 0), 0)));
+ Table.States (659).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (660).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (660), (29, 47, 48, 50, 69, 71, 74, 107),
(203, 3), 4,
formal_subprogram_declaration_3'Access, null);
- Table.States (654).Kernel := To_Vector ((0 => (201, 97, 0,
False)));
- Table.States (654).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 201, 4)));
- Table.States (655).Action_List.Set_Capacity (9);
- Add_Action (Table.States (655), (7, 40, 74, 79, 83, 97, 105, 106,
107), (237, 1), 2, null, null);
- Table.States (655).Kernel := To_Vector ((0 => (237, 45, 0,
False)));
- Table.States (655).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 237, 2)));
- Table.States (656).Action_List.Set_Capacity (3);
- Add_Action (Table.States (656), 74, 338);
- Add_Action (Table.States (656), 83, 819);
- Add_Action (Table.States (656), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (656).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (656), 123, 820);
- Table.States (656).Kernel := To_Vector (((199, 115, 2, False),
(199, 115, 1, False)));
- Table.States (656).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (657).Action_List.Set_Capacity (5);
- Add_Action (Table.States (657), 7, 560);
- Add_Action (Table.States (657), 79, 31);
- Add_Action (Table.States (657), 105, 120);
- Add_Action (Table.States (657), 106, 34);
- Add_Action (Table.States (657), 107, 35);
- Table.States (657).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (657), 129, 42);
- Add_Goto (Table.States (657), 240, 821);
- Add_Goto (Table.States (657), 273, 93);
- Add_Goto (Table.States (657), 294, 98);
- Table.States (657).Kernel := To_Vector (((115, 242, 2, False),
(115, 242, 3, True), (115, 242, 2, False),
- (199, 242, 3, False), (199, 242, 2, False)));
- Table.States (657).Minimal_Complete_Actions := To_Vector (((Shift,
7, 560), (Shift, 105, 120)));
- Table.States (658).Action_List.Set_Capacity (24);
- Add_Action (Table.States (658), 4, 1);
- Add_Action (Table.States (658), 5, 2);
- Add_Action (Table.States (658), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (658), 15, 3);
- Add_Action (Table.States (658), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (658), 18, 4);
- Add_Action (Table.States (658), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (658), 27, 5);
- Add_Action (Table.States (658), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (658), 31, 9);
- Add_Action (Table.States (658), 32, 10);
- Add_Action (Table.States (658), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (658), 41, 13);
- Add_Action (Table.States (658), 48, 16);
- Add_Action (Table.States (658), 52, 20);
- Add_Action (Table.States (658), 57, 21);
- Add_Action (Table.States (658), 58, 22);
- Add_Action (Table.States (658), 61, 24);
- Add_Action (Table.States (658), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (658), 79, 31);
- Add_Action (Table.States (658), 94, 32);
- Add_Action (Table.States (658), 105, 361);
- Add_Action (Table.States (658), 106, 34);
- Add_Action (Table.States (658), 107, 35);
- Table.States (658).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (658), 114, 37);
- Add_Goto (Table.States (658), 124, 39);
- Add_Goto (Table.States (658), 127, 40);
- Add_Goto (Table.States (658), 129, 42);
- Add_Goto (Table.States (658), 132, 43);
- Add_Goto (Table.States (658), 133, 44);
- Add_Goto (Table.States (658), 134, 45);
- Add_Goto (Table.States (658), 140, 48);
- Add_Goto (Table.States (658), 152, 51);
- Add_Goto (Table.States (658), 153, 52);
- Add_Goto (Table.States (658), 162, 54);
- Add_Goto (Table.States (658), 191, 58);
- Add_Goto (Table.States (658), 197, 60);
- Add_Goto (Table.States (658), 218, 69);
- Add_Goto (Table.States (658), 223, 71);
- Add_Goto (Table.States (658), 233, 73);
- Add_Goto (Table.States (658), 240, 74);
- Add_Goto (Table.States (658), 258, 84);
- Add_Goto (Table.States (658), 262, 87);
- Add_Goto (Table.States (658), 273, 93);
- Add_Goto (Table.States (658), 277, 94);
- Add_Goto (Table.States (658), 291, 97);
- Add_Goto (Table.States (658), 294, 98);
- Add_Goto (Table.States (658), 295, 99);
- Add_Goto (Table.States (658), 299, 100);
- Add_Goto (Table.States (658), 300, 362);
- Add_Goto (Table.States (658), 301, 822);
- Add_Goto (Table.States (658), 303, 101);
- Add_Goto (Table.States (658), 304, 102);
- Add_Goto (Table.States (658), 307, 364);
- Add_Goto (Table.States (658), 324, 115);
- Table.States (658).Kernel := To_Vector ((0 => (223, 22, 3,
False)));
- Table.States (658).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (659).Action_List.Set_Capacity (14);
- Add_Action (Table.States (659), 3, 122);
- Add_Action (Table.States (659), 39, 123);
- Add_Action (Table.States (659), 40, 124);
- Add_Action (Table.States (659), 41, 125);
- Add_Action (Table.States (659), 52, 126);
- Add_Action (Table.States (659), 68, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (659), 76, 127);
- Add_Action (Table.States (659), 79, 31);
- Add_Action (Table.States (659), 95, 128);
- Add_Action (Table.States (659), 96, 129);
- Add_Action (Table.States (659), 104, 130);
- Add_Action (Table.States (659), 105, 120);
- Add_Action (Table.States (659), 106, 34);
- Add_Action (Table.States (659), 107, 35);
- Table.States (659).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (659), 118, 131);
- Add_Goto (Table.States (659), 129, 42);
- Add_Goto (Table.States (659), 192, 132);
- Add_Goto (Table.States (659), 193, 823);
- Add_Goto (Table.States (659), 198, 134);
- Add_Goto (Table.States (659), 240, 135);
- Add_Goto (Table.States (659), 259, 136);
- Add_Goto (Table.States (659), 273, 93);
- Add_Goto (Table.States (659), 276, 137);
- Add_Goto (Table.States (659), 283, 138);
- Add_Goto (Table.States (659), 284, 139);
- Add_Goto (Table.States (659), 285, 140);
- Add_Goto (Table.States (659), 286, 141);
- Add_Goto (Table.States (659), 287, 142);
- Add_Goto (Table.States (659), 288, 143);
- Add_Goto (Table.States (659), 294, 98);
- Add_Goto (Table.States (659), 302, 144);
- Add_Goto (Table.States (659), 321, 145);
- Add_Goto (Table.States (659), 322, 146);
- Add_Goto (Table.States (659), 331, 147);
- Table.States (659).Kernel := To_Vector ((0 => (175, 23, 1,
False)));
- Table.States (659).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (660).Action_List.Set_Capacity (1);
- Add_Action (Table.States (660), 32, 824);
- Table.States (660).Kernel := To_Vector ((0 => (223, 24, 2,
False)));
- Table.States (660).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 32, 824)));
- Table.States (661).Action_List.Set_Capacity (3);
- Add_Action (Table.States (661), (22, 23, 24), (176, 1), 1, null,
null);
- Table.States (661).Kernel := To_Vector ((0 => (176, 175, 0,
False)));
- Table.States (661).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 176, 1)));
+ Table.States (660).Kernel := To_Vector ((0 => ((203, 3), 99, 0,
(203, 3), 4)));
+ Table.States (660).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (203, 3), 4)));
+ Table.States (661).Action_List.Set_Capacity (9);
+ Add_Action (Table.States (661), (7, 40, 74, 81, 85, 99, 107, 108,
109), (239, 1), 2, null, null);
+ Table.States (661).Kernel := To_Vector ((0 => ((239, 1), 45, 0,
(239, 1), 2)));
+ Table.States (661).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (239, 1), 2)));
Table.States (662).Action_List.Set_Capacity (3);
- Add_Action (Table.States (662), 22, 825);
- Add_Action (Table.States (662), 23, 659);
- Add_Action (Table.States (662), 24, 826);
+ Add_Action (Table.States (662), 74, (125, 0), 340);
+ Add_Action (Table.States (662), 85, (201, 1), 828);
+ Add_Action (Table.States (662), 99, Reduce, (125, 1), 0, null,
null);
Table.States (662).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (662), 175, 827);
- Table.States (662).Kernel := To_Vector (((176, 176, 2, True),
(223, 176, 4, False), (223, 176, 3, False)));
- Table.States (662).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 826)));
- Table.States (663).Action_List.Set_Capacity (40);
- Add_Action (Table.States (663), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
- 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 79,
94, 105, 106, 107, 108), (333, 0), 5,
+ Add_Goto (Table.States (662), 125, 829);
+ Table.States (662).Kernel := To_Vector ((((201, 1), 117, 2,
(2147483647, 0), 0), ((201, 3), 117, 1,
+ (2147483647, 0), 0)));
+ Table.States (662).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (663).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (663), 7, (117, 0), 564);
+ Add_Action (Table.States (663), 81, (242, 8), 31);
+ Add_Action (Table.States (663), 107, (242, 5), 120);
+ Add_Action (Table.States (663), 108, (242, 7), 34);
+ Add_Action (Table.States (663), 109, (242, 6), 35);
+ Table.States (663).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (663), 131, 42);
+ Add_Goto (Table.States (663), 242, 830);
+ Add_Goto (Table.States (663), 275, 93);
+ Add_Goto (Table.States (663), 296, 98);
+ Table.States (663).Kernel := To_Vector ((((117, 0), 244, 2,
(2147483647, 0), 0), ((117, 1), 244, 3,
+ (2147483647, 0), 0), ((117, 2), 244, 2, (2147483647, 0), 0),
((201, 0), 244, 3, (2147483647, 0), 0),
+ ((201, 2), 244, 2, (2147483647, 0), 0)));
+ Table.States (663).Minimal_Complete_Actions := To_Vector (((Shift,
(117, 0), 7, 564), (Shift, (242, 5),
+ 107, 120)));
+ Table.States (664).Action_List.Set_Capacity (24);
+ Add_Action (Table.States (664), 4, (116, 0), 1);
+ Add_Action (Table.States (664), 5, (306, 8), 2);
+ Add_Action (Table.States (664), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (664), 15, (142, 0), 3);
+ Add_Action (Table.States (664), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (664), 18, (164, 0), 4);
+ Add_Action (Table.States (664), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (664), 27, (193, 0), 5);
+ Add_Action (Table.States (664), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (664), 31, (306, 3), 9);
+ Add_Action (Table.States (664), 32, (225, 0), 10);
+ Add_Action (Table.States (664), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (664), 41, (306, 0), 13);
+ Add_Action (Table.States (664), 48, (260, 0), 16);
+ Add_Action (Table.States (664), 52, (279, 0), 20);
+ Add_Action (Table.States (664), 57, (293, 0), 21);
+ Add_Action (Table.States (664), 58, (199, 0), 22);
+ Add_Action (Table.States (664), 61, (129, 0), 24);
+ Add_Action (Table.States (664), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (664), 81, (242, 8), 31);
+ Add_Action (Table.States (664), 96, (220, 0), 32);
+ Add_Action (Table.States (664), 107, (134, 0), 363);
+ Add_Action (Table.States (664), 108, (242, 7), 34);
+ Add_Action (Table.States (664), 109, (242, 6), 35);
+ Table.States (664).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (664), 116, 37);
+ Add_Goto (Table.States (664), 126, 39);
+ Add_Goto (Table.States (664), 129, 40);
+ Add_Goto (Table.States (664), 131, 42);
+ Add_Goto (Table.States (664), 134, 43);
+ Add_Goto (Table.States (664), 135, 44);
+ Add_Goto (Table.States (664), 136, 45);
+ Add_Goto (Table.States (664), 142, 48);
+ Add_Goto (Table.States (664), 154, 51);
+ Add_Goto (Table.States (664), 155, 52);
+ Add_Goto (Table.States (664), 164, 54);
+ Add_Goto (Table.States (664), 193, 58);
+ Add_Goto (Table.States (664), 199, 60);
+ Add_Goto (Table.States (664), 220, 69);
+ Add_Goto (Table.States (664), 225, 71);
+ Add_Goto (Table.States (664), 235, 73);
+ Add_Goto (Table.States (664), 242, 74);
+ Add_Goto (Table.States (664), 260, 84);
+ Add_Goto (Table.States (664), 264, 87);
+ Add_Goto (Table.States (664), 275, 93);
+ Add_Goto (Table.States (664), 279, 94);
+ Add_Goto (Table.States (664), 293, 97);
+ Add_Goto (Table.States (664), 296, 98);
+ Add_Goto (Table.States (664), 297, 99);
+ Add_Goto (Table.States (664), 301, 100);
+ Add_Goto (Table.States (664), 302, 364);
+ Add_Goto (Table.States (664), 303, 831);
+ Add_Goto (Table.States (664), 305, 101);
+ Add_Goto (Table.States (664), 306, 102);
+ Add_Goto (Table.States (664), 309, 366);
+ Add_Goto (Table.States (664), 326, 115);
+ Table.States (664).Kernel := To_Vector ((0 => ((225, 1), 22, 3,
(2147483647, 0), 0)));
+ Table.States (664).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
+ Table.States (665).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (665), 3, (200, 2), 122);
+ Add_Action (Table.States (665), 39, (261, 4), 123);
+ Add_Action (Table.States (665), 40, (200, 3), 124);
+ Add_Action (Table.States (665), 41, (261, 1), 125);
+ Add_Action (Table.States (665), 52, (278, 0), 126);
+ Add_Action (Table.States (665), 68, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (665), 76, (120, 0), 127);
+ Add_Action (Table.States (665), 77, (120, 5), 128);
+ Add_Action (Table.States (665), 81, (242, 8), 31);
+ Add_Action (Table.States (665), 97, (333, 1), 129);
+ Add_Action (Table.States (665), 98, (333, 0), 130);
+ Add_Action (Table.States (665), 106, (261, 0), 131);
+ Add_Action (Table.States (665), 107, (242, 5), 120);
+ Add_Action (Table.States (665), 108, (242, 7), 34);
+ Add_Action (Table.States (665), 109, (242, 6), 35);
+ Table.States (665).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (665), 120, 132);
+ Add_Goto (Table.States (665), 131, 42);
+ Add_Goto (Table.States (665), 194, 133);
+ Add_Goto (Table.States (665), 195, 832);
+ Add_Goto (Table.States (665), 200, 135);
+ Add_Goto (Table.States (665), 242, 136);
+ Add_Goto (Table.States (665), 261, 137);
+ Add_Goto (Table.States (665), 275, 93);
+ Add_Goto (Table.States (665), 278, 138);
+ Add_Goto (Table.States (665), 285, 139);
+ Add_Goto (Table.States (665), 286, 140);
+ Add_Goto (Table.States (665), 287, 141);
+ Add_Goto (Table.States (665), 288, 142);
+ Add_Goto (Table.States (665), 289, 143);
+ Add_Goto (Table.States (665), 290, 144);
+ Add_Goto (Table.States (665), 296, 98);
+ Add_Goto (Table.States (665), 304, 145);
+ Add_Goto (Table.States (665), 323, 146);
+ Add_Goto (Table.States (665), 324, 147);
+ Add_Goto (Table.States (665), 333, 148);
+ Table.States (665).Kernel := To_Vector ((0 => ((177, 0), 23, 1,
(2147483647, 0), 0)));
+ Table.States (665).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (666).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (666), 32, (225, 3), 833);
+ Table.States (666).Kernel := To_Vector ((0 => ((225, 3), 24, 2,
(2147483647, 0), 0)));
+ Table.States (666).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (225, 3), 32, 833)));
+ Table.States (667).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (667), (22, 23, 24), (178, 1), 1, null,
null);
+ Table.States (667).Kernel := To_Vector ((0 => ((178, 1), 177, 0,
(178, 1), 1)));
+ Table.States (667).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (178, 1), 1)));
+ Table.States (668).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (668), 22, (225, 0), 834);
+ Add_Action (Table.States (668), 23, (177, 0), 665);
+ Add_Action (Table.States (668), 24, (225, 2), 835);
+ Table.States (668).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (668), 177, 836);
+ Table.States (668).Kernel := To_Vector ((((178, 0), 178, 2,
(2147483647, 0), 0), ((225, 0), 178, 4,
+ (2147483647, 0), 0), ((225, 2), 178, 3, (2147483647, 0), 0)));
+ Table.States (668).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (225, 2), 24, 835)));
+ end Subr_13;
+ procedure Subr_14
+ is begin
+ Table.States (669).Action_List.Set_Capacity (40);
+ Add_Action (Table.States (669), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
+ 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 81,
96, 107, 108, 109, 110), (335, 0), 5,
with_clause_0'Access, null);
- Table.States (663).Kernel := To_Vector ((0 => (333, 97, 0,
False)));
- Table.States (663).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 333, 5)));
- Table.States (664).Action_List.Set_Capacity (2);
- Add_Action (Table.States (664), 74, 338);
- Add_Action (Table.States (664), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (664).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (664), 123, 828);
- Table.States (664).Kernel := To_Vector ((0 => (249, 60, 1,
False)));
- Table.States (664).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (665).Action_List.Set_Capacity (17);
- Add_Action (Table.States (665), 13, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (665), 24, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (665), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (665), 28, 184);
- Add_Action (Table.States (665), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (665), 30, 8);
- Add_Action (Table.States (665), 40, 12);
- Add_Action (Table.States (665), 46, 14);
- Add_Action (Table.States (665), 47, 15);
- Add_Action (Table.States (665), 48, 16);
- Add_Action (Table.States (665), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (665), 51, 19);
- Add_Action (Table.States (665), 63, 25);
- Add_Action (Table.States (665), 66, 26);
- Add_Action (Table.States (665), 69, 27);
- Add_Action (Table.States (665), 71, 28);
- Add_Action (Table.States (665), 105, 186);
- Table.States (665).Goto_List.Set_Capacity (53);
- Add_Goto (Table.States (665), 113, 36);
- Add_Goto (Table.States (665), 122, 38);
- Add_Goto (Table.States (665), 128, 41);
- Add_Goto (Table.States (665), 135, 46);
- Add_Goto (Table.States (665), 136, 47);
- Add_Goto (Table.States (665), 158, 392);
- Add_Goto (Table.States (665), 159, 393);
- Add_Goto (Table.States (665), 160, 829);
- Add_Goto (Table.States (665), 180, 55);
- Add_Goto (Table.States (665), 183, 56);
- Add_Goto (Table.States (665), 187, 57);
- Add_Goto (Table.States (665), 194, 59);
- Add_Goto (Table.States (665), 207, 61);
- Add_Goto (Table.States (665), 208, 62);
- Add_Goto (Table.States (665), 210, 63);
- Add_Goto (Table.States (665), 211, 64);
- Add_Goto (Table.States (665), 214, 65);
- Add_Goto (Table.States (665), 215, 66);
- Add_Goto (Table.States (665), 216, 67);
- Add_Goto (Table.States (665), 217, 68);
- Add_Goto (Table.States (665), 220, 70);
- Add_Goto (Table.States (665), 224, 72);
- Add_Goto (Table.States (665), 244, 75);
- Add_Goto (Table.States (665), 245, 76);
- Add_Goto (Table.States (665), 246, 77);
- Add_Goto (Table.States (665), 247, 78);
- Add_Goto (Table.States (665), 248, 79);
- Add_Goto (Table.States (665), 249, 80);
- Add_Goto (Table.States (665), 250, 81);
- Add_Goto (Table.States (665), 251, 82);
- Add_Goto (Table.States (665), 252, 83);
- Add_Goto (Table.States (665), 258, 395);
- Add_Goto (Table.States (665), 260, 85);
- Add_Goto (Table.States (665), 261, 86);
- Add_Goto (Table.States (665), 263, 88);
- Add_Goto (Table.States (665), 264, 89);
- Add_Goto (Table.States (665), 265, 90);
- Add_Goto (Table.States (665), 266, 91);
- Add_Goto (Table.States (665), 272, 92);
- Add_Goto (Table.States (665), 282, 95);
- Add_Goto (Table.States (665), 290, 96);
- Add_Goto (Table.States (665), 305, 103);
- Add_Goto (Table.States (665), 306, 104);
- Add_Goto (Table.States (665), 308, 106);
- Add_Goto (Table.States (665), 309, 107);
- Add_Goto (Table.States (665), 310, 108);
- Add_Goto (Table.States (665), 312, 109);
- Add_Goto (Table.States (665), 314, 110);
- Add_Goto (Table.States (665), 317, 112);
- Add_Goto (Table.States (665), 318, 113);
- Add_Goto (Table.States (665), 320, 114);
- Add_Goto (Table.States (665), 326, 116);
- Add_Goto (Table.States (665), 332, 117);
- Table.States (665).Kernel := To_Vector (((248, 35, 3, False),
(248, 35, 2, False)));
- Table.States (665).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 160, 0)));
- Table.States (666).Action_List.Set_Capacity (6);
- Add_Action (Table.States (666), 74, 338);
- Add_Action (Table.States (666), 76, 236);
- Add_Action (Table.States (666), 85, 238);
- Add_Action (Table.States (666), 97, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (666), 102, 240);
- Add_Action (Table.States (666), 103, 241);
- Table.States (666).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (666), 116, 242);
- Add_Goto (Table.States (666), 123, 830);
- Add_Goto (Table.States (666), 323, 243);
- Table.States (666).Kernel := To_Vector (((129, 240, 2, True),
(214, 240, 1, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (666).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (667).Action_List.Set_Capacity (1);
- Add_Action (Table.States (667), 97, 831);
- Table.States (667).Kernel := To_Vector ((0 => (251, 123, 1,
False)));
- Table.States (667).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 831)));
- Table.States (668).Action_List.Set_Capacity (2);
- Add_Action (Table.States (668), 24, 832);
- Add_Action (Table.States (668), 49, 833);
- Table.States (668).Kernel := To_Vector (((252, 160, 2, False),
(252, 160, 1, False)));
- Table.States (668).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 832)));
- Table.States (669).Action_List.Set_Capacity (1);
- Add_Action (Table.States (669), 97, 834);
- Table.States (669).Kernel := To_Vector ((0 => (258, 77, 1,
False)));
- Table.States (669).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 834)));
- Table.States (670).Action_List.Set_Capacity (1);
- Add_Action (Table.States (670), 97, 835);
- Table.States (670).Kernel := To_Vector ((0 => (258, 77, 1,
False)));
- Table.States (670).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 835)));
- Table.States (671).Action_List.Set_Capacity (2);
- Add_Action (Table.States (671), 74, 338);
- Add_Action (Table.States (671), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (671).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (671), 123, 836);
- Table.States (671).Kernel := To_Vector ((0 => (266, 60, 1,
False)));
- Table.States (671).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (672).Action_List.Set_Capacity (7);
- Add_Action (Table.States (672), 24, Reduce, (270, 1), 0, null,
null);
- Add_Action (Table.States (672), 25, 837);
- Add_Action (Table.States (672), 28, 184);
- Add_Action (Table.States (672), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (672), 40, 12);
- Add_Action (Table.States (672), 46, 14);
- Add_Action (Table.States (672), 50, Reduce, (247, 2), 0, null,
null);
- Table.States (672).Goto_List.Set_Capacity (15);
- Add_Goto (Table.States (672), 122, 838);
- Add_Goto (Table.States (672), 128, 41);
- Add_Goto (Table.States (672), 177, 839);
- Add_Goto (Table.States (672), 183, 56);
- Add_Goto (Table.States (672), 194, 840);
- Add_Goto (Table.States (672), 208, 62);
- Add_Goto (Table.States (672), 244, 841);
- Add_Goto (Table.States (672), 247, 842);
- Add_Goto (Table.States (672), 263, 88);
- Add_Goto (Table.States (672), 268, 843);
- Add_Goto (Table.States (672), 269, 844);
- Add_Goto (Table.States (672), 270, 845);
- Add_Goto (Table.States (672), 282, 95);
- Add_Goto (Table.States (672), 308, 846);
- Add_Goto (Table.States (672), 310, 847);
- Table.States (672).Kernel := To_Vector ((0 => (265, 35, 2,
False)));
- Table.States (672).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 270, 0)));
+ Table.States (669).Kernel := To_Vector ((0 => ((335, 0), 99, 0,
(335, 0), 5)));
+ Table.States (669).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (335, 0), 5)));
+ Table.States (670).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (670), 74, (125, 0), 340);
+ Add_Action (Table.States (670), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (670).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (670), 125, 837);
+ Table.States (670).Kernel := To_Vector ((0 => ((251, 0), 60, 1,
(2147483647, 0), 0)));
+ Table.States (670).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (671).Action_List.Set_Capacity (17);
+ Add_Action (Table.States (671), 13, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (671), 24, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (671), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (671), 28, (124, 0), 185);
+ Add_Action (Table.States (671), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (671), 30, (213, 0), 8);
+ Add_Action (Table.States (671), 40, (249, 0), 12);
+ Add_Action (Table.States (671), 46, (249, 1), 14);
+ Add_Action (Table.States (671), 47, (216, 0), 15);
+ Add_Action (Table.States (671), 48, (260, 0), 16);
+ Add_Action (Table.States (671), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (671), 51, (267, 0), 19);
+ Add_Action (Table.States (671), 63, (316, 0), 25);
+ Add_Action (Table.States (671), 66, (308, 0), 26);
+ Add_Action (Table.States (671), 69, (209, 0), 27);
+ Add_Action (Table.States (671), 71, (334, 0), 28);
+ Add_Action (Table.States (671), 107, (222, 1), 187);
+ Table.States (671).Goto_List.Set_Capacity (53);
+ Add_Goto (Table.States (671), 115, 36);
+ Add_Goto (Table.States (671), 124, 38);
+ Add_Goto (Table.States (671), 130, 41);
+ Add_Goto (Table.States (671), 137, 46);
+ Add_Goto (Table.States (671), 138, 47);
+ Add_Goto (Table.States (671), 160, 394);
+ Add_Goto (Table.States (671), 161, 395);
+ Add_Goto (Table.States (671), 162, 838);
+ Add_Goto (Table.States (671), 182, 55);
+ Add_Goto (Table.States (671), 185, 56);
+ Add_Goto (Table.States (671), 189, 57);
+ Add_Goto (Table.States (671), 196, 59);
+ Add_Goto (Table.States (671), 209, 61);
+ Add_Goto (Table.States (671), 210, 62);
+ Add_Goto (Table.States (671), 212, 63);
+ Add_Goto (Table.States (671), 213, 64);
+ Add_Goto (Table.States (671), 216, 65);
+ Add_Goto (Table.States (671), 217, 66);
+ Add_Goto (Table.States (671), 218, 67);
+ Add_Goto (Table.States (671), 219, 68);
+ Add_Goto (Table.States (671), 222, 70);
+ Add_Goto (Table.States (671), 226, 72);
+ Add_Goto (Table.States (671), 246, 75);
+ Add_Goto (Table.States (671), 247, 76);
+ Add_Goto (Table.States (671), 248, 77);
+ Add_Goto (Table.States (671), 249, 78);
+ Add_Goto (Table.States (671), 250, 79);
+ Add_Goto (Table.States (671), 251, 80);
+ Add_Goto (Table.States (671), 252, 81);
+ Add_Goto (Table.States (671), 253, 82);
+ Add_Goto (Table.States (671), 254, 83);
+ Add_Goto (Table.States (671), 260, 397);
+ Add_Goto (Table.States (671), 262, 85);
+ Add_Goto (Table.States (671), 263, 86);
+ Add_Goto (Table.States (671), 265, 88);
+ Add_Goto (Table.States (671), 266, 89);
+ Add_Goto (Table.States (671), 267, 90);
+ Add_Goto (Table.States (671), 268, 91);
+ Add_Goto (Table.States (671), 274, 92);
+ Add_Goto (Table.States (671), 284, 95);
+ Add_Goto (Table.States (671), 292, 96);
+ Add_Goto (Table.States (671), 307, 103);
+ Add_Goto (Table.States (671), 308, 104);
+ Add_Goto (Table.States (671), 310, 106);
+ Add_Goto (Table.States (671), 311, 107);
+ Add_Goto (Table.States (671), 312, 108);
+ Add_Goto (Table.States (671), 314, 109);
+ Add_Goto (Table.States (671), 316, 110);
+ Add_Goto (Table.States (671), 319, 112);
+ Add_Goto (Table.States (671), 320, 113);
+ Add_Goto (Table.States (671), 322, 114);
+ Add_Goto (Table.States (671), 328, 116);
+ Add_Goto (Table.States (671), 334, 117);
+ Table.States (671).Kernel := To_Vector ((((250, 0), 35, 3,
(2147483647, 0), 0), ((250, 1), 35, 2,
+ (2147483647, 0), 0)));
+ Table.States (671).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (162, 1), 0)));
+ Table.States (672).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (672), 74, (125, 0), 340);
+ Add_Action (Table.States (672), 76, (118, 0), 237);
+ Add_Action (Table.States (672), 87, (296, 0), 239);
+ Add_Action (Table.States (672), 99, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (672), 104, (325, 0), 241);
+ Add_Action (Table.States (672), 105, (325, 1), 242);
+ Table.States (672).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (672), 118, 243);
+ Add_Goto (Table.States (672), 125, 839);
+ Add_Goto (Table.States (672), 325, 244);
+ Table.States (672).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((216, 0), 242, 1,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (672).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
Table.States (673).Action_List.Set_Capacity (1);
- Add_Action (Table.States (673), 35, 848);
- Table.States (673).Kernel := To_Vector (((272, 123, 6, False),
(272, 123, 3, False)));
- Table.States (673).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 35, 848)));
- Table.States (674).Action_List.Set_Capacity (4);
- Add_Action (Table.States (674), 79, 31);
- Add_Action (Table.States (674), 105, 120);
- Add_Action (Table.States (674), 106, 34);
- Add_Action (Table.States (674), 107, 35);
- Table.States (674).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (674), 129, 42);
- Add_Goto (Table.States (674), 228, 849);
- Add_Goto (Table.States (674), 240, 850);
- Add_Goto (Table.States (674), 273, 93);
- Add_Goto (Table.States (674), 294, 98);
- Table.States (674).Kernel := To_Vector ((0 => (305, 39, 4,
False)));
- Table.States (674).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (675).Action_List.Set_Capacity (2);
- Add_Action (Table.States (675), 24, 851);
- Add_Action (Table.States (675), 49, 852);
- Table.States (675).Kernel := To_Vector (((267, 160, 2, False),
(267, 160, 1, False)));
- Table.States (675).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 851)));
+ Add_Action (Table.States (673), 99, (253, 0), 840);
+ Table.States (673).Kernel := To_Vector ((0 => ((253, 0), 125, 1,
(2147483647, 0), 0)));
+ Table.States (673).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (253, 0), 99, 840)));
+ Table.States (674).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (674), 24, (254, 1), 841);
+ Add_Action (Table.States (674), 49, (254, 0), 842);
+ Table.States (674).Kernel := To_Vector ((((254, 0), 162, 2,
(2147483647, 0), 0), ((254, 1), 162, 1,
+ (2147483647, 0), 0)));
+ Table.States (674).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (254, 1), 24, 841)));
+ Table.States (675).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (675), 99, (260, 0), 843);
+ Table.States (675).Kernel := To_Vector ((0 => ((260, 0), 78, 1,
(2147483647, 0), 0)));
+ Table.States (675).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (260, 0), 99, 843)));
Table.States (676).Action_List.Set_Capacity (1);
- Add_Action (Table.States (676), 97, 853);
- Table.States (676).Kernel := To_Vector ((0 => (305, 267, 1,
False)));
- Table.States (676).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 853)));
- Table.States (677).Action_List.Set_Capacity (47);
- Add_Action (Table.States (677), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (277, 0), 5, raise_statement_0'Access, null);
- Table.States (677).Kernel := To_Vector ((0 => (277, 97, 0,
False)));
- Table.States (677).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 277, 5)));
- Table.States (678).Action_List.Set_Capacity (47);
- Add_Action (Table.States (678), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (291, 0), 5, requeue_statement_0'Access, null);
- Table.States (678).Kernel := To_Vector ((0 => (291, 97, 0,
False)));
- Table.States (678).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 291, 5)));
- Table.States (679).Action_List.Set_Capacity (6);
- Add_Action (Table.States (679), 7, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (679), 40, 750);
- Add_Action (Table.States (679), 79, 31);
- Add_Action (Table.States (679), 105, 120);
- Add_Action (Table.States (679), 106, 34);
- Add_Action (Table.States (679), 107, 35);
- Table.States (679).Goto_List.Set_Capacity (8);
- Add_Goto (Table.States (679), 115, 854);
- Add_Goto (Table.States (679), 129, 42);
- Add_Goto (Table.States (679), 240, 487);
- Add_Goto (Table.States (679), 242, 729);
- Add_Goto (Table.States (679), 273, 93);
- Add_Goto (Table.States (679), 293, 855);
- Add_Goto (Table.States (679), 294, 98);
- Add_Goto (Table.States (679), 315, 856);
- Table.States (679).Kernel := To_Vector (((195, 155, 2, False),
(195, 155, 1, False)));
- Table.States (679).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (680).Action_List.Set_Capacity (1);
- Add_Action (Table.States (680), 58, 857);
- Table.States (680).Kernel := To_Vector ((0 => (197, 24, 2,
False)));
- Table.States (680).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 58, 857)));
- Table.States (681).Action_List.Set_Capacity (1);
- Add_Action (Table.States (681), 14, 858);
- Table.States (681).Kernel := To_Vector (((248, 47, 6, False),
(248, 47, 5, False)));
- Table.States (681).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 14, 858)));
+ Add_Action (Table.States (676), 99, (260, 1), 844);
+ Table.States (676).Kernel := To_Vector ((0 => ((260, 1), 78, 1,
(2147483647, 0), 0)));
+ Table.States (676).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (260, 1), 99, 844)));
+ Table.States (677).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (677), 74, (125, 0), 340);
+ Add_Action (Table.States (677), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (677).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (677), 125, 845);
+ Table.States (677).Kernel := To_Vector ((0 => ((268, 0), 60, 1,
(2147483647, 0), 0)));
+ Table.States (677).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (678).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (678), 24, Reduce, (272, 1), 0, null,
null);
+ Add_Action (Table.States (678), 25, (179, 0), 846);
+ Add_Action (Table.States (678), 28, (124, 0), 185);
+ Add_Action (Table.States (678), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (678), 40, (249, 0), 12);
+ Add_Action (Table.States (678), 46, (249, 1), 14);
+ Add_Action (Table.States (678), 50, Reduce, (249, 2), 0, null,
null);
+ Table.States (678).Goto_List.Set_Capacity (15);
+ Add_Goto (Table.States (678), 124, 847);
+ Add_Goto (Table.States (678), 130, 41);
+ Add_Goto (Table.States (678), 179, 848);
+ Add_Goto (Table.States (678), 185, 56);
+ Add_Goto (Table.States (678), 196, 849);
+ Add_Goto (Table.States (678), 210, 62);
+ Add_Goto (Table.States (678), 246, 850);
+ Add_Goto (Table.States (678), 249, 851);
+ Add_Goto (Table.States (678), 265, 88);
+ Add_Goto (Table.States (678), 270, 852);
+ Add_Goto (Table.States (678), 271, 853);
+ Add_Goto (Table.States (678), 272, 854);
+ Add_Goto (Table.States (678), 284, 95);
+ Add_Goto (Table.States (678), 310, 855);
+ Add_Goto (Table.States (678), 312, 856);
+ Table.States (678).Kernel := To_Vector ((0 => ((267, 0), 35, 2,
(2147483647, 0), 0)));
+ Table.States (678).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (272, 1), 0)));
+ Table.States (679).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (679), 35, (274, 0), 857);
+ Table.States (679).Kernel := To_Vector ((((274, 0), 125, 6,
(2147483647, 0), 0), ((274, 1), 125, 3,
+ (2147483647, 0), 0)));
+ Table.States (679).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (274, 0), 35, 857)));
+ Table.States (680).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (680), 81, (242, 8), 31);
+ Add_Action (Table.States (680), 107, (242, 5), 120);
+ Add_Action (Table.States (680), 108, (242, 7), 34);
+ Add_Action (Table.States (680), 109, (242, 6), 35);
+ Table.States (680).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (680), 131, 42);
+ Add_Goto (Table.States (680), 230, 858);
+ Add_Goto (Table.States (680), 242, 859);
+ Add_Goto (Table.States (680), 275, 93);
+ Add_Goto (Table.States (680), 296, 98);
+ Table.States (680).Kernel := To_Vector ((0 => ((307, 0), 39, 4,
(2147483647, 0), 0)));
+ Table.States (680).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (681).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (681), 24, (269, 1), 860);
+ Add_Action (Table.States (681), 49, (269, 0), 861);
+ Table.States (681).Kernel := To_Vector ((((269, 0), 162, 2,
(2147483647, 0), 0), ((269, 1), 162, 1,
+ (2147483647, 0), 0)));
Table.States (682).Action_List.Set_Capacity (1);
- Add_Action (Table.States (682), 14, 859);
- Table.States (682).Kernel := To_Vector ((0 => (265, 51, 5,
False)));
- Table.States (682).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 14, 859)));
- Table.States (683).Action_List.Set_Capacity (1);
- Add_Action (Table.States (683), 14, 860);
- Table.States (683).Kernel := To_Vector ((0 => (317, 66, 6,
False)));
- Table.States (683).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 14, 860)));
- Table.States (684).Action_List.Set_Capacity (2);
- Add_Action (Table.States (684), 29, 7);
- Add_Action (Table.States (684), 50, 18);
- Table.States (684).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (684), 208, 62);
- Add_Goto (Table.States (684), 263, 88);
- Add_Goto (Table.States (684), 313, 861);
- Table.States (684).Kernel := To_Vector ((0 => (308, 247, 6,
False)));
- Table.States (684).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 50, 18)));
- Table.States (685).Action_List.Set_Capacity (40);
- Add_Action (Table.States (685), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
- 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 79,
94, 105, 106, 107, 108), (316, 0), 5,
- subunit_0'Access, null);
- Table.States (685).Kernel := To_Vector ((0 => (316, 264, 0,
False)));
- Table.States (685).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 316, 5)));
+ Add_Action (Table.States (682), 99, (307, 1), 862);
+ Table.States (682).Kernel := To_Vector ((0 => ((307, 1), 269, 1,
(2147483647, 0), 0)));
+ Table.States (682).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (307, 1), 99, 862)));
+ Table.States (683).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (683), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (279, 0), 5, raise_statement_0'Access, null);
+ Table.States (683).Kernel := To_Vector ((0 => ((279, 0), 99, 0,
(279, 0), 5)));
+ Table.States (683).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (279, 0), 5)));
+ Table.States (684).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (684), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (293, 0), 5, requeue_statement_0'Access, null);
+ Table.States (684).Kernel := To_Vector ((0 => ((293, 0), 99, 0,
(293, 0), 5)));
+ Table.States (684).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (293, 0), 5)));
+ Table.States (685).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (685), 7, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (685), 40, (244, 0), 756);
+ Add_Action (Table.States (685), 81, (242, 8), 31);
+ Add_Action (Table.States (685), 107, (242, 5), 120);
+ Add_Action (Table.States (685), 108, (242, 7), 34);
+ Add_Action (Table.States (685), 109, (242, 6), 35);
+ Table.States (685).Goto_List.Set_Capacity (8);
+ Add_Goto (Table.States (685), 117, 863);
+ Add_Goto (Table.States (685), 131, 42);
+ Add_Goto (Table.States (685), 242, 491);
+ Add_Goto (Table.States (685), 244, 735);
+ Add_Goto (Table.States (685), 275, 93);
+ Add_Goto (Table.States (685), 295, 864);
+ Add_Goto (Table.States (685), 296, 98);
+ Add_Goto (Table.States (685), 317, 865);
+ Table.States (685).Kernel := To_Vector ((((197, 0), 157, 2,
(2147483647, 0), 0), ((197, 1), 157, 1,
+ (2147483647, 0), 0)));
+ Table.States (685).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
Table.States (686).Action_List.Set_Capacity (1);
- Add_Action (Table.States (686), 97, 862);
- Table.States (686).Kernel := To_Vector ((0 => (296, 67, 1,
False)));
- Table.States (686).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 862)));
- Table.States (687).Action_List.Set_Capacity (26);
- Add_Action (Table.States (687), 4, 1);
- Add_Action (Table.States (687), 5, 2);
- Add_Action (Table.States (687), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (687), 15, 3);
- Add_Action (Table.States (687), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (687), 18, 4);
- Add_Action (Table.States (687), 22, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (687), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (687), 27, 5);
- Add_Action (Table.States (687), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (687), 31, 9);
- Add_Action (Table.States (687), 32, 10);
- Add_Action (Table.States (687), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (687), 41, 13);
- Add_Action (Table.States (687), 43, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (687), 48, 16);
- Add_Action (Table.States (687), 52, 20);
- Add_Action (Table.States (687), 57, 21);
- Add_Action (Table.States (687), 58, 22);
- Add_Action (Table.States (687), 61, 24);
- Add_Action (Table.States (687), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (687), 79, 31);
- Add_Action (Table.States (687), 94, 32);
- Add_Action (Table.States (687), 105, 361);
- Add_Action (Table.States (687), 106, 34);
- Add_Action (Table.States (687), 107, 35);
- Table.States (687).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (687), 114, 37);
- Add_Goto (Table.States (687), 124, 39);
- Add_Goto (Table.States (687), 127, 40);
- Add_Goto (Table.States (687), 129, 42);
- Add_Goto (Table.States (687), 132, 43);
- Add_Goto (Table.States (687), 133, 44);
- Add_Goto (Table.States (687), 134, 45);
- Add_Goto (Table.States (687), 140, 48);
- Add_Goto (Table.States (687), 152, 51);
- Add_Goto (Table.States (687), 153, 52);
- Add_Goto (Table.States (687), 162, 54);
- Add_Goto (Table.States (687), 191, 58);
- Add_Goto (Table.States (687), 197, 60);
- Add_Goto (Table.States (687), 218, 69);
- Add_Goto (Table.States (687), 223, 71);
- Add_Goto (Table.States (687), 233, 73);
- Add_Goto (Table.States (687), 240, 74);
- Add_Goto (Table.States (687), 258, 84);
- Add_Goto (Table.States (687), 262, 87);
- Add_Goto (Table.States (687), 273, 93);
- Add_Goto (Table.States (687), 277, 94);
- Add_Goto (Table.States (687), 291, 97);
- Add_Goto (Table.States (687), 294, 98);
- Add_Goto (Table.States (687), 295, 99);
- Add_Goto (Table.States (687), 299, 100);
- Add_Goto (Table.States (687), 300, 362);
- Add_Goto (Table.States (687), 301, 863);
- Add_Goto (Table.States (687), 303, 101);
- Add_Goto (Table.States (687), 304, 102);
- Add_Goto (Table.States (687), 307, 364);
- Add_Goto (Table.States (687), 324, 115);
- Table.States (687).Kernel := To_Vector ((0 => (296, 114, 0,
False)));
- Table.States (687).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (688).Action_List.Set_Capacity (3);
- Add_Action (Table.States (688), (22, 24, 43), (296, 2), 4,
select_alternative_2'Access, null);
- Table.States (688).Kernel := To_Vector ((0 => (296, 161, 0,
False)));
- Table.States (688).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 296, 4)));
+ Add_Action (Table.States (686), 58, (199, 0), 866);
+ Table.States (686).Kernel := To_Vector ((0 => ((199, 0), 24, 2,
(2147483647, 0), 0)));
+ Table.States (686).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (199, 0), 58, 866)));
+ Table.States (687).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (687), 14, (250, 0), 867);
+ Table.States (687).Kernel := To_Vector ((((250, 0), 47, 6,
(2147483647, 0), 0), ((250, 1), 47, 5,
+ (2147483647, 0), 0)));
+ Table.States (687).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (250, 0), 14, 867)));
+ Table.States (688).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (688), 14, (267, 0), 868);
+ Table.States (688).Kernel := To_Vector ((0 => ((267, 0), 51, 5,
(2147483647, 0), 0)));
+ Table.States (688).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (267, 0), 14, 868)));
Table.States (689).Action_List.Set_Capacity (1);
- Add_Action (Table.States (689), 61, 864);
- Table.States (689).Kernel := To_Vector ((0 => (153, 24, 2,
False)));
- Table.States (689).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 61, 864)));
- Table.States (690).Action_List.Set_Capacity (1);
- Add_Action (Table.States (690), 61, 865);
- Table.States (690).Kernel := To_Vector ((0 => (324, 24, 2,
False)));
- Table.States (690).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 61, 865)));
- Table.States (691).Action_List.Set_Capacity (3);
- Add_Action (Table.States (691), (22, 24, 43), (161, 0), 2, null,
null);
- Table.States (691).Kernel := To_Vector ((0 => (161, 301, 0,
False)));
- Table.States (691).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 161, 2)));
+ Add_Action (Table.States (689), 14, (319, 0), 869);
+ Table.States (689).Kernel := To_Vector ((0 => ((319, 0), 66, 6,
(2147483647, 0), 0)));
+ Table.States (689).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (319, 0), 14, 869)));
+ Table.States (690).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (690), 29, (210, 0), 7);
+ Add_Action (Table.States (690), 50, (265, 0), 18);
+ Table.States (690).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (690), 210, 62);
+ Add_Goto (Table.States (690), 265, 88);
+ Add_Goto (Table.States (690), 315, 870);
+ Table.States (690).Kernel := To_Vector ((0 => ((310, 0), 249, 6,
(2147483647, 0), 0)));
+ Table.States (690).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (265, 0), 50, 18)));
+ Table.States (691).Action_List.Set_Capacity (40);
+ Add_Action (Table.States (691), (4, 5, 13, 15, 17, 18, 25, 27, 28,
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
+ 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 81,
96, 107, 108, 109, 110), (318, 0), 5,
+ subunit_0'Access, null);
+ Table.States (691).Kernel := To_Vector ((0 => ((318, 0), 266, 0,
(318, 0), 5)));
+ Table.States (691).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (318, 0), 5)));
Table.States (692).Action_List.Set_Capacity (1);
- Add_Action (Table.States (692), 61, 866);
- Table.States (692).Kernel := To_Vector ((0 => (295, 24, 2,
False)));
- Table.States (692).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 61, 866)));
- Table.States (693).Action_List.Set_Capacity (47);
- Add_Action (Table.States (693), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (295, 1), 5, selective_accept_1'Access, null);
- Table.States (693).Kernel := To_Vector ((0 => (295, 97, 0,
False)));
- Table.States (693).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 295, 5)));
- Table.States (694).Action_List.Set_Capacity (1);
- Add_Action (Table.States (694), 24, 867);
- Table.States (694).Kernel := To_Vector ((0 => (127, 301, 3,
False)));
- Table.States (694).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 867)));
+ Add_Action (Table.States (692), 99, (298, 1), 871);
+ Table.States (692).Kernel := To_Vector ((0 => ((298, 1), 67, 1,
(2147483647, 0), 0)));
+ Table.States (692).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (298, 1), 99, 871)));
+ Table.States (693).Action_List.Set_Capacity (26);
+ Add_Action (Table.States (693), 4, (116, 0), 1);
+ Add_Action (Table.States (693), 5, (306, 8), 2);
+ Add_Action (Table.States (693), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (693), 15, (142, 0), 3);
+ Add_Action (Table.States (693), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (693), 18, (164, 0), 4);
+ Add_Action (Table.States (693), 22, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (693), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (693), 27, (193, 0), 5);
+ Add_Action (Table.States (693), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (693), 31, (306, 3), 9);
+ Add_Action (Table.States (693), 32, (225, 0), 10);
+ Add_Action (Table.States (693), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (693), 41, (306, 0), 13);
+ Add_Action (Table.States (693), 43, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (693), 48, (260, 0), 16);
+ Add_Action (Table.States (693), 52, (279, 0), 20);
+ Add_Action (Table.States (693), 57, (293, 0), 21);
+ Add_Action (Table.States (693), 58, (199, 0), 22);
+ Add_Action (Table.States (693), 61, (129, 0), 24);
+ Add_Action (Table.States (693), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (693), 81, (242, 8), 31);
+ Add_Action (Table.States (693), 96, (220, 0), 32);
+ Add_Action (Table.States (693), 107, (134, 0), 363);
+ Add_Action (Table.States (693), 108, (242, 7), 34);
+ Add_Action (Table.States (693), 109, (242, 6), 35);
+ Table.States (693).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (693), 116, 37);
+ Add_Goto (Table.States (693), 126, 39);
+ Add_Goto (Table.States (693), 129, 40);
+ Add_Goto (Table.States (693), 131, 42);
+ Add_Goto (Table.States (693), 134, 43);
+ Add_Goto (Table.States (693), 135, 44);
+ Add_Goto (Table.States (693), 136, 45);
+ Add_Goto (Table.States (693), 142, 48);
+ Add_Goto (Table.States (693), 154, 51);
+ Add_Goto (Table.States (693), 155, 52);
+ Add_Goto (Table.States (693), 164, 54);
+ Add_Goto (Table.States (693), 193, 58);
+ Add_Goto (Table.States (693), 199, 60);
+ Add_Goto (Table.States (693), 220, 69);
+ Add_Goto (Table.States (693), 225, 71);
+ Add_Goto (Table.States (693), 235, 73);
+ Add_Goto (Table.States (693), 242, 74);
+ Add_Goto (Table.States (693), 260, 84);
+ Add_Goto (Table.States (693), 264, 87);
+ Add_Goto (Table.States (693), 275, 93);
+ Add_Goto (Table.States (693), 279, 94);
+ Add_Goto (Table.States (693), 293, 97);
+ Add_Goto (Table.States (693), 296, 98);
+ Add_Goto (Table.States (693), 297, 99);
+ Add_Goto (Table.States (693), 301, 100);
+ Add_Goto (Table.States (693), 302, 364);
+ Add_Goto (Table.States (693), 303, 872);
+ Add_Goto (Table.States (693), 305, 101);
+ Add_Goto (Table.States (693), 306, 102);
+ Add_Goto (Table.States (693), 309, 366);
+ Add_Goto (Table.States (693), 326, 115);
+ Table.States (693).Kernel := To_Vector ((0 => ((298, 0), 116, 0,
(303, 1), 0)));
+ Table.States (693).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
+ Table.States (694).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (694), (22, 24, 43), (298, 2), 4,
select_alternative_2'Access, null);
+ Table.States (694).Kernel := To_Vector ((0 => ((298, 2), 163, 0,
(298, 2), 4)));
+ Table.States (694).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (298, 2), 4)));
Table.States (695).Action_List.Set_Capacity (1);
- Add_Action (Table.States (695), 97, 868);
- Table.States (695).Kernel := To_Vector ((0 => (314, 123, 1,
False)));
- Table.States (695).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 868)));
- Table.States (696).Action_List.Set_Capacity (2);
- Add_Action (Table.States (696), 74, 338);
- Add_Action (Table.States (696), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (696).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (696), 123, 869);
- Table.States (696).Kernel := To_Vector ((0 => (318, 60, 1,
False)));
- Table.States (696).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (697).Action_List.Set_Capacity (16);
- Add_Action (Table.States (697), 13, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (697), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (697), 28, 184);
- Add_Action (Table.States (697), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (697), 30, 8);
- Add_Action (Table.States (697), 40, 12);
- Add_Action (Table.States (697), 46, 14);
- Add_Action (Table.States (697), 47, 15);
- Add_Action (Table.States (697), 48, 16);
- Add_Action (Table.States (697), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (697), 51, 19);
- Add_Action (Table.States (697), 63, 25);
- Add_Action (Table.States (697), 66, 26);
- Add_Action (Table.States (697), 69, 27);
- Add_Action (Table.States (697), 71, 28);
- Add_Action (Table.States (697), 105, 186);
- Table.States (697).Goto_List.Set_Capacity (53);
- Add_Goto (Table.States (697), 113, 36);
- Add_Goto (Table.States (697), 122, 38);
- Add_Goto (Table.States (697), 128, 41);
- Add_Goto (Table.States (697), 135, 46);
- Add_Goto (Table.States (697), 136, 47);
- Add_Goto (Table.States (697), 158, 392);
- Add_Goto (Table.States (697), 159, 393);
- Add_Goto (Table.States (697), 160, 870);
- Add_Goto (Table.States (697), 180, 55);
- Add_Goto (Table.States (697), 183, 56);
- Add_Goto (Table.States (697), 187, 57);
- Add_Goto (Table.States (697), 194, 59);
- Add_Goto (Table.States (697), 207, 61);
- Add_Goto (Table.States (697), 208, 62);
- Add_Goto (Table.States (697), 210, 63);
- Add_Goto (Table.States (697), 211, 64);
- Add_Goto (Table.States (697), 214, 65);
- Add_Goto (Table.States (697), 215, 66);
- Add_Goto (Table.States (697), 216, 67);
- Add_Goto (Table.States (697), 217, 68);
- Add_Goto (Table.States (697), 220, 70);
- Add_Goto (Table.States (697), 224, 72);
- Add_Goto (Table.States (697), 244, 75);
- Add_Goto (Table.States (697), 245, 76);
- Add_Goto (Table.States (697), 246, 77);
- Add_Goto (Table.States (697), 247, 78);
- Add_Goto (Table.States (697), 248, 79);
- Add_Goto (Table.States (697), 249, 80);
- Add_Goto (Table.States (697), 250, 81);
- Add_Goto (Table.States (697), 251, 82);
- Add_Goto (Table.States (697), 252, 83);
- Add_Goto (Table.States (697), 258, 395);
- Add_Goto (Table.States (697), 260, 85);
- Add_Goto (Table.States (697), 261, 86);
- Add_Goto (Table.States (697), 263, 88);
- Add_Goto (Table.States (697), 264, 89);
- Add_Goto (Table.States (697), 265, 90);
- Add_Goto (Table.States (697), 266, 91);
- Add_Goto (Table.States (697), 272, 92);
- Add_Goto (Table.States (697), 282, 95);
- Add_Goto (Table.States (697), 290, 96);
- Add_Goto (Table.States (697), 305, 103);
- Add_Goto (Table.States (697), 306, 104);
- Add_Goto (Table.States (697), 308, 106);
- Add_Goto (Table.States (697), 309, 107);
- Add_Goto (Table.States (697), 310, 108);
- Add_Goto (Table.States (697), 312, 109);
- Add_Goto (Table.States (697), 314, 110);
- Add_Goto (Table.States (697), 317, 112);
- Add_Goto (Table.States (697), 318, 113);
- Add_Goto (Table.States (697), 320, 114);
- Add_Goto (Table.States (697), 326, 116);
- Add_Goto (Table.States (697), 332, 117);
- Table.States (697).Kernel := To_Vector ((0 => (317, 35, 3,
False)));
- Table.States (697).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 160, 0)));
- Table.States (698).Action_List.Set_Capacity (2);
- Add_Action (Table.States (698), 35, 871);
- Add_Action (Table.States (698), 97, 872);
- Table.States (698).Kernel := To_Vector (((320, 123, 6, False),
(320, 123, 3, False), (320, 123, 1,
- False)));
- Table.States (698).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 872)));
- Table.States (699).Action_List.Set_Capacity (4);
- Add_Action (Table.States (699), 79, 31);
- Add_Action (Table.States (699), 105, 120);
- Add_Action (Table.States (699), 106, 34);
- Add_Action (Table.States (699), 107, 35);
- Table.States (699).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (699), 129, 42);
- Add_Goto (Table.States (699), 228, 873);
- Add_Goto (Table.States (699), 240, 850);
- Add_Goto (Table.States (699), 273, 93);
- Add_Goto (Table.States (699), 294, 98);
- Table.States (699).Kernel := To_Vector ((0 => (306, 39, 4,
False)));
- Table.States (699).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (700).Action_List.Set_Capacity (2);
- Add_Action (Table.States (700), 24, Reduce, (319, 1), 1,
task_definition_1'Access, null);
- Add_Action (Table.States (700), 49, 874);
- Table.States (700).Kernel := To_Vector (((319, 160, 1, False),
(319, 160, 0, False)));
- Table.States (700).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 319, 1)));
+ Add_Action (Table.States (695), 61, (155, 0), 873);
+ Table.States (695).Kernel := To_Vector ((0 => ((155, 0), 24, 2,
(2147483647, 0), 0)));
+ Table.States (695).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (155, 0), 61, 873)));
+ Table.States (696).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (696), 61, (326, 0), 874);
+ Table.States (696).Kernel := To_Vector ((0 => ((326, 0), 24, 2,
(2147483647, 0), 0)));
+ Table.States (696).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (326, 0), 61, 874)));
+ Table.States (697).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (697), (22, 24, 43), (163, 0), 2, null,
null);
+ Table.States (697).Kernel := To_Vector ((0 => ((163, 0), 303, 0,
(163, 0), 2)));
+ Table.States (697).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (163, 0), 2)));
+ Table.States (698).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (698), 61, (297, 0), 875);
+ Table.States (698).Kernel := To_Vector ((0 => ((297, 0), 24, 2,
(2147483647, 0), 0)));
+ Table.States (698).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (297, 0), 61, 875)));
+ Table.States (699).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (699), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (297, 1), 5, selective_accept_1'Access, null);
+ Table.States (699).Kernel := To_Vector ((0 => ((297, 1), 99, 0,
(297, 1), 5)));
+ Table.States (699).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (297, 1), 5)));
+ Table.States (700).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (700), 24, (129, 0), 876);
+ Table.States (700).Kernel := To_Vector ((0 => ((129, 0), 303, 3,
(2147483647, 0), 0)));
+ Table.States (700).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (129, 0), 24, 876)));
Table.States (701).Action_List.Set_Capacity (1);
- Add_Action (Table.States (701), 24, 875);
- Table.States (701).Kernel := To_Vector ((0 => (306, 319, 2,
False)));
- Table.States (701).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 875)));
- Table.States (702).Action_List.Set_Capacity (3);
- Add_Action (Table.States (702), (35, 74, 97), (170, 0), 3, null,
null);
- Table.States (702).Kernel := To_Vector ((0 => (170, 77, 0,
False)));
- Table.States (702).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 170, 3)));
- Table.States (703).Action_List.Set_Capacity (3);
- Add_Action (Table.States (703), (35, 74, 97), (170, 1), 3,
discriminant_part_opt_1'Access, null);
- Table.States (703).Kernel := To_Vector ((0 => (170, 77, 0,
False)));
- Table.States (703).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 170, 3)));
- Table.States (704).Action_List.Set_Capacity (3);
- Add_Action (Table.States (704), 77, Reduce, (171, 4), 0, null,
null);
- Add_Action (Table.States (704), 97, Reduce, (171, 4), 0, null,
null);
- Add_Action (Table.States (704), 105, 165);
- Table.States (704).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (704), 171, 876);
- Add_Goto (Table.States (704), 220, 551);
- Table.States (704).Kernel := To_Vector ((0 => (172, 97, 0, True)));
- Table.States (704).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 171, 0)));
- Table.States (704).Minimal_Complete_Actions_Recursive := True;
- Table.States (705).Action_List.Set_Capacity (6);
- Add_Action (Table.States (705), 7, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (705), 40, 877);
- Add_Action (Table.States (705), 79, 31);
- Add_Action (Table.States (705), 105, 878);
- Add_Action (Table.States (705), 106, 34);
- Add_Action (Table.States (705), 107, 35);
- Table.States (705).Goto_List.Set_Capacity (7);
- Add_Goto (Table.States (705), 115, 879);
- Add_Goto (Table.States (705), 129, 42);
- Add_Goto (Table.States (705), 240, 880);
- Add_Goto (Table.States (705), 242, 729);
- Add_Goto (Table.States (705), 243, 881);
- Add_Goto (Table.States (705), 273, 93);
- Add_Goto (Table.States (705), 294, 882);
- Table.States (705).Kernel := To_Vector (((171, 82, 2, False),
(171, 82, 3, False), (171, 82, 1, False),
- (171, 82, 2, False)));
- Table.States (705).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 878)));
- end Subr_13;
- procedure Subr_14
- is begin
- Table.States (706).Action_List.Set_Capacity (4);
- Add_Action (Table.States (706), 36, 883);
- Add_Action (Table.States (706), 39, Reduce, (110, 2), 1, null,
null);
- Add_Conflict (Table.States (706), 39, (111, 2), 1, null, null);
- Add_Action (Table.States (706), 64, 884);
- Add_Action (Table.States (706), 65, 885);
- Table.States (706).Kernel := To_Vector (((110, 6, 1, False), (110,
6, 1, False), (110, 6, 0, False), (111,
- 6, 1, False), (111, 6, 0, False), (112, 6, 2, False), (112, 6, 1,
False)));
- Table.States (706).Minimal_Complete_Actions := To_Vector
(((Reduce, 110, 1), (Reduce, 111, 1)));
+ Add_Action (Table.States (701), 99, (316, 0), 877);
+ Table.States (701).Kernel := To_Vector ((0 => ((316, 0), 125, 1,
(2147483647, 0), 0)));
+ Table.States (701).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (316, 0), 99, 877)));
+ Table.States (702).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (702), 74, (125, 0), 340);
+ Add_Action (Table.States (702), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (702).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (702), 125, 878);
+ Table.States (702).Kernel := To_Vector ((0 => ((320, 0), 60, 1,
(2147483647, 0), 0)));
+ Table.States (702).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (703).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (703), 13, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (703), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (703), 28, (124, 0), 185);
+ Add_Action (Table.States (703), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (703), 30, (213, 0), 8);
+ Add_Action (Table.States (703), 40, (249, 0), 12);
+ Add_Action (Table.States (703), 46, (249, 1), 14);
+ Add_Action (Table.States (703), 47, (216, 0), 15);
+ Add_Action (Table.States (703), 48, (260, 0), 16);
+ Add_Action (Table.States (703), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (703), 51, (267, 0), 19);
+ Add_Action (Table.States (703), 63, (316, 0), 25);
+ Add_Action (Table.States (703), 66, (308, 0), 26);
+ Add_Action (Table.States (703), 69, (209, 0), 27);
+ Add_Action (Table.States (703), 71, (334, 0), 28);
+ Add_Action (Table.States (703), 107, (222, 1), 187);
+ Table.States (703).Goto_List.Set_Capacity (53);
+ Add_Goto (Table.States (703), 115, 36);
+ Add_Goto (Table.States (703), 124, 38);
+ Add_Goto (Table.States (703), 130, 41);
+ Add_Goto (Table.States (703), 137, 46);
+ Add_Goto (Table.States (703), 138, 47);
+ Add_Goto (Table.States (703), 160, 394);
+ Add_Goto (Table.States (703), 161, 395);
+ Add_Goto (Table.States (703), 162, 879);
+ Add_Goto (Table.States (703), 182, 55);
+ Add_Goto (Table.States (703), 185, 56);
+ Add_Goto (Table.States (703), 189, 57);
+ Add_Goto (Table.States (703), 196, 59);
+ Add_Goto (Table.States (703), 209, 61);
+ Add_Goto (Table.States (703), 210, 62);
+ Add_Goto (Table.States (703), 212, 63);
+ Add_Goto (Table.States (703), 213, 64);
+ Add_Goto (Table.States (703), 216, 65);
+ Add_Goto (Table.States (703), 217, 66);
+ Add_Goto (Table.States (703), 218, 67);
+ Add_Goto (Table.States (703), 219, 68);
+ Add_Goto (Table.States (703), 222, 70);
+ Add_Goto (Table.States (703), 226, 72);
+ Add_Goto (Table.States (703), 246, 75);
+ Add_Goto (Table.States (703), 247, 76);
+ Add_Goto (Table.States (703), 248, 77);
+ Add_Goto (Table.States (703), 249, 78);
+ Add_Goto (Table.States (703), 250, 79);
+ Add_Goto (Table.States (703), 251, 80);
+ Add_Goto (Table.States (703), 252, 81);
+ Add_Goto (Table.States (703), 253, 82);
+ Add_Goto (Table.States (703), 254, 83);
+ Add_Goto (Table.States (703), 260, 397);
+ Add_Goto (Table.States (703), 262, 85);
+ Add_Goto (Table.States (703), 263, 86);
+ Add_Goto (Table.States (703), 265, 88);
+ Add_Goto (Table.States (703), 266, 89);
+ Add_Goto (Table.States (703), 267, 90);
+ Add_Goto (Table.States (703), 268, 91);
+ Add_Goto (Table.States (703), 274, 92);
+ Add_Goto (Table.States (703), 284, 95);
+ Add_Goto (Table.States (703), 292, 96);
+ Add_Goto (Table.States (703), 307, 103);
+ Add_Goto (Table.States (703), 308, 104);
+ Add_Goto (Table.States (703), 310, 106);
+ Add_Goto (Table.States (703), 311, 107);
+ Add_Goto (Table.States (703), 312, 108);
+ Add_Goto (Table.States (703), 314, 109);
+ Add_Goto (Table.States (703), 316, 110);
+ Add_Goto (Table.States (703), 319, 112);
+ Add_Goto (Table.States (703), 320, 113);
+ Add_Goto (Table.States (703), 322, 114);
+ Add_Goto (Table.States (703), 328, 116);
+ Add_Goto (Table.States (703), 334, 117);
+ Table.States (703).Kernel := To_Vector ((0 => ((319, 0), 35, 3,
(2147483647, 0), 0)));
+ Table.States (703).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (162, 1), 0)));
+ Table.States (704).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (704), 35, (322, 0), 880);
+ Add_Action (Table.States (704), 99, (322, 2), 881);
+ Table.States (704).Kernel := To_Vector ((((322, 0), 125, 6,
(2147483647, 0), 0), ((322, 1), 125, 3,
+ (2147483647, 0), 0), ((322, 2), 125, 1, (2147483647, 0), 0)));
+ Table.States (704).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (322, 2), 99, 881)));
+ Table.States (705).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (705), 81, (242, 8), 31);
+ Add_Action (Table.States (705), 107, (242, 5), 120);
+ Add_Action (Table.States (705), 108, (242, 7), 34);
+ Add_Action (Table.States (705), 109, (242, 6), 35);
+ Table.States (705).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (705), 131, 42);
+ Add_Goto (Table.States (705), 230, 882);
+ Add_Goto (Table.States (705), 242, 859);
+ Add_Goto (Table.States (705), 275, 93);
+ Add_Goto (Table.States (705), 296, 98);
+ Table.States (705).Kernel := To_Vector ((0 => ((308, 0), 39, 4,
(2147483647, 0), 0)));
+ Table.States (705).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (706).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (706), 24, Reduce, (321, 1), 1,
task_definition_1'Access, null);
+ Add_Action (Table.States (706), 49, (321, 0), 883);
+ Table.States (706).Kernel := To_Vector ((((321, 0), 162, 1,
(2147483647, 0), 0), ((321, 1), 162, 0,
+ (321, 1), 1)));
+ Table.States (706).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (321, 1), 1)));
Table.States (707).Action_List.Set_Capacity (1);
- Add_Action (Table.States (707), 76, 886);
- Table.States (707).Kernel := To_Vector (((121, 11, 7, False),
(121, 11, 7, False)));
- Table.States (707).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 76, 886)));
- Table.States (708).Action_List.Set_Capacity (17);
- Add_Action (Table.States (708), 3, 122);
- Add_Action (Table.States (708), 20, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (708), 39, 123);
- Add_Action (Table.States (708), 40, 124);
- Add_Action (Table.States (708), 41, 125);
- Add_Action (Table.States (708), 52, 126);
- Add_Action (Table.States (708), 53, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (708), 74, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (708), 76, 127);
- Add_Action (Table.States (708), 79, 31);
- Add_Action (Table.States (708), 95, 128);
- Add_Action (Table.States (708), 96, 129);
- Add_Action (Table.States (708), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (708), 104, 130);
- Add_Action (Table.States (708), 105, 120);
- Add_Action (Table.States (708), 106, 34);
- Add_Action (Table.States (708), 107, 35);
- Table.States (708).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (708), 118, 131);
- Add_Goto (Table.States (708), 129, 42);
- Add_Goto (Table.States (708), 192, 132);
- Add_Goto (Table.States (708), 193, 887);
- Add_Goto (Table.States (708), 198, 134);
- Add_Goto (Table.States (708), 240, 135);
- Add_Goto (Table.States (708), 259, 136);
- Add_Goto (Table.States (708), 273, 93);
- Add_Goto (Table.States (708), 276, 137);
- Add_Goto (Table.States (708), 283, 138);
- Add_Goto (Table.States (708), 284, 139);
- Add_Goto (Table.States (708), 285, 140);
- Add_Goto (Table.States (708), 286, 141);
- Add_Goto (Table.States (708), 287, 142);
- Add_Goto (Table.States (708), 288, 143);
- Add_Goto (Table.States (708), 294, 98);
- Add_Goto (Table.States (708), 302, 144);
- Add_Goto (Table.States (708), 321, 145);
- Add_Goto (Table.States (708), 322, 146);
- Add_Goto (Table.States (708), 331, 147);
- Table.States (708).Kernel := To_Vector (((327, 19, 1, False),
(327, 19, 0, False)));
- Table.States (708).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (709).Action_List.Set_Capacity (16);
- Add_Action (Table.States (709), 3, 122);
- Add_Action (Table.States (709), 39, 123);
- Add_Action (Table.States (709), 40, 124);
- Add_Action (Table.States (709), 41, 125);
- Add_Action (Table.States (709), 52, 126);
- Add_Action (Table.States (709), 53, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (709), 74, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (709), 76, 127);
- Add_Action (Table.States (709), 79, 31);
- Add_Action (Table.States (709), 95, 128);
- Add_Action (Table.States (709), 96, 129);
- Add_Action (Table.States (709), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (709), 104, 130);
- Add_Action (Table.States (709), 105, 120);
- Add_Action (Table.States (709), 106, 34);
- Add_Action (Table.States (709), 107, 35);
- Table.States (709).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (709), 118, 131);
- Add_Goto (Table.States (709), 129, 42);
- Add_Goto (Table.States (709), 192, 132);
- Add_Goto (Table.States (709), 193, 888);
- Add_Goto (Table.States (709), 198, 134);
- Add_Goto (Table.States (709), 240, 135);
- Add_Goto (Table.States (709), 259, 136);
- Add_Goto (Table.States (709), 273, 93);
- Add_Goto (Table.States (709), 276, 137);
- Add_Goto (Table.States (709), 283, 138);
- Add_Goto (Table.States (709), 284, 139);
- Add_Goto (Table.States (709), 285, 140);
- Add_Goto (Table.States (709), 286, 141);
- Add_Goto (Table.States (709), 287, 142);
- Add_Goto (Table.States (709), 288, 143);
- Add_Goto (Table.States (709), 294, 98);
- Add_Goto (Table.States (709), 302, 144);
- Add_Goto (Table.States (709), 321, 145);
- Add_Goto (Table.States (709), 322, 146);
- Add_Goto (Table.States (709), 331, 147);
- Table.States (709).Kernel := To_Vector ((0 => (327, 20, 0,
False)));
- Table.States (709).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (710).Action_List.Set_Capacity (2);
- Add_Action (Table.States (710), (74, 97), (229, 8), 1, null, null);
- Table.States (710).Kernel := To_Vector ((0 => (229, 34, 0,
False)));
- Table.States (710).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 229, 1)));
- Table.States (711).Action_List.Set_Capacity (5);
- Add_Action (Table.States (711), 34, 889);
- Add_Action (Table.States (711), 39, Reduce, (110, 3), 1, null,
null);
- Add_Conflict (Table.States (711), 39, (111, 1), 1, null, null);
- Add_Action (Table.States (711), 41, Reduce, (112, 4), 1, null,
null);
- Add_Action (Table.States (711), 49, Reduce, (112, 4), 1, null,
null);
- Add_Action (Table.States (711), 54, Reduce, (112, 4), 1, null,
null);
- Table.States (711).Kernel := To_Vector (((110, 36, 0, False),
(111, 36, 0, False), (112, 36, 0, False),
- (229, 36, 3, False), (229, 36, 1, False)));
- Table.States (711).Minimal_Complete_Actions := To_Vector
(((Reduce, 110, 1), (Reduce, 111, 1), (Reduce,
- 112, 1)));
- Table.States (712).Action_List.Set_Capacity (15);
- Add_Action (Table.States (712), 3, 122);
- Add_Action (Table.States (712), 39, 123);
- Add_Action (Table.States (712), 40, 124);
- Add_Action (Table.States (712), 41, 125);
- Add_Action (Table.States (712), 52, 126);
- Add_Action (Table.States (712), 74, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (712), 76, 127);
- Add_Action (Table.States (712), 79, 31);
- Add_Action (Table.States (712), 95, 128);
- Add_Action (Table.States (712), 96, 129);
- Add_Action (Table.States (712), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (712), 104, 130);
- Add_Action (Table.States (712), 105, 120);
- Add_Action (Table.States (712), 106, 34);
- Add_Action (Table.States (712), 107, 35);
- Table.States (712).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (712), 118, 131);
- Add_Goto (Table.States (712), 129, 42);
- Add_Goto (Table.States (712), 192, 132);
- Add_Goto (Table.States (712), 193, 890);
- Add_Goto (Table.States (712), 198, 134);
- Add_Goto (Table.States (712), 240, 135);
- Add_Goto (Table.States (712), 259, 136);
- Add_Goto (Table.States (712), 273, 93);
- Add_Goto (Table.States (712), 276, 137);
- Add_Goto (Table.States (712), 283, 138);
- Add_Goto (Table.States (712), 284, 139);
- Add_Goto (Table.States (712), 285, 140);
- Add_Goto (Table.States (712), 286, 141);
- Add_Goto (Table.States (712), 287, 142);
- Add_Goto (Table.States (712), 288, 143);
- Add_Goto (Table.States (712), 294, 98);
- Add_Goto (Table.States (712), 302, 144);
- Add_Goto (Table.States (712), 321, 145);
- Add_Goto (Table.States (712), 322, 146);
- Add_Goto (Table.States (712), 331, 147);
- Table.States (712).Kernel := To_Vector ((0 => (327, 38, 0,
False)));
- Table.States (712).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
+ Add_Action (Table.States (707), 24, (308, 1), 884);
+ Table.States (707).Kernel := To_Vector ((0 => ((308, 1), 321, 2,
(2147483647, 0), 0)));
+ Table.States (707).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (308, 1), 24, 884)));
+ Table.States (708).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (708), (35, 74, 99), (172, 0), 3, null,
null);
+ Table.States (708).Kernel := To_Vector ((0 => ((172, 0), 78, 0,
(172, 0), 3)));
+ Table.States (708).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (172, 0), 3)));
+ Table.States (709).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (709), (35, 74, 99), (172, 1), 3,
discriminant_part_opt_1'Access, null);
+ Table.States (709).Kernel := To_Vector ((0 => ((172, 1), 78, 0,
(172, 1), 3)));
+ Table.States (709).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (172, 1), 3)));
+ Table.States (710).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (710), 78, Reduce, (173, 4), 0, null,
null);
+ Add_Action (Table.States (710), 99, Reduce, (173, 4), 0, null,
null);
+ Add_Action (Table.States (710), 107, (222, 1), 166);
+ Table.States (710).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (710), 173, 885);
+ Add_Goto (Table.States (710), 222, 555);
+ Table.States (710).Kernel := To_Vector ((0 => ((174, 0), 99, 0,
(173, 4), 0)));
+ Table.States (710).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (173, 4), 0)));
+ Table.States (711).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (711), 7, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (711), 40, (244, 0), 886);
+ Add_Action (Table.States (711), 81, (242, 8), 31);
+ Add_Action (Table.States (711), 107, (242, 5), 887);
+ Add_Action (Table.States (711), 108, (242, 7), 34);
+ Add_Action (Table.States (711), 109, (242, 6), 35);
+ Table.States (711).Goto_List.Set_Capacity (7);
+ Add_Goto (Table.States (711), 117, 888);
+ Add_Goto (Table.States (711), 131, 42);
+ Add_Goto (Table.States (711), 242, 889);
+ Add_Goto (Table.States (711), 244, 735);
+ Add_Goto (Table.States (711), 245, 890);
+ Add_Goto (Table.States (711), 275, 93);
+ Add_Goto (Table.States (711), 296, 891);
+ Table.States (711).Kernel := To_Vector ((((173, 0), 84, 2,
(2147483647, 0), 0), ((173, 1), 84, 3,
+ (2147483647, 0), 0), ((173, 2), 84, 1, (2147483647, 0), 0),
((173, 3), 84, 2, (2147483647, 0), 0)));
+ Table.States (711).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 887)));
+ Table.States (712).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (712), 36, (112, 0), 892);
+ Add_Action (Table.States (712), 39, Reduce, (112, 2), 1, null,
null);
+ Add_Conflict (Table.States (712), 39, (113, 2), 1, null, null);
+ Add_Action (Table.States (712), 64, (112, 1), 893);
+ Add_Action (Table.States (712), 65, (114, 0), 894);
+ Table.States (712).Kernel := To_Vector ((((112, 0), 6, 1,
(2147483647, 0), 0), ((112, 1), 6, 1,
+ (2147483647, 0), 0), ((112, 2), 6, 0, (112, 2), 1), ((113, 0),
6, 1, (2147483647, 0), 0), ((113, 2),
+ 6, 0, (113, 2), 1), ((114, 0), 6, 2, (2147483647, 0), 0),
((114, 1), 6, 1, (2147483647, 0), 0)));
+ Table.States (712).Minimal_Complete_Actions := To_Vector (((Shift,
(112, 0), 36, 892), (Shift, (112, 1),
+ 64, 893), (Reduce, (112, 2), 1), (Reduce, (113, 2), 1), (Shift,
(114, 0), 65, 894)));
Table.States (713).Action_List.Set_Capacity (1);
- Add_Action (Table.States (713), 54, 891);
- Table.States (713).Kernel := To_Vector ((0 => (281, 41, 1,
False)));
- Table.States (713).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 54, 891)));
- Table.States (714).Action_List.Set_Capacity (1);
- Add_Action (Table.States (714), 34, 892);
- Table.States (714).Kernel := To_Vector (((229, 51, 3, False),
(229, 51, 1, False)));
- Table.States (714).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 892)));
- Table.States (715).Action_List.Set_Capacity (12);
- Add_Action (Table.States (715), 3, 122);
- Add_Action (Table.States (715), 39, 123);
- Add_Action (Table.States (715), 40, 124);
- Add_Action (Table.States (715), 41, 125);
- Add_Action (Table.States (715), 76, 127);
- Add_Action (Table.States (715), 79, 31);
- Add_Action (Table.States (715), 95, 128);
- Add_Action (Table.States (715), 96, 129);
- Add_Action (Table.States (715), 104, 130);
- Add_Action (Table.States (715), 105, 120);
- Add_Action (Table.States (715), 106, 34);
- Add_Action (Table.States (715), 107, 35);
- Table.States (715).Goto_List.Set_Capacity (11);
- Add_Goto (Table.States (715), 118, 131);
- Add_Goto (Table.States (715), 129, 42);
- Add_Goto (Table.States (715), 198, 134);
- Add_Goto (Table.States (715), 240, 135);
- Add_Goto (Table.States (715), 259, 136);
- Add_Goto (Table.States (715), 273, 93);
- Add_Goto (Table.States (715), 294, 98);
- Add_Goto (Table.States (715), 302, 893);
- Add_Goto (Table.States (715), 321, 145);
- Add_Goto (Table.States (715), 322, 146);
- Add_Goto (Table.States (715), 331, 147);
- Table.States (715).Kernel := To_Vector ((0 => (327, 53, 3,
False)));
- Table.States (715).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (716).Action_List.Set_Capacity (5);
- Add_Action (Table.States (716), 15, 894);
- Add_Action (Table.States (716), 24, Reduce, (151, 1), 0, null,
null);
- Add_Action (Table.States (716), 28, 184);
- Add_Action (Table.States (716), 41, 895);
- Add_Action (Table.States (716), 105, 165);
- Table.States (716).Goto_List.Set_Capacity (10);
- Add_Goto (Table.States (716), 122, 896);
- Add_Goto (Table.States (716), 128, 41);
- Add_Goto (Table.States (716), 147, 897);
- Add_Goto (Table.States (716), 149, 898);
- Add_Goto (Table.States (716), 150, 899);
- Add_Goto (Table.States (716), 151, 900);
- Add_Goto (Table.States (716), 183, 56);
- Add_Goto (Table.States (716), 220, 901);
- Add_Goto (Table.States (716), 282, 95);
- Add_Goto (Table.States (716), 328, 902);
- Table.States (716).Kernel := To_Vector ((0 => (281, 54, 2,
False)));
- Table.States (716).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 151, 0)));
- Table.States (717).Action_List.Set_Capacity (2);
- Add_Action (Table.States (717), 34, 903);
- Add_Action (Table.States (717), 39, Reduce, (110, 4), 1, null,
null);
- Table.States (717).Kernel := To_Vector (((110, 64, 0, False),
(229, 64, 3, False), (229, 64, 1, False)));
- Table.States (717).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 110, 1)));
- Table.States (718).Action_List.Set_Capacity (5);
- Add_Action (Table.States (718), 36, 904);
- Add_Action (Table.States (718), 41, Reduce, (112, 3), 1, null,
null);
- Add_Action (Table.States (718), 49, Reduce, (112, 3), 1, null,
null);
- Add_Action (Table.States (718), 54, Reduce, (112, 3), 1, null,
null);
- Add_Action (Table.States (718), 97, 905);
- Table.States (718).Kernel := To_Vector (((112, 65, 1, False),
(112, 65, 0, False), (224, 65, 1, False)));
- Table.States (718).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 112, 1)));
+ Add_Action (Table.States (713), 76, (123, 0), 895);
+ Table.States (713).Kernel := To_Vector ((((123, 0), 11, 7,
(2147483647, 0), 0), ((123, 1), 11, 7,
+ (2147483647, 0), 0)));
+ Table.States (713).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (123, 0), 76, 895)));
+ Table.States (714).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (714), 3, (200, 2), 122);
+ Add_Action (Table.States (714), 20, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (714), 39, (261, 4), 123);
+ Add_Action (Table.States (714), 40, (200, 3), 124);
+ Add_Action (Table.States (714), 41, (261, 1), 125);
+ Add_Action (Table.States (714), 52, (278, 0), 126);
+ Add_Action (Table.States (714), 53, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (714), 74, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (714), 76, (120, 0), 127);
+ Add_Action (Table.States (714), 77, (120, 5), 128);
+ Add_Action (Table.States (714), 81, (242, 8), 31);
+ Add_Action (Table.States (714), 97, (333, 1), 129);
+ Add_Action (Table.States (714), 98, (333, 0), 130);
+ Add_Action (Table.States (714), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (714), 106, (261, 0), 131);
+ Add_Action (Table.States (714), 107, (242, 5), 120);
+ Add_Action (Table.States (714), 108, (242, 7), 34);
+ Add_Action (Table.States (714), 109, (242, 6), 35);
+ Table.States (714).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (714), 120, 132);
+ Add_Goto (Table.States (714), 131, 42);
+ Add_Goto (Table.States (714), 194, 133);
+ Add_Goto (Table.States (714), 195, 896);
+ Add_Goto (Table.States (714), 200, 135);
+ Add_Goto (Table.States (714), 242, 136);
+ Add_Goto (Table.States (714), 261, 137);
+ Add_Goto (Table.States (714), 275, 93);
+ Add_Goto (Table.States (714), 278, 138);
+ Add_Goto (Table.States (714), 285, 139);
+ Add_Goto (Table.States (714), 286, 140);
+ Add_Goto (Table.States (714), 287, 141);
+ Add_Goto (Table.States (714), 288, 142);
+ Add_Goto (Table.States (714), 289, 143);
+ Add_Goto (Table.States (714), 290, 144);
+ Add_Goto (Table.States (714), 296, 98);
+ Add_Goto (Table.States (714), 304, 145);
+ Add_Goto (Table.States (714), 323, 146);
+ Add_Goto (Table.States (714), 324, 147);
+ Add_Goto (Table.States (714), 333, 148);
+ Table.States (714).Kernel := To_Vector ((((329, 4), 19, 1,
(2147483647, 0), 0), ((329, 5), 19, 0,
+ (195, 1), 0)));
+ Table.States (714).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (715).Action_List.Set_Capacity (17);
+ Add_Action (Table.States (715), 3, (200, 2), 122);
+ Add_Action (Table.States (715), 39, (261, 4), 123);
+ Add_Action (Table.States (715), 40, (200, 3), 124);
+ Add_Action (Table.States (715), 41, (261, 1), 125);
+ Add_Action (Table.States (715), 52, (278, 0), 126);
+ Add_Action (Table.States (715), 53, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (715), 74, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (715), 76, (120, 0), 127);
+ Add_Action (Table.States (715), 77, (120, 5), 128);
+ Add_Action (Table.States (715), 81, (242, 8), 31);
+ Add_Action (Table.States (715), 97, (333, 1), 129);
+ Add_Action (Table.States (715), 98, (333, 0), 130);
+ Add_Action (Table.States (715), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (715), 106, (261, 0), 131);
+ Add_Action (Table.States (715), 107, (242, 5), 120);
+ Add_Action (Table.States (715), 108, (242, 7), 34);
+ Add_Action (Table.States (715), 109, (242, 6), 35);
+ Table.States (715).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (715), 120, 132);
+ Add_Goto (Table.States (715), 131, 42);
+ Add_Goto (Table.States (715), 194, 133);
+ Add_Goto (Table.States (715), 195, 897);
+ Add_Goto (Table.States (715), 200, 135);
+ Add_Goto (Table.States (715), 242, 136);
+ Add_Goto (Table.States (715), 261, 137);
+ Add_Goto (Table.States (715), 275, 93);
+ Add_Goto (Table.States (715), 278, 138);
+ Add_Goto (Table.States (715), 285, 139);
+ Add_Goto (Table.States (715), 286, 140);
+ Add_Goto (Table.States (715), 287, 141);
+ Add_Goto (Table.States (715), 288, 142);
+ Add_Goto (Table.States (715), 289, 143);
+ Add_Goto (Table.States (715), 290, 144);
+ Add_Goto (Table.States (715), 296, 98);
+ Add_Goto (Table.States (715), 304, 145);
+ Add_Goto (Table.States (715), 323, 146);
+ Add_Goto (Table.States (715), 324, 147);
+ Add_Goto (Table.States (715), 333, 148);
+ Table.States (715).Kernel := To_Vector ((0 => ((329, 3), 20, 0,
(195, 1), 0)));
+ Table.States (715).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (716).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (716), (74, 99), (231, 8), 1, null,
null);
+ Table.States (716).Kernel := To_Vector ((0 => ((231, 8), 34, 0,
(231, 8), 1)));
+ Table.States (716).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (231, 8), 1)));
+ Table.States (717).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (717), 34, (231, 0), 898);
+ Add_Action (Table.States (717), 39, Reduce, (112, 3), 1, null,
null);
+ Add_Conflict (Table.States (717), 39, (113, 1), 1, null, null);
+ Add_Action (Table.States (717), 41, Reduce, (114, 4), 1, null,
null);
+ Add_Action (Table.States (717), 49, Reduce, (114, 4), 1, null,
null);
+ Add_Action (Table.States (717), 54, Reduce, (114, 4), 1, null,
null);
+ Table.States (717).Kernel := To_Vector ((((112, 3), 36, 0, (112,
3), 1), ((113, 1), 36, 0, (113, 1),
+ 1), ((114, 4), 36, 0, (114, 4), 1), ((231, 0), 36, 3,
(2147483647, 0), 0), ((231, 4), 36, 1,
+ (2147483647, 0), 0)));
+ Table.States (717).Minimal_Complete_Actions := To_Vector
(((Reduce, (112, 3), 1), (Reduce, (113, 1), 1),
+ (Reduce, (114, 4), 1), (Shift, (231, 0), 34, 898)));
+ Table.States (718).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (718), 3, (200, 2), 122);
+ Add_Action (Table.States (718), 39, (261, 4), 123);
+ Add_Action (Table.States (718), 40, (200, 3), 124);
+ Add_Action (Table.States (718), 41, (261, 1), 125);
+ Add_Action (Table.States (718), 52, (278, 0), 126);
+ Add_Action (Table.States (718), 74, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (718), 76, (120, 0), 127);
+ Add_Action (Table.States (718), 77, (120, 5), 128);
+ Add_Action (Table.States (718), 81, (242, 8), 31);
+ Add_Action (Table.States (718), 97, (333, 1), 129);
+ Add_Action (Table.States (718), 98, (333, 0), 130);
+ Add_Action (Table.States (718), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (718), 106, (261, 0), 131);
+ Add_Action (Table.States (718), 107, (242, 5), 120);
+ Add_Action (Table.States (718), 108, (242, 7), 34);
+ Add_Action (Table.States (718), 109, (242, 6), 35);
+ Table.States (718).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (718), 120, 132);
+ Add_Goto (Table.States (718), 131, 42);
+ Add_Goto (Table.States (718), 194, 133);
+ Add_Goto (Table.States (718), 195, 899);
+ Add_Goto (Table.States (718), 200, 135);
+ Add_Goto (Table.States (718), 242, 136);
+ Add_Goto (Table.States (718), 261, 137);
+ Add_Goto (Table.States (718), 275, 93);
+ Add_Goto (Table.States (718), 278, 138);
+ Add_Goto (Table.States (718), 285, 139);
+ Add_Goto (Table.States (718), 286, 140);
+ Add_Goto (Table.States (718), 287, 141);
+ Add_Goto (Table.States (718), 288, 142);
+ Add_Goto (Table.States (718), 289, 143);
+ Add_Goto (Table.States (718), 290, 144);
+ Add_Goto (Table.States (718), 296, 98);
+ Add_Goto (Table.States (718), 304, 145);
+ Add_Goto (Table.States (718), 323, 146);
+ Add_Goto (Table.States (718), 324, 147);
+ Add_Goto (Table.States (718), 333, 148);
+ Table.States (718).Kernel := To_Vector ((0 => ((329, 2), 38, 0,
(195, 1), 0)));
+ Table.States (718).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
Table.States (719).Action_List.Set_Capacity (1);
- Add_Action (Table.States (719), 34, 906);
- Table.States (719).Kernel := To_Vector (((229, 66, 3, False),
(229, 66, 1, False)));
- Table.States (719).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 906)));
- Table.States (720).Action_List.Set_Capacity (2);
- Add_Action (Table.States (720), 105, 907);
- Add_Action (Table.States (720), 107, 908);
- Table.States (720).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (720), 181, 909);
- Add_Goto (Table.States (720), 182, 910);
- Table.States (720).Kernel := To_Vector ((0 => (184, 76, 2,
False)));
- Table.States (720).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 907)));
- Table.States (721).Action_List.Set_Capacity (1);
- Add_Action (Table.States (721), 39, 911);
- Table.States (721).Kernel := To_Vector ((0 => (260, 110, 5,
False)));
- Table.States (721).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 39, 911)));
- Table.States (722).Action_List.Set_Capacity (1);
- Add_Action (Table.States (722), 39, 912);
- Table.States (722).Kernel := To_Vector (((163, 111, 5, False),
(163, 111, 2, False)));
- Table.States (722).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 39, 912)));
- Table.States (723).Action_List.Set_Capacity (3);
- Add_Action (Table.States (723), 41, 713);
- Add_Action (Table.States (723), 49, 913);
- Add_Action (Table.States (723), 54, 716);
- Table.States (723).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (723), 281, 914);
- Table.States (723).Kernel := To_Vector (((261, 112, 2, False),
(327, 112, 2, False)));
- Table.States (723).Minimal_Complete_Actions := To_Vector (((Shift,
49, 913), (Shift, 41, 713)));
- Table.States (724).Action_List.Set_Capacity (2);
- Add_Action (Table.States (724), (74, 97), (327, 8), 1, null, null);
- Table.States (724).Kernel := To_Vector ((0 => (327, 115, 0,
False)));
- Table.States (724).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 327, 1)));
- Table.States (725).Action_List.Set_Capacity (2);
- Add_Action (Table.States (725), (74, 97), (327, 6), 1, null, null);
- Table.States (725).Kernel := To_Vector ((0 => (327, 121, 0,
False)));
- Table.States (725).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 327, 1)));
+ Add_Action (Table.States (719), 54, (283, 1), 900);
+ Table.States (719).Kernel := To_Vector ((0 => ((283, 1), 41, 1,
(2147483647, 0), 0)));
+ Table.States (719).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (283, 1), 54, 900)));
+ Table.States (720).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (720), 34, (231, 2), 901);
+ Table.States (720).Kernel := To_Vector ((((231, 2), 51, 3,
(2147483647, 0), 0), ((231, 6), 51, 1,
+ (2147483647, 0), 0)));
+ Table.States (720).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (231, 2), 34, 901)));
+ Table.States (721).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (721), 3, (200, 2), 122);
+ Add_Action (Table.States (721), 39, (261, 4), 123);
+ Add_Action (Table.States (721), 40, (200, 3), 124);
+ Add_Action (Table.States (721), 41, (261, 1), 125);
+ Add_Action (Table.States (721), 76, (120, 0), 127);
+ Add_Action (Table.States (721), 77, (120, 5), 128);
+ Add_Action (Table.States (721), 81, (242, 8), 31);
+ Add_Action (Table.States (721), 97, (333, 1), 129);
+ Add_Action (Table.States (721), 98, (333, 0), 130);
+ Add_Action (Table.States (721), 106, (261, 0), 131);
+ Add_Action (Table.States (721), 107, (242, 5), 120);
+ Add_Action (Table.States (721), 108, (242, 7), 34);
+ Add_Action (Table.States (721), 109, (242, 6), 35);
+ Table.States (721).Goto_List.Set_Capacity (11);
+ Add_Goto (Table.States (721), 120, 132);
+ Add_Goto (Table.States (721), 131, 42);
+ Add_Goto (Table.States (721), 200, 135);
+ Add_Goto (Table.States (721), 242, 136);
+ Add_Goto (Table.States (721), 261, 137);
+ Add_Goto (Table.States (721), 275, 93);
+ Add_Goto (Table.States (721), 296, 98);
+ Add_Goto (Table.States (721), 304, 902);
+ Add_Goto (Table.States (721), 323, 146);
+ Add_Goto (Table.States (721), 324, 147);
+ Add_Goto (Table.States (721), 333, 148);
+ Table.States (721).Kernel := To_Vector ((0 => ((329, 1), 53, 3,
(2147483647, 0), 0)));
+ Table.States (721).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (722).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (722), 15, (330, 0), 903);
+ Add_Action (Table.States (722), 24, Reduce, (153, 1), 0, null,
null);
+ Add_Action (Table.States (722), 28, (124, 0), 185);
+ Add_Action (Table.States (722), 41, (152, 4), 904);
+ Add_Action (Table.States (722), 107, (222, 1), 166);
+ Table.States (722).Goto_List.Set_Capacity (10);
+ Add_Goto (Table.States (722), 124, 905);
+ Add_Goto (Table.States (722), 130, 41);
+ Add_Goto (Table.States (722), 149, 906);
+ Add_Goto (Table.States (722), 151, 907);
+ Add_Goto (Table.States (722), 152, 908);
+ Add_Goto (Table.States (722), 153, 909);
+ Add_Goto (Table.States (722), 185, 56);
+ Add_Goto (Table.States (722), 222, 910);
+ Add_Goto (Table.States (722), 284, 95);
+ Add_Goto (Table.States (722), 330, 911);
+ Table.States (722).Kernel := To_Vector ((0 => ((283, 0), 54, 2,
(2147483647, 0), 0)));
+ Table.States (722).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (153, 1), 0)));
+ Table.States (723).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (723), 34, (231, 3), 912);
+ Add_Action (Table.States (723), 39, Reduce, (112, 4), 1, null,
null);
+ Table.States (723).Kernel := To_Vector ((((112, 4), 64, 0, (112,
4), 1), ((231, 3), 64, 3,
+ (2147483647, 0), 0), ((231, 7), 64, 1, (2147483647, 0), 0)));
+ Table.States (723).Minimal_Complete_Actions := To_Vector
(((Reduce, (112, 4), 1), (Shift, (231, 3), 34,
+ 912)));
+ Table.States (724).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (724), 36, (114, 2), 913);
+ Add_Action (Table.States (724), 41, Reduce, (114, 3), 1, null,
null);
+ Add_Action (Table.States (724), 49, Reduce, (114, 3), 1, null,
null);
+ Add_Action (Table.States (724), 54, Reduce, (114, 3), 1, null,
null);
+ Add_Action (Table.States (724), 99, (226, 0), 914);
+ Table.States (724).Kernel := To_Vector ((((114, 2), 65, 1,
(2147483647, 0), 0), ((114, 3), 65, 0,
+ (114, 3), 1), ((226, 0), 65, 1, (2147483647, 0), 0)));
+ Table.States (724).Minimal_Complete_Actions := To_Vector (((Shift,
(114, 2), 36, 913), (Reduce, (114, 3),
+ 1), (Shift, (226, 0), 99, 914)));
+ Table.States (725).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (725), 34, (231, 1), 915);
+ Table.States (725).Kernel := To_Vector ((((231, 1), 66, 3,
(2147483647, 0), 0), ((231, 5), 66, 1,
+ (2147483647, 0), 0)));
+ Table.States (725).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (231, 1), 34, 915)));
Table.States (726).Action_List.Set_Capacity (2);
- Add_Action (Table.States (726), (74, 97), (327, 9), 1, null, null);
- Table.States (726).Kernel := To_Vector ((0 => (327, 163, 0,
False)));
- Table.States (726).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 327, 1)));
- Table.States (727).Action_List.Set_Capacity (2);
- Add_Action (Table.States (727), (74, 97), (327, 0), 1, null, null);
- Table.States (727).Kernel := To_Vector ((0 => (327, 184, 0,
False)));
- Table.States (727).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 327, 1)));
- Table.States (728).Action_List.Set_Capacity (2);
- Add_Action (Table.States (728), (74, 97), (327, 10), 1, null,
null);
- Table.States (728).Kernel := To_Vector ((0 => (327, 229, 0,
False)));
- Table.States (728).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 327, 1)));
- Table.States (729).Action_List.Set_Capacity (1);
- Add_Action (Table.States (729), 7, 560);
- Table.States (729).Kernel := To_Vector (((115, 242, 2, False),
(115, 242, 3, True), (115, 242, 2, False)));
- Table.States (729).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 7, 560)));
+ Add_Action (Table.States (726), 107, (183, 0), 916);
+ Add_Action (Table.States (726), 109, (183, 1), 917);
+ Table.States (726).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (726), 183, 918);
+ Add_Goto (Table.States (726), 184, 919);
+ Table.States (726).Kernel := To_Vector ((0 => ((186, 0), 76, 2,
(2147483647, 0), 0)));
+ Table.States (726).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (183, 0), 107, 916)));
+ Table.States (727).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (727), 39, (262, 0), 920);
+ Table.States (727).Kernel := To_Vector ((0 => ((262, 0), 112, 5,
(2147483647, 0), 0)));
+ Table.States (727).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (262, 0), 39, 920)));
+ Table.States (728).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (728), 39, (165, 0), 921);
+ Table.States (728).Kernel := To_Vector ((((165, 0), 113, 5,
(2147483647, 0), 0), ((165, 1), 113, 2,
+ (2147483647, 0), 0)));
+ Table.States (728).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (165, 0), 39, 921)));
+ Table.States (729).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (729), 41, (283, 1), 719);
+ Add_Action (Table.States (729), 49, (263, 0), 922);
+ Add_Action (Table.States (729), 54, (283, 0), 722);
+ Table.States (729).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (729), 283, 923);
+ Table.States (729).Kernel := To_Vector ((((263, 0), 114, 2,
(2147483647, 0), 0), ((329, 7), 114, 2,
+ (2147483647, 0), 0)));
+ Table.States (729).Minimal_Complete_Actions := To_Vector (((Shift,
(263, 0), 49, 922), (Shift, (283, 1),
+ 41, 719)));
Table.States (730).Action_List.Set_Capacity (2);
- Add_Action (Table.States (730), 74, 338);
- Add_Action (Table.States (730), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (730).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (730), 123, 915);
- Table.States (730).Kernel := To_Vector ((0 => (207, 327, 1,
False)));
- Table.States (730).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (731).Action_List.Set_Capacity (41);
- Add_Action (Table.States (731), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (332, 0), 5,
- use_clause_0'Access, null);
- Table.States (731).Kernel := To_Vector ((0 => (332, 97, 0,
False)));
- Table.States (731).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 332, 5)));
- Table.States (732).Action_List.Set_Capacity (6);
- Add_Action (Table.States (732), 74, 338);
- Add_Action (Table.States (732), 76, 236);
- Add_Action (Table.States (732), 85, 238);
- Add_Action (Table.States (732), 97, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (732), 102, 240);
- Add_Action (Table.States (732), 103, 241);
- Table.States (732).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (732), 116, 242);
- Add_Goto (Table.States (732), 123, 916);
- Add_Goto (Table.States (732), 323, 243);
- Table.States (732).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (246, 240, 1, False), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (732).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (733).Action_List.Set_Capacity (6);
- Add_Action (Table.States (733), 74, 338);
- Add_Action (Table.States (733), 76, 236);
- Add_Action (Table.States (733), 85, 238);
- Add_Action (Table.States (733), 97, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (733), 102, 240);
- Add_Action (Table.States (733), 103, 241);
- Table.States (733).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (733), 116, 242);
- Add_Goto (Table.States (733), 123, 917);
- Add_Goto (Table.States (733), 323, 243);
- Table.States (733).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (246, 240, 1, False), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (733).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (734).Action_List.Set_Capacity (4);
- Add_Action (Table.States (734), (79, 105, 106, 107), (209, 0), 1,
null, null);
- Table.States (734).Kernel := To_Vector ((0 => (209, 9, 0, False)));
- Table.States (734).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 209, 1)));
- Table.States (735).Action_List.Set_Capacity (4);
- Add_Action (Table.States (735), (79, 105, 106, 107), (209, 1), 1,
null, null);
- Table.States (735).Kernel := To_Vector ((0 => (209, 16, 0,
False)));
- Table.States (735).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 209, 1)));
+ Add_Action (Table.States (730), (74, 99), (329, 8), 1, null,
null);
+ Table.States (730).Kernel := To_Vector ((0 => ((329, 8), 117, 0,
(329, 8), 1)));
+ Table.States (730).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (329, 8), 1)));
+ Table.States (731).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (731), (74, 99), (329, 6), 1, null,
null);
+ Table.States (731).Kernel := To_Vector ((0 => ((329, 6), 123, 0,
(329, 6), 1)));
+ Table.States (731).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (329, 6), 1)));
+ Table.States (732).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (732), (74, 99), (329, 9), 1, null,
null);
+ Table.States (732).Kernel := To_Vector ((0 => ((329, 9), 165, 0,
(329, 9), 1)));
+ Table.States (732).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (329, 9), 1)));
+ end Subr_14;
+ procedure Subr_15
+ is begin
+ Table.States (733).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (733), (74, 99), (329, 0), 1, null,
null);
+ Table.States (733).Kernel := To_Vector ((0 => ((329, 0), 186, 0,
(329, 0), 1)));
+ Table.States (733).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (329, 0), 1)));
+ Table.States (734).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (734), (74, 99), (329, 10), 1, null,
null);
+ Table.States (734).Kernel := To_Vector ((0 => ((329, 10), 231,
0, (329, 10), 1)));
+ Table.States (734).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (329, 10), 1)));
+ Table.States (735).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (735), 7, (117, 0), 564);
+ Table.States (735).Kernel := To_Vector ((((117, 0), 244, 2,
(2147483647, 0), 0), ((117, 1), 244, 3,
+ (2147483647, 0), 0), ((117, 2), 244, 2, (2147483647, 0), 0)));
+ Table.States (735).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (117, 0), 7, 564)));
Table.States (736).Action_List.Set_Capacity (2);
- Add_Action (Table.States (736), (29, 50), (271, 0), 1, null, null);
- Table.States (736).Kernel := To_Vector ((0 => (271, 51, 0,
False)));
- Table.States (736).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 271, 1)));
- Table.States (737).Action_List.Set_Capacity (4);
- Add_Action (Table.States (737), 79, 31);
- Add_Action (Table.States (737), 105, 120);
- Add_Action (Table.States (737), 106, 34);
- Add_Action (Table.States (737), 107, 35);
- Table.States (737).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (737), 129, 42);
- Add_Goto (Table.States (737), 240, 918);
- Add_Goto (Table.States (737), 273, 93);
- Add_Goto (Table.States (737), 294, 98);
- Table.States (737).Kernel := To_Vector ((0 => (115, 209, 1,
False)));
- Table.States (737).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (738).Action_List.Set_Capacity (2);
- Add_Action (Table.States (738), 29, 919);
- Add_Action (Table.States (738), 50, 920);
- Table.States (738).Kernel := To_Vector (((115, 271, 1, False),
(115, 271, 2, True)));
- Table.States (738).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 50, 920)));
- Table.States (738).Minimal_Complete_Actions_Recursive := True;
- Table.States (739).Action_List.Set_Capacity (4);
- Add_Action (Table.States (739), 79, 31);
- Add_Action (Table.States (739), 105, 120);
- Add_Action (Table.States (739), 106, 34);
- Add_Action (Table.States (739), 107, 35);
- Table.States (739).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (739), 129, 42);
- Add_Goto (Table.States (739), 240, 921);
- Add_Goto (Table.States (739), 273, 93);
- Add_Goto (Table.States (739), 294, 98);
- Table.States (739).Kernel := To_Vector ((0 => (246, 56, 2,
False)));
- Table.States (739).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (740).Action_List.Set_Capacity (1);
- Add_Action (Table.States (740), 97, 922);
- Table.States (740).Kernel := To_Vector ((0 => (134, 221, 1,
False)));
- Table.States (740).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 922)));
- Table.States (741).Action_List.Set_Capacity (5);
- Add_Action (Table.States (741), 44, 923);
- Add_Action (Table.States (741), 79, 31);
- Add_Action (Table.States (741), 105, 924);
- Add_Action (Table.States (741), 106, 34);
- Add_Action (Table.States (741), 107, 35);
- Table.States (741).Goto_List.Set_Capacity (6);
- Add_Goto (Table.States (741), 129, 42);
- Add_Goto (Table.States (741), 185, 925);
- Add_Goto (Table.States (741), 186, 926);
- Add_Goto (Table.States (741), 240, 927);
- Add_Goto (Table.States (741), 273, 93);
- Add_Goto (Table.States (741), 294, 98);
- Table.States (741).Kernel := To_Vector (((188, 72, 4, False),
(188, 72, 2, False)));
- Table.States (741).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 924)));
+ Add_Action (Table.States (736), 74, (125, 0), 340);
+ Add_Action (Table.States (736), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (736).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (736), 125, 924);
+ Table.States (736).Kernel := To_Vector ((0 => ((209, 0), 329, 1,
(2147483647, 0), 0)));
+ Table.States (736).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (737).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (737), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (334, 0), 5,
+ use_clause_0'Access, null);
+ Table.States (737).Kernel := To_Vector ((0 => ((334, 0), 99, 0,
(334, 0), 5)));
+ Table.States (737).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (334, 0), 5)));
+ Table.States (738).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (738), 74, (125, 0), 340);
+ Add_Action (Table.States (738), 76, (118, 0), 237);
+ Add_Action (Table.States (738), 87, (296, 0), 239);
+ Add_Action (Table.States (738), 99, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (738), 104, (325, 0), 241);
+ Add_Action (Table.States (738), 105, (325, 1), 242);
+ Table.States (738).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (738), 118, 243);
+ Add_Goto (Table.States (738), 125, 925);
+ Add_Goto (Table.States (738), 325, 244);
+ Table.States (738).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((248, 2), 242, 1, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (738).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (739).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (739), 74, (125, 0), 340);
+ Add_Action (Table.States (739), 76, (118, 0), 237);
+ Add_Action (Table.States (739), 87, (296, 0), 239);
+ Add_Action (Table.States (739), 99, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (739), 104, (325, 0), 241);
+ Add_Action (Table.States (739), 105, (325, 1), 242);
+ Table.States (739).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (739), 118, 243);
+ Add_Goto (Table.States (739), 125, 926);
+ Add_Goto (Table.States (739), 325, 244);
+ Table.States (739).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((248, 1), 242, 1, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (739).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (740).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (740), (81, 107, 108, 109), (211, 0), 1,
null, null);
+ Table.States (740).Kernel := To_Vector ((0 => ((211, 0), 9, 0,
(211, 0), 1)));
+ Table.States (740).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (211, 0), 1)));
+ Table.States (741).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (741), (81, 107, 108, 109), (211, 1), 1,
null, null);
+ Table.States (741).Kernel := To_Vector ((0 => ((211, 1), 16, 0,
(211, 1), 1)));
+ Table.States (741).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (211, 1), 1)));
Table.States (742).Action_List.Set_Capacity (2);
- Add_Action (Table.States (742), (24, 72), (189, 1), 1, null, null);
- Table.States (742).Kernel := To_Vector ((0 => (189, 188, 0,
False)));
- Table.States (742).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 189, 1)));
- Table.States (743).Action_List.Set_Capacity (2);
- Add_Action (Table.States (743), 24, Reduce, (190, 0), 1, null,
null);
- Add_Action (Table.States (743), 72, 741);
- Table.States (743).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (743), 188, 928);
- Table.States (743).Kernel := To_Vector (((189, 189, 3, True),
(190, 189, 0, False)));
- Table.States (743).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 190, 1)));
- Table.States (744).Action_List.Set_Capacity (1);
- Add_Action (Table.States (744), (1 => 24), (219, 0), 3,
handled_sequence_of_statements_0'Access, null);
- Table.States (744).Kernel := To_Vector ((0 => (219, 190, 0,
False)));
- Table.States (744).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 219, 3)));
- Table.States (745).Action_List.Set_Capacity (2);
- Add_Action (Table.States (745), (24, 72), (189, 2), 1, null, null);
- Table.States (745).Kernel := To_Vector ((0 => (189, 258, 0,
False)));
- Table.States (745).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 189, 1)));
+ Add_Action (Table.States (742), (29, 50), (273, 0), 1, null,
null);
+ Table.States (742).Kernel := To_Vector ((0 => ((273, 0), 51, 0,
(273, 0), 1)));
+ Table.States (742).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (273, 0), 1)));
+ Table.States (743).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (743), 81, (242, 8), 31);
+ Add_Action (Table.States (743), 107, (242, 5), 120);
+ Add_Action (Table.States (743), 108, (242, 7), 34);
+ Add_Action (Table.States (743), 109, (242, 6), 35);
+ Table.States (743).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (743), 131, 42);
+ Add_Goto (Table.States (743), 242, 927);
+ Add_Goto (Table.States (743), 275, 93);
+ Add_Goto (Table.States (743), 296, 98);
+ Table.States (743).Kernel := To_Vector ((0 => ((117, 2), 211, 1,
(2147483647, 0), 0)));
+ Table.States (743).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (744).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (744), 29, (117, 1), 928);
+ Add_Action (Table.States (744), 50, (117, 0), 929);
+ Table.States (744).Kernel := To_Vector ((((117, 0), 273, 1,
(2147483647, 0), 0), ((117, 1), 273, 2,
+ (2147483647, 0), 0)));
+ Table.States (744).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (117, 0), 50, 929)));
+ Table.States (745).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (745), 81, (242, 8), 31);
+ Add_Action (Table.States (745), 107, (242, 5), 120);
+ Add_Action (Table.States (745), 108, (242, 7), 34);
+ Add_Action (Table.States (745), 109, (242, 6), 35);
+ Table.States (745).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (745), 131, 42);
+ Add_Goto (Table.States (745), 242, 930);
+ Add_Goto (Table.States (745), 275, 93);
+ Add_Goto (Table.States (745), 296, 98);
+ Table.States (745).Kernel := To_Vector ((0 => ((248, 0), 56, 2,
(2147483647, 0), 0)));
+ Table.States (745).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
Table.States (746).Action_List.Set_Capacity (1);
- Add_Action (Table.States (746), 24, 929);
- Table.States (746).Kernel := To_Vector ((0 => (134, 219, 2,
False)));
- Table.States (746).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 929)));
- Table.States (747).Action_List.Set_Capacity (2);
- Add_Action (Table.States (747), 97, Reduce, (221, 1), 0, null,
null);
- Add_Action (Table.States (747), 105, 150);
- Table.States (747).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (747), 221, 930);
- Table.States (747).Kernel := To_Vector ((0 => (233, 37, 1,
False)));
- Table.States (747).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 0)));
- Table.States (748).Action_List.Set_Capacity (1);
- Add_Action (Table.States (748), 37, 931);
- Table.States (748).Kernel := To_Vector ((0 => (233, 24, 2,
False)));
- Table.States (748).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 931)));
- Table.States (749).Action_List.Set_Capacity (1);
- Add_Action (Table.States (749), 97, 932);
- Table.States (749).Kernel := To_Vector ((0 => (158, 193, 1,
False)));
- Table.States (749).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 932)));
+ Add_Action (Table.States (746), 99, (136, 1), 931);
+ Table.States (746).Kernel := To_Vector ((0 => ((136, 1), 223, 1,
(2147483647, 0), 0)));
+ Table.States (746).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (136, 1), 99, 931)));
+ Table.States (747).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (747), 44, (187, 1), 932);
+ Add_Action (Table.States (747), 81, (242, 8), 31);
+ Add_Action (Table.States (747), 107, (190, 0), 933);
+ Add_Action (Table.States (747), 108, (242, 7), 34);
+ Add_Action (Table.States (747), 109, (242, 6), 35);
+ Table.States (747).Goto_List.Set_Capacity (6);
+ Add_Goto (Table.States (747), 131, 42);
+ Add_Goto (Table.States (747), 187, 934);
+ Add_Goto (Table.States (747), 188, 935);
+ Add_Goto (Table.States (747), 242, 936);
+ Add_Goto (Table.States (747), 275, 93);
+ Add_Goto (Table.States (747), 296, 98);
+ Table.States (747).Kernel := To_Vector ((((190, 0), 72, 4,
(2147483647, 0), 0), ((190, 1), 72, 2,
+ (2147483647, 0), 0)));
+ Table.States (747).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (190, 0), 107, 933)));
+ Table.States (748).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (748), (24, 72), (191, 1), 1, null,
null);
+ Table.States (748).Kernel := To_Vector ((0 => ((191, 1), 190, 0,
(191, 1), 1)));
+ Table.States (748).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (191, 1), 1)));
+ Table.States (749).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (749), 24, Reduce, (192, 0), 1, null,
null);
+ Add_Action (Table.States (749), 72, (190, 0), 747);
+ Table.States (749).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (749), 190, 937);
+ Table.States (749).Kernel := To_Vector ((((191, 0), 191, 3,
(2147483647, 0), 0), ((192, 0), 191, 0,
+ (192, 0), 1)));
+ Table.States (749).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (192, 0), 1)));
Table.States (750).Action_List.Set_Capacity (1);
- Add_Action (Table.States (750), 41, 933);
- Table.States (750).Kernel := To_Vector (((242, 40, 1, False),
(315, 40, 6, False), (315, 40, 2, False)));
- Table.States (750).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 41, 933)));
- Table.States (751).Action_List.Set_Capacity (3);
- Add_Action (Table.States (751), 74, 338);
- Add_Action (Table.States (751), 83, 934);
- Add_Action (Table.States (751), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (751).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (751), 123, 935);
- Table.States (751).Kernel := To_Vector (((245, 115, 2, False),
(245, 115, 1, False)));
- Table.States (751).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (752).Action_List.Set_Capacity (3);
- Add_Action (Table.States (752), 74, 338);
- Add_Action (Table.States (752), 83, 936);
- Add_Action (Table.States (752), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (752).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (752), 123, 937);
- Table.States (752).Kernel := To_Vector (((245, 121, 2, False),
(245, 121, 1, False)));
- Table.States (752).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (753).Action_List.Set_Capacity (3);
- Add_Action (Table.States (753), 74, 338);
- Add_Action (Table.States (753), 83, 938);
- Add_Action (Table.States (753), 97, Reduce, (123, 1), 0, null,
null);
+ Add_Action (Table.States (750), (1 => 24), (221, 0), 3,
handled_sequence_of_statements_0'Access, null);
+ Table.States (750).Kernel := To_Vector ((0 => ((221, 0), 192, 0,
(221, 0), 3)));
+ Table.States (750).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (221, 0), 3)));
+ Table.States (751).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (751), (24, 72), (191, 2), 1, null,
null);
+ Table.States (751).Kernel := To_Vector ((0 => ((191, 2), 260, 0,
(191, 2), 1)));
+ Table.States (751).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (191, 2), 1)));
+ Table.States (752).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (752), 24, (136, 0), 938);
+ Table.States (752).Kernel := To_Vector ((0 => ((136, 0), 221, 2,
(2147483647, 0), 0)));
+ Table.States (752).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (136, 0), 24, 938)));
+ Table.States (753).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (753), 99, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (753), 107, (223, 0), 151);
Table.States (753).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (753), 123, 939);
- Table.States (753).Kernel := To_Vector (((245, 315, 2, False),
(245, 315, 1, False)));
- Table.States (753).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (754).Action_List.Set_Capacity (2);
- Add_Action (Table.States (754), (77, 84), (279, 0), 3, null, null);
- Table.States (754).Kernel := To_Vector ((0 => (279, 278, 0,
True)));
- Table.States (754).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 279, 3)));
- Table.States (754).Minimal_Complete_Actions_Recursive := True;
+ Add_Goto (Table.States (753), 223, 939);
+ Table.States (753).Kernel := To_Vector ((0 => ((235, 1), 37, 1,
(2147483647, 0), 0)));
+ Table.States (753).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 1), 0)));
+ Table.States (754).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (754), 37, (235, 0), 940);
+ Table.States (754).Kernel := To_Vector ((0 => ((235, 0), 24, 2,
(2147483647, 0), 0)));
+ Table.States (754).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (235, 0), 37, 940)));
Table.States (755).Action_List.Set_Capacity (1);
- Add_Action (Table.States (755), 77, 940);
- Table.States (755).Kernel := To_Vector ((0 => (130, 192, 1,
False)));
- Table.States (755).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 940)));
+ Add_Action (Table.States (755), 99, (160, 9), 941);
+ Table.States (755).Kernel := To_Vector ((0 => ((160, 9), 195, 1,
(2147483647, 0), 0)));
+ Table.States (755).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (160, 9), 99, 941)));
Table.States (756).Action_List.Set_Capacity (1);
- Add_Action (Table.States (756), 77, 941);
- Table.States (756).Kernel := To_Vector ((0 => (180, 168, 2,
False)));
- Table.States (756).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 941)));
- Table.States (757).Action_List.Set_Capacity (1);
- Add_Action (Table.States (757), 97, 942);
- Table.States (757).Kernel := To_Vector ((0 => (180, 123, 1,
False)));
- Table.States (757).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 942)));
- Table.States (758).Action_List.Set_Capacity (4);
- Add_Action (Table.States (758), 79, 31);
- Add_Action (Table.States (758), 105, 120);
- Add_Action (Table.States (758), 106, 34);
- Add_Action (Table.States (758), 107, 35);
- Table.States (758).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (758), 129, 42);
- Add_Goto (Table.States (758), 240, 943);
- Add_Goto (Table.States (758), 273, 93);
- Add_Goto (Table.States (758), 294, 98);
- Table.States (758).Kernel := To_Vector ((0 => (214, 39, 2,
False)));
- Table.States (758).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (759).Action_List.Set_Capacity (4);
- Add_Action (Table.States (759), 79, 31);
- Add_Action (Table.States (759), 105, 120);
- Add_Action (Table.States (759), 106, 34);
- Add_Action (Table.States (759), 107, 35);
- Table.States (759).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (759), 129, 42);
- Add_Goto (Table.States (759), 240, 944);
- Add_Goto (Table.States (759), 273, 93);
- Add_Goto (Table.States (759), 294, 98);
- Table.States (759).Kernel := To_Vector ((0 => (214, 39, 2,
False)));
- Table.States (759).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
+ Add_Action (Table.States (756), 41, (244, 0), 942);
+ Table.States (756).Kernel := To_Vector ((((244, 0), 40, 1,
(2147483647, 0), 0), ((317, 0), 40, 6,
+ (2147483647, 0), 0), ((317, 1), 40, 2, (2147483647, 0), 0)));
+ Table.States (756).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (244, 0), 41, 942)));
+ Table.States (757).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (757), 74, (125, 0), 340);
+ Add_Action (Table.States (757), 85, (247, 1), 943);
+ Add_Action (Table.States (757), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (757).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (757), 125, 944);
+ Table.States (757).Kernel := To_Vector ((((247, 1), 117, 2,
(2147483647, 0), 0), ((247, 4), 117, 1,
+ (2147483647, 0), 0)));
+ Table.States (757).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (758).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (758), 74, (125, 0), 340);
+ Add_Action (Table.States (758), 85, (247, 2), 945);
+ Add_Action (Table.States (758), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (758).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (758), 125, 946);
+ Table.States (758).Kernel := To_Vector ((((247, 2), 123, 2,
(2147483647, 0), 0), ((247, 5), 123, 1,
+ (2147483647, 0), 0)));
+ Table.States (758).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (759).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (759), 74, (125, 0), 340);
+ Add_Action (Table.States (759), 85, (247, 0), 947);
+ Add_Action (Table.States (759), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (759).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (759), 125, 948);
+ Table.States (759).Kernel := To_Vector ((((247, 0), 317, 2,
(2147483647, 0), 0), ((247, 3), 317, 1,
+ (2147483647, 0), 0)));
+ Table.States (759).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
Table.States (760).Action_List.Set_Capacity (2);
- Add_Action (Table.States (760), 74, 450);
- Add_Action (Table.States (760), 77, 945);
- Table.States (760).Kernel := To_Vector (((118, 193, 4, False),
(118, 193, 2, False), (257, 193, 1,
- False)));
- Table.States (760).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 945)));
+ Add_Action (Table.States (760), (78, 86), (281, 0), 3, null,
null);
+ Table.States (760).Kernel := To_Vector ((0 => ((281, 0), 280, 0,
(281, 0), 3)));
+ Table.States (760).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (281, 0), 3)));
Table.States (761).Action_List.Set_Capacity (1);
- Add_Action (Table.States (761), 97, 946);
- Table.States (761).Kernel := To_Vector ((0 => (194, 123, 1,
False)));
- Table.States (761).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 946)));
+ Add_Action (Table.States (761), 78, (132, 0), 949);
+ Table.States (761).Kernel := To_Vector ((0 => ((132, 0), 194, 1,
(2147483647, 0), 0)));
+ Table.States (761).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (132, 0), 78, 949)));
Table.States (762).Action_List.Set_Capacity (1);
- Add_Action (Table.States (762), 97, 947);
- Table.States (762).Kernel := To_Vector ((0 => (244, 123, 1,
False)));
- Table.States (762).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 947)));
+ Add_Action (Table.States (762), 78, (182, 0), 950);
+ Table.States (762).Kernel := To_Vector ((0 => ((182, 0), 170, 2,
(2147483647, 0), 0)));
+ Table.States (762).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (182, 0), 78, 950)));
Table.States (763).Action_List.Set_Capacity (1);
- Add_Action (Table.States (763), 97, 948);
- Table.States (763).Kernel := To_Vector ((0 => (113, 123, 1,
False)));
- Table.States (763).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 948)));
- Table.States (764).Action_List.Set_Capacity (1);
- Add_Action (Table.States (764), 97, 949);
- Table.States (764).Kernel := To_Vector ((0 => (309, 123, 1,
False)));
- Table.States (764).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 949)));
- Table.States (765).Action_List.Set_Capacity (1);
- Add_Action (Table.States (765), 97, 950);
- Table.States (765).Kernel := To_Vector ((0 => (312, 123, 1,
False)));
- Table.States (765).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 950)));
- Table.States (766).Action_List.Set_Capacity (1);
- Add_Action (Table.States (766), 13, 951);
- Table.States (766).Kernel := To_Vector ((0 => (308, 160, 3,
False)));
- Table.States (766).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 13, 951)));
+ Add_Action (Table.States (763), 99, (182, 1), 951);
+ Table.States (763).Kernel := To_Vector ((0 => ((182, 1), 125, 1,
(2147483647, 0), 0)));
+ Table.States (763).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (182, 1), 99, 951)));
+ Table.States (764).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (764), 81, (242, 8), 31);
+ Add_Action (Table.States (764), 107, (242, 5), 120);
+ Add_Action (Table.States (764), 108, (242, 7), 34);
+ Add_Action (Table.States (764), 109, (242, 6), 35);
+ Table.States (764).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (764), 131, 42);
+ Add_Goto (Table.States (764), 242, 952);
+ Add_Goto (Table.States (764), 275, 93);
+ Add_Goto (Table.States (764), 296, 98);
+ Table.States (764).Kernel := To_Vector ((0 => ((216, 2), 39, 2,
(2147483647, 0), 0)));
+ Table.States (764).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (765).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (765), 81, (242, 8), 31);
+ Add_Action (Table.States (765), 107, (242, 5), 120);
+ Add_Action (Table.States (765), 108, (242, 7), 34);
+ Add_Action (Table.States (765), 109, (242, 6), 35);
+ Table.States (765).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (765), 131, 42);
+ Add_Goto (Table.States (765), 242, 953);
+ Add_Goto (Table.States (765), 275, 93);
+ Add_Goto (Table.States (765), 296, 98);
+ Table.States (765).Kernel := To_Vector ((0 => ((216, 1), 39, 2,
(2147483647, 0), 0)));
+ Table.States (765).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (766).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (766), 74, (120, 2), 453);
+ Add_Action (Table.States (766), 78, (259, 0), 954);
+ Table.States (766).Kernel := To_Vector ((((120, 2), 195, 4,
(2147483647, 0), 0), ((120, 3), 195, 2,
+ (2147483647, 0), 0), ((259, 0), 195, 1, (2147483647, 0), 0)));
+ Table.States (766).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (259, 0), 78, 954)));
Table.States (767).Action_List.Set_Capacity (1);
- Add_Action (Table.States (767), 24, 952);
- Table.States (767).Kernel := To_Vector ((0 => (114, 219, 2,
False)));
- Table.States (767).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 952)));
- Table.States (768).Action_List.Set_Capacity (16);
- Add_Action (Table.States (768), 3, 122);
- Add_Action (Table.States (768), 39, 123);
- Add_Action (Table.States (768), 40, 262);
- Add_Action (Table.States (768), 41, 125);
- Add_Action (Table.States (768), 44, 264);
- Add_Action (Table.States (768), 52, 126);
- Add_Action (Table.States (768), 76, 127);
- Add_Action (Table.States (768), 79, 31);
- Add_Action (Table.States (768), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (768), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (768), 95, 128);
- Add_Action (Table.States (768), 96, 129);
- Add_Action (Table.States (768), 104, 130);
- Add_Action (Table.States (768), 105, 120);
- Add_Action (Table.States (768), 106, 34);
- Add_Action (Table.States (768), 107, 35);
- Table.States (768).Goto_List.Set_Capacity (22);
- Add_Goto (Table.States (768), 118, 131);
- Add_Goto (Table.States (768), 129, 42);
- Add_Goto (Table.States (768), 166, 270);
- Add_Goto (Table.States (768), 167, 953);
- Add_Goto (Table.States (768), 192, 606);
- Add_Goto (Table.States (768), 198, 134);
- Add_Goto (Table.States (768), 240, 275);
- Add_Goto (Table.States (768), 259, 136);
- Add_Goto (Table.States (768), 273, 93);
- Add_Goto (Table.States (768), 276, 137);
- Add_Goto (Table.States (768), 278, 277);
- Add_Goto (Table.States (768), 283, 138);
- Add_Goto (Table.States (768), 284, 139);
- Add_Goto (Table.States (768), 285, 140);
- Add_Goto (Table.States (768), 286, 141);
- Add_Goto (Table.States (768), 287, 142);
- Add_Goto (Table.States (768), 288, 143);
- Add_Goto (Table.States (768), 294, 98);
- Add_Goto (Table.States (768), 302, 278);
- Add_Goto (Table.States (768), 321, 145);
- Add_Goto (Table.States (768), 322, 146);
- Add_Goto (Table.States (768), 331, 147);
- Table.States (768).Kernel := To_Vector ((0 => (138, 72, 1,
False)));
- Table.States (768).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 167, 0)));
- Table.States (769).Action_List.Set_Capacity (2);
- Add_Action (Table.States (769), (77, 84), (139, 1), 1, null, null);
- Table.States (769).Kernel := To_Vector ((0 => (139, 138, 0,
False)));
- Table.States (769).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 139, 1)));
- Table.States (770).Action_List.Set_Capacity (2);
- Add_Action (Table.States (770), 77, Reduce, (137, 0), 4,
case_expression_0'Access, null);
- Add_Action (Table.States (770), 84, 954);
- Table.States (770).Kernel := To_Vector (((137, 139, 0, False),
(139, 139, 3, True)));
- Table.States (770).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 137, 4)));
- Table.States (771).Action_List.Set_Capacity (2);
- Add_Action (Table.States (771), 80, 447);
- Add_Action (Table.States (771), 88, 955);
- Table.States (771).Kernel := To_Vector (((125, 167, 2, False),
(167, 167, 2, True)));
- Table.States (771).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 88, 955)));
- Table.States (772).Action_List.Set_Capacity (14);
- Add_Action (Table.States (772), 3, 122);
- Add_Action (Table.States (772), 39, 123);
- Add_Action (Table.States (772), 40, 124);
- Add_Action (Table.States (772), 41, 125);
- Add_Action (Table.States (772), 52, 126);
- Add_Action (Table.States (772), 76, 127);
- Add_Action (Table.States (772), 77, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (772), 79, 31);
- Add_Action (Table.States (772), 95, 128);
- Add_Action (Table.States (772), 96, 129);
- Add_Action (Table.States (772), 104, 130);
- Add_Action (Table.States (772), 105, 120);
- Add_Action (Table.States (772), 106, 34);
- Add_Action (Table.States (772), 107, 35);
- Table.States (772).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (772), 118, 131);
- Add_Goto (Table.States (772), 129, 42);
- Add_Goto (Table.States (772), 192, 132);
- Add_Goto (Table.States (772), 193, 956);
- Add_Goto (Table.States (772), 198, 134);
- Add_Goto (Table.States (772), 240, 135);
- Add_Goto (Table.States (772), 259, 136);
- Add_Goto (Table.States (772), 273, 93);
- Add_Goto (Table.States (772), 276, 137);
- Add_Goto (Table.States (772), 283, 138);
- Add_Goto (Table.States (772), 284, 139);
- Add_Goto (Table.States (772), 285, 140);
- Add_Goto (Table.States (772), 286, 141);
- Add_Goto (Table.States (772), 287, 142);
- Add_Goto (Table.States (772), 288, 143);
- Add_Goto (Table.States (772), 294, 98);
- Add_Goto (Table.States (772), 302, 144);
- Add_Goto (Table.States (772), 321, 145);
- Add_Goto (Table.States (772), 322, 146);
- Add_Goto (Table.States (772), 331, 147);
- Table.States (772).Kernel := To_Vector ((0 => (274, 88, 0,
False)));
- Table.States (772).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (773).Action_List.Set_Capacity (3);
- Add_Action (Table.States (773), 22, 957);
- Add_Action (Table.States (773), 23, 958);
- Add_Action (Table.States (773), 77, Reduce, (222, 3), 4,
if_expression_3'Access, null);
- Table.States (773).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (773), 173, 959);
- Add_Goto (Table.States (773), 174, 960);
- Table.States (773).Kernel := To_Vector (((222, 193, 3, False),
(222, 193, 1, False), (222, 193, 2, False),
- (222, 193, 0, False)));
- Table.States (773).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 222, 4)));
- Table.States (774).Action_List.Set_Capacity (2);
- Add_Action (Table.States (774), 77, 961);
- Add_Action (Table.States (774), 84, 445);
- Table.States (774).Kernel := To_Vector (((118, 126, 1, False),
(126, 126, 1, True)));
- Table.States (774).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 961)));
- Table.States (775).Action_List.Set_Capacity (1);
- Add_Action (Table.States (775), 77, 962);
- Table.States (775).Kernel := To_Vector ((0 => (118, 54, 1,
False)));
- Table.States (775).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 962)));
- Table.States (776).Action_List.Set_Capacity (64);
- Add_Action (Table.States (776), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (118, 1), 5,
- aggregate_1'Access, null);
- Table.States (776).Kernel := To_Vector ((0 => (118, 77, 0,
False)));
- Table.States (776).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 118, 5)));
- Table.States (777).Action_List.Set_Capacity (14);
- Add_Action (Table.States (777), 3, 122);
- Add_Action (Table.States (777), 39, 123);
- Add_Action (Table.States (777), 40, 124);
- Add_Action (Table.States (777), 41, 125);
- Add_Action (Table.States (777), 52, 126);
- Add_Action (Table.States (777), 76, 127);
- Add_Action (Table.States (777), 77, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (777), 79, 31);
- Add_Action (Table.States (777), 95, 128);
- Add_Action (Table.States (777), 96, 129);
- Add_Action (Table.States (777), 104, 130);
- Add_Action (Table.States (777), 105, 120);
- Add_Action (Table.States (777), 106, 34);
- Add_Action (Table.States (777), 107, 35);
- Table.States (777).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (777), 118, 131);
- Add_Goto (Table.States (777), 129, 42);
- Add_Goto (Table.States (777), 192, 132);
- Add_Goto (Table.States (777), 193, 963);
- Add_Goto (Table.States (777), 198, 134);
- Add_Goto (Table.States (777), 240, 135);
- Add_Goto (Table.States (777), 259, 136);
- Add_Goto (Table.States (777), 273, 93);
- Add_Goto (Table.States (777), 276, 137);
- Add_Goto (Table.States (777), 283, 138);
- Add_Goto (Table.States (777), 284, 139);
- Add_Goto (Table.States (777), 285, 140);
- Add_Goto (Table.States (777), 286, 141);
- Add_Goto (Table.States (777), 287, 142);
- Add_Goto (Table.States (777), 288, 143);
- Add_Goto (Table.States (777), 294, 98);
- Add_Goto (Table.States (777), 302, 144);
- Add_Goto (Table.States (777), 321, 145);
- Add_Goto (Table.States (777), 322, 146);
- Add_Goto (Table.States (777), 331, 147);
- Table.States (777).Kernel := To_Vector ((0 => (278, 76, 1,
False)));
- Table.States (777).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (778).Action_List.Set_Capacity (25);
- Add_Action (Table.States (778), 4, 1);
- Add_Action (Table.States (778), 5, 2);
- Add_Action (Table.States (778), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (778), 15, 3);
- Add_Action (Table.States (778), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (778), 18, 4);
- Add_Action (Table.States (778), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (778), 27, 5);
- Add_Action (Table.States (778), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (778), 31, 9);
- Add_Action (Table.States (778), 32, 10);
- Add_Action (Table.States (778), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (778), 41, 13);
- Add_Action (Table.States (778), 48, 16);
- Add_Action (Table.States (778), 52, 20);
- Add_Action (Table.States (778), 57, 21);
- Add_Action (Table.States (778), 58, 22);
- Add_Action (Table.States (778), 61, 24);
- Add_Action (Table.States (778), 72, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (778), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (778), 79, 31);
- Add_Action (Table.States (778), 94, 32);
- Add_Action (Table.States (778), 105, 361);
- Add_Action (Table.States (778), 106, 34);
- Add_Action (Table.States (778), 107, 35);
- Table.States (778).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (778), 114, 37);
- Add_Goto (Table.States (778), 124, 39);
- Add_Goto (Table.States (778), 127, 40);
- Add_Goto (Table.States (778), 129, 42);
- Add_Goto (Table.States (778), 132, 43);
- Add_Goto (Table.States (778), 133, 44);
- Add_Goto (Table.States (778), 134, 45);
- Add_Goto (Table.States (778), 140, 48);
- Add_Goto (Table.States (778), 152, 51);
- Add_Goto (Table.States (778), 153, 52);
- Add_Goto (Table.States (778), 162, 54);
- Add_Goto (Table.States (778), 191, 58);
- Add_Goto (Table.States (778), 197, 60);
- Add_Goto (Table.States (778), 218, 69);
- Add_Goto (Table.States (778), 223, 71);
- Add_Goto (Table.States (778), 233, 73);
- Add_Goto (Table.States (778), 240, 74);
- Add_Goto (Table.States (778), 258, 84);
- Add_Goto (Table.States (778), 262, 87);
- Add_Goto (Table.States (778), 273, 93);
- Add_Goto (Table.States (778), 277, 94);
- Add_Goto (Table.States (778), 291, 97);
- Add_Goto (Table.States (778), 294, 98);
- Add_Goto (Table.States (778), 295, 99);
- Add_Goto (Table.States (778), 299, 100);
- Add_Goto (Table.States (778), 300, 362);
- Add_Goto (Table.States (778), 301, 964);
- Add_Goto (Table.States (778), 303, 101);
- Add_Goto (Table.States (778), 304, 102);
- Add_Goto (Table.States (778), 307, 364);
- Add_Goto (Table.States (778), 324, 115);
- Table.States (778).Kernel := To_Vector ((0 => (141, 88, 0,
False)));
- Table.States (778).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (779).Action_List.Set_Capacity (1);
- Add_Action (Table.States (779), 97, 965);
- Table.States (779).Kernel := To_Vector ((0 => (140, 15, 1,
False)));
- Table.States (779).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 965)));
- Table.States (780).Action_List.Set_Capacity (17);
- Add_Action (Table.States (780), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 77, 80, 84, 88, 97), (234,
- 0), 3, null, null);
- Table.States (780).Kernel := To_Vector ((0 => (234, 235, 0,
True)));
- Table.States (780).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 234, 3)));
- Table.States (780).Minimal_Complete_Actions_Recursive := True;
- end Subr_14;
- procedure Subr_15
- is begin
+ Add_Action (Table.States (767), 99, (196, 0), 955);
+ Table.States (767).Kernel := To_Vector ((0 => ((196, 0), 125, 1,
(2147483647, 0), 0)));
+ Table.States (767).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (196, 0), 99, 955)));
+ Table.States (768).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (768), 99, (246, 0), 956);
+ Table.States (768).Kernel := To_Vector ((0 => ((246, 0), 125, 1,
(2147483647, 0), 0)));
+ Table.States (768).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (246, 0), 99, 956)));
+ Table.States (769).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (769), 99, (115, 0), 957);
+ Table.States (769).Kernel := To_Vector ((0 => ((115, 0), 125, 1,
(2147483647, 0), 0)));
+ Table.States (769).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (115, 0), 99, 957)));
+ Table.States (770).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (770), 99, (311, 0), 958);
+ Table.States (770).Kernel := To_Vector ((0 => ((311, 0), 125, 1,
(2147483647, 0), 0)));
+ Table.States (770).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (311, 0), 99, 958)));
+ Table.States (771).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (771), 99, (314, 0), 959);
+ Table.States (771).Kernel := To_Vector ((0 => ((314, 0), 125, 1,
(2147483647, 0), 0)));
+ Table.States (771).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (314, 0), 99, 959)));
+ Table.States (772).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (772), 13, (310, 0), 960);
+ Table.States (772).Kernel := To_Vector ((0 => ((310, 0), 162, 3,
(2147483647, 0), 0)));
+ Table.States (772).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (310, 0), 13, 960)));
+ Table.States (773).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (773), 24, (116, 0), 961);
+ Table.States (773).Kernel := To_Vector ((0 => ((116, 0), 221, 2,
(2147483647, 0), 0)));
+ Table.States (773).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (116, 0), 24, 961)));
+ Table.States (774).Action_List.Set_Capacity (17);
+ Add_Action (Table.States (774), 3, (200, 2), 122);
+ Add_Action (Table.States (774), 39, (261, 4), 123);
+ Add_Action (Table.States (774), 40, (168, 1), 263);
+ Add_Action (Table.States (774), 41, (261, 1), 125);
+ Add_Action (Table.States (774), 44, (168, 3), 265);
+ Add_Action (Table.States (774), 52, (278, 0), 126);
+ Add_Action (Table.States (774), 76, (120, 0), 127);
+ Add_Action (Table.States (774), 77, (120, 5), 128);
+ Add_Action (Table.States (774), 81, (242, 8), 31);
+ Add_Action (Table.States (774), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (774), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (774), 97, (333, 1), 129);
+ Add_Action (Table.States (774), 98, (333, 0), 130);
+ Add_Action (Table.States (774), 106, (261, 0), 131);
+ Add_Action (Table.States (774), 107, (242, 5), 120);
+ Add_Action (Table.States (774), 108, (242, 7), 34);
+ Add_Action (Table.States (774), 109, (242, 6), 35);
+ Table.States (774).Goto_List.Set_Capacity (22);
+ Add_Goto (Table.States (774), 120, 132);
+ Add_Goto (Table.States (774), 131, 42);
+ Add_Goto (Table.States (774), 168, 271);
+ Add_Goto (Table.States (774), 169, 962);
+ Add_Goto (Table.States (774), 194, 611);
+ Add_Goto (Table.States (774), 200, 135);
+ Add_Goto (Table.States (774), 242, 276);
+ Add_Goto (Table.States (774), 261, 137);
+ Add_Goto (Table.States (774), 275, 93);
+ Add_Goto (Table.States (774), 278, 138);
+ Add_Goto (Table.States (774), 280, 278);
+ Add_Goto (Table.States (774), 285, 139);
+ Add_Goto (Table.States (774), 286, 140);
+ Add_Goto (Table.States (774), 287, 141);
+ Add_Goto (Table.States (774), 288, 142);
+ Add_Goto (Table.States (774), 289, 143);
+ Add_Goto (Table.States (774), 290, 144);
+ Add_Goto (Table.States (774), 296, 98);
+ Add_Goto (Table.States (774), 304, 279);
+ Add_Goto (Table.States (774), 323, 146);
+ Add_Goto (Table.States (774), 324, 147);
+ Add_Goto (Table.States (774), 333, 148);
+ Table.States (774).Kernel := To_Vector ((0 => ((140, 0), 72, 1,
(2147483647, 0), 0)));
+ Table.States (774).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (169, 2), 0)));
+ Table.States (775).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (775), (78, 86), (141, 1), 1, null,
null);
+ Table.States (775).Kernel := To_Vector ((0 => ((141, 1), 140, 0,
(141, 1), 1)));
+ Table.States (775).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (141, 1), 1)));
+ Table.States (776).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (776), 78, Reduce, (139, 0), 4,
case_expression_0'Access, null);
+ Add_Action (Table.States (776), 86, (141, 0), 963);
+ Table.States (776).Kernel := To_Vector ((((139, 0), 141, 0,
(139, 0), 4), ((141, 0), 141, 3,
+ (2147483647, 0), 0)));
+ Table.States (776).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (139, 0), 4)));
+ Table.States (777).Action_List.Set_Capacity (9);
+ Add_Action (Table.States (777), 39, (261, 4), 123);
+ Add_Action (Table.States (777), 41, (168, 1), 964);
+ Add_Action (Table.States (777), 76, (120, 0), 127);
+ Add_Action (Table.States (777), 77, (120, 5), 128);
+ Add_Action (Table.States (777), 81, (242, 8), 31);
+ Add_Action (Table.States (777), 106, (261, 0), 131);
+ Add_Action (Table.States (777), 107, (242, 5), 120);
+ Add_Action (Table.States (777), 108, (242, 7), 34);
+ Add_Action (Table.States (777), 109, (242, 6), 35);
+ Table.States (777).Goto_List.Set_Capacity (6);
+ Add_Goto (Table.States (777), 120, 132);
+ Add_Goto (Table.States (777), 131, 42);
+ Add_Goto (Table.States (777), 242, 136);
+ Add_Goto (Table.States (777), 261, 258);
+ Add_Goto (Table.States (777), 275, 93);
+ Add_Goto (Table.States (777), 296, 98);
+ Table.States (777).Kernel := To_Vector ((((168, 1), 40, 2,
(2147483647, 0), 0), ((200, 3), 40, 1,
+ (2147483647, 0), 0), ((317, 0), 40, 6, (2147483647, 0), 0),
((317, 1), 40, 2, (2147483647, 0), 0)));
+ Table.States (777).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (778).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (778), 82, (169, 0), 450);
+ Add_Action (Table.States (778), 90, (127, 6), 965);
+ Table.States (778).Kernel := To_Vector ((((127, 6), 169, 2,
(2147483647, 0), 0), ((169, 0), 169, 2,
+ (2147483647, 0), 0)));
+ Table.States (778).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (127, 6), 90, 965)));
+ Table.States (779).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (779), 82, Reduce, (168, 2), 1, null,
null);
+ Add_Action (Table.States (779), 90, Reduce, (168, 2), 1, null,
null);
+ Add_Conflict (Table.States (779), 90, (170, 1), 1, null, null);
+ Table.States (779).Kernel := To_Vector ((((168, 2), 280, 0,
(168, 2), 1), ((170, 1), 280, 0, (170, 1),
+ 1)));
+ Table.States (779).Minimal_Complete_Actions := To_Vector
(((Reduce, (168, 2), 1), (Reduce, (170, 1),
+ 1)));
+ Table.States (780).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (780), (35, 78, 79, 86, 99), (127, 7),
4, association_opt_7'Access, null);
+ Table.States (780).Kernel := To_Vector ((0 => ((127, 7), 194, 0,
(127, 7), 4)));
+ Table.States (780).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (127, 7), 4)));
Table.States (781).Action_List.Set_Capacity (15);
- Add_Action (Table.States (781), 10, Reduce, (315, 1), 3,
subtype_indication_1'Access, null);
- Add_Action (Table.States (781), 21, Reduce, (315, 1), 3,
subtype_indication_1'Access, null);
- Add_Action (Table.States (781), 37, Reduce, (315, 1), 3,
subtype_indication_1'Access, null);
- Add_Action (Table.States (781), 42, Reduce, (315, 1), 3,
subtype_indication_1'Access, null);
- Add_Action (Table.States (781), 53, 626);
- Add_Action (Table.States (781), 74, Reduce, (315, 1), 3,
subtype_indication_1'Access, null);
- Add_Action (Table.States (781), 76, 627);
- Add_Action (Table.States (781), 77, Reduce, (315, 1), 3,
subtype_indication_1'Access, null);
- Add_Action (Table.States (781), 83, Reduce, (315, 1), 3,
subtype_indication_1'Access, null);
- Add_Action (Table.States (781), 84, Reduce, (315, 1), 3,
subtype_indication_1'Access, null);
- Add_Action (Table.States (781), 85, 238);
- Add_Action (Table.States (781), 88, Reduce, (315, 1), 3,
subtype_indication_1'Access, null);
- Add_Action (Table.States (781), 97, Reduce, (315, 1), 3,
subtype_indication_1'Access, null);
- Add_Action (Table.States (781), 102, 240);
- Add_Action (Table.States (781), 103, 241);
- Table.States (781).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (781), 116, 242);
- Add_Goto (Table.States (781), 156, 966);
- Add_Goto (Table.States (781), 225, 629);
- Add_Goto (Table.States (781), 323, 243);
- Table.States (781).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (273, 240, 3, True), (294, 240, 2, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (315, 240, 4, False), (315, 240, 0, False)));
- Table.States (781).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 315, 3)));
- Table.States (782).Action_List.Set_Capacity (10);
- Add_Action (Table.States (782), (10, 21, 37, 42, 74, 77, 83, 84,
88, 97), (156, 0), 2, null, null);
- Table.States (782).Kernel := To_Vector ((0 => (156, 278, 0,
False)));
- Table.States (782).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 156, 2)));
- Table.States (783).Action_List.Set_Capacity (8);
- Add_Action (Table.States (783), 39, 123);
- Add_Action (Table.States (783), 41, 967);
- Add_Action (Table.States (783), 76, 127);
- Add_Action (Table.States (783), 79, 31);
- Add_Action (Table.States (783), 104, 130);
- Add_Action (Table.States (783), 105, 120);
- Add_Action (Table.States (783), 106, 34);
- Add_Action (Table.States (783), 107, 35);
- Table.States (783).Goto_List.Set_Capacity (6);
- Add_Goto (Table.States (783), 118, 131);
- Add_Goto (Table.States (783), 129, 42);
- Add_Goto (Table.States (783), 240, 135);
- Add_Goto (Table.States (783), 259, 257);
- Add_Goto (Table.States (783), 273, 93);
- Add_Goto (Table.States (783), 294, 98);
- Table.States (783).Kernel := To_Vector (((166, 40, 2, False),
(198, 40, 1, False), (315, 40, 6, False),
- (315, 40, 2, False)));
- Table.States (783).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (784).Action_List.Set_Capacity (2);
- Add_Action (Table.States (784), (77, 84), (169, 1), 1, null, null);
- Table.States (784).Kernel := To_Vector ((0 => (169, 168, 0,
False)));
- Table.States (784).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 169, 1)));
- Table.States (785).Action_List.Set_Capacity (2);
- Add_Action (Table.States (785), 77, 968);
- Add_Action (Table.States (785), 84, 969);
- Table.States (785).Kernel := To_Vector (((169, 169, 2, True),
(225, 169, 1, False)));
- Table.States (785).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 968)));
- Table.States (786).Action_List.Set_Capacity (4);
- Add_Action (Table.States (786), 77, Reduce, (168, 1), 1, null,
null);
- Add_Conflict (Table.States (786), 77, (279, 1), 1, null, null);
- Add_Action (Table.States (786), 80, Reduce, (166, 2), 1, null,
null);
- Add_Action (Table.States (786), 84, Reduce, (168, 1), 1, null,
null);
- Add_Conflict (Table.States (786), 84, (279, 1), 1, null, null);
- Add_Action (Table.States (786), 88, Reduce, (166, 2), 1, null,
null);
- Table.States (786).Kernel := To_Vector (((166, 278, 0, False),
(168, 278, 0, False), (279, 278, 0,
- False)));
- Table.States (786).Minimal_Complete_Actions := To_Vector
(((Reduce, 166, 1), (Reduce, 168, 1), (Reduce,
- 279, 1)));
- Table.States (787).Action_List.Set_Capacity (4);
- Add_Action (Table.States (787), 79, 31);
- Add_Action (Table.States (787), 105, 120);
- Add_Action (Table.States (787), 106, 34);
- Add_Action (Table.States (787), 107, 35);
- Table.States (787).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (787), 129, 42);
- Add_Goto (Table.States (787), 240, 970);
- Add_Goto (Table.States (787), 273, 93);
- Add_Goto (Table.States (787), 294, 98);
- Table.States (787).Kernel := To_Vector ((0 => (231, 59, 1,
False)));
- Table.States (787).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (788).Action_List.Set_Capacity (6);
- Add_Action (Table.States (788), 37, Reduce, (231, 1), 5, null,
null);
- Add_Action (Table.States (788), 76, 236);
- Add_Action (Table.States (788), 85, 238);
- Add_Action (Table.States (788), 88, Reduce, (231, 1), 5, null,
null);
- Add_Action (Table.States (788), 102, 240);
- Add_Action (Table.States (788), 103, 241);
- Table.States (788).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (788), 116, 242);
- Add_Goto (Table.States (788), 323, 243);
- Table.States (788).Kernel := To_Vector (((129, 240, 2, True),
(231, 240, 0, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (788).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 231, 5)));
- Table.States (789).Action_List.Set_Capacity (42);
- Add_Action (Table.States (789), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73,
74, 79, 94, 105, 106, 107, 108), (128, 0),
- 6, at_clause_0'Access, null);
- Table.States (789).Kernel := To_Vector ((0 => (128, 97, 0,
False)));
- Table.States (789).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 128, 6)));
- Table.States (790).Action_List.Set_Capacity (14);
- Add_Action (Table.States (790), 3, 122);
- Add_Action (Table.States (790), 39, 123);
- Add_Action (Table.States (790), 40, 124);
- Add_Action (Table.States (790), 41, 125);
- Add_Action (Table.States (790), 52, 126);
- Add_Action (Table.States (790), 76, 127);
- Add_Action (Table.States (790), 79, 31);
- Add_Action (Table.States (790), 95, 128);
- Add_Action (Table.States (790), 96, 129);
- Add_Action (Table.States (790), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (790), 104, 130);
- Add_Action (Table.States (790), 105, 120);
- Add_Action (Table.States (790), 106, 34);
- Add_Action (Table.States (790), 107, 35);
- Table.States (790).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (790), 118, 131);
- Add_Goto (Table.States (790), 129, 42);
- Add_Goto (Table.States (790), 192, 132);
- Add_Goto (Table.States (790), 193, 971);
- Add_Goto (Table.States (790), 198, 134);
- Add_Goto (Table.States (790), 240, 135);
- Add_Goto (Table.States (790), 259, 136);
- Add_Goto (Table.States (790), 273, 93);
- Add_Goto (Table.States (790), 276, 137);
- Add_Goto (Table.States (790), 283, 138);
- Add_Goto (Table.States (790), 284, 139);
- Add_Goto (Table.States (790), 285, 140);
- Add_Goto (Table.States (790), 286, 141);
- Add_Goto (Table.States (790), 287, 142);
- Add_Goto (Table.States (790), 288, 143);
- Add_Goto (Table.States (790), 294, 98);
- Add_Goto (Table.States (790), 302, 144);
- Add_Goto (Table.States (790), 321, 145);
- Add_Goto (Table.States (790), 322, 146);
- Add_Goto (Table.States (790), 331, 147);
- Table.States (790).Kernel := To_Vector ((0 => (236, 38, 1,
False)));
- Table.States (790).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (791).Action_List.Set_Capacity (1);
- Add_Action (Table.States (791), 12, 972);
- Table.States (791).Kernel := To_Vector ((0 => (145, 105, 7,
False)));
- Table.States (791).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 12, 972)));
- Table.States (792).Action_List.Set_Capacity (2);
- Add_Action (Table.States (792), (24, 105), (146, 1), 1, null,
null);
- Table.States (792).Kernel := To_Vector ((0 => (146, 145, 0,
False)));
- Table.States (792).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 146, 1)));
+ Add_Action (Table.States (781), 3, (200, 2), 122);
+ Add_Action (Table.States (781), 39, (261, 4), 123);
+ Add_Action (Table.States (781), 40, (200, 3), 124);
+ Add_Action (Table.States (781), 41, (261, 1), 125);
+ Add_Action (Table.States (781), 52, (278, 0), 126);
+ Add_Action (Table.States (781), 76, (120, 0), 127);
+ Add_Action (Table.States (781), 77, (120, 5), 128);
+ Add_Action (Table.States (781), 78, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (781), 81, (242, 8), 31);
+ Add_Action (Table.States (781), 97, (333, 1), 129);
+ Add_Action (Table.States (781), 98, (333, 0), 130);
+ Add_Action (Table.States (781), 106, (261, 0), 131);
+ Add_Action (Table.States (781), 107, (242, 5), 120);
+ Add_Action (Table.States (781), 108, (242, 7), 34);
+ Add_Action (Table.States (781), 109, (242, 6), 35);
+ Table.States (781).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (781), 120, 132);
+ Add_Goto (Table.States (781), 131, 42);
+ Add_Goto (Table.States (781), 194, 133);
+ Add_Goto (Table.States (781), 195, 966);
+ Add_Goto (Table.States (781), 200, 135);
+ Add_Goto (Table.States (781), 242, 136);
+ Add_Goto (Table.States (781), 261, 137);
+ Add_Goto (Table.States (781), 275, 93);
+ Add_Goto (Table.States (781), 278, 138);
+ Add_Goto (Table.States (781), 285, 139);
+ Add_Goto (Table.States (781), 286, 140);
+ Add_Goto (Table.States (781), 287, 141);
+ Add_Goto (Table.States (781), 288, 142);
+ Add_Goto (Table.States (781), 289, 143);
+ Add_Goto (Table.States (781), 290, 144);
+ Add_Goto (Table.States (781), 296, 98);
+ Add_Goto (Table.States (781), 304, 145);
+ Add_Goto (Table.States (781), 323, 146);
+ Add_Goto (Table.States (781), 324, 147);
+ Add_Goto (Table.States (781), 333, 148);
+ Table.States (781).Kernel := To_Vector ((0 => ((276, 0), 90, 0,
(195, 1), 0)));
+ Table.States (781).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (782).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (782), 22, (224, 1), 967);
+ Add_Action (Table.States (782), 23, (175, 0), 968);
+ Add_Action (Table.States (782), 78, Reduce, (224, 3), 4,
if_expression_3'Access, null);
+ Table.States (782).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (782), 175, 969);
+ Add_Goto (Table.States (782), 176, 970);
+ Table.States (782).Kernel := To_Vector ((((224, 0), 195, 3,
(2147483647, 0), 0), ((224, 1), 195, 1,
+ (2147483647, 0), 0), ((224, 2), 195, 2, (2147483647, 0), 0),
((224, 3), 195, 0, (224, 3), 4)));
+ Table.States (782).Minimal_Complete_Actions := To_Vector (((Shift,
(224, 1), 22, 967), (Reduce, (224, 3),
+ 4)));
+ Table.States (783).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (783), 78, (120, 4), 971);
+ Add_Action (Table.States (783), 86, (128, 0), 448);
+ Table.States (783).Kernel := To_Vector ((((120, 4), 128, 1,
(2147483647, 0), 0), ((128, 0), 128, 1,
+ (2147483647, 0), 0)));
+ Table.States (783).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (120, 4), 78, 971)));
+ Table.States (784).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (784), 78, (120, 2), 972);
+ Table.States (784).Kernel := To_Vector ((0 => ((120, 2), 54, 1,
(2147483647, 0), 0)));
+ Table.States (784).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (120, 2), 78, 972)));
+ Table.States (785).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (785), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (120, 3), 5,
+ aggregate_3'Access, null);
+ Table.States (785).Kernel := To_Vector ((0 => ((120, 3), 78, 0,
(120, 3), 5)));
+ Table.States (785).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (120, 3), 5)));
+ Table.States (786).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (786), 3, (200, 2), 122);
+ Add_Action (Table.States (786), 39, (261, 4), 123);
+ Add_Action (Table.States (786), 40, (200, 3), 124);
+ Add_Action (Table.States (786), 41, (261, 1), 125);
+ Add_Action (Table.States (786), 52, (278, 0), 126);
+ Add_Action (Table.States (786), 76, (120, 0), 127);
+ Add_Action (Table.States (786), 77, (120, 5), 128);
+ Add_Action (Table.States (786), 78, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (786), 81, (242, 8), 31);
+ Add_Action (Table.States (786), 97, (333, 1), 129);
+ Add_Action (Table.States (786), 98, (333, 0), 130);
+ Add_Action (Table.States (786), 106, (261, 0), 131);
+ Add_Action (Table.States (786), 107, (242, 5), 120);
+ Add_Action (Table.States (786), 108, (242, 7), 34);
+ Add_Action (Table.States (786), 109, (242, 6), 35);
+ Table.States (786).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (786), 120, 132);
+ Add_Goto (Table.States (786), 131, 42);
+ Add_Goto (Table.States (786), 194, 133);
+ Add_Goto (Table.States (786), 195, 973);
+ Add_Goto (Table.States (786), 200, 135);
+ Add_Goto (Table.States (786), 242, 136);
+ Add_Goto (Table.States (786), 261, 137);
+ Add_Goto (Table.States (786), 275, 93);
+ Add_Goto (Table.States (786), 278, 138);
+ Add_Goto (Table.States (786), 285, 139);
+ Add_Goto (Table.States (786), 286, 140);
+ Add_Goto (Table.States (786), 287, 141);
+ Add_Goto (Table.States (786), 288, 142);
+ Add_Goto (Table.States (786), 289, 143);
+ Add_Goto (Table.States (786), 290, 144);
+ Add_Goto (Table.States (786), 296, 98);
+ Add_Goto (Table.States (786), 304, 145);
+ Add_Goto (Table.States (786), 323, 146);
+ Add_Goto (Table.States (786), 324, 147);
+ Add_Goto (Table.States (786), 333, 148);
+ Table.States (786).Kernel := To_Vector ((0 => ((280, 0), 76, 1,
(2147483647, 0), 0)));
+ Table.States (786).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (787).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (787), 79, (120, 5), 974);
+ Add_Action (Table.States (787), 86, (128, 0), 448);
+ Table.States (787).Kernel := To_Vector ((((120, 5), 128, 1,
(2147483647, 0), 0), ((128, 0), 128, 1,
+ (2147483647, 0), 0)));
+ Table.States (787).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (120, 5), 79, 974)));
+ Table.States (788).Action_List.Set_Capacity (25);
+ Add_Action (Table.States (788), 4, (116, 0), 1);
+ Add_Action (Table.States (788), 5, (306, 8), 2);
+ Add_Action (Table.States (788), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (788), 15, (142, 0), 3);
+ Add_Action (Table.States (788), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (788), 18, (164, 0), 4);
+ Add_Action (Table.States (788), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (788), 27, (193, 0), 5);
+ Add_Action (Table.States (788), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (788), 31, (306, 3), 9);
+ Add_Action (Table.States (788), 32, (225, 0), 10);
+ Add_Action (Table.States (788), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (788), 41, (306, 0), 13);
+ Add_Action (Table.States (788), 48, (260, 0), 16);
+ Add_Action (Table.States (788), 52, (279, 0), 20);
+ Add_Action (Table.States (788), 57, (293, 0), 21);
+ Add_Action (Table.States (788), 58, (199, 0), 22);
+ Add_Action (Table.States (788), 61, (129, 0), 24);
+ Add_Action (Table.States (788), 72, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (788), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (788), 81, (242, 8), 31);
+ Add_Action (Table.States (788), 96, (220, 0), 32);
+ Add_Action (Table.States (788), 107, (134, 0), 363);
+ Add_Action (Table.States (788), 108, (242, 7), 34);
+ Add_Action (Table.States (788), 109, (242, 6), 35);
+ Table.States (788).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (788), 116, 37);
+ Add_Goto (Table.States (788), 126, 39);
+ Add_Goto (Table.States (788), 129, 40);
+ Add_Goto (Table.States (788), 131, 42);
+ Add_Goto (Table.States (788), 134, 43);
+ Add_Goto (Table.States (788), 135, 44);
+ Add_Goto (Table.States (788), 136, 45);
+ Add_Goto (Table.States (788), 142, 48);
+ Add_Goto (Table.States (788), 154, 51);
+ Add_Goto (Table.States (788), 155, 52);
+ Add_Goto (Table.States (788), 164, 54);
+ Add_Goto (Table.States (788), 193, 58);
+ Add_Goto (Table.States (788), 199, 60);
+ Add_Goto (Table.States (788), 220, 69);
+ Add_Goto (Table.States (788), 225, 71);
+ Add_Goto (Table.States (788), 235, 73);
+ Add_Goto (Table.States (788), 242, 74);
+ Add_Goto (Table.States (788), 260, 84);
+ Add_Goto (Table.States (788), 264, 87);
+ Add_Goto (Table.States (788), 275, 93);
+ Add_Goto (Table.States (788), 279, 94);
+ Add_Goto (Table.States (788), 293, 97);
+ Add_Goto (Table.States (788), 296, 98);
+ Add_Goto (Table.States (788), 297, 99);
+ Add_Goto (Table.States (788), 301, 100);
+ Add_Goto (Table.States (788), 302, 364);
+ Add_Goto (Table.States (788), 303, 975);
+ Add_Goto (Table.States (788), 305, 101);
+ Add_Goto (Table.States (788), 306, 102);
+ Add_Goto (Table.States (788), 309, 366);
+ Add_Goto (Table.States (788), 326, 115);
+ Table.States (788).Kernel := To_Vector ((0 => ((143, 0), 90, 0,
(303, 1), 0)));
+ Table.States (788).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
+ Table.States (789).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (789), 99, (142, 0), 976);
+ Table.States (789).Kernel := To_Vector ((0 => ((142, 0), 15, 1,
(2147483647, 0), 0)));
+ Table.States (789).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (142, 0), 99, 976)));
+ Table.States (790).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (790), (10, 20, 21, 22, 23, 35, 37, 43,
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
+ (236, 0), 3, null, null);
+ Table.States (790).Kernel := To_Vector ((0 => ((236, 0), 237, 0,
(236, 0), 3)));
+ Table.States (790).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (236, 0), 3)));
+ Table.States (791).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (791), 10, Reduce, (317, 1), 3,
subtype_indication_1'Access, null);
+ Add_Action (Table.States (791), 21, Reduce, (317, 1), 3,
subtype_indication_1'Access, null);
+ Add_Action (Table.States (791), 37, Reduce, (317, 1), 3,
subtype_indication_1'Access, null);
+ Add_Action (Table.States (791), 42, Reduce, (317, 1), 3,
subtype_indication_1'Access, null);
+ Add_Action (Table.States (791), 53, (158, 0), 632);
+ Add_Action (Table.States (791), 74, Reduce, (317, 1), 3,
subtype_indication_1'Access, null);
+ Add_Action (Table.States (791), 76, (118, 0), 633);
+ Add_Action (Table.States (791), 78, Reduce, (317, 1), 3,
subtype_indication_1'Access, null);
+ Add_Action (Table.States (791), 85, Reduce, (317, 1), 3,
subtype_indication_1'Access, null);
+ Add_Action (Table.States (791), 86, Reduce, (317, 1), 3,
subtype_indication_1'Access, null);
+ Add_Action (Table.States (791), 87, (296, 0), 239);
+ Add_Action (Table.States (791), 90, Reduce, (317, 1), 3,
subtype_indication_1'Access, null);
+ Add_Action (Table.States (791), 99, Reduce, (317, 1), 3,
subtype_indication_1'Access, null);
+ Add_Action (Table.States (791), 104, (325, 0), 241);
+ Add_Action (Table.States (791), 105, (325, 1), 242);
+ Table.States (791).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (791), 118, 243);
+ Add_Goto (Table.States (791), 158, 977);
+ Add_Goto (Table.States (791), 227, 635);
+ Add_Goto (Table.States (791), 325, 244);
+ Table.States (791).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((275, 0), 242, 3, (2147483647, 0), 0),
+ ((296, 0), 242, 2, (2147483647, 0), 0), ((296, 1), 242, 2,
(2147483647, 0), 0), ((296, 2), 242, 2,
+ (2147483647, 0), 0), ((296, 3), 242, 2, (2147483647, 0), 0),
((317, 0), 242, 4, (2147483647, 0), 0),
+ ((317, 1), 242, 0, (317, 1), 3)));
+ Table.States (791).Minimal_Complete_Actions := To_Vector (((Shift,
(158, 0), 53, 632), (Reduce, (317, 1),
+ 3)));
+ Table.States (792).Action_List.Set_Capacity (10);
+ Add_Action (Table.States (792), (10, 21, 37, 42, 74, 78, 85, 86,
90, 99), (158, 0), 2, null, null);
+ Table.States (792).Kernel := To_Vector ((0 => ((158, 0), 280, 0,
(158, 0), 2)));
+ Table.States (792).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (158, 0), 2)));
Table.States (793).Action_List.Set_Capacity (2);
- Add_Action (Table.States (793), 24, 973);
- Add_Action (Table.States (793), 105, 791);
- Table.States (793).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (793), 145, 974);
- Table.States (793).Kernel := To_Vector (((146, 146, 8, True),
(282, 146, 3, False)));
- Table.States (793).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 973)));
- Table.States (794).Action_List.Set_Capacity (8);
- Add_Action (Table.States (794), 7, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (794), 33, 507);
- Add_Action (Table.States (794), 40, 387);
- Add_Conflict (Table.States (794), 40, (237, 3), 0, null, null);
- Add_Action (Table.States (794), 45, 508);
- Add_Action (Table.States (794), 79, Reduce, (237, 3), 0, null,
null);
- Add_Action (Table.States (794), 105, Reduce, (237, 3), 0, null,
null);
- Add_Action (Table.States (794), 106, Reduce, (237, 3), 0, null,
null);
- Add_Action (Table.States (794), 107, Reduce, (237, 3), 0, null,
null);
- Table.States (794).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (794), 115, 975);
- Add_Goto (Table.States (794), 237, 976);
- Add_Goto (Table.States (794), 242, 729);
- Table.States (794).Kernel := To_Vector (((255, 119, 2, False),
(255, 119, 1, False), (255, 119, 3, False),
- (255, 119, 2, False)));
- Table.States (794).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 237, 0)));
- Table.States (795).Action_List.Set_Capacity (2);
- Add_Action (Table.States (795), (77, 97), (256, 0), 3, null, null);
- Table.States (795).Kernel := To_Vector ((0 => (256, 255, 0,
True)));
- Table.States (795).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 256, 3)));
- Table.States (795).Minimal_Complete_Actions_Recursive := True;
- Table.States (796).Action_List.Set_Capacity (1);
- Add_Action (Table.States (796), 97, 977);
- Table.States (796).Kernel := To_Vector ((0 => (216, 123, 1,
False)));
- Table.States (796).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 977)));
- Table.States (797).Action_List.Set_Capacity (1);
- Add_Action (Table.States (797), 97, 978);
- Table.States (797).Kernel := To_Vector ((0 => (216, 123, 1,
False)));
- Table.States (797).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 978)));
- Table.States (798).Action_List.Set_Capacity (1);
- Add_Action (Table.States (798), 97, 979);
- Table.States (798).Kernel := To_Vector ((0 => (216, 123, 1,
False)));
- Table.States (798).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 979)));
- Table.States (799).Action_List.Set_Capacity (4);
- Add_Action (Table.States (799), 36, 980);
- Add_Action (Table.States (799), 39, Reduce, (110, 2), 1, null,
null);
- Add_Action (Table.States (799), 64, 884);
- Add_Action (Table.States (799), 65, 885);
- Table.States (799).Kernel := To_Vector (((110, 6, 1, False), (110,
6, 1, False), (110, 6, 0, False), (112,
- 6, 2, False), (112, 6, 1, False)));
- Table.States (799).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 110, 1)));
+ Add_Action (Table.States (793), (78, 86), (171, 1), 1, null,
null);
+ Table.States (793).Kernel := To_Vector ((0 => ((171, 1), 170, 0,
(171, 1), 1)));
+ Table.States (793).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (171, 1), 1)));
+ Table.States (794).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (794), 78, (227, 0), 978);
+ Add_Action (Table.States (794), 86, (171, 0), 979);
+ Table.States (794).Kernel := To_Vector ((((171, 0), 171, 2,
(2147483647, 0), 0), ((227, 0), 171, 1,
+ (2147483647, 0), 0)));
+ Table.States (794).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (227, 0), 78, 978)));
+ Table.States (795).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (795), 78, Reduce, (170, 1), 1, null,
null);
+ Add_Conflict (Table.States (795), 78, (281, 1), 1, null, null);
+ Add_Action (Table.States (795), 82, Reduce, (168, 2), 1, null,
null);
+ Add_Action (Table.States (795), 86, Reduce, (170, 1), 1, null,
null);
+ Add_Conflict (Table.States (795), 86, (281, 1), 1, null, null);
+ Add_Action (Table.States (795), 90, Reduce, (168, 2), 1, null,
null);
+ Table.States (795).Kernel := To_Vector ((((168, 2), 280, 0,
(168, 2), 1), ((170, 1), 280, 0, (170, 1),
+ 1), ((281, 1), 280, 0, (281, 1), 1)));
+ Table.States (795).Minimal_Complete_Actions := To_Vector
(((Reduce, (168, 2), 1), (Reduce, (170, 1), 1),
+ (Reduce, (281, 1), 1)));
+ Table.States (796).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (796), 81, (242, 8), 31);
+ Add_Action (Table.States (796), 107, (242, 5), 120);
+ Add_Action (Table.States (796), 108, (242, 7), 34);
+ Add_Action (Table.States (796), 109, (242, 6), 35);
+ Table.States (796).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (796), 131, 42);
+ Add_Goto (Table.States (796), 242, 980);
+ Add_Goto (Table.States (796), 275, 93);
+ Add_Goto (Table.States (796), 296, 98);
+ Table.States (796).Kernel := To_Vector ((0 => ((233, 0), 59, 1,
(2147483647, 0), 0)));
+ Table.States (796).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (797).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (797), 37, Reduce, (233, 1), 5, null,
null);
+ Add_Action (Table.States (797), 76, (118, 0), 237);
+ Add_Action (Table.States (797), 87, (296, 0), 239);
+ Add_Action (Table.States (797), 90, Reduce, (233, 1), 5, null,
null);
+ Add_Action (Table.States (797), 104, (325, 0), 241);
+ Add_Action (Table.States (797), 105, (325, 1), 242);
+ Table.States (797).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (797), 118, 243);
+ Add_Goto (Table.States (797), 325, 244);
+ Table.States (797).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((233, 1), 242, 0,
+ (233, 1), 5), ((242, 0), 242, 5, (2147483647, 0), 0), ((242,
1), 242, 2, (2147483647, 0), 0), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (797).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (233, 1), 5)));
+ Table.States (798).Action_List.Set_Capacity (42);
+ Add_Action (Table.States (798), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73,
74, 81, 96, 107, 108, 109, 110), (130, 0),
+ 6, at_clause_0'Access, null);
+ Table.States (798).Kernel := To_Vector ((0 => ((130, 0), 99, 0,
(130, 0), 6)));
+ Table.States (798).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (130, 0), 6)));
+ Table.States (799).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (799), 3, (200, 2), 122);
+ Add_Action (Table.States (799), 39, (261, 4), 123);
+ Add_Action (Table.States (799), 40, (200, 3), 124);
+ Add_Action (Table.States (799), 41, (261, 1), 125);
+ Add_Action (Table.States (799), 52, (278, 0), 126);
+ Add_Action (Table.States (799), 76, (120, 0), 127);
+ Add_Action (Table.States (799), 77, (120, 5), 128);
+ Add_Action (Table.States (799), 81, (242, 8), 31);
+ Add_Action (Table.States (799), 97, (333, 1), 129);
+ Add_Action (Table.States (799), 98, (333, 0), 130);
+ Add_Action (Table.States (799), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (799), 106, (261, 0), 131);
+ Add_Action (Table.States (799), 107, (242, 5), 120);
+ Add_Action (Table.States (799), 108, (242, 7), 34);
+ Add_Action (Table.States (799), 109, (242, 6), 35);
+ Table.States (799).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (799), 120, 132);
+ Add_Goto (Table.States (799), 131, 42);
+ Add_Goto (Table.States (799), 194, 133);
+ Add_Goto (Table.States (799), 195, 981);
+ Add_Goto (Table.States (799), 200, 135);
+ Add_Goto (Table.States (799), 242, 136);
+ Add_Goto (Table.States (799), 261, 137);
+ Add_Goto (Table.States (799), 275, 93);
+ Add_Goto (Table.States (799), 278, 138);
+ Add_Goto (Table.States (799), 285, 139);
+ Add_Goto (Table.States (799), 286, 140);
+ Add_Goto (Table.States (799), 287, 141);
+ Add_Goto (Table.States (799), 288, 142);
+ Add_Goto (Table.States (799), 289, 143);
+ Add_Goto (Table.States (799), 290, 144);
+ Add_Goto (Table.States (799), 296, 98);
+ Add_Goto (Table.States (799), 304, 145);
+ Add_Goto (Table.States (799), 323, 146);
+ Add_Goto (Table.States (799), 324, 147);
+ Add_Goto (Table.States (799), 333, 148);
+ Table.States (799).Kernel := To_Vector ((0 => ((238, 0), 38, 1,
(2147483647, 0), 0)));
+ Table.States (799).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
Table.States (800).Action_List.Set_Capacity (1);
- Add_Action (Table.States (800), 81, 981);
- Table.States (800).Kernel := To_Vector (((203, 19, 3, False),
(203, 19, 1, False)));
- Table.States (800).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 81, 981)));
- Table.States (801).Action_List.Set_Capacity (1);
- Add_Action (Table.States (801), 81, 982);
- Table.States (801).Kernel := To_Vector ((0 => (203, 20, 1,
False)));
- Table.States (801).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 81, 982)));
- Table.States (802).Action_List.Set_Capacity (3);
- Add_Action (Table.States (802), 34, 889);
- Add_Action (Table.States (802), 39, Reduce, (110, 3), 1, null,
null);
- Add_Action (Table.States (802), 49, Reduce, (112, 4), 1, null,
null);
- Table.States (802).Kernel := To_Vector (((110, 36, 0, False),
(112, 36, 0, False), (229, 36, 3, False),
- (229, 36, 1, False)));
- Table.States (802).Minimal_Complete_Actions := To_Vector
(((Reduce, 110, 1), (Reduce, 112, 1)));
- Table.States (803).Action_List.Set_Capacity (1);
- Add_Action (Table.States (803), 81, 983);
- Table.States (803).Kernel := To_Vector ((0 => (203, 38, 1,
False)));
- Table.States (803).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 81, 983)));
- Table.States (804).Action_List.Set_Capacity (1);
- Add_Action (Table.States (804), 81, 984);
- Table.States (804).Kernel := To_Vector ((0 => (203, 53, 1,
False)));
- Table.States (804).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 81, 984)));
- Table.States (805).Action_List.Set_Capacity (4);
- Add_Action (Table.States (805), 36, 904);
- Add_Action (Table.States (805), 49, Reduce, (112, 3), 1, null,
null);
- Add_Action (Table.States (805), 74, 338);
- Add_Action (Table.States (805), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (805).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (805), 123, 985);
- Table.States (805).Kernel := To_Vector (((112, 65, 1, False),
(112, 65, 0, False), (202, 65, 1, False)));
- Table.States (805).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 112, 1)));
+ Add_Action (Table.States (800), 12, (147, 0), 982);
+ Table.States (800).Kernel := To_Vector ((0 => ((147, 0), 107, 7,
(2147483647, 0), 0)));
+ Table.States (800).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (147, 0), 12, 982)));
+ Table.States (801).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (801), (24, 107), (148, 1), 1, null,
null);
+ Table.States (801).Kernel := To_Vector ((0 => ((148, 1), 147, 0,
(148, 1), 1)));
+ Table.States (801).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (148, 1), 1)));
+ Table.States (802).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (802), 24, (284, 0), 983);
+ Add_Action (Table.States (802), 107, (147, 0), 800);
+ Table.States (802).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (802), 147, 984);
+ Table.States (802).Kernel := To_Vector ((((148, 0), 148, 8,
(2147483647, 0), 0), ((284, 0), 148, 3,
+ (2147483647, 0), 0)));
+ Table.States (802).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (284, 0), 24, 983)));
+ Table.States (803).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (803), 7, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (803), 33, (239, 0), 511);
+ Add_Action (Table.States (803), 40, (244, 0), 389);
+ Add_Conflict (Table.States (803), 40, (239, 3), 0, null, null);
+ Add_Action (Table.States (803), 45, (239, 2), 512);
+ Add_Action (Table.States (803), 81, Reduce, (239, 3), 0, null,
null);
+ Add_Action (Table.States (803), 107, Reduce, (239, 3), 0, null,
null);
+ Add_Action (Table.States (803), 108, Reduce, (239, 3), 0, null,
null);
+ Add_Action (Table.States (803), 109, Reduce, (239, 3), 0, null,
null);
+ Table.States (803).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (803), 117, 985);
+ Add_Goto (Table.States (803), 239, 986);
+ Add_Goto (Table.States (803), 244, 735);
+ Table.States (803).Kernel := To_Vector ((((257, 0), 121, 2,
(2147483647, 0), 0), ((257, 1), 121, 1,
+ (2147483647, 0), 0), ((257, 2), 121, 3, (2147483647, 0), 0),
((257, 3), 121, 2, (2147483647, 0),
+ 0)));
+ Table.States (803).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (239, 3), 0)));
+ Table.States (804).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (804), (78, 99), (258, 0), 3, null,
null);
+ Table.States (804).Kernel := To_Vector ((0 => ((258, 0), 257, 0,
(258, 0), 3)));
+ Table.States (804).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (258, 0), 3)));
+ Table.States (805).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (805), 99, (218, 2), 987);
+ Table.States (805).Kernel := To_Vector ((0 => ((218, 2), 125, 1,
(2147483647, 0), 0)));
+ Table.States (805).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (218, 2), 99, 987)));
Table.States (806).Action_List.Set_Capacity (1);
- Add_Action (Table.States (806), 81, 986);
- Table.States (806).Kernel := To_Vector ((0 => (203, 76, 2,
False)));
- Table.States (806).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 81, 986)));
+ Add_Action (Table.States (806), 99, (218, 0), 988);
+ Table.States (806).Kernel := To_Vector ((0 => ((218, 0), 125, 1,
(2147483647, 0), 0)));
+ Table.States (806).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (218, 0), 99, 988)));
Table.States (807).Action_List.Set_Capacity (1);
- Add_Action (Table.States (807), 39, 987);
- Table.States (807).Kernel := To_Vector (((204, 110, 4, False),
(204, 110, 2, False)));
- Table.States (807).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 39, 987)));
- Table.States (808).Action_List.Set_Capacity (1);
- Add_Action (Table.States (808), 49, 988);
- Table.States (808).Kernel := To_Vector ((0 => (203, 112, 1,
False)));
- Table.States (808).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 49, 988)));
- Table.States (809).Action_List.Set_Capacity (2);
- Add_Action (Table.States (809), (74, 97), (203, 9), 1, null, null);
- Table.States (809).Kernel := To_Vector ((0 => (203, 115, 0,
False)));
- Table.States (809).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 203, 1)));
- Table.States (810).Action_List.Set_Capacity (2);
- Add_Action (Table.States (810), (74, 97), (203, 8), 1, null, null);
- Table.States (810).Kernel := To_Vector ((0 => (203, 121, 0,
False)));
- Table.States (810).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 203, 1)));
- Table.States (811).Action_List.Set_Capacity (2);
- Add_Action (Table.States (811), 74, 338);
- Add_Action (Table.States (811), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (811).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (811), 123, 989);
- Table.States (811).Kernel := To_Vector ((0 => (202, 203, 1,
False)));
- Table.States (811).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (812).Action_List.Set_Capacity (2);
- Add_Action (Table.States (812), (74, 97), (203, 1), 1, null, null);
- Table.States (812).Kernel := To_Vector ((0 => (203, 204, 0,
False)));
- Table.States (812).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 203, 1)));
- Table.States (813).Action_List.Set_Capacity (2);
- Add_Action (Table.States (813), (74, 97), (203, 10), 1, null,
null);
- Table.States (813).Kernel := To_Vector ((0 => (203, 229, 0,
False)));
- Table.States (813).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 203, 1)));
- Table.States (814).Action_List.Set_Capacity (8);
- Add_Action (Table.States (814), (29, 47, 48, 50, 69, 71, 74, 105),
(202, 2), 5,
- formal_type_declaration_2'Access, null);
- Table.States (814).Kernel := To_Vector ((0 => (202, 97, 0,
False)));
- Table.States (814).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 202, 5)));
- Table.States (815).Action_List.Set_Capacity (4);
- Add_Action (Table.States (815), 79, 31);
- Add_Action (Table.States (815), 105, 120);
- Add_Action (Table.States (815), 106, 34);
- Add_Action (Table.States (815), 107, 35);
- Table.States (815).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (815), 129, 42);
- Add_Goto (Table.States (815), 240, 990);
- Add_Goto (Table.States (815), 273, 93);
- Add_Goto (Table.States (815), 294, 98);
- Table.States (815).Kernel := To_Vector ((0 => (205, 39, 2,
False)));
- Table.States (815).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
+ Add_Action (Table.States (807), 99, (218, 1), 989);
+ Table.States (807).Kernel := To_Vector ((0 => ((218, 1), 125, 1,
(2147483647, 0), 0)));
+ Table.States (807).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (218, 1), 99, 989)));
+ Table.States (808).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (808), 36, (112, 0), 990);
+ Add_Action (Table.States (808), 39, Reduce, (112, 2), 1, null,
null);
+ Add_Action (Table.States (808), 64, (112, 1), 893);
+ Add_Action (Table.States (808), 65, (114, 0), 894);
+ Table.States (808).Kernel := To_Vector ((((112, 0), 6, 1,
(2147483647, 0), 0), ((112, 1), 6, 1,
+ (2147483647, 0), 0), ((112, 2), 6, 0, (112, 2), 1), ((114, 0),
6, 2, (2147483647, 0), 0), ((114, 1),
+ 6, 1, (2147483647, 0), 0)));
+ Table.States (808).Minimal_Complete_Actions := To_Vector (((Shift,
(112, 0), 36, 990), (Shift, (112, 1),
+ 64, 893), (Reduce, (112, 2), 1), (Shift, (114, 0), 65, 894)));
+ Table.States (809).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (809), 83, (205, 6), 991);
+ Table.States (809).Kernel := To_Vector ((((205, 6), 19, 3,
(2147483647, 0), 0), ((205, 7), 19, 1,
+ (2147483647, 0), 0)));
+ Table.States (809).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (205, 6), 83, 991)));
+ Table.States (810).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (810), 83, (205, 5), 992);
+ Table.States (810).Kernel := To_Vector ((0 => ((205, 5), 20, 1,
(2147483647, 0), 0)));
+ Table.States (810).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (205, 5), 83, 992)));
+ Table.States (811).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (811), 34, (231, 0), 898);
+ Add_Action (Table.States (811), 39, Reduce, (112, 3), 1, null,
null);
+ Add_Action (Table.States (811), 49, Reduce, (114, 4), 1, null,
null);
+ Table.States (811).Kernel := To_Vector ((((112, 3), 36, 0, (112,
3), 1), ((114, 4), 36, 0, (114, 4),
+ 1), ((231, 0), 36, 3, (2147483647, 0), 0), ((231, 4), 36, 1,
(2147483647, 0), 0)));
+ Table.States (811).Minimal_Complete_Actions := To_Vector
(((Reduce, (112, 3), 1), (Reduce, (114, 4), 1),
+ (Shift, (231, 0), 34, 898)));
+ end Subr_15;
+ procedure Subr_16
+ is begin
+ Table.States (812).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (812), 83, (205, 4), 993);
+ Table.States (812).Kernel := To_Vector ((0 => ((205, 4), 38, 1,
(2147483647, 0), 0)));
+ Table.States (812).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (205, 4), 83, 993)));
+ Table.States (813).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (813), 83, (205, 3), 994);
+ Table.States (813).Kernel := To_Vector ((0 => ((205, 3), 53, 1,
(2147483647, 0), 0)));
+ Table.States (813).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (205, 3), 83, 994)));
+ Table.States (814).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (814), 36, (114, 2), 913);
+ Add_Action (Table.States (814), 49, Reduce, (114, 3), 1, null,
null);
+ Add_Action (Table.States (814), 74, (125, 0), 340);
+ Add_Action (Table.States (814), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (814).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (814), 125, 995);
+ Table.States (814).Kernel := To_Vector ((((114, 2), 65, 1,
(2147483647, 0), 0), ((114, 3), 65, 0,
+ (114, 3), 1), ((204, 1), 65, 1, (2147483647, 0), 0)));
+ Table.States (814).Minimal_Complete_Actions := To_Vector (((Shift,
(114, 2), 36, 913), (Reduce, (114, 3),
+ 1), (Reduce, (125, 1), 0)));
+ Table.States (815).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (815), 83, (205, 2), 996);
+ Table.States (815).Kernel := To_Vector ((0 => ((205, 2), 76, 2,
(2147483647, 0), 0)));
+ Table.States (815).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (205, 2), 83, 996)));
Table.States (816).Action_List.Set_Capacity (1);
- Add_Action (Table.States (816), 97, 991);
- Table.States (816).Kernel := To_Vector ((0 => (201, 123, 1,
False)));
- Table.States (816).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 991)));
- Table.States (817).Action_List.Set_Capacity (2);
- Add_Action (Table.States (817), 74, 338);
- Add_Action (Table.States (817), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (817).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (817), 123, 992);
- Table.States (817).Kernel := To_Vector ((0 => (201, 311, 1,
False)));
- Table.States (817).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (818).Action_List.Set_Capacity (1);
- Add_Action (Table.States (818), 97, 993);
- Table.States (818).Kernel := To_Vector ((0 => (201, 123, 1,
False)));
- Table.States (818).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 993)));
- Table.States (819).Action_List.Set_Capacity (15);
- Add_Action (Table.States (819), 3, 122);
- Add_Action (Table.States (819), 39, 123);
- Add_Action (Table.States (819), 40, 124);
- Add_Action (Table.States (819), 41, 125);
- Add_Action (Table.States (819), 52, 126);
- Add_Action (Table.States (819), 74, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (819), 76, 127);
- Add_Action (Table.States (819), 79, 31);
- Add_Action (Table.States (819), 95, 128);
- Add_Action (Table.States (819), 96, 129);
- Add_Action (Table.States (819), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (819), 104, 130);
- Add_Action (Table.States (819), 105, 120);
- Add_Action (Table.States (819), 106, 34);
- Add_Action (Table.States (819), 107, 35);
- Table.States (819).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (819), 118, 131);
- Add_Goto (Table.States (819), 129, 42);
- Add_Goto (Table.States (819), 192, 132);
- Add_Goto (Table.States (819), 193, 994);
- Add_Goto (Table.States (819), 198, 134);
- Add_Goto (Table.States (819), 240, 135);
- Add_Goto (Table.States (819), 259, 136);
- Add_Goto (Table.States (819), 273, 93);
- Add_Goto (Table.States (819), 276, 137);
- Add_Goto (Table.States (819), 283, 138);
- Add_Goto (Table.States (819), 284, 139);
- Add_Goto (Table.States (819), 285, 140);
- Add_Goto (Table.States (819), 286, 141);
- Add_Goto (Table.States (819), 287, 142);
- Add_Goto (Table.States (819), 288, 143);
- Add_Goto (Table.States (819), 294, 98);
- Add_Goto (Table.States (819), 302, 144);
- Add_Goto (Table.States (819), 321, 145);
- Add_Goto (Table.States (819), 322, 146);
- Add_Goto (Table.States (819), 331, 147);
- Table.States (819).Kernel := To_Vector ((0 => (199, 83, 1,
False)));
- Table.States (819).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (820).Action_List.Set_Capacity (1);
- Add_Action (Table.States (820), 97, 995);
- Table.States (820).Kernel := To_Vector ((0 => (199, 123, 1,
False)));
- Table.States (820).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 995)));
- Table.States (821).Action_List.Set_Capacity (7);
- Add_Action (Table.States (821), 74, 338);
- Add_Action (Table.States (821), 76, 236);
- Add_Action (Table.States (821), 83, 996);
- Add_Action (Table.States (821), 85, 238);
- Add_Action (Table.States (821), 97, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (821), 102, 240);
- Add_Action (Table.States (821), 103, 241);
- Table.States (821).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (821), 116, 242);
- Add_Goto (Table.States (821), 123, 997);
- Add_Goto (Table.States (821), 323, 243);
- Table.States (821).Kernel := To_Vector (((129, 240, 2, True),
(199, 240, 2, False), (199, 240, 1, False),
- (240, 240, 5, True), (240, 240, 2, True), (273, 240, 3, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True)));
- Table.States (821).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (822).Action_List.Set_Capacity (1);
- Add_Action (Table.States (822), 24, 998);
- Table.States (822).Kernel := To_Vector ((0 => (223, 301, 3,
False)));
- Table.States (822).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 998)));
- Table.States (823).Action_List.Set_Capacity (1);
- Add_Action (Table.States (823), 68, 999);
- Table.States (823).Kernel := To_Vector ((0 => (175, 193, 1,
False)));
- Table.States (823).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 68, 999)));
- Table.States (824).Action_List.Set_Capacity (1);
- Add_Action (Table.States (824), 97, 1000);
- Table.States (824).Kernel := To_Vector ((0 => (223, 32, 1,
False)));
- Table.States (824).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1000)));
- Table.States (825).Action_List.Set_Capacity (24);
- Add_Action (Table.States (825), 4, 1);
- Add_Action (Table.States (825), 5, 2);
- Add_Action (Table.States (825), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (825), 15, 3);
- Add_Action (Table.States (825), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (825), 18, 4);
- Add_Action (Table.States (825), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (825), 27, 5);
- Add_Action (Table.States (825), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (825), 31, 9);
- Add_Action (Table.States (825), 32, 10);
- Add_Action (Table.States (825), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (825), 41, 13);
- Add_Action (Table.States (825), 48, 16);
- Add_Action (Table.States (825), 52, 20);
- Add_Action (Table.States (825), 57, 21);
- Add_Action (Table.States (825), 58, 22);
- Add_Action (Table.States (825), 61, 24);
- Add_Action (Table.States (825), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (825), 79, 31);
- Add_Action (Table.States (825), 94, 32);
- Add_Action (Table.States (825), 105, 361);
- Add_Action (Table.States (825), 106, 34);
- Add_Action (Table.States (825), 107, 35);
- Table.States (825).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (825), 114, 37);
- Add_Goto (Table.States (825), 124, 39);
- Add_Goto (Table.States (825), 127, 40);
- Add_Goto (Table.States (825), 129, 42);
- Add_Goto (Table.States (825), 132, 43);
- Add_Goto (Table.States (825), 133, 44);
- Add_Goto (Table.States (825), 134, 45);
- Add_Goto (Table.States (825), 140, 48);
- Add_Goto (Table.States (825), 152, 51);
- Add_Goto (Table.States (825), 153, 52);
- Add_Goto (Table.States (825), 162, 54);
- Add_Goto (Table.States (825), 191, 58);
- Add_Goto (Table.States (825), 197, 60);
- Add_Goto (Table.States (825), 218, 69);
- Add_Goto (Table.States (825), 223, 71);
- Add_Goto (Table.States (825), 233, 73);
- Add_Goto (Table.States (825), 240, 74);
- Add_Goto (Table.States (825), 258, 84);
- Add_Goto (Table.States (825), 262, 87);
- Add_Goto (Table.States (825), 273, 93);
- Add_Goto (Table.States (825), 277, 94);
- Add_Goto (Table.States (825), 291, 97);
- Add_Goto (Table.States (825), 294, 98);
- Add_Goto (Table.States (825), 295, 99);
- Add_Goto (Table.States (825), 299, 100);
- Add_Goto (Table.States (825), 300, 362);
- Add_Goto (Table.States (825), 301, 1001);
- Add_Goto (Table.States (825), 303, 101);
- Add_Goto (Table.States (825), 304, 102);
- Add_Goto (Table.States (825), 307, 364);
- Add_Goto (Table.States (825), 324, 115);
- Table.States (825).Kernel := To_Vector ((0 => (223, 22, 3,
False)));
- Table.States (825).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (826).Action_List.Set_Capacity (1);
- Add_Action (Table.States (826), 32, 1002);
- Table.States (826).Kernel := To_Vector ((0 => (223, 24, 2,
False)));
- Table.States (826).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 32, 1002)));
- Table.States (827).Action_List.Set_Capacity (3);
- Add_Action (Table.States (827), (22, 23, 24), (176, 0), 2,
elsif_statement_list_0'Access, null);
- Table.States (827).Kernel := To_Vector ((0 => (176, 175, 0,
True)));
- Table.States (827).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 176, 2)));
- Table.States (827).Minimal_Complete_Actions_Recursive := True;
- Table.States (828).Action_List.Set_Capacity (1);
- Add_Action (Table.States (828), 97, 1003);
- Table.States (828).Kernel := To_Vector ((0 => (249, 123, 1,
False)));
- Table.States (828).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1003)));
- Table.States (829).Action_List.Set_Capacity (2);
- Add_Action (Table.States (829), 13, 1004);
- Add_Action (Table.States (829), 24, 1005);
- Table.States (829).Kernel := To_Vector (((248, 160, 3, False),
(248, 160, 2, False)));
- Table.States (829).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 1005)));
- Table.States (830).Action_List.Set_Capacity (1);
- Add_Action (Table.States (830), 97, 1006);
- Table.States (830).Kernel := To_Vector ((0 => (214, 123, 1,
False)));
- Table.States (830).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1006)));
- Table.States (831).Action_List.Set_Capacity (41);
- Add_Action (Table.States (831), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (251, 0), 6,
- package_renaming_declaration_0'Access, null);
- Table.States (831).Kernel := To_Vector ((0 => (251, 97, 0,
False)));
- Table.States (831).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 251, 6)));
- Table.States (832).Action_List.Set_Capacity (5);
- Add_Action (Table.States (832), 79, 31);
- Add_Action (Table.States (832), 97, Reduce, (241, 1), 0, null,
null);
- Add_Action (Table.States (832), 105, 120);
- Add_Action (Table.States (832), 106, 34);
- Add_Action (Table.States (832), 107, 35);
- Table.States (832).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (832), 129, 42);
- Add_Goto (Table.States (832), 240, 638);
- Add_Goto (Table.States (832), 241, 1007);
- Add_Goto (Table.States (832), 273, 93);
- Add_Goto (Table.States (832), 294, 98);
- Table.States (832).Kernel := To_Vector ((0 => (252, 24, 0,
False)));
- Table.States (832).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 241, 0)));
- Table.States (833).Action_List.Set_Capacity (16);
- Add_Action (Table.States (833), 24, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (833), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (833), 28, 184);
- Add_Action (Table.States (833), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (833), 30, 8);
- Add_Action (Table.States (833), 40, 12);
- Add_Action (Table.States (833), 46, 14);
- Add_Action (Table.States (833), 47, 15);
- Add_Action (Table.States (833), 48, 16);
- Add_Action (Table.States (833), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (833), 51, 19);
- Add_Action (Table.States (833), 63, 25);
- Add_Action (Table.States (833), 66, 26);
- Add_Action (Table.States (833), 69, 27);
- Add_Action (Table.States (833), 71, 28);
- Add_Action (Table.States (833), 105, 186);
- Table.States (833).Goto_List.Set_Capacity (53);
- Add_Goto (Table.States (833), 113, 36);
- Add_Goto (Table.States (833), 122, 38);
- Add_Goto (Table.States (833), 128, 41);
- Add_Goto (Table.States (833), 135, 46);
- Add_Goto (Table.States (833), 136, 47);
- Add_Goto (Table.States (833), 158, 392);
- Add_Goto (Table.States (833), 159, 393);
- Add_Goto (Table.States (833), 160, 1008);
- Add_Goto (Table.States (833), 180, 55);
- Add_Goto (Table.States (833), 183, 56);
- Add_Goto (Table.States (833), 187, 57);
- Add_Goto (Table.States (833), 194, 59);
- Add_Goto (Table.States (833), 207, 61);
- Add_Goto (Table.States (833), 208, 62);
- Add_Goto (Table.States (833), 210, 63);
- Add_Goto (Table.States (833), 211, 64);
- Add_Goto (Table.States (833), 214, 65);
- Add_Goto (Table.States (833), 215, 66);
- Add_Goto (Table.States (833), 216, 67);
- Add_Goto (Table.States (833), 217, 68);
- Add_Goto (Table.States (833), 220, 70);
- Add_Goto (Table.States (833), 224, 72);
- Add_Goto (Table.States (833), 244, 75);
- Add_Goto (Table.States (833), 245, 76);
- Add_Goto (Table.States (833), 246, 77);
- Add_Goto (Table.States (833), 247, 78);
- Add_Goto (Table.States (833), 248, 79);
- Add_Goto (Table.States (833), 249, 80);
- Add_Goto (Table.States (833), 250, 81);
- Add_Goto (Table.States (833), 251, 82);
- Add_Goto (Table.States (833), 252, 83);
- Add_Goto (Table.States (833), 258, 395);
- Add_Goto (Table.States (833), 260, 85);
- Add_Goto (Table.States (833), 261, 86);
- Add_Goto (Table.States (833), 263, 88);
- Add_Goto (Table.States (833), 264, 89);
- Add_Goto (Table.States (833), 265, 90);
- Add_Goto (Table.States (833), 266, 91);
- Add_Goto (Table.States (833), 272, 92);
- Add_Goto (Table.States (833), 282, 95);
- Add_Goto (Table.States (833), 290, 96);
- Add_Goto (Table.States (833), 305, 103);
- Add_Goto (Table.States (833), 306, 104);
- Add_Goto (Table.States (833), 308, 106);
- Add_Goto (Table.States (833), 309, 107);
- Add_Goto (Table.States (833), 310, 108);
- Add_Goto (Table.States (833), 312, 109);
- Add_Goto (Table.States (833), 314, 110);
- Add_Goto (Table.States (833), 317, 112);
- Add_Goto (Table.States (833), 318, 113);
- Add_Goto (Table.States (833), 320, 114);
- Add_Goto (Table.States (833), 326, 116);
- Add_Goto (Table.States (833), 332, 117);
- Table.States (833).Kernel := To_Vector ((0 => (252, 49, 1,
False)));
- Table.States (833).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 160, 0)));
- Table.States (834).Action_List.Set_Capacity (47);
- Add_Action (Table.States (834), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (258, 0), 6, pragma_g_0'Access, null);
- Table.States (834).Kernel := To_Vector ((0 => (258, 97, 0,
False)));
- Table.States (834).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 258, 6)));
- Table.States (835).Action_List.Set_Capacity (47);
- Add_Action (Table.States (835), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (258, 1), 6, pragma_g_1'Access, null);
- Table.States (835).Kernel := To_Vector ((0 => (258, 97, 0,
False)));
- Table.States (835).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 258, 6)));
- Table.States (836).Action_List.Set_Capacity (1);
- Add_Action (Table.States (836), 97, 1009);
- Table.States (836).Kernel := To_Vector ((0 => (266, 123, 1,
False)));
- Table.States (836).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1009)));
+ Add_Action (Table.States (816), 39, (206, 0), 997);
+ Table.States (816).Kernel := To_Vector ((((206, 0), 112, 4,
(2147483647, 0), 0), ((206, 1), 112, 2,
+ (2147483647, 0), 0)));
+ Table.States (816).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (206, 0), 39, 997)));
+ Table.States (817).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (817), 49, (205, 0), 998);
+ Table.States (817).Kernel := To_Vector ((0 => ((205, 0), 114, 1,
(2147483647, 0), 0)));
+ Table.States (817).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (205, 0), 49, 998)));
+ Table.States (818).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (818), (74, 99), (205, 9), 1, null,
null);
+ Table.States (818).Kernel := To_Vector ((0 => ((205, 9), 117, 0,
(205, 9), 1)));
+ Table.States (818).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (205, 9), 1)));
+ Table.States (819).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (819), (74, 99), (205, 8), 1, null,
null);
+ Table.States (819).Kernel := To_Vector ((0 => ((205, 8), 123, 0,
(205, 8), 1)));
+ Table.States (819).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (205, 8), 1)));
+ Table.States (820).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (820), 74, (125, 0), 340);
+ Add_Action (Table.States (820), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (820).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (820), 125, 999);
+ Table.States (820).Kernel := To_Vector ((0 => ((204, 0), 205, 1,
(2147483647, 0), 0)));
+ Table.States (820).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (821).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (821), (74, 99), (205, 1), 1, null,
null);
+ Table.States (821).Kernel := To_Vector ((0 => ((205, 1), 206, 0,
(205, 1), 1)));
+ Table.States (821).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (205, 1), 1)));
+ Table.States (822).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (822), (74, 99), (205, 10), 1, null,
null);
+ Table.States (822).Kernel := To_Vector ((0 => ((205, 10), 231,
0, (205, 10), 1)));
+ Table.States (822).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (205, 10), 1)));
+ Table.States (823).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (823), (29, 47, 48, 50, 69, 71, 74, 107),
(204, 2), 5,
+ formal_type_declaration_2'Access, null);
+ Table.States (823).Kernel := To_Vector ((0 => ((204, 2), 99, 0,
(204, 2), 5)));
+ Table.States (823).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (204, 2), 5)));
+ Table.States (824).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (824), 81, (242, 8), 31);
+ Add_Action (Table.States (824), 107, (242, 5), 120);
+ Add_Action (Table.States (824), 108, (242, 7), 34);
+ Add_Action (Table.States (824), 109, (242, 6), 35);
+ Table.States (824).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (824), 131, 42);
+ Add_Goto (Table.States (824), 242, 1000);
+ Add_Goto (Table.States (824), 275, 93);
+ Add_Goto (Table.States (824), 296, 98);
+ Table.States (824).Kernel := To_Vector ((0 => ((207, 0), 39, 2,
(2147483647, 0), 0)));
+ Table.States (824).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (825).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (825), 99, (203, 2), 1001);
+ Table.States (825).Kernel := To_Vector ((0 => ((203, 2), 125, 1,
(2147483647, 0), 0)));
+ Table.States (825).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (203, 2), 99, 1001)));
+ Table.States (826).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (826), 74, (125, 0), 340);
+ Add_Action (Table.States (826), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (826).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (826), 125, 1002);
+ Table.States (826).Kernel := To_Vector ((0 => ((203, 0), 313, 1,
(2147483647, 0), 0)));
+ Table.States (826).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (827).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (827), 99, (203, 1), 1003);
+ Table.States (827).Kernel := To_Vector ((0 => ((203, 1), 125, 1,
(2147483647, 0), 0)));
+ Table.States (827).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (203, 1), 99, 1003)));
+ Table.States (828).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (828), 3, (200, 2), 122);
+ Add_Action (Table.States (828), 39, (261, 4), 123);
+ Add_Action (Table.States (828), 40, (200, 3), 124);
+ Add_Action (Table.States (828), 41, (261, 1), 125);
+ Add_Action (Table.States (828), 52, (278, 0), 126);
+ Add_Action (Table.States (828), 74, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (828), 76, (120, 0), 127);
+ Add_Action (Table.States (828), 77, (120, 5), 128);
+ Add_Action (Table.States (828), 81, (242, 8), 31);
+ Add_Action (Table.States (828), 97, (333, 1), 129);
+ Add_Action (Table.States (828), 98, (333, 0), 130);
+ Add_Action (Table.States (828), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (828), 106, (261, 0), 131);
+ Add_Action (Table.States (828), 107, (242, 5), 120);
+ Add_Action (Table.States (828), 108, (242, 7), 34);
+ Add_Action (Table.States (828), 109, (242, 6), 35);
+ Table.States (828).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (828), 120, 132);
+ Add_Goto (Table.States (828), 131, 42);
+ Add_Goto (Table.States (828), 194, 133);
+ Add_Goto (Table.States (828), 195, 1004);
+ Add_Goto (Table.States (828), 200, 135);
+ Add_Goto (Table.States (828), 242, 136);
+ Add_Goto (Table.States (828), 261, 137);
+ Add_Goto (Table.States (828), 275, 93);
+ Add_Goto (Table.States (828), 278, 138);
+ Add_Goto (Table.States (828), 285, 139);
+ Add_Goto (Table.States (828), 286, 140);
+ Add_Goto (Table.States (828), 287, 141);
+ Add_Goto (Table.States (828), 288, 142);
+ Add_Goto (Table.States (828), 289, 143);
+ Add_Goto (Table.States (828), 290, 144);
+ Add_Goto (Table.States (828), 296, 98);
+ Add_Goto (Table.States (828), 304, 145);
+ Add_Goto (Table.States (828), 323, 146);
+ Add_Goto (Table.States (828), 324, 147);
+ Add_Goto (Table.States (828), 333, 148);
+ Table.States (828).Kernel := To_Vector ((0 => ((201, 1), 85, 1,
(2147483647, 0), 0)));
+ Table.States (828).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (829).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (829), 99, (201, 3), 1005);
+ Table.States (829).Kernel := To_Vector ((0 => ((201, 3), 125, 1,
(2147483647, 0), 0)));
+ Table.States (829).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (201, 3), 99, 1005)));
+ Table.States (830).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (830), 74, (125, 0), 340);
+ Add_Action (Table.States (830), 76, (118, 0), 237);
+ Add_Action (Table.States (830), 85, (201, 0), 1006);
+ Add_Action (Table.States (830), 87, (296, 0), 239);
+ Add_Action (Table.States (830), 99, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (830), 104, (325, 0), 241);
+ Add_Action (Table.States (830), 105, (325, 1), 242);
+ Table.States (830).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (830), 118, 243);
+ Add_Goto (Table.States (830), 125, 1007);
+ Add_Goto (Table.States (830), 325, 244);
+ Table.States (830).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((201, 0), 242, 2,
+ (2147483647, 0), 0), ((201, 2), 242, 1, (2147483647, 0), 0),
((242, 0), 242, 5, (2147483647, 0), 0),
+ ((242, 1), 242, 2, (2147483647, 0), 0), ((275, 0), 242, 3,
(2147483647, 0), 0), ((296, 0), 242, 2,
+ (2147483647, 0), 0), ((296, 1), 242, 2, (2147483647, 0), 0),
((296, 2), 242, 2, (2147483647, 0), 0),
+ ((296, 3), 242, 2, (2147483647, 0), 0)));
+ Table.States (830).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (831).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (831), 24, (225, 1), 1008);
+ Table.States (831).Kernel := To_Vector ((0 => ((225, 1), 303, 3,
(2147483647, 0), 0)));
+ Table.States (831).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (225, 1), 24, 1008)));
+ Table.States (832).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (832), 68, (177, 0), 1009);
+ Table.States (832).Kernel := To_Vector ((0 => ((177, 0), 195, 1,
(2147483647, 0), 0)));
+ Table.States (832).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (177, 0), 68, 1009)));
+ Table.States (833).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (833), 99, (225, 3), 1010);
+ Table.States (833).Kernel := To_Vector ((0 => ((225, 3), 32, 1,
(2147483647, 0), 0)));
+ Table.States (833).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (225, 3), 99, 1010)));
+ Table.States (834).Action_List.Set_Capacity (24);
+ Add_Action (Table.States (834), 4, (116, 0), 1);
+ Add_Action (Table.States (834), 5, (306, 8), 2);
+ Add_Action (Table.States (834), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (834), 15, (142, 0), 3);
+ Add_Action (Table.States (834), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (834), 18, (164, 0), 4);
+ Add_Action (Table.States (834), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (834), 27, (193, 0), 5);
+ Add_Action (Table.States (834), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (834), 31, (306, 3), 9);
+ Add_Action (Table.States (834), 32, (225, 0), 10);
+ Add_Action (Table.States (834), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (834), 41, (306, 0), 13);
+ Add_Action (Table.States (834), 48, (260, 0), 16);
+ Add_Action (Table.States (834), 52, (279, 0), 20);
+ Add_Action (Table.States (834), 57, (293, 0), 21);
+ Add_Action (Table.States (834), 58, (199, 0), 22);
+ Add_Action (Table.States (834), 61, (129, 0), 24);
+ Add_Action (Table.States (834), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (834), 81, (242, 8), 31);
+ Add_Action (Table.States (834), 96, (220, 0), 32);
+ Add_Action (Table.States (834), 107, (134, 0), 363);
+ Add_Action (Table.States (834), 108, (242, 7), 34);
+ Add_Action (Table.States (834), 109, (242, 6), 35);
+ Table.States (834).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (834), 116, 37);
+ Add_Goto (Table.States (834), 126, 39);
+ Add_Goto (Table.States (834), 129, 40);
+ Add_Goto (Table.States (834), 131, 42);
+ Add_Goto (Table.States (834), 134, 43);
+ Add_Goto (Table.States (834), 135, 44);
+ Add_Goto (Table.States (834), 136, 45);
+ Add_Goto (Table.States (834), 142, 48);
+ Add_Goto (Table.States (834), 154, 51);
+ Add_Goto (Table.States (834), 155, 52);
+ Add_Goto (Table.States (834), 164, 54);
+ Add_Goto (Table.States (834), 193, 58);
+ Add_Goto (Table.States (834), 199, 60);
+ Add_Goto (Table.States (834), 220, 69);
+ Add_Goto (Table.States (834), 225, 71);
+ Add_Goto (Table.States (834), 235, 73);
+ Add_Goto (Table.States (834), 242, 74);
+ Add_Goto (Table.States (834), 260, 84);
+ Add_Goto (Table.States (834), 264, 87);
+ Add_Goto (Table.States (834), 275, 93);
+ Add_Goto (Table.States (834), 279, 94);
+ Add_Goto (Table.States (834), 293, 97);
+ Add_Goto (Table.States (834), 296, 98);
+ Add_Goto (Table.States (834), 297, 99);
+ Add_Goto (Table.States (834), 301, 100);
+ Add_Goto (Table.States (834), 302, 364);
+ Add_Goto (Table.States (834), 303, 1011);
+ Add_Goto (Table.States (834), 305, 101);
+ Add_Goto (Table.States (834), 306, 102);
+ Add_Goto (Table.States (834), 309, 366);
+ Add_Goto (Table.States (834), 326, 115);
+ Table.States (834).Kernel := To_Vector ((0 => ((225, 0), 22, 3,
(2147483647, 0), 0)));
+ Table.States (834).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
+ Table.States (835).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (835), 32, (225, 2), 1012);
+ Table.States (835).Kernel := To_Vector ((0 => ((225, 2), 24, 2,
(2147483647, 0), 0)));
+ Table.States (835).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (225, 2), 32, 1012)));
+ Table.States (836).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (836), (22, 23, 24), (178, 0), 2,
elsif_statement_list_0'Access, null);
+ Table.States (836).Kernel := To_Vector ((0 => ((178, 0), 177, 0,
(178, 0), 2)));
+ Table.States (836).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (178, 0), 2)));
Table.States (837).Action_List.Set_Capacity (1);
- Add_Action (Table.States (837), 105, 1010);
- Table.States (837).Kernel := To_Vector ((0 => (177, 25, 6,
False)));
- Table.States (837).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 1010)));
- Table.States (838).Action_List.Set_Capacity (7);
- Add_Action (Table.States (838), (24, 25, 28, 29, 40, 46, 50),
(268, 5), 1, null, null);
- Table.States (838).Kernel := To_Vector ((0 => (268, 122, 0,
False)));
- Table.States (838).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 268, 1)));
- Table.States (839).Action_List.Set_Capacity (7);
- Add_Action (Table.States (839), (24, 25, 28, 29, 40, 46, 50),
(268, 2), 1, null, null);
- Table.States (839).Kernel := To_Vector ((0 => (268, 177, 0,
False)));
- Table.States (839).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 268, 1)));
- Table.States (840).Action_List.Set_Capacity (7);
- Add_Action (Table.States (840), (24, 25, 28, 29, 40, 46, 50),
(268, 3), 1, null, null);
- Table.States (840).Kernel := To_Vector ((0 => (268, 194, 0,
False)));
- Table.States (840).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 268, 1)));
- Table.States (841).Action_List.Set_Capacity (7);
- Add_Action (Table.States (841), (24, 25, 28, 29, 40, 46, 50),
(268, 4), 1, null, null);
- Table.States (841).Kernel := To_Vector ((0 => (268, 244, 0,
False)));
- Table.States (841).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 268, 1)));
- Table.States (842).Action_List.Set_Capacity (2);
- Add_Action (Table.States (842), 29, 7);
- Add_Action (Table.States (842), 50, 18);
- Table.States (842).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (842), 208, 247);
- Add_Goto (Table.States (842), 263, 248);
- Add_Goto (Table.States (842), 313, 1011);
- Table.States (842).Kernel := To_Vector (((194, 247, 7, False),
(244, 247, 5, False), (308, 247, 6, False),
- (310, 247, 3, False)));
- Table.States (842).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 50, 18)));
- Table.States (843).Action_List.Set_Capacity (7);
- Add_Action (Table.States (843), (24, 25, 28, 29, 40, 46, 50),
(269, 1), 1, null, null);
- Table.States (843).Kernel := To_Vector ((0 => (269, 268, 0,
False)));
- Table.States (843).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 269, 1)));
- Table.States (844).Action_List.Set_Capacity (7);
- Add_Action (Table.States (844), 24, Reduce, (270, 0), 1, null,
null);
- Add_Action (Table.States (844), 25, 837);
- Add_Action (Table.States (844), 28, 184);
- Add_Action (Table.States (844), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (844), 40, 12);
- Add_Action (Table.States (844), 46, 14);
- Add_Action (Table.States (844), 50, Reduce, (247, 2), 0, null,
null);
- Table.States (844).Goto_List.Set_Capacity (13);
- Add_Goto (Table.States (844), 122, 838);
- Add_Goto (Table.States (844), 128, 41);
- Add_Goto (Table.States (844), 177, 839);
- Add_Goto (Table.States (844), 183, 56);
- Add_Goto (Table.States (844), 194, 840);
- Add_Goto (Table.States (844), 208, 62);
- Add_Goto (Table.States (844), 244, 841);
- Add_Goto (Table.States (844), 247, 842);
- Add_Goto (Table.States (844), 263, 88);
- Add_Goto (Table.States (844), 268, 1012);
- Add_Goto (Table.States (844), 282, 95);
- Add_Goto (Table.States (844), 308, 846);
- Add_Goto (Table.States (844), 310, 847);
- Table.States (844).Kernel := To_Vector (((269, 269, 3, True),
(270, 269, 0, False)));
- Table.States (844).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 270, 1)));
+ Add_Action (Table.States (837), 99, (251, 0), 1013);
+ Table.States (837).Kernel := To_Vector ((0 => ((251, 0), 125, 1,
(2147483647, 0), 0)));
+ Table.States (837).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (251, 0), 99, 1013)));
+ Table.States (838).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (838), 13, (250, 0), 1014);
+ Add_Action (Table.States (838), 24, (250, 1), 1015);
+ Table.States (838).Kernel := To_Vector ((((250, 0), 162, 3,
(2147483647, 0), 0), ((250, 1), 162, 2,
+ (2147483647, 0), 0)));
+ Table.States (838).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (250, 1), 24, 1015)));
+ Table.States (839).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (839), 99, (216, 0), 1016);
+ Table.States (839).Kernel := To_Vector ((0 => ((216, 0), 125, 1,
(2147483647, 0), 0)));
+ Table.States (839).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (216, 0), 99, 1016)));
+ Table.States (840).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (840), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (253, 0), 6,
+ package_renaming_declaration_0'Access, null);
+ Table.States (840).Kernel := To_Vector ((0 => ((253, 0), 99, 0,
(253, 0), 6)));
+ Table.States (840).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (253, 0), 6)));
+ Table.States (841).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (841), 81, (242, 8), 31);
+ Add_Action (Table.States (841), 99, Reduce, (243, 1), 0, null,
null);
+ Add_Action (Table.States (841), 107, (242, 5), 120);
+ Add_Action (Table.States (841), 108, (242, 7), 34);
+ Add_Action (Table.States (841), 109, (242, 6), 35);
+ Table.States (841).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (841), 131, 42);
+ Add_Goto (Table.States (841), 242, 644);
+ Add_Goto (Table.States (841), 243, 1017);
+ Add_Goto (Table.States (841), 275, 93);
+ Add_Goto (Table.States (841), 296, 98);
+ Table.States (841).Kernel := To_Vector ((0 => ((254, 1), 24, 0,
(243, 1), 0)));
+ Table.States (841).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (243, 1), 0)));
+ Table.States (842).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (842), 24, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (842), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (842), 28, (124, 0), 185);
+ Add_Action (Table.States (842), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (842), 30, (213, 0), 8);
+ Add_Action (Table.States (842), 40, (249, 0), 12);
+ Add_Action (Table.States (842), 46, (249, 1), 14);
+ Add_Action (Table.States (842), 47, (216, 0), 15);
+ Add_Action (Table.States (842), 48, (260, 0), 16);
+ Add_Action (Table.States (842), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (842), 51, (267, 0), 19);
+ Add_Action (Table.States (842), 63, (316, 0), 25);
+ Add_Action (Table.States (842), 66, (308, 0), 26);
+ Add_Action (Table.States (842), 69, (209, 0), 27);
+ Add_Action (Table.States (842), 71, (334, 0), 28);
+ Add_Action (Table.States (842), 107, (222, 1), 187);
+ Table.States (842).Goto_List.Set_Capacity (53);
+ Add_Goto (Table.States (842), 115, 36);
+ Add_Goto (Table.States (842), 124, 38);
+ Add_Goto (Table.States (842), 130, 41);
+ Add_Goto (Table.States (842), 137, 46);
+ Add_Goto (Table.States (842), 138, 47);
+ Add_Goto (Table.States (842), 160, 394);
+ Add_Goto (Table.States (842), 161, 395);
+ Add_Goto (Table.States (842), 162, 1018);
+ Add_Goto (Table.States (842), 182, 55);
+ Add_Goto (Table.States (842), 185, 56);
+ Add_Goto (Table.States (842), 189, 57);
+ Add_Goto (Table.States (842), 196, 59);
+ Add_Goto (Table.States (842), 209, 61);
+ Add_Goto (Table.States (842), 210, 62);
+ Add_Goto (Table.States (842), 212, 63);
+ Add_Goto (Table.States (842), 213, 64);
+ Add_Goto (Table.States (842), 216, 65);
+ Add_Goto (Table.States (842), 217, 66);
+ Add_Goto (Table.States (842), 218, 67);
+ Add_Goto (Table.States (842), 219, 68);
+ Add_Goto (Table.States (842), 222, 70);
+ Add_Goto (Table.States (842), 226, 72);
+ Add_Goto (Table.States (842), 246, 75);
+ Add_Goto (Table.States (842), 247, 76);
+ Add_Goto (Table.States (842), 248, 77);
+ Add_Goto (Table.States (842), 249, 78);
+ Add_Goto (Table.States (842), 250, 79);
+ Add_Goto (Table.States (842), 251, 80);
+ Add_Goto (Table.States (842), 252, 81);
+ Add_Goto (Table.States (842), 253, 82);
+ Add_Goto (Table.States (842), 254, 83);
+ Add_Goto (Table.States (842), 260, 397);
+ Add_Goto (Table.States (842), 262, 85);
+ Add_Goto (Table.States (842), 263, 86);
+ Add_Goto (Table.States (842), 265, 88);
+ Add_Goto (Table.States (842), 266, 89);
+ Add_Goto (Table.States (842), 267, 90);
+ Add_Goto (Table.States (842), 268, 91);
+ Add_Goto (Table.States (842), 274, 92);
+ Add_Goto (Table.States (842), 284, 95);
+ Add_Goto (Table.States (842), 292, 96);
+ Add_Goto (Table.States (842), 307, 103);
+ Add_Goto (Table.States (842), 308, 104);
+ Add_Goto (Table.States (842), 310, 106);
+ Add_Goto (Table.States (842), 311, 107);
+ Add_Goto (Table.States (842), 312, 108);
+ Add_Goto (Table.States (842), 314, 109);
+ Add_Goto (Table.States (842), 316, 110);
+ Add_Goto (Table.States (842), 319, 112);
+ Add_Goto (Table.States (842), 320, 113);
+ Add_Goto (Table.States (842), 322, 114);
+ Add_Goto (Table.States (842), 328, 116);
+ Add_Goto (Table.States (842), 334, 117);
+ Table.States (842).Kernel := To_Vector ((0 => ((254, 0), 49, 1,
(2147483647, 0), 0)));
+ Table.States (842).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (162, 1), 0)));
+ Table.States (843).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (843), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (260, 0), 6, pragma_g_0'Access, null);
+ Table.States (843).Kernel := To_Vector ((0 => ((260, 0), 99, 0,
(260, 0), 6)));
+ Table.States (843).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (260, 0), 6)));
+ Table.States (844).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (844), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (260, 1), 6, pragma_g_1'Access, null);
+ Table.States (844).Kernel := To_Vector ((0 => ((260, 1), 99, 0,
(260, 1), 6)));
+ Table.States (844).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (260, 1), 6)));
Table.States (845).Action_List.Set_Capacity (1);
- Add_Action (Table.States (845), 24, 1013);
- Table.States (845).Kernel := To_Vector ((0 => (265, 270, 2,
False)));
- Table.States (845).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 1013)));
- Table.States (846).Action_List.Set_Capacity (7);
- Add_Action (Table.States (846), (24, 25, 28, 29, 40, 46, 50),
(268, 1), 1, null, null);
- Table.States (846).Kernel := To_Vector ((0 => (268, 308, 0,
False)));
- Table.States (846).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 268, 1)));
+ Add_Action (Table.States (845), 99, (268, 0), 1019);
+ Table.States (845).Kernel := To_Vector ((0 => ((268, 0), 125, 1,
(2147483647, 0), 0)));
+ Table.States (845).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (268, 0), 99, 1019)));
+ Table.States (846).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (846), 107, (179, 0), 1020);
+ Table.States (846).Kernel := To_Vector ((0 => ((179, 0), 25, 6,
(2147483647, 0), 0)));
+ Table.States (846).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (179, 0), 107, 1020)));
Table.States (847).Action_List.Set_Capacity (7);
- Add_Action (Table.States (847), (24, 25, 28, 29, 40, 46, 50),
(268, 0), 1, null, null);
- Table.States (847).Kernel := To_Vector ((0 => (268, 310, 0,
False)));
- Table.States (847).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 268, 1)));
- Table.States (848).Action_List.Set_Capacity (18);
- Add_Action (Table.States (848), 24, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (848), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (848), 28, 184);
- Add_Action (Table.States (848), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (848), 30, 8);
- Add_Action (Table.States (848), 39, 1014);
- Add_Action (Table.States (848), 40, 12);
- Add_Action (Table.States (848), 46, 14);
- Add_Action (Table.States (848), 47, 15);
- Add_Action (Table.States (848), 48, 16);
- Add_Action (Table.States (848), 49, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (848), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (848), 51, 19);
- Add_Action (Table.States (848), 63, 25);
- Add_Action (Table.States (848), 66, 26);
- Add_Action (Table.States (848), 69, 27);
- Add_Action (Table.States (848), 71, 28);
- Add_Action (Table.States (848), 105, 186);
- Table.States (848).Goto_List.Set_Capacity (54);
- Add_Goto (Table.States (848), 113, 36);
- Add_Goto (Table.States (848), 122, 38);
- Add_Goto (Table.States (848), 128, 41);
- Add_Goto (Table.States (848), 135, 46);
- Add_Goto (Table.States (848), 136, 47);
- Add_Goto (Table.States (848), 158, 392);
- Add_Goto (Table.States (848), 159, 393);
- Add_Goto (Table.States (848), 160, 675);
- Add_Goto (Table.States (848), 180, 55);
- Add_Goto (Table.States (848), 183, 56);
- Add_Goto (Table.States (848), 187, 57);
- Add_Goto (Table.States (848), 194, 59);
- Add_Goto (Table.States (848), 207, 61);
- Add_Goto (Table.States (848), 208, 62);
- Add_Goto (Table.States (848), 210, 63);
- Add_Goto (Table.States (848), 211, 64);
- Add_Goto (Table.States (848), 214, 65);
- Add_Goto (Table.States (848), 215, 66);
- Add_Goto (Table.States (848), 216, 67);
- Add_Goto (Table.States (848), 217, 68);
- Add_Goto (Table.States (848), 220, 70);
- Add_Goto (Table.States (848), 224, 72);
- Add_Goto (Table.States (848), 244, 75);
- Add_Goto (Table.States (848), 245, 76);
- Add_Goto (Table.States (848), 246, 77);
- Add_Goto (Table.States (848), 247, 78);
- Add_Goto (Table.States (848), 248, 79);
- Add_Goto (Table.States (848), 249, 80);
- Add_Goto (Table.States (848), 250, 81);
- Add_Goto (Table.States (848), 251, 82);
- Add_Goto (Table.States (848), 252, 83);
- Add_Goto (Table.States (848), 258, 395);
- Add_Goto (Table.States (848), 260, 85);
- Add_Goto (Table.States (848), 261, 86);
- Add_Goto (Table.States (848), 263, 88);
- Add_Goto (Table.States (848), 264, 89);
- Add_Goto (Table.States (848), 265, 90);
- Add_Goto (Table.States (848), 266, 91);
- Add_Goto (Table.States (848), 267, 1015);
- Add_Goto (Table.States (848), 272, 92);
- Add_Goto (Table.States (848), 282, 95);
- Add_Goto (Table.States (848), 290, 96);
- Add_Goto (Table.States (848), 305, 103);
- Add_Goto (Table.States (848), 306, 104);
- Add_Goto (Table.States (848), 308, 106);
- Add_Goto (Table.States (848), 309, 107);
- Add_Goto (Table.States (848), 310, 108);
- Add_Goto (Table.States (848), 312, 109);
- Add_Goto (Table.States (848), 314, 110);
- Add_Goto (Table.States (848), 317, 112);
- Add_Goto (Table.States (848), 318, 113);
- Add_Goto (Table.States (848), 320, 114);
- Add_Goto (Table.States (848), 326, 116);
- Add_Goto (Table.States (848), 332, 117);
- Table.States (848).Kernel := To_Vector (((272, 35, 5, False),
(272, 35, 2, False)));
- Table.States (848).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 160, 0)));
- Table.States (849).Action_List.Set_Capacity (2);
- Add_Action (Table.States (849), 10, 1016);
- Add_Action (Table.States (849), 74, 1017);
- Table.States (849).Kernel := To_Vector (((228, 228, 2, True),
(305, 228, 3, False)));
- Table.States (849).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 74, 1017)));
+ Add_Action (Table.States (847), (24, 25, 28, 29, 40, 46, 50),
(270, 5), 1, null, null);
+ Table.States (847).Kernel := To_Vector ((0 => ((270, 5), 124, 0,
(270, 5), 1)));
+ Table.States (847).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (270, 5), 1)));
+ Table.States (848).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (848), (24, 25, 28, 29, 40, 46, 50),
(270, 2), 1, null, null);
+ Table.States (848).Kernel := To_Vector ((0 => ((270, 2), 179, 0,
(270, 2), 1)));
+ Table.States (848).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (270, 2), 1)));
+ Table.States (849).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (849), (24, 25, 28, 29, 40, 46, 50),
(270, 3), 1, null, null);
+ Table.States (849).Kernel := To_Vector ((0 => ((270, 3), 196, 0,
(270, 3), 1)));
+ Table.States (849).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (270, 3), 1)));
Table.States (850).Action_List.Set_Capacity (7);
- Add_Action (Table.States (850), 10, Reduce, (228, 1), 1,
interface_list_1'Access, null);
- Add_Action (Table.States (850), 74, Reduce, (228, 1), 1,
interface_list_1'Access, null);
- Add_Action (Table.States (850), 76, 236);
- Add_Action (Table.States (850), 85, 238);
- Add_Action (Table.States (850), 97, Reduce, (228, 1), 1,
interface_list_1'Access, null);
- Add_Action (Table.States (850), 102, 240);
- Add_Action (Table.States (850), 103, 241);
- Table.States (850).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (850), 116, 242);
- Add_Goto (Table.States (850), 323, 243);
- Table.States (850).Kernel := To_Vector (((129, 240, 2, True),
(228, 240, 0, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (850).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 228, 1)));
+ Add_Action (Table.States (850), (24, 25, 28, 29, 40, 46, 50),
(270, 4), 1, null, null);
+ Table.States (850).Kernel := To_Vector ((0 => ((270, 4), 246, 0,
(270, 4), 1)));
+ Table.States (850).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (270, 4), 1)));
Table.States (851).Action_List.Set_Capacity (2);
- Add_Action (Table.States (851), 97, Reduce, (221, 1), 0, null,
null);
- Add_Action (Table.States (851), 105, 150);
- Table.States (851).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (851), 221, 1018);
- Table.States (851).Kernel := To_Vector ((0 => (267, 24, 0,
False)));
- Table.States (851).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 0)));
- Table.States (852).Action_List.Set_Capacity (16);
- Add_Action (Table.States (852), 24, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (852), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (852), 28, 184);
- Add_Action (Table.States (852), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (852), 30, 8);
- Add_Action (Table.States (852), 40, 12);
- Add_Action (Table.States (852), 46, 14);
- Add_Action (Table.States (852), 47, 15);
- Add_Action (Table.States (852), 48, 16);
- Add_Action (Table.States (852), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (852), 51, 19);
- Add_Action (Table.States (852), 63, 25);
- Add_Action (Table.States (852), 66, 26);
- Add_Action (Table.States (852), 69, 27);
- Add_Action (Table.States (852), 71, 28);
- Add_Action (Table.States (852), 105, 186);
- Table.States (852).Goto_List.Set_Capacity (53);
- Add_Goto (Table.States (852), 113, 36);
- Add_Goto (Table.States (852), 122, 38);
- Add_Goto (Table.States (852), 128, 41);
- Add_Goto (Table.States (852), 135, 46);
- Add_Goto (Table.States (852), 136, 47);
- Add_Goto (Table.States (852), 158, 392);
- Add_Goto (Table.States (852), 159, 393);
- Add_Goto (Table.States (852), 160, 1019);
- Add_Goto (Table.States (852), 180, 55);
- Add_Goto (Table.States (852), 183, 56);
- Add_Goto (Table.States (852), 187, 57);
- Add_Goto (Table.States (852), 194, 59);
- Add_Goto (Table.States (852), 207, 61);
- Add_Goto (Table.States (852), 208, 62);
- Add_Goto (Table.States (852), 210, 63);
- Add_Goto (Table.States (852), 211, 64);
- Add_Goto (Table.States (852), 214, 65);
- Add_Goto (Table.States (852), 215, 66);
- Add_Goto (Table.States (852), 216, 67);
- Add_Goto (Table.States (852), 217, 68);
- Add_Goto (Table.States (852), 220, 70);
- Add_Goto (Table.States (852), 224, 72);
- Add_Goto (Table.States (852), 244, 75);
- Add_Goto (Table.States (852), 245, 76);
- Add_Goto (Table.States (852), 246, 77);
- Add_Goto (Table.States (852), 247, 78);
- Add_Goto (Table.States (852), 248, 79);
- Add_Goto (Table.States (852), 249, 80);
- Add_Goto (Table.States (852), 250, 81);
- Add_Goto (Table.States (852), 251, 82);
- Add_Goto (Table.States (852), 252, 83);
- Add_Goto (Table.States (852), 258, 395);
- Add_Goto (Table.States (852), 260, 85);
- Add_Goto (Table.States (852), 261, 86);
- Add_Goto (Table.States (852), 263, 88);
- Add_Goto (Table.States (852), 264, 89);
- Add_Goto (Table.States (852), 265, 90);
- Add_Goto (Table.States (852), 266, 91);
- Add_Goto (Table.States (852), 272, 92);
- Add_Goto (Table.States (852), 282, 95);
- Add_Goto (Table.States (852), 290, 96);
- Add_Goto (Table.States (852), 305, 103);
- Add_Goto (Table.States (852), 306, 104);
- Add_Goto (Table.States (852), 308, 106);
- Add_Goto (Table.States (852), 309, 107);
- Add_Goto (Table.States (852), 310, 108);
- Add_Goto (Table.States (852), 312, 109);
- Add_Goto (Table.States (852), 314, 110);
- Add_Goto (Table.States (852), 317, 112);
- Add_Goto (Table.States (852), 318, 113);
- Add_Goto (Table.States (852), 320, 114);
- Add_Goto (Table.States (852), 326, 116);
- Add_Goto (Table.States (852), 332, 117);
- Table.States (852).Kernel := To_Vector ((0 => (267, 49, 1,
False)));
- Table.States (852).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 160, 0)));
- end Subr_15;
- procedure Subr_16
- is begin
- Table.States (853).Action_List.Set_Capacity (41);
- Add_Action (Table.States (853), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (305, 1), 6,
+ Add_Action (Table.States (851), 29, (210, 0), 7);
+ Add_Action (Table.States (851), 50, (265, 0), 18);
+ Table.States (851).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (851), 210, 248);
+ Add_Goto (Table.States (851), 265, 249);
+ Add_Goto (Table.States (851), 315, 1021);
+ Table.States (851).Kernel := To_Vector ((((196, 0), 249, 7,
(2147483647, 0), 0), ((246, 0), 249, 5,
+ (2147483647, 0), 0), ((310, 0), 249, 6, (2147483647, 0), 0),
((312, 0), 249, 3, (2147483647, 0),
+ 0)));
+ Table.States (851).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (265, 0), 50, 18)));
+ Table.States (852).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (852), (24, 25, 28, 29, 40, 46, 50),
(271, 1), 1, null, null);
+ Table.States (852).Kernel := To_Vector ((0 => ((271, 1), 270, 0,
(271, 1), 1)));
+ Table.States (852).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (271, 1), 1)));
+ Table.States (853).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (853), 24, Reduce, (272, 0), 1, null,
null);
+ Add_Action (Table.States (853), 25, (179, 0), 846);
+ Add_Action (Table.States (853), 28, (124, 0), 185);
+ Add_Action (Table.States (853), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (853), 40, (249, 0), 12);
+ Add_Action (Table.States (853), 46, (249, 1), 14);
+ Add_Action (Table.States (853), 50, Reduce, (249, 2), 0, null,
null);
+ Table.States (853).Goto_List.Set_Capacity (13);
+ Add_Goto (Table.States (853), 124, 847);
+ Add_Goto (Table.States (853), 130, 41);
+ Add_Goto (Table.States (853), 179, 848);
+ Add_Goto (Table.States (853), 185, 56);
+ Add_Goto (Table.States (853), 196, 849);
+ Add_Goto (Table.States (853), 210, 62);
+ Add_Goto (Table.States (853), 246, 850);
+ Add_Goto (Table.States (853), 249, 851);
+ Add_Goto (Table.States (853), 265, 88);
+ Add_Goto (Table.States (853), 270, 1022);
+ Add_Goto (Table.States (853), 284, 95);
+ Add_Goto (Table.States (853), 310, 855);
+ Add_Goto (Table.States (853), 312, 856);
+ Table.States (853).Kernel := To_Vector ((((271, 0), 271, 3,
(2147483647, 0), 0), ((272, 0), 271, 0,
+ (272, 0), 1)));
+ Table.States (853).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (272, 0), 1)));
+ Table.States (854).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (854), 24, (267, 0), 1023);
+ Table.States (854).Kernel := To_Vector ((0 => ((267, 0), 272, 2,
(2147483647, 0), 0)));
+ Table.States (854).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (267, 0), 24, 1023)));
+ Table.States (855).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (855), (24, 25, 28, 29, 40, 46, 50),
(270, 1), 1, null, null);
+ Table.States (855).Kernel := To_Vector ((0 => ((270, 1), 310, 0,
(270, 1), 1)));
+ Table.States (855).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (270, 1), 1)));
+ Table.States (856).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (856), (24, 25, 28, 29, 40, 46, 50),
(270, 0), 1, null, null);
+ Table.States (856).Kernel := To_Vector ((0 => ((270, 0), 312, 0,
(270, 0), 1)));
+ Table.States (856).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (270, 0), 1)));
+ Table.States (857).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (857), 24, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (857), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (857), 28, (124, 0), 185);
+ Add_Action (Table.States (857), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (857), 30, (213, 0), 8);
+ Add_Action (Table.States (857), 39, (274, 0), 1024);
+ Add_Action (Table.States (857), 40, (249, 0), 12);
+ Add_Action (Table.States (857), 46, (249, 1), 14);
+ Add_Action (Table.States (857), 47, (216, 0), 15);
+ Add_Action (Table.States (857), 48, (260, 0), 16);
+ Add_Action (Table.States (857), 49, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (857), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (857), 51, (267, 0), 19);
+ Add_Action (Table.States (857), 63, (316, 0), 25);
+ Add_Action (Table.States (857), 66, (308, 0), 26);
+ Add_Action (Table.States (857), 69, (209, 0), 27);
+ Add_Action (Table.States (857), 71, (334, 0), 28);
+ Add_Action (Table.States (857), 107, (222, 1), 187);
+ Table.States (857).Goto_List.Set_Capacity (54);
+ Add_Goto (Table.States (857), 115, 36);
+ Add_Goto (Table.States (857), 124, 38);
+ Add_Goto (Table.States (857), 130, 41);
+ Add_Goto (Table.States (857), 137, 46);
+ Add_Goto (Table.States (857), 138, 47);
+ Add_Goto (Table.States (857), 160, 394);
+ Add_Goto (Table.States (857), 161, 395);
+ Add_Goto (Table.States (857), 162, 681);
+ Add_Goto (Table.States (857), 182, 55);
+ Add_Goto (Table.States (857), 185, 56);
+ Add_Goto (Table.States (857), 189, 57);
+ Add_Goto (Table.States (857), 196, 59);
+ Add_Goto (Table.States (857), 209, 61);
+ Add_Goto (Table.States (857), 210, 62);
+ Add_Goto (Table.States (857), 212, 63);
+ Add_Goto (Table.States (857), 213, 64);
+ Add_Goto (Table.States (857), 216, 65);
+ Add_Goto (Table.States (857), 217, 66);
+ Add_Goto (Table.States (857), 218, 67);
+ Add_Goto (Table.States (857), 219, 68);
+ Add_Goto (Table.States (857), 222, 70);
+ Add_Goto (Table.States (857), 226, 72);
+ Add_Goto (Table.States (857), 246, 75);
+ Add_Goto (Table.States (857), 247, 76);
+ Add_Goto (Table.States (857), 248, 77);
+ Add_Goto (Table.States (857), 249, 78);
+ Add_Goto (Table.States (857), 250, 79);
+ Add_Goto (Table.States (857), 251, 80);
+ Add_Goto (Table.States (857), 252, 81);
+ Add_Goto (Table.States (857), 253, 82);
+ Add_Goto (Table.States (857), 254, 83);
+ Add_Goto (Table.States (857), 260, 397);
+ Add_Goto (Table.States (857), 262, 85);
+ Add_Goto (Table.States (857), 263, 86);
+ Add_Goto (Table.States (857), 265, 88);
+ Add_Goto (Table.States (857), 266, 89);
+ Add_Goto (Table.States (857), 267, 90);
+ Add_Goto (Table.States (857), 268, 91);
+ Add_Goto (Table.States (857), 269, 1025);
+ Add_Goto (Table.States (857), 274, 92);
+ Add_Goto (Table.States (857), 284, 95);
+ Add_Goto (Table.States (857), 292, 96);
+ Add_Goto (Table.States (857), 307, 103);
+ Add_Goto (Table.States (857), 308, 104);
+ Add_Goto (Table.States (857), 310, 106);
+ Add_Goto (Table.States (857), 311, 107);
+ Add_Goto (Table.States (857), 312, 108);
+ Add_Goto (Table.States (857), 314, 109);
+ Add_Goto (Table.States (857), 316, 110);
+ Add_Goto (Table.States (857), 319, 112);
+ Add_Goto (Table.States (857), 320, 113);
+ Add_Goto (Table.States (857), 322, 114);
+ Add_Goto (Table.States (857), 328, 116);
+ Add_Goto (Table.States (857), 334, 117);
+ Table.States (857).Kernel := To_Vector ((((274, 0), 35, 5,
(2147483647, 0), 0), ((274, 1), 35, 2,
+ (2147483647, 0), 0)));
+ Table.States (857).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (162, 1), 0)));
+ Table.States (858).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (858), 10, (230, 0), 1026);
+ Add_Action (Table.States (858), 74, (307, 0), 1027);
+ Table.States (858).Kernel := To_Vector ((((230, 0), 230, 2,
(2147483647, 0), 0), ((307, 0), 230, 3,
+ (2147483647, 0), 0)));
+ Table.States (858).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (307, 0), 74, 1027)));
+ Table.States (859).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (859), 10, Reduce, (230, 1), 1,
interface_list_1'Access, null);
+ Add_Action (Table.States (859), 74, Reduce, (230, 1), 1,
interface_list_1'Access, null);
+ Add_Action (Table.States (859), 76, (118, 0), 237);
+ Add_Action (Table.States (859), 87, (296, 0), 239);
+ Add_Action (Table.States (859), 99, Reduce, (230, 1), 1,
interface_list_1'Access, null);
+ Add_Action (Table.States (859), 104, (325, 0), 241);
+ Add_Action (Table.States (859), 105, (325, 1), 242);
+ Table.States (859).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (859), 118, 243);
+ Add_Goto (Table.States (859), 325, 244);
+ Table.States (859).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((230, 1), 242, 0,
+ (230, 1), 1), ((242, 0), 242, 5, (2147483647, 0), 0), ((242,
1), 242, 2, (2147483647, 0), 0), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (859).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (230, 1), 1)));
+ Table.States (860).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (860), 99, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (860), 107, (223, 0), 151);
+ Table.States (860).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (860), 223, 1028);
+ Table.States (860).Kernel := To_Vector ((0 => ((269, 1), 24, 0,
(223, 1), 0)));
+ Table.States (860).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 1), 0)));
+ Table.States (861).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (861), 24, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (861), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (861), 28, (124, 0), 185);
+ Add_Action (Table.States (861), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (861), 30, (213, 0), 8);
+ Add_Action (Table.States (861), 40, (249, 0), 12);
+ Add_Action (Table.States (861), 46, (249, 1), 14);
+ Add_Action (Table.States (861), 47, (216, 0), 15);
+ Add_Action (Table.States (861), 48, (260, 0), 16);
+ Add_Action (Table.States (861), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (861), 51, (267, 0), 19);
+ Add_Action (Table.States (861), 63, (316, 0), 25);
+ Add_Action (Table.States (861), 66, (308, 0), 26);
+ Add_Action (Table.States (861), 69, (209, 0), 27);
+ Add_Action (Table.States (861), 71, (334, 0), 28);
+ Add_Action (Table.States (861), 107, (222, 1), 187);
+ Table.States (861).Goto_List.Set_Capacity (53);
+ Add_Goto (Table.States (861), 115, 36);
+ Add_Goto (Table.States (861), 124, 38);
+ Add_Goto (Table.States (861), 130, 41);
+ Add_Goto (Table.States (861), 137, 46);
+ Add_Goto (Table.States (861), 138, 47);
+ Add_Goto (Table.States (861), 160, 394);
+ Add_Goto (Table.States (861), 161, 395);
+ Add_Goto (Table.States (861), 162, 1029);
+ Add_Goto (Table.States (861), 182, 55);
+ Add_Goto (Table.States (861), 185, 56);
+ Add_Goto (Table.States (861), 189, 57);
+ Add_Goto (Table.States (861), 196, 59);
+ Add_Goto (Table.States (861), 209, 61);
+ Add_Goto (Table.States (861), 210, 62);
+ Add_Goto (Table.States (861), 212, 63);
+ Add_Goto (Table.States (861), 213, 64);
+ Add_Goto (Table.States (861), 216, 65);
+ Add_Goto (Table.States (861), 217, 66);
+ Add_Goto (Table.States (861), 218, 67);
+ Add_Goto (Table.States (861), 219, 68);
+ Add_Goto (Table.States (861), 222, 70);
+ Add_Goto (Table.States (861), 226, 72);
+ Add_Goto (Table.States (861), 246, 75);
+ Add_Goto (Table.States (861), 247, 76);
+ Add_Goto (Table.States (861), 248, 77);
+ Add_Goto (Table.States (861), 249, 78);
+ Add_Goto (Table.States (861), 250, 79);
+ Add_Goto (Table.States (861), 251, 80);
+ Add_Goto (Table.States (861), 252, 81);
+ Add_Goto (Table.States (861), 253, 82);
+ Add_Goto (Table.States (861), 254, 83);
+ Add_Goto (Table.States (861), 260, 397);
+ Add_Goto (Table.States (861), 262, 85);
+ Add_Goto (Table.States (861), 263, 86);
+ Add_Goto (Table.States (861), 265, 88);
+ Add_Goto (Table.States (861), 266, 89);
+ Add_Goto (Table.States (861), 267, 90);
+ Add_Goto (Table.States (861), 268, 91);
+ Add_Goto (Table.States (861), 274, 92);
+ Add_Goto (Table.States (861), 284, 95);
+ Add_Goto (Table.States (861), 292, 96);
+ Add_Goto (Table.States (861), 307, 103);
+ Add_Goto (Table.States (861), 308, 104);
+ Add_Goto (Table.States (861), 310, 106);
+ Add_Goto (Table.States (861), 311, 107);
+ Add_Goto (Table.States (861), 312, 108);
+ Add_Goto (Table.States (861), 314, 109);
+ Add_Goto (Table.States (861), 316, 110);
+ Add_Goto (Table.States (861), 319, 112);
+ Add_Goto (Table.States (861), 320, 113);
+ Add_Goto (Table.States (861), 322, 114);
+ Add_Goto (Table.States (861), 328, 116);
+ Add_Goto (Table.States (861), 334, 117);
+ Table.States (861).Kernel := To_Vector ((0 => ((269, 0), 49, 1,
(2147483647, 0), 0)));
+ Table.States (861).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (162, 1), 0)));
+ Table.States (862).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (862), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (307, 1), 6,
single_protected_declaration_1'Access,
single_protected_declaration_1_check'Access);
- Table.States (853).Kernel := To_Vector ((0 => (305, 97, 0,
False)));
- Table.States (853).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 305, 6)));
- Table.States (854).Action_List.Set_Capacity (3);
- Add_Action (Table.States (854), (21, 83, 97), (293, 1), 1, null,
null);
- Table.States (854).Kernel := To_Vector ((0 => (293, 115, 0,
False)));
- Table.States (854).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 293, 1)));
- Table.States (855).Action_List.Set_Capacity (3);
- Add_Action (Table.States (855), 21, Reduce, (195, 1), 5,
extended_return_object_declaration_1'Access,
+ Table.States (862).Kernel := To_Vector ((0 => ((307, 1), 99, 0,
(307, 1), 6)));
+ Table.States (862).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (307, 1), 6)));
+ Table.States (863).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (863), (21, 85, 99), (295, 1), 1, null,
null);
+ Table.States (863).Kernel := To_Vector ((0 => ((295, 1), 117, 0,
(295, 1), 1)));
+ Table.States (863).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (295, 1), 1)));
+ Table.States (864).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (864), 21, Reduce, (197, 1), 5,
extended_return_object_declaration_1'Access,
null);
- Add_Action (Table.States (855), 83, 1020);
- Add_Action (Table.States (855), 97, Reduce, (195, 1), 5,
extended_return_object_declaration_1'Access,
+ Add_Action (Table.States (864), 85, (197, 0), 1030);
+ Add_Action (Table.States (864), 99, Reduce, (197, 1), 5,
extended_return_object_declaration_1'Access,
null);
- Table.States (855).Kernel := To_Vector (((195, 293, 1, False),
(195, 293, 0, False)));
- Table.States (855).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 195, 5)));
- Table.States (856).Action_List.Set_Capacity (3);
- Add_Action (Table.States (856), (21, 83, 97), (293, 0), 1, null,
null);
- Table.States (856).Kernel := To_Vector ((0 => (293, 315, 0,
False)));
- Table.States (856).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 293, 1)));
- Table.States (857).Action_List.Set_Capacity (1);
- Add_Action (Table.States (857), 97, 1021);
- Table.States (857).Kernel := To_Vector ((0 => (197, 58, 1,
False)));
- Table.States (857).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1021)));
- Table.States (858).Action_List.Set_Capacity (4);
- Add_Action (Table.States (858), 79, 31);
- Add_Action (Table.States (858), 105, 120);
- Add_Action (Table.States (858), 106, 34);
- Add_Action (Table.States (858), 107, 35);
- Table.States (858).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (858), 129, 42);
- Add_Goto (Table.States (858), 240, 1022);
- Add_Goto (Table.States (858), 273, 93);
- Add_Goto (Table.States (858), 294, 98);
- Table.States (858).Kernel := To_Vector (((248, 14, 5, False),
(248, 14, 4, False)));
- Table.States (858).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (859).Action_List.Set_Capacity (1);
- Add_Action (Table.States (859), 105, 1023);
- Table.States (859).Kernel := To_Vector ((0 => (265, 14, 4,
False)));
- Table.States (859).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 1023)));
- Table.States (860).Action_List.Set_Capacity (1);
- Add_Action (Table.States (860), 105, 1024);
- Table.States (860).Kernel := To_Vector ((0 => (317, 14, 5,
False)));
- Table.States (860).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 1024)));
- Table.States (861).Action_List.Set_Capacity (2);
- Add_Action (Table.States (861), 35, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (861), 74, 338);
- Table.States (861).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (861), 123, 1025);
- Table.States (861).Kernel := To_Vector ((0 => (308, 313, 4,
False)));
- Table.States (861).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (862).Action_List.Set_Capacity (3);
- Add_Action (Table.States (862), (22, 24, 43), (296, 1), 5,
select_alternative_1'Access, null);
- Table.States (862).Kernel := To_Vector ((0 => (296, 97, 0,
False)));
- Table.States (862).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 296, 5)));
- Table.States (863).Action_List.Set_Capacity (3);
- Add_Action (Table.States (863), (22, 24, 43), (296, 0), 5,
select_alternative_0'Access, null);
- Table.States (863).Kernel := To_Vector ((0 => (296, 301, 0,
False)));
- Table.States (863).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 296, 5)));
- Table.States (864).Action_List.Set_Capacity (1);
- Add_Action (Table.States (864), 97, 1026);
- Table.States (864).Kernel := To_Vector ((0 => (153, 61, 1,
False)));
- Table.States (864).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1026)));
- Table.States (865).Action_List.Set_Capacity (1);
- Add_Action (Table.States (865), 97, 1027);
- Table.States (865).Kernel := To_Vector ((0 => (324, 61, 1,
False)));
- Table.States (865).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1027)));
+ Table.States (864).Kernel := To_Vector ((((197, 0), 295, 1,
(2147483647, 0), 0), ((197, 1), 295, 0,
+ (197, 1), 5)));
+ Table.States (864).Minimal_Complete_Actions := To_Vector (((Shift,
(197, 0), 85, 1030), (Reduce, (197, 1),
+ 5)));
+ Table.States (865).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (865), (21, 85, 99), (295, 0), 1, null,
null);
+ Table.States (865).Kernel := To_Vector ((0 => ((295, 0), 317, 0,
(295, 0), 1)));
+ Table.States (865).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (295, 0), 1)));
Table.States (866).Action_List.Set_Capacity (1);
- Add_Action (Table.States (866), 97, 1028);
- Table.States (866).Kernel := To_Vector ((0 => (295, 61, 1,
False)));
- Table.States (866).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1028)));
- Table.States (867).Action_List.Set_Capacity (1);
- Add_Action (Table.States (867), 61, 1029);
- Table.States (867).Kernel := To_Vector ((0 => (127, 24, 2,
False)));
- Table.States (867).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 61, 1029)));
- Table.States (868).Action_List.Set_Capacity (41);
- Add_Action (Table.States (868), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (314, 0), 6,
- subtype_declaration_0'Access, null);
- Table.States (868).Kernel := To_Vector ((0 => (314, 97, 0,
False)));
- Table.States (868).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 314, 6)));
+ Add_Action (Table.States (866), 99, (199, 0), 1031);
+ Table.States (866).Kernel := To_Vector ((0 => ((199, 0), 58, 1,
(2147483647, 0), 0)));
+ Table.States (866).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (199, 0), 99, 1031)));
+ Table.States (867).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (867), 81, (242, 8), 31);
+ Add_Action (Table.States (867), 107, (242, 5), 120);
+ Add_Action (Table.States (867), 108, (242, 7), 34);
+ Add_Action (Table.States (867), 109, (242, 6), 35);
+ Table.States (867).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (867), 131, 42);
+ Add_Goto (Table.States (867), 242, 1032);
+ Add_Goto (Table.States (867), 275, 93);
+ Add_Goto (Table.States (867), 296, 98);
+ Table.States (867).Kernel := To_Vector ((((250, 0), 14, 5,
(2147483647, 0), 0), ((250, 1), 14, 4,
+ (2147483647, 0), 0)));
+ Table.States (867).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (868).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (868), 107, (267, 0), 1033);
+ Table.States (868).Kernel := To_Vector ((0 => ((267, 0), 14, 4,
(2147483647, 0), 0)));
+ Table.States (868).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (267, 0), 107, 1033)));
Table.States (869).Action_List.Set_Capacity (1);
- Add_Action (Table.States (869), 97, 1030);
- Table.States (869).Kernel := To_Vector ((0 => (318, 123, 1,
False)));
- Table.States (869).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1030)));
- Table.States (870).Action_List.Set_Capacity (1);
- Add_Action (Table.States (870), 13, 1031);
- Table.States (870).Kernel := To_Vector ((0 => (317, 160, 3,
False)));
- Table.States (870).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 13, 1031)));
- Table.States (871).Action_List.Set_Capacity (18);
- Add_Action (Table.States (871), 24, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (871), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (871), 28, 184);
- Add_Action (Table.States (871), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (871), 30, 8);
- Add_Action (Table.States (871), 39, 1032);
- Add_Action (Table.States (871), 40, 12);
- Add_Action (Table.States (871), 46, 14);
- Add_Action (Table.States (871), 47, 15);
- Add_Action (Table.States (871), 48, 16);
- Add_Action (Table.States (871), 49, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (871), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (871), 51, 19);
- Add_Action (Table.States (871), 63, 25);
- Add_Action (Table.States (871), 66, 26);
- Add_Action (Table.States (871), 69, 27);
- Add_Action (Table.States (871), 71, 28);
- Add_Action (Table.States (871), 105, 186);
- Table.States (871).Goto_List.Set_Capacity (54);
- Add_Goto (Table.States (871), 113, 36);
- Add_Goto (Table.States (871), 122, 38);
- Add_Goto (Table.States (871), 128, 41);
- Add_Goto (Table.States (871), 135, 46);
- Add_Goto (Table.States (871), 136, 47);
- Add_Goto (Table.States (871), 158, 392);
- Add_Goto (Table.States (871), 159, 393);
- Add_Goto (Table.States (871), 160, 700);
- Add_Goto (Table.States (871), 180, 55);
- Add_Goto (Table.States (871), 183, 56);
- Add_Goto (Table.States (871), 187, 57);
- Add_Goto (Table.States (871), 194, 59);
- Add_Goto (Table.States (871), 207, 61);
- Add_Goto (Table.States (871), 208, 62);
- Add_Goto (Table.States (871), 210, 63);
- Add_Goto (Table.States (871), 211, 64);
- Add_Goto (Table.States (871), 214, 65);
- Add_Goto (Table.States (871), 215, 66);
- Add_Goto (Table.States (871), 216, 67);
- Add_Goto (Table.States (871), 217, 68);
- Add_Goto (Table.States (871), 220, 70);
- Add_Goto (Table.States (871), 224, 72);
- Add_Goto (Table.States (871), 244, 75);
- Add_Goto (Table.States (871), 245, 76);
- Add_Goto (Table.States (871), 246, 77);
- Add_Goto (Table.States (871), 247, 78);
- Add_Goto (Table.States (871), 248, 79);
- Add_Goto (Table.States (871), 249, 80);
- Add_Goto (Table.States (871), 250, 81);
- Add_Goto (Table.States (871), 251, 82);
- Add_Goto (Table.States (871), 252, 83);
- Add_Goto (Table.States (871), 258, 395);
- Add_Goto (Table.States (871), 260, 85);
- Add_Goto (Table.States (871), 261, 86);
- Add_Goto (Table.States (871), 263, 88);
- Add_Goto (Table.States (871), 264, 89);
- Add_Goto (Table.States (871), 265, 90);
- Add_Goto (Table.States (871), 266, 91);
- Add_Goto (Table.States (871), 272, 92);
- Add_Goto (Table.States (871), 282, 95);
- Add_Goto (Table.States (871), 290, 96);
- Add_Goto (Table.States (871), 305, 103);
- Add_Goto (Table.States (871), 306, 104);
- Add_Goto (Table.States (871), 308, 106);
- Add_Goto (Table.States (871), 309, 107);
- Add_Goto (Table.States (871), 310, 108);
- Add_Goto (Table.States (871), 312, 109);
- Add_Goto (Table.States (871), 314, 110);
- Add_Goto (Table.States (871), 317, 112);
- Add_Goto (Table.States (871), 318, 113);
- Add_Goto (Table.States (871), 319, 1033);
- Add_Goto (Table.States (871), 320, 114);
- Add_Goto (Table.States (871), 326, 116);
- Add_Goto (Table.States (871), 332, 117);
- Table.States (871).Kernel := To_Vector (((320, 35, 5, False),
(320, 35, 2, False)));
- Table.States (871).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 319, 0)));
- Table.States (872).Action_List.Set_Capacity (41);
- Add_Action (Table.States (872), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (320, 2), 6,
+ Add_Action (Table.States (869), 107, (319, 0), 1034);
+ Table.States (869).Kernel := To_Vector ((0 => ((319, 0), 14, 5,
(2147483647, 0), 0)));
+ Table.States (869).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (319, 0), 107, 1034)));
+ Table.States (870).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (870), 35, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (870), 74, (125, 0), 340);
+ Table.States (870).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (870), 125, 1035);
+ Table.States (870).Kernel := To_Vector ((0 => ((310, 0), 315, 4,
(2147483647, 0), 0)));
+ Table.States (870).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (871).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (871), (22, 24, 43), (298, 1), 5,
select_alternative_1'Access, null);
+ Table.States (871).Kernel := To_Vector ((0 => ((298, 1), 99, 0,
(298, 1), 5)));
+ Table.States (871).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (298, 1), 5)));
+ Table.States (872).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (872), (22, 24, 43), (298, 0), 5,
select_alternative_0'Access, null);
+ Table.States (872).Kernel := To_Vector ((0 => ((298, 0), 303, 0,
(298, 0), 5)));
+ Table.States (872).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (298, 0), 5)));
+ Table.States (873).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (873), 99, (155, 0), 1036);
+ Table.States (873).Kernel := To_Vector ((0 => ((155, 0), 61, 1,
(2147483647, 0), 0)));
+ Table.States (873).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (155, 0), 99, 1036)));
+ Table.States (874).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (874), 99, (326, 0), 1037);
+ Table.States (874).Kernel := To_Vector ((0 => ((326, 0), 61, 1,
(2147483647, 0), 0)));
+ Table.States (874).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (326, 0), 99, 1037)));
+ Table.States (875).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (875), 99, (297, 0), 1038);
+ Table.States (875).Kernel := To_Vector ((0 => ((297, 0), 61, 1,
(2147483647, 0), 0)));
+ Table.States (875).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (297, 0), 99, 1038)));
+ Table.States (876).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (876), 61, (129, 0), 1039);
+ Table.States (876).Kernel := To_Vector ((0 => ((129, 0), 24, 2,
(2147483647, 0), 0)));
+ Table.States (876).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (129, 0), 61, 1039)));
+ Table.States (877).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (877), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (316, 0), 6,
+ subtype_declaration_0'Access, null);
+ Table.States (877).Kernel := To_Vector ((0 => ((316, 0), 99, 0,
(316, 0), 6)));
+ Table.States (877).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (316, 0), 6)));
+ Table.States (878).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (878), 99, (320, 0), 1040);
+ Table.States (878).Kernel := To_Vector ((0 => ((320, 0), 125, 1,
(2147483647, 0), 0)));
+ Table.States (878).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (320, 0), 99, 1040)));
+ Table.States (879).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (879), 13, (319, 0), 1041);
+ Table.States (879).Kernel := To_Vector ((0 => ((319, 0), 162, 3,
(2147483647, 0), 0)));
+ Table.States (879).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (319, 0), 13, 1041)));
+ Table.States (880).Action_List.Set_Capacity (18);
+ Add_Action (Table.States (880), 24, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (880), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (880), 28, (124, 0), 185);
+ Add_Action (Table.States (880), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (880), 30, (213, 0), 8);
+ Add_Action (Table.States (880), 39, (322, 0), 1042);
+ Add_Action (Table.States (880), 40, (249, 0), 12);
+ Add_Action (Table.States (880), 46, (249, 1), 14);
+ Add_Action (Table.States (880), 47, (216, 0), 15);
+ Add_Action (Table.States (880), 48, (260, 0), 16);
+ Add_Action (Table.States (880), 49, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (880), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (880), 51, (267, 0), 19);
+ Add_Action (Table.States (880), 63, (316, 0), 25);
+ Add_Action (Table.States (880), 66, (308, 0), 26);
+ Add_Action (Table.States (880), 69, (209, 0), 27);
+ Add_Action (Table.States (880), 71, (334, 0), 28);
+ Add_Action (Table.States (880), 107, (222, 1), 187);
+ Table.States (880).Goto_List.Set_Capacity (54);
+ Add_Goto (Table.States (880), 115, 36);
+ Add_Goto (Table.States (880), 124, 38);
+ Add_Goto (Table.States (880), 130, 41);
+ Add_Goto (Table.States (880), 137, 46);
+ Add_Goto (Table.States (880), 138, 47);
+ Add_Goto (Table.States (880), 160, 394);
+ Add_Goto (Table.States (880), 161, 395);
+ Add_Goto (Table.States (880), 162, 706);
+ Add_Goto (Table.States (880), 182, 55);
+ Add_Goto (Table.States (880), 185, 56);
+ Add_Goto (Table.States (880), 189, 57);
+ Add_Goto (Table.States (880), 196, 59);
+ Add_Goto (Table.States (880), 209, 61);
+ Add_Goto (Table.States (880), 210, 62);
+ Add_Goto (Table.States (880), 212, 63);
+ Add_Goto (Table.States (880), 213, 64);
+ Add_Goto (Table.States (880), 216, 65);
+ Add_Goto (Table.States (880), 217, 66);
+ Add_Goto (Table.States (880), 218, 67);
+ Add_Goto (Table.States (880), 219, 68);
+ Add_Goto (Table.States (880), 222, 70);
+ Add_Goto (Table.States (880), 226, 72);
+ Add_Goto (Table.States (880), 246, 75);
+ Add_Goto (Table.States (880), 247, 76);
+ Add_Goto (Table.States (880), 248, 77);
+ Add_Goto (Table.States (880), 249, 78);
+ Add_Goto (Table.States (880), 250, 79);
+ Add_Goto (Table.States (880), 251, 80);
+ Add_Goto (Table.States (880), 252, 81);
+ Add_Goto (Table.States (880), 253, 82);
+ Add_Goto (Table.States (880), 254, 83);
+ Add_Goto (Table.States (880), 260, 397);
+ Add_Goto (Table.States (880), 262, 85);
+ Add_Goto (Table.States (880), 263, 86);
+ Add_Goto (Table.States (880), 265, 88);
+ Add_Goto (Table.States (880), 266, 89);
+ Add_Goto (Table.States (880), 267, 90);
+ Add_Goto (Table.States (880), 268, 91);
+ Add_Goto (Table.States (880), 274, 92);
+ Add_Goto (Table.States (880), 284, 95);
+ Add_Goto (Table.States (880), 292, 96);
+ Add_Goto (Table.States (880), 307, 103);
+ Add_Goto (Table.States (880), 308, 104);
+ Add_Goto (Table.States (880), 310, 106);
+ Add_Goto (Table.States (880), 311, 107);
+ Add_Goto (Table.States (880), 312, 108);
+ Add_Goto (Table.States (880), 314, 109);
+ Add_Goto (Table.States (880), 316, 110);
+ Add_Goto (Table.States (880), 319, 112);
+ Add_Goto (Table.States (880), 320, 113);
+ Add_Goto (Table.States (880), 321, 1043);
+ Add_Goto (Table.States (880), 322, 114);
+ Add_Goto (Table.States (880), 328, 116);
+ Add_Goto (Table.States (880), 334, 117);
+ Table.States (880).Kernel := To_Vector ((((322, 0), 35, 5,
(2147483647, 0), 0), ((322, 1), 35, 2,
+ (2147483647, 0), 0)));
+ Table.States (880).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (321, 1), 0)));
+ Table.States (881).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (881), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (322, 2), 6,
task_type_declaration_2'Access, null);
- Table.States (872).Kernel := To_Vector ((0 => (320, 97, 0,
False)));
- Table.States (872).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 320, 6)));
- Table.States (873).Action_List.Set_Capacity (2);
- Add_Action (Table.States (873), 10, 1016);
- Add_Action (Table.States (873), 74, 1034);
- Table.States (873).Kernel := To_Vector (((228, 228, 2, True),
(306, 228, 3, False)));
- Table.States (873).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 74, 1034)));
- Table.States (874).Action_List.Set_Capacity (16);
- Add_Action (Table.States (874), 24, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (874), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (874), 28, 184);
- Add_Action (Table.States (874), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (874), 30, 8);
- Add_Action (Table.States (874), 40, 12);
- Add_Action (Table.States (874), 46, 14);
- Add_Action (Table.States (874), 47, 15);
- Add_Action (Table.States (874), 48, 16);
- Add_Action (Table.States (874), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (874), 51, 19);
- Add_Action (Table.States (874), 63, 25);
- Add_Action (Table.States (874), 66, 26);
- Add_Action (Table.States (874), 69, 27);
- Add_Action (Table.States (874), 71, 28);
- Add_Action (Table.States (874), 105, 186);
- Table.States (874).Goto_List.Set_Capacity (53);
- Add_Goto (Table.States (874), 113, 36);
- Add_Goto (Table.States (874), 122, 38);
- Add_Goto (Table.States (874), 128, 41);
- Add_Goto (Table.States (874), 135, 46);
- Add_Goto (Table.States (874), 136, 47);
- Add_Goto (Table.States (874), 158, 392);
- Add_Goto (Table.States (874), 159, 393);
- Add_Goto (Table.States (874), 160, 1035);
- Add_Goto (Table.States (874), 180, 55);
- Add_Goto (Table.States (874), 183, 56);
- Add_Goto (Table.States (874), 187, 57);
- Add_Goto (Table.States (874), 194, 59);
- Add_Goto (Table.States (874), 207, 61);
- Add_Goto (Table.States (874), 208, 62);
- Add_Goto (Table.States (874), 210, 63);
- Add_Goto (Table.States (874), 211, 64);
- Add_Goto (Table.States (874), 214, 65);
- Add_Goto (Table.States (874), 215, 66);
- Add_Goto (Table.States (874), 216, 67);
- Add_Goto (Table.States (874), 217, 68);
- Add_Goto (Table.States (874), 220, 70);
- Add_Goto (Table.States (874), 224, 72);
- Add_Goto (Table.States (874), 244, 75);
- Add_Goto (Table.States (874), 245, 76);
- Add_Goto (Table.States (874), 246, 77);
- Add_Goto (Table.States (874), 247, 78);
- Add_Goto (Table.States (874), 248, 79);
- Add_Goto (Table.States (874), 249, 80);
- Add_Goto (Table.States (874), 250, 81);
- Add_Goto (Table.States (874), 251, 82);
- Add_Goto (Table.States (874), 252, 83);
- Add_Goto (Table.States (874), 258, 395);
- Add_Goto (Table.States (874), 260, 85);
- Add_Goto (Table.States (874), 261, 86);
- Add_Goto (Table.States (874), 263, 88);
- Add_Goto (Table.States (874), 264, 89);
- Add_Goto (Table.States (874), 265, 90);
- Add_Goto (Table.States (874), 266, 91);
- Add_Goto (Table.States (874), 272, 92);
- Add_Goto (Table.States (874), 282, 95);
- Add_Goto (Table.States (874), 290, 96);
- Add_Goto (Table.States (874), 305, 103);
- Add_Goto (Table.States (874), 306, 104);
- Add_Goto (Table.States (874), 308, 106);
- Add_Goto (Table.States (874), 309, 107);
- Add_Goto (Table.States (874), 310, 108);
- Add_Goto (Table.States (874), 312, 109);
- Add_Goto (Table.States (874), 314, 110);
- Add_Goto (Table.States (874), 317, 112);
- Add_Goto (Table.States (874), 318, 113);
- Add_Goto (Table.States (874), 320, 114);
- Add_Goto (Table.States (874), 326, 116);
- Add_Goto (Table.States (874), 332, 117);
- Table.States (874).Kernel := To_Vector ((0 => (319, 49, 0,
False)));
- Table.States (874).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 160, 0)));
- Table.States (875).Action_List.Set_Capacity (2);
- Add_Action (Table.States (875), 97, Reduce, (221, 1), 0, null,
null);
- Add_Action (Table.States (875), 105, 150);
- Table.States (875).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (875), 221, 1036);
- Table.States (875).Kernel := To_Vector ((0 => (306, 24, 1,
False)));
- Table.States (875).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 0)));
- Table.States (876).Action_List.Set_Capacity (2);
- Add_Action (Table.States (876), (77, 97), (172, 0), 3, null, null);
- Table.States (876).Kernel := To_Vector ((0 => (172, 171, 0,
True)));
- Table.States (876).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 172, 3)));
- Table.States (876).Minimal_Complete_Actions_Recursive := True;
- Table.States (877).Action_List.Set_Capacity (1);
- Add_Action (Table.States (877), 41, 1037);
- Table.States (877).Kernel := To_Vector (((242, 40, 1, False),
(243, 40, 2, False), (243, 40, 4, False)));
- Table.States (877).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 41, 1037)));
- Table.States (878).Action_List.Set_Capacity (7);
- Add_Action (Table.States (878), 76, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (878), 77, Reduce, (243, 0), 1,
null_exclusion_opt_name_type_0'Access, null);
- Add_Action (Table.States (878), 83, Reduce, (243, 0), 1,
null_exclusion_opt_name_type_0'Access, null);
- Add_Action (Table.States (878), 85, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (878), 97, Reduce, (243, 0), 1,
null_exclusion_opt_name_type_0'Access, null);
- Add_Action (Table.States (878), 102, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (878), 103, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Table.States (878).Kernel := To_Vector (((240, 105, 0, False),
(243, 105, 0, False)));
- Table.States (878).Minimal_Complete_Actions := To_Vector
(((Reduce, 240, 1), (Reduce, 243, 1)));
- Table.States (879).Action_List.Set_Capacity (3);
- Add_Action (Table.States (879), 77, Reduce, (171, 3), 3, null,
null);
- Add_Action (Table.States (879), 83, 1038);
- Add_Action (Table.States (879), 97, Reduce, (171, 3), 3, null,
null);
- Table.States (879).Kernel := To_Vector (((171, 115, 1, False),
(171, 115, 0, False)));
- Table.States (879).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 171, 3)));
- Table.States (880).Action_List.Set_Capacity (4);
- Add_Action (Table.States (880), 76, 236);
- Add_Action (Table.States (880), 85, 238);
- Add_Action (Table.States (880), 102, 240);
- Add_Action (Table.States (880), 103, 241);
- Table.States (880).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (880), 116, 242);
- Add_Goto (Table.States (880), 323, 243);
- Table.States (880).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (273, 240, 3, True), (294, 240, 2, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True)));
- Table.States (880).Minimal_Complete_Actions := To_Vector (((Shift,
102, 240), (Shift, 76, 236), (Shift, 85,
- 238)));
- Table.States (880).Minimal_Complete_Actions_Recursive := True;
- Table.States (881).Action_List.Set_Capacity (3);
- Add_Action (Table.States (881), 77, Reduce, (171, 2), 3, null,
null);
- Add_Action (Table.States (881), 83, 1039);
- Add_Action (Table.States (881), 97, Reduce, (171, 2), 3, null,
null);
- Table.States (881).Kernel := To_Vector (((171, 243, 1, False),
(171, 243, 0, False)));
- Table.States (881).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 171, 3)));
- Table.States (882).Action_List.Set_Capacity (7);
- Add_Action (Table.States (882), 76, Reduce, (240, 2), 1, null,
name_2_check'Access);
- Add_Action (Table.States (882), 77, Reduce, (243, 1), 1,
null_exclusion_opt_name_type_1'Access, null);
- Add_Action (Table.States (882), 83, Reduce, (243, 1), 1,
null_exclusion_opt_name_type_1'Access, null);
- Add_Action (Table.States (882), 85, Reduce, (240, 2), 1, null,
name_2_check'Access);
- Add_Action (Table.States (882), 97, Reduce, (243, 1), 1,
null_exclusion_opt_name_type_1'Access, null);
- Add_Action (Table.States (882), 102, Reduce, (240, 2), 1, null,
name_2_check'Access);
- Add_Action (Table.States (882), 103, Reduce, (240, 2), 1, null,
name_2_check'Access);
- Table.States (882).Kernel := To_Vector (((240, 294, 0, True),
(243, 294, 0, False)));
- Table.States (882).Minimal_Complete_Actions := To_Vector
(((Reduce, 240, 1), (Reduce, 243, 1)));
- Table.States (882).Minimal_Complete_Actions_Recursive := True;
- Table.States (883).Action_List.Set_Capacity (1);
- Add_Action (Table.States (883), 39, Reduce, (110, 0), 2, null,
null);
- Add_Conflict (Table.States (883), 39, (111, 0), 2, null, null);
- Table.States (883).Kernel := To_Vector (((110, 36, 0, False),
(111, 36, 0, False)));
- Table.States (883).Minimal_Complete_Actions := To_Vector
(((Reduce, 110, 2), (Reduce, 111, 2)));
- Table.States (884).Action_List.Set_Capacity (1);
- Add_Action (Table.States (884), (1 => 39), (110, 1), 2, null,
null);
- Table.States (884).Kernel := To_Vector ((0 => (110, 64, 0,
False)));
- Table.States (884).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 110, 2)));
- Table.States (885).Action_List.Set_Capacity (4);
- Add_Action (Table.States (885), 36, 1040);
- Add_Action (Table.States (885), 41, Reduce, (112, 1), 2, null,
null);
- Add_Action (Table.States (885), 49, Reduce, (112, 1), 2, null,
null);
- Add_Action (Table.States (885), 54, Reduce, (112, 1), 2, null,
null);
- Table.States (885).Kernel := To_Vector (((112, 65, 1, False),
(112, 65, 0, False)));
- Table.States (885).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 112, 2)));
- Table.States (886).Action_List.Set_Capacity (12);
- Add_Action (Table.States (886), 3, 122);
- Add_Action (Table.States (886), 39, 123);
- Add_Action (Table.States (886), 40, 477);
- Add_Action (Table.States (886), 41, 125);
- Add_Action (Table.States (886), 76, 127);
- Add_Action (Table.States (886), 79, 31);
- Add_Action (Table.States (886), 95, 128);
- Add_Action (Table.States (886), 96, 129);
- Add_Action (Table.States (886), 104, 130);
- Add_Action (Table.States (886), 105, 120);
- Add_Action (Table.States (886), 106, 34);
- Add_Action (Table.States (886), 107, 35);
- Table.States (886).Goto_List.Set_Capacity (17);
- Add_Goto (Table.States (886), 118, 131);
- Add_Goto (Table.States (886), 129, 42);
- Add_Goto (Table.States (886), 168, 784);
- Add_Goto (Table.States (886), 169, 1041);
- Add_Goto (Table.States (886), 198, 134);
- Add_Goto (Table.States (886), 226, 1042);
- Add_Goto (Table.States (886), 227, 1043);
- Add_Goto (Table.States (886), 240, 1044);
- Add_Goto (Table.States (886), 259, 136);
- Add_Goto (Table.States (886), 273, 93);
- Add_Goto (Table.States (886), 278, 481);
- Add_Goto (Table.States (886), 294, 98);
- Add_Goto (Table.States (886), 302, 482);
- Add_Goto (Table.States (886), 315, 483);
- Add_Goto (Table.States (886), 321, 145);
- Add_Goto (Table.States (886), 322, 146);
- Add_Goto (Table.States (886), 331, 147);
- Table.States (886).Kernel := To_Vector (((121, 76, 6, False),
(121, 76, 6, False)));
- Table.States (886).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (887).Action_List.Set_Capacity (4);
- Add_Action (Table.States (887), 20, 1045);
- Add_Action (Table.States (887), 53, 1046);
- Add_Action (Table.States (887), 74, Reduce, (280, 1), 0, null,
null);
- Add_Action (Table.States (887), 97, Reduce, (280, 1), 0, null,
null);
- Table.States (887).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (887), 280, 1047);
- Table.States (887).Kernel := To_Vector (((327, 193, 1, False),
(327, 193, 0, False)));
- Table.States (887).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 280, 0)));
+ Table.States (881).Kernel := To_Vector ((0 => ((322, 2), 99, 0,
(322, 2), 6)));
+ Table.States (881).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (322, 2), 6)));
+ Table.States (882).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (882), 10, (230, 0), 1026);
+ Add_Action (Table.States (882), 74, (308, 0), 1044);
+ Table.States (882).Kernel := To_Vector ((((230, 0), 230, 2,
(2147483647, 0), 0), ((308, 0), 230, 3,
+ (2147483647, 0), 0)));
+ Table.States (882).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (308, 0), 74, 1044)));
+ end Subr_16;
+ procedure Subr_17
+ is begin
+ Table.States (883).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (883), 24, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (883), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (883), 28, (124, 0), 185);
+ Add_Action (Table.States (883), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (883), 30, (213, 0), 8);
+ Add_Action (Table.States (883), 40, (249, 0), 12);
+ Add_Action (Table.States (883), 46, (249, 1), 14);
+ Add_Action (Table.States (883), 47, (216, 0), 15);
+ Add_Action (Table.States (883), 48, (260, 0), 16);
+ Add_Action (Table.States (883), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (883), 51, (267, 0), 19);
+ Add_Action (Table.States (883), 63, (316, 0), 25);
+ Add_Action (Table.States (883), 66, (308, 0), 26);
+ Add_Action (Table.States (883), 69, (209, 0), 27);
+ Add_Action (Table.States (883), 71, (334, 0), 28);
+ Add_Action (Table.States (883), 107, (222, 1), 187);
+ Table.States (883).Goto_List.Set_Capacity (53);
+ Add_Goto (Table.States (883), 115, 36);
+ Add_Goto (Table.States (883), 124, 38);
+ Add_Goto (Table.States (883), 130, 41);
+ Add_Goto (Table.States (883), 137, 46);
+ Add_Goto (Table.States (883), 138, 47);
+ Add_Goto (Table.States (883), 160, 394);
+ Add_Goto (Table.States (883), 161, 395);
+ Add_Goto (Table.States (883), 162, 1045);
+ Add_Goto (Table.States (883), 182, 55);
+ Add_Goto (Table.States (883), 185, 56);
+ Add_Goto (Table.States (883), 189, 57);
+ Add_Goto (Table.States (883), 196, 59);
+ Add_Goto (Table.States (883), 209, 61);
+ Add_Goto (Table.States (883), 210, 62);
+ Add_Goto (Table.States (883), 212, 63);
+ Add_Goto (Table.States (883), 213, 64);
+ Add_Goto (Table.States (883), 216, 65);
+ Add_Goto (Table.States (883), 217, 66);
+ Add_Goto (Table.States (883), 218, 67);
+ Add_Goto (Table.States (883), 219, 68);
+ Add_Goto (Table.States (883), 222, 70);
+ Add_Goto (Table.States (883), 226, 72);
+ Add_Goto (Table.States (883), 246, 75);
+ Add_Goto (Table.States (883), 247, 76);
+ Add_Goto (Table.States (883), 248, 77);
+ Add_Goto (Table.States (883), 249, 78);
+ Add_Goto (Table.States (883), 250, 79);
+ Add_Goto (Table.States (883), 251, 80);
+ Add_Goto (Table.States (883), 252, 81);
+ Add_Goto (Table.States (883), 253, 82);
+ Add_Goto (Table.States (883), 254, 83);
+ Add_Goto (Table.States (883), 260, 397);
+ Add_Goto (Table.States (883), 262, 85);
+ Add_Goto (Table.States (883), 263, 86);
+ Add_Goto (Table.States (883), 265, 88);
+ Add_Goto (Table.States (883), 266, 89);
+ Add_Goto (Table.States (883), 267, 90);
+ Add_Goto (Table.States (883), 268, 91);
+ Add_Goto (Table.States (883), 274, 92);
+ Add_Goto (Table.States (883), 284, 95);
+ Add_Goto (Table.States (883), 292, 96);
+ Add_Goto (Table.States (883), 307, 103);
+ Add_Goto (Table.States (883), 308, 104);
+ Add_Goto (Table.States (883), 310, 106);
+ Add_Goto (Table.States (883), 311, 107);
+ Add_Goto (Table.States (883), 312, 108);
+ Add_Goto (Table.States (883), 314, 109);
+ Add_Goto (Table.States (883), 316, 110);
+ Add_Goto (Table.States (883), 319, 112);
+ Add_Goto (Table.States (883), 320, 113);
+ Add_Goto (Table.States (883), 322, 114);
+ Add_Goto (Table.States (883), 328, 116);
+ Add_Goto (Table.States (883), 334, 117);
+ Table.States (883).Kernel := To_Vector ((0 => ((321, 0), 49, 0,
(162, 1), 0)));
+ Table.States (883).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (162, 1), 0)));
+ Table.States (884).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (884), 99, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (884), 107, (223, 0), 151);
+ Table.States (884).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (884), 223, 1046);
+ Table.States (884).Kernel := To_Vector ((0 => ((308, 1), 24, 1,
(2147483647, 0), 0)));
+ Table.States (884).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 1), 0)));
+ Table.States (885).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (885), (78, 99), (174, 0), 3, null,
null);
+ Table.States (885).Kernel := To_Vector ((0 => ((174, 0), 173, 0,
(174, 0), 3)));
+ Table.States (885).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (174, 0), 3)));
+ Table.States (886).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (886), 41, (244, 0), 1047);
+ Table.States (886).Kernel := To_Vector ((((244, 0), 40, 1,
(2147483647, 0), 0), ((245, 2), 40, 2,
+ (2147483647, 0), 0), ((245, 3), 40, 4, (2147483647, 0), 0)));
+ Table.States (886).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (244, 0), 41, 1047)));
+ Table.States (887).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (887), 76, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (887), 78, Reduce, (245, 0), 1,
null_exclusion_opt_name_type_0'Access, null);
+ Add_Action (Table.States (887), 85, Reduce, (245, 0), 1,
null_exclusion_opt_name_type_0'Access, null);
+ Add_Action (Table.States (887), 87, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (887), 99, Reduce, (245, 0), 1,
null_exclusion_opt_name_type_0'Access, null);
+ Add_Action (Table.States (887), 104, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (887), 105, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Table.States (887).Kernel := To_Vector ((((242, 5), 107, 0,
(242, 5), 1), ((245, 0), 107, 0, (245, 0),
+ 1)));
+ Table.States (887).Minimal_Complete_Actions := To_Vector
(((Reduce, (242, 5), 1), (Reduce, (245, 0),
+ 1)));
Table.States (888).Action_List.Set_Capacity (3);
- Add_Action (Table.States (888), 53, 1046);
- Add_Action (Table.States (888), 74, Reduce, (280, 1), 0, null,
null);
- Add_Action (Table.States (888), 97, Reduce, (280, 1), 0, null,
null);
- Table.States (888).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (888), 280, 1048);
- Table.States (888).Kernel := To_Vector ((0 => (327, 193, 0,
False)));
- Table.States (888).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 280, 0)));
- Table.States (889).Action_List.Set_Capacity (3);
- Add_Action (Table.States (889), 10, 1049);
- Add_Action (Table.States (889), 74, Reduce, (229, 4), 2, null,
null);
- Add_Action (Table.States (889), 97, Reduce, (229, 4), 2, null,
null);
- Table.States (889).Kernel := To_Vector (((229, 34, 2, False),
(229, 34, 0, False)));
- Table.States (889).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 229, 2)));
- Table.States (890).Action_List.Set_Capacity (2);
- Add_Action (Table.States (890), (74, 97), (327, 2), 2, null, null);
- Table.States (890).Kernel := To_Vector ((0 => (327, 193, 0,
False)));
- Table.States (890).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 327, 2)));
- Table.States (891).Action_List.Set_Capacity (2);
- Add_Action (Table.States (891), (74, 97), (281, 1), 2, null, null);
- Table.States (891).Kernel := To_Vector ((0 => (281, 54, 0,
False)));
- Table.States (891).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 281, 2)));
- Table.States (892).Action_List.Set_Capacity (3);
- Add_Action (Table.States (892), 10, 1050);
- Add_Action (Table.States (892), 74, Reduce, (229, 6), 2, null,
null);
- Add_Action (Table.States (892), 97, Reduce, (229, 6), 2, null,
null);
- Table.States (892).Kernel := To_Vector (((229, 34, 2, False),
(229, 34, 0, False)));
- Table.States (892).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 229, 2)));
+ Add_Action (Table.States (888), 78, Reduce, (173, 3), 3, null,
null);
+ Add_Action (Table.States (888), 85, (173, 1), 1048);
+ Add_Action (Table.States (888), 99, Reduce, (173, 3), 3, null,
null);
+ Table.States (888).Kernel := To_Vector ((((173, 1), 117, 1,
(2147483647, 0), 0), ((173, 3), 117, 0,
+ (173, 3), 3)));
+ Table.States (888).Minimal_Complete_Actions := To_Vector (((Shift,
(173, 1), 85, 1048), (Reduce, (173, 3),
+ 3)));
+ Table.States (889).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (889), 76, (118, 0), 237);
+ Add_Action (Table.States (889), 87, (296, 0), 239);
+ Add_Action (Table.States (889), 104, (325, 0), 241);
+ Add_Action (Table.States (889), 105, (325, 1), 242);
+ Table.States (889).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (889), 118, 243);
+ Add_Goto (Table.States (889), 325, 244);
+ Table.States (889).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((275, 0), 242, 3, (2147483647, 0), 0),
+ ((296, 0), 242, 2, (2147483647, 0), 0), ((296, 1), 242, 2,
(2147483647, 0), 0), ((296, 2), 242, 2,
+ (2147483647, 0), 0), ((296, 3), 242, 2, (2147483647, 0), 0)));
+ Table.States (890).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (890), 78, Reduce, (173, 2), 3, null,
null);
+ Add_Action (Table.States (890), 85, (173, 0), 1049);
+ Add_Action (Table.States (890), 99, Reduce, (173, 2), 3, null,
null);
+ Table.States (890).Kernel := To_Vector ((((173, 0), 245, 1,
(2147483647, 0), 0), ((173, 2), 245, 0,
+ (173, 2), 3)));
+ Table.States (890).Minimal_Complete_Actions := To_Vector (((Shift,
(173, 0), 85, 1049), (Reduce, (173, 2),
+ 3)));
+ Table.States (891).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (891), 76, Reduce, (242, 2), 1, null,
name_2_check'Access);
+ Add_Action (Table.States (891), 78, Reduce, (245, 1), 1,
null_exclusion_opt_name_type_1'Access, null);
+ Add_Action (Table.States (891), 85, Reduce, (245, 1), 1,
null_exclusion_opt_name_type_1'Access, null);
+ Add_Action (Table.States (891), 87, Reduce, (242, 2), 1, null,
name_2_check'Access);
+ Add_Action (Table.States (891), 99, Reduce, (245, 1), 1,
null_exclusion_opt_name_type_1'Access, null);
+ Add_Action (Table.States (891), 104, Reduce, (242, 2), 1, null,
name_2_check'Access);
+ Add_Action (Table.States (891), 105, Reduce, (242, 2), 1, null,
name_2_check'Access);
+ Table.States (891).Kernel := To_Vector ((((242, 2), 296, 0,
(242, 2), 1), ((245, 1), 296, 0, (245, 1),
+ 1)));
+ Table.States (891).Minimal_Complete_Actions := To_Vector
(((Reduce, (242, 2), 1), (Reduce, (245, 1),
+ 1)));
+ Table.States (892).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (892), 39, Reduce, (112, 0), 2, null,
null);
+ Add_Conflict (Table.States (892), 39, (113, 0), 2, null, null);
+ Table.States (892).Kernel := To_Vector ((((112, 0), 36, 0, (112,
0), 2), ((113, 0), 36, 0, (113, 0),
+ 2)));
+ Table.States (892).Minimal_Complete_Actions := To_Vector
(((Reduce, (112, 0), 2), (Reduce, (113, 0),
+ 2)));
Table.States (893).Action_List.Set_Capacity (1);
- Add_Action (Table.States (893), 86, 1051);
- Table.States (893).Kernel := To_Vector ((0 => (327, 302, 2,
False)));
- Table.States (893).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 86, 1051)));
- Table.States (894).Action_List.Set_Capacity (3);
- Add_Action (Table.States (894), 35, Reduce, (165, 1), 0, null,
null);
- Add_Action (Table.States (894), 105, 1052);
- Add_Action (Table.States (894), 106, 1053);
- Table.States (894).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (894), 164, 1054);
- Add_Goto (Table.States (894), 165, 1055);
- Table.States (894).Kernel := To_Vector ((0 => (328, 15, 6,
False)));
- Table.States (894).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 165, 0)));
- Table.States (895).Action_List.Set_Capacity (1);
- Add_Action (Table.States (895), 97, 1056);
- Table.States (895).Kernel := To_Vector ((0 => (150, 41, 1,
False)));
- Table.States (895).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1056)));
- Table.States (896).Action_List.Set_Capacity (5);
- Add_Action (Table.States (896), (15, 24, 28, 72, 105), (149, 1),
1, null, null);
- Table.States (896).Kernel := To_Vector ((0 => (149, 122, 0,
False)));
- Table.States (896).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 149, 1)));
- Table.States (897).Action_List.Set_Capacity (5);
- Add_Action (Table.States (897), (15, 24, 28, 72, 105), (149, 0),
1, null, null);
- Table.States (897).Kernel := To_Vector ((0 => (149, 147, 0,
False)));
- Table.States (897).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 149, 1)));
- Table.States (898).Action_List.Set_Capacity (5);
- Add_Action (Table.States (898), (15, 24, 28, 72, 105), (150, 2),
1, null, null);
- Table.States (898).Kernel := To_Vector ((0 => (150, 149, 0,
False)));
- Table.States (898).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 150, 1)));
- Table.States (899).Action_List.Set_Capacity (5);
- Add_Action (Table.States (899), 15, 894);
- Add_Action (Table.States (899), 24, Reduce, (151, 0), 1, null,
null);
- Add_Action (Table.States (899), 28, 184);
- Add_Action (Table.States (899), 72, Reduce, (151, 0), 1, null,
null);
- Add_Action (Table.States (899), 105, 165);
- Table.States (899).Goto_List.Set_Capacity (8);
- Add_Goto (Table.States (899), 122, 896);
- Add_Goto (Table.States (899), 128, 41);
- Add_Goto (Table.States (899), 147, 897);
- Add_Goto (Table.States (899), 149, 1057);
- Add_Goto (Table.States (899), 183, 56);
- Add_Goto (Table.States (899), 220, 901);
- Add_Goto (Table.States (899), 282, 95);
- Add_Goto (Table.States (899), 328, 1058);
- Table.States (899).Kernel := To_Vector (((150, 150, 4, True),
(150, 150, 7, True), (151, 150, 0, False)));
- Table.States (899).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 151, 1)));
- Table.States (900).Action_List.Set_Capacity (1);
- Add_Action (Table.States (900), 24, 1059);
- Table.States (900).Kernel := To_Vector ((0 => (281, 151, 2,
False)));
- Table.States (900).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 1059)));
- Table.States (901).Action_List.Set_Capacity (2);
- Add_Action (Table.States (901), 82, 1060);
- Add_Action (Table.States (901), 84, 235);
- Table.States (901).Kernel := To_Vector (((147, 220, 4, False),
(147, 220, 3, False), (220, 220, 2, True)));
- Table.States (901).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 82, 1060)));
- Table.States (902).Action_List.Set_Capacity (5);
- Add_Action (Table.States (902), (15, 24, 28, 72, 105), (150, 3),
1, null, null);
- Table.States (902).Kernel := To_Vector ((0 => (150, 328, 0,
False)));
- Table.States (902).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 150, 1)));
+ Add_Action (Table.States (893), (1 => 39), (112, 1), 2, null,
null);
+ Table.States (893).Kernel := To_Vector ((0 => ((112, 1), 64, 0,
(112, 1), 2)));
+ Table.States (893).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (112, 1), 2)));
+ Table.States (894).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (894), 36, (114, 0), 1050);
+ Add_Action (Table.States (894), 41, Reduce, (114, 1), 2, null,
null);
+ Add_Action (Table.States (894), 49, Reduce, (114, 1), 2, null,
null);
+ Add_Action (Table.States (894), 54, Reduce, (114, 1), 2, null,
null);
+ Table.States (894).Kernel := To_Vector ((((114, 0), 65, 1,
(2147483647, 0), 0), ((114, 1), 65, 0,
+ (114, 1), 2)));
+ Table.States (894).Minimal_Complete_Actions := To_Vector (((Shift,
(114, 0), 36, 1050), (Reduce, (114, 1),
+ 2)));
+ Table.States (895).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (895), 3, (200, 2), 122);
+ Add_Action (Table.States (895), 39, (261, 4), 123);
+ Add_Action (Table.States (895), 40, (200, 3), 481);
+ Add_Action (Table.States (895), 41, (261, 1), 125);
+ Add_Action (Table.States (895), 76, (120, 0), 127);
+ Add_Action (Table.States (895), 77, (120, 5), 128);
+ Add_Action (Table.States (895), 81, (242, 8), 31);
+ Add_Action (Table.States (895), 97, (333, 1), 129);
+ Add_Action (Table.States (895), 98, (333, 0), 130);
+ Add_Action (Table.States (895), 106, (261, 0), 131);
+ Add_Action (Table.States (895), 107, (242, 5), 120);
+ Add_Action (Table.States (895), 108, (242, 7), 34);
+ Add_Action (Table.States (895), 109, (242, 6), 35);
+ Table.States (895).Goto_List.Set_Capacity (17);
+ Add_Goto (Table.States (895), 120, 132);
+ Add_Goto (Table.States (895), 131, 42);
+ Add_Goto (Table.States (895), 170, 793);
+ Add_Goto (Table.States (895), 171, 1051);
+ Add_Goto (Table.States (895), 200, 135);
+ Add_Goto (Table.States (895), 228, 1052);
+ Add_Goto (Table.States (895), 229, 1053);
+ Add_Goto (Table.States (895), 242, 1054);
+ Add_Goto (Table.States (895), 261, 137);
+ Add_Goto (Table.States (895), 275, 93);
+ Add_Goto (Table.States (895), 280, 485);
+ Add_Goto (Table.States (895), 296, 98);
+ Add_Goto (Table.States (895), 304, 486);
+ Add_Goto (Table.States (895), 317, 487);
+ Add_Goto (Table.States (895), 323, 146);
+ Add_Goto (Table.States (895), 324, 147);
+ Add_Goto (Table.States (895), 333, 148);
+ Table.States (895).Kernel := To_Vector ((((123, 0), 76, 6,
(2147483647, 0), 0), ((123, 1), 76, 6,
+ (2147483647, 0), 0)));
+ Table.States (895).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (896).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (896), 20, (329, 4), 1055);
+ Add_Action (Table.States (896), 53, (282, 0), 1056);
+ Add_Action (Table.States (896), 74, Reduce, (282, 1), 0, null,
null);
+ Add_Action (Table.States (896), 99, Reduce, (282, 1), 0, null,
null);
+ Table.States (896).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (896), 282, 1057);
+ Table.States (896).Kernel := To_Vector ((((329, 4), 195, 1,
(2147483647, 0), 0), ((329, 5), 195, 0,
+ (282, 1), 0)));
+ Table.States (896).Minimal_Complete_Actions := To_Vector (((Shift,
(329, 4), 20, 1055), (Reduce, (282, 1),
+ 0)));
+ Table.States (897).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (897), 53, (282, 0), 1056);
+ Add_Action (Table.States (897), 74, Reduce, (282, 1), 0, null,
null);
+ Add_Action (Table.States (897), 99, Reduce, (282, 1), 0, null,
null);
+ Table.States (897).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (897), 282, 1058);
+ Table.States (897).Kernel := To_Vector ((0 => ((329, 3), 195, 0,
(282, 1), 0)));
+ Table.States (897).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (282, 1), 0)));
+ Table.States (898).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (898), 10, (231, 0), 1059);
+ Add_Action (Table.States (898), 74, Reduce, (231, 4), 2, null,
null);
+ Add_Action (Table.States (898), 99, Reduce, (231, 4), 2, null,
null);
+ Table.States (898).Kernel := To_Vector ((((231, 0), 34, 2,
(2147483647, 0), 0), ((231, 4), 34, 0,
+ (231, 4), 2)));
+ Table.States (898).Minimal_Complete_Actions := To_Vector (((Shift,
(231, 0), 10, 1059), (Reduce, (231, 4),
+ 2)));
+ Table.States (899).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (899), (74, 99), (329, 2), 2, null,
null);
+ Table.States (899).Kernel := To_Vector ((0 => ((329, 2), 195, 0,
(329, 2), 2)));
+ Table.States (899).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (329, 2), 2)));
+ Table.States (900).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (900), (74, 99), (283, 1), 2, null,
null);
+ Table.States (900).Kernel := To_Vector ((0 => ((283, 1), 54, 0,
(283, 1), 2)));
+ Table.States (900).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (283, 1), 2)));
+ Table.States (901).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (901), 10, (231, 2), 1060);
+ Add_Action (Table.States (901), 74, Reduce, (231, 6), 2, null,
null);
+ Add_Action (Table.States (901), 99, Reduce, (231, 6), 2, null,
null);
+ Table.States (901).Kernel := To_Vector ((((231, 2), 34, 2,
(2147483647, 0), 0), ((231, 6), 34, 0,
+ (231, 6), 2)));
+ Table.States (901).Minimal_Complete_Actions := To_Vector (((Shift,
(231, 2), 10, 1060), (Reduce, (231, 6),
+ 2)));
+ Table.States (902).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (902), 88, (329, 1), 1061);
+ Table.States (902).Kernel := To_Vector ((0 => ((329, 1), 304, 2,
(2147483647, 0), 0)));
+ Table.States (902).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (329, 1), 88, 1061)));
Table.States (903).Action_List.Set_Capacity (3);
- Add_Action (Table.States (903), 10, 1061);
- Add_Action (Table.States (903), 74, Reduce, (229, 7), 2, null,
null);
- Add_Action (Table.States (903), 97, Reduce, (229, 7), 2, null,
null);
- Table.States (903).Kernel := To_Vector (((229, 34, 2, False),
(229, 34, 0, False)));
- Table.States (903).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 229, 2)));
- Table.States (904).Action_List.Set_Capacity (3);
- Add_Action (Table.States (904), (41, 49, 54), (112, 2), 2, null,
null);
- Table.States (904).Kernel := To_Vector ((0 => (112, 36, 0,
False)));
- Table.States (904).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 112, 2)));
- Table.States (905).Action_List.Set_Capacity (41);
- Add_Action (Table.States (905), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (224, 0), 6,
- incomplete_type_declaration_0'Access, null);
- Table.States (905).Kernel := To_Vector ((0 => (224, 97, 0,
False)));
- Table.States (905).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 224, 6)));
- Table.States (906).Action_List.Set_Capacity (3);
- Add_Action (Table.States (906), 10, 1062);
- Add_Action (Table.States (906), 74, Reduce, (229, 5), 2, null,
null);
- Add_Action (Table.States (906), 97, Reduce, (229, 5), 2, null,
null);
- Table.States (906).Kernel := To_Vector (((229, 34, 2, False),
(229, 34, 0, False)));
- Table.States (906).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 229, 2)));
- Table.States (907).Action_List.Set_Capacity (2);
- Add_Action (Table.States (907), (77, 84), (181, 0), 1, null, null);
- Table.States (907).Kernel := To_Vector ((0 => (181, 105, 0,
False)));
- Table.States (907).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 181, 1)));
- Table.States (908).Action_List.Set_Capacity (2);
- Add_Action (Table.States (908), (77, 84), (181, 1), 1, null, null);
- Table.States (908).Kernel := To_Vector ((0 => (181, 107, 0,
False)));
- Table.States (908).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 181, 1)));
- Table.States (909).Action_List.Set_Capacity (2);
- Add_Action (Table.States (909), (77, 84), (182, 1), 1, null, null);
- Table.States (909).Kernel := To_Vector ((0 => (182, 181, 0,
False)));
- Table.States (909).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 182, 1)));
+ Add_Action (Table.States (903), 35, Reduce, (167, 1), 0, null,
null);
+ Add_Action (Table.States (903), 107, (166, 0), 1062);
+ Add_Action (Table.States (903), 108, (166, 1), 1063);
+ Table.States (903).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (903), 166, 1064);
+ Add_Goto (Table.States (903), 167, 1065);
+ Table.States (903).Kernel := To_Vector ((0 => ((330, 0), 15, 6,
(2147483647, 0), 0)));
+ Table.States (903).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (167, 1), 0)));
+ Table.States (904).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (904), 99, (152, 4), 1066);
+ Table.States (904).Kernel := To_Vector ((0 => ((152, 4), 41, 1,
(2147483647, 0), 0)));
+ Table.States (904).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (152, 4), 99, 1066)));
+ Table.States (905).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (905), (15, 24, 28, 72, 107), (151, 1),
1, null, null);
+ Table.States (905).Kernel := To_Vector ((0 => ((151, 1), 124, 0,
(151, 1), 1)));
+ Table.States (905).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (151, 1), 1)));
+ Table.States (906).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (906), (15, 24, 28, 72, 107), (151, 0),
1, null, null);
+ Table.States (906).Kernel := To_Vector ((0 => ((151, 0), 149, 0,
(151, 0), 1)));
+ Table.States (906).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (151, 0), 1)));
+ Table.States (907).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (907), (15, 24, 28, 72, 107), (152, 2),
1, null, null);
+ Table.States (907).Kernel := To_Vector ((0 => ((152, 2), 151, 0,
(152, 2), 1)));
+ Table.States (907).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (152, 2), 1)));
+ Table.States (908).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (908), 15, (330, 0), 903);
+ Add_Action (Table.States (908), 24, Reduce, (153, 0), 1, null,
null);
+ Add_Action (Table.States (908), 28, (124, 0), 185);
+ Add_Action (Table.States (908), 72, Reduce, (153, 0), 1, null,
null);
+ Add_Action (Table.States (908), 107, (222, 1), 166);
+ Table.States (908).Goto_List.Set_Capacity (8);
+ Add_Goto (Table.States (908), 124, 905);
+ Add_Goto (Table.States (908), 130, 41);
+ Add_Goto (Table.States (908), 149, 906);
+ Add_Goto (Table.States (908), 151, 1067);
+ Add_Goto (Table.States (908), 185, 56);
+ Add_Goto (Table.States (908), 222, 910);
+ Add_Goto (Table.States (908), 284, 95);
+ Add_Goto (Table.States (908), 330, 1068);
+ Table.States (908).Kernel := To_Vector ((((152, 0), 152, 4,
(2147483647, 0), 0), ((152, 1), 152, 7,
+ (2147483647, 0), 0), ((153, 0), 152, 0, (153, 0), 1)));
+ Table.States (908).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (153, 0), 1)));
+ Table.States (909).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (909), 24, (283, 0), 1069);
+ Table.States (909).Kernel := To_Vector ((0 => ((283, 0), 153, 2,
(2147483647, 0), 0)));
+ Table.States (909).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (283, 0), 24, 1069)));
Table.States (910).Action_List.Set_Capacity (2);
- Add_Action (Table.States (910), 77, 1063);
- Add_Action (Table.States (910), 84, 1064);
- Table.States (910).Kernel := To_Vector (((182, 182, 2, True),
(184, 182, 1, False)));
- Table.States (910).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 1063)));
+ Add_Action (Table.States (910), 84, (149, 0), 1070);
+ Add_Action (Table.States (910), 86, (222, 0), 236);
+ Table.States (910).Kernel := To_Vector ((((149, 0), 222, 4,
(2147483647, 0), 0), ((149, 1), 222, 3,
+ (2147483647, 0), 0), ((222, 0), 222, 2, (2147483647, 0), 0)));
+ Table.States (910).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (149, 0), 84, 1070)));
Table.States (911).Action_List.Set_Capacity (5);
- Add_Action (Table.States (911), 40, 486);
- Add_Action (Table.States (911), 79, 31);
- Add_Action (Table.States (911), 105, 120);
- Add_Action (Table.States (911), 106, 34);
- Add_Action (Table.States (911), 107, 35);
- Table.States (911).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (911), 129, 42);
- Add_Goto (Table.States (911), 240, 487);
- Add_Goto (Table.States (911), 273, 93);
- Add_Goto (Table.States (911), 294, 98);
- Add_Goto (Table.States (911), 315, 1065);
- Table.States (911).Kernel := To_Vector ((0 => (260, 39, 4,
False)));
- Table.States (911).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (912).Action_List.Set_Capacity (4);
- Add_Action (Table.States (912), 79, 31);
- Add_Action (Table.States (912), 105, 120);
- Add_Action (Table.States (912), 106, 34);
- Add_Action (Table.States (912), 107, 35);
- Table.States (912).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (912), 129, 42);
- Add_Goto (Table.States (912), 240, 1066);
- Add_Goto (Table.States (912), 273, 93);
- Add_Goto (Table.States (912), 294, 98);
- Table.States (912).Kernel := To_Vector (((163, 39, 4, False),
(163, 39, 1, False)));
- Table.States (912).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (913).Action_List.Set_Capacity (2);
- Add_Action (Table.States (913), 74, 338);
- Add_Action (Table.States (913), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (913).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (913), 123, 1067);
- Table.States (913).Kernel := To_Vector ((0 => (261, 49, 1,
False)));
- Table.States (913).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (914).Action_List.Set_Capacity (2);
- Add_Action (Table.States (914), (74, 97), (327, 7), 2, null, null);
- Table.States (914).Kernel := To_Vector ((0 => (327, 281, 0,
False)));
- Table.States (914).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 327, 2)));
- Table.States (915).Action_List.Set_Capacity (1);
- Add_Action (Table.States (915), 97, 1068);
- Table.States (915).Kernel := To_Vector ((0 => (207, 123, 1,
False)));
- Table.States (915).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1068)));
- Table.States (916).Action_List.Set_Capacity (1);
- Add_Action (Table.States (916), 97, 1069);
- Table.States (916).Kernel := To_Vector ((0 => (246, 123, 1,
False)));
- Table.States (916).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1069)));
- Table.States (917).Action_List.Set_Capacity (1);
- Add_Action (Table.States (917), 97, 1070);
- Table.States (917).Kernel := To_Vector ((0 => (246, 123, 1,
False)));
- Table.States (917).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1070)));
- Table.States (918).Action_List.Set_Capacity (11);
- Add_Action (Table.States (918), 21, Reduce, (115, 2), 4,
access_definition_2'Access, null);
- Add_Action (Table.States (918), 35, Reduce, (115, 2), 4,
access_definition_2'Access, null);
- Add_Action (Table.States (918), 56, Reduce, (115, 2), 4,
access_definition_2'Access, null);
- Add_Action (Table.States (918), 74, Reduce, (115, 2), 4,
access_definition_2'Access, null);
- Add_Action (Table.States (918), 76, 236);
- Add_Action (Table.States (918), 77, Reduce, (115, 2), 4,
access_definition_2'Access, null);
- Add_Action (Table.States (918), 83, Reduce, (115, 2), 4,
access_definition_2'Access, null);
- Add_Action (Table.States (918), 85, 238);
- Add_Action (Table.States (918), 97, Reduce, (115, 2), 4,
access_definition_2'Access, null);
- Add_Action (Table.States (918), 102, 240);
- Add_Action (Table.States (918), 103, 241);
- Table.States (918).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (918), 116, 242);
- Add_Goto (Table.States (918), 323, 243);
- Table.States (918).Kernel := To_Vector (((115, 240, 0, False),
(129, 240, 2, True), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (918).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 115, 4)));
+ Add_Action (Table.States (911), (15, 24, 28, 72, 107), (152, 3),
1, null, null);
+ Table.States (911).Kernel := To_Vector ((0 => ((152, 3), 330, 0,
(152, 3), 1)));
+ Table.States (911).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (152, 3), 1)));
+ Table.States (912).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (912), 10, (231, 3), 1071);
+ Add_Action (Table.States (912), 74, Reduce, (231, 7), 2, null,
null);
+ Add_Action (Table.States (912), 99, Reduce, (231, 7), 2, null,
null);
+ Table.States (912).Kernel := To_Vector ((((231, 3), 34, 2,
(2147483647, 0), 0), ((231, 7), 34, 0,
+ (231, 7), 2)));
+ Table.States (912).Minimal_Complete_Actions := To_Vector (((Shift,
(231, 3), 10, 1071), (Reduce, (231, 7),
+ 2)));
+ Table.States (913).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (913), (41, 49, 54), (114, 2), 2, null,
null);
+ Table.States (913).Kernel := To_Vector ((0 => ((114, 2), 36, 0,
(114, 2), 2)));
+ Table.States (913).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (114, 2), 2)));
+ Table.States (914).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (914), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (226, 0), 6,
+ incomplete_type_declaration_0'Access, null);
+ Table.States (914).Kernel := To_Vector ((0 => ((226, 0), 99, 0,
(226, 0), 6)));
+ Table.States (914).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (226, 0), 6)));
+ Table.States (915).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (915), 10, (231, 1), 1072);
+ Add_Action (Table.States (915), 74, Reduce, (231, 5), 2, null,
null);
+ Add_Action (Table.States (915), 99, Reduce, (231, 5), 2, null,
null);
+ Table.States (915).Kernel := To_Vector ((((231, 1), 34, 2,
(2147483647, 0), 0), ((231, 5), 34, 0,
+ (231, 5), 2)));
+ Table.States (915).Minimal_Complete_Actions := To_Vector (((Shift,
(231, 1), 10, 1072), (Reduce, (231, 5),
+ 2)));
+ Table.States (916).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (916), (78, 86), (183, 0), 1, null,
null);
+ Table.States (916).Kernel := To_Vector ((0 => ((183, 0), 107, 0,
(183, 0), 1)));
+ Table.States (916).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (183, 0), 1)));
+ Table.States (917).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (917), (78, 86), (183, 1), 1, null,
null);
+ Table.States (917).Kernel := To_Vector ((0 => ((183, 1), 109, 0,
(183, 1), 1)));
+ Table.States (917).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (183, 1), 1)));
+ Table.States (918).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (918), (78, 86), (184, 1), 1, null,
null);
+ Table.States (918).Kernel := To_Vector ((0 => ((184, 1), 183, 0,
(184, 1), 1)));
+ Table.States (918).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (184, 1), 1)));
Table.States (919).Action_List.Set_Capacity (2);
- Add_Action (Table.States (919), 58, 318);
- Add_Action (Table.States (919), 76, 432);
- Table.States (919).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (919), 200, 320);
- Add_Goto (Table.States (919), 253, 1071);
- Add_Goto (Table.States (919), 292, 322);
- Table.States (919).Kernel := To_Vector ((0 => (115, 29, 1, True)));
- Table.States (919).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 58, 318)));
- Table.States (919).Minimal_Complete_Actions_Recursive := True;
- Table.States (920).Action_List.Set_Capacity (8);
- Add_Action (Table.States (920), 21, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (920), 35, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (920), 56, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (920), 74, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (920), 76, 432);
- Add_Action (Table.States (920), 77, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (920), 83, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (920), 97, Reduce, (254, 1), 0, null,
null);
- Table.States (920).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (920), 200, 345);
- Add_Goto (Table.States (920), 254, 1072);
- Table.States (920).Kernel := To_Vector ((0 => (115, 50, 0,
False)));
- Table.States (920).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 254, 0)));
- Table.States (921).Action_List.Set_Capacity (6);
- Add_Action (Table.States (921), 74, 338);
- Add_Action (Table.States (921), 76, 236);
- Add_Action (Table.States (921), 85, 238);
- Add_Action (Table.States (921), 97, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (921), 102, 240);
- Add_Action (Table.States (921), 103, 241);
- Table.States (921).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (921), 116, 242);
- Add_Goto (Table.States (921), 123, 1073);
- Add_Goto (Table.States (921), 323, 243);
- Table.States (921).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (246, 240, 1, False), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (921).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (922).Action_List.Set_Capacity (47);
- Add_Action (Table.States (922), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (134, 1), 6, block_statement_1'Access,
block_statement_1_check'Access);
- Table.States (922).Kernel := To_Vector ((0 => (134, 97, 0,
False)));
- Table.States (922).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 134, 6)));
+ Add_Action (Table.States (919), 78, (186, 0), 1073);
+ Add_Action (Table.States (919), 86, (184, 0), 1074);
+ Table.States (919).Kernel := To_Vector ((((184, 0), 184, 2,
(2147483647, 0), 0), ((186, 0), 184, 1,
+ (2147483647, 0), 0)));
+ Table.States (919).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (186, 0), 78, 1073)));
+ Table.States (920).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (920), 40, (317, 0), 490);
+ Add_Action (Table.States (920), 81, (242, 8), 31);
+ Add_Action (Table.States (920), 107, (242, 5), 120);
+ Add_Action (Table.States (920), 108, (242, 7), 34);
+ Add_Action (Table.States (920), 109, (242, 6), 35);
+ Table.States (920).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (920), 131, 42);
+ Add_Goto (Table.States (920), 242, 491);
+ Add_Goto (Table.States (920), 275, 93);
+ Add_Goto (Table.States (920), 296, 98);
+ Add_Goto (Table.States (920), 317, 1075);
+ Table.States (920).Kernel := To_Vector ((0 => ((262, 0), 39, 4,
(2147483647, 0), 0)));
+ Table.States (920).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (921).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (921), 81, (242, 8), 31);
+ Add_Action (Table.States (921), 107, (242, 5), 120);
+ Add_Action (Table.States (921), 108, (242, 7), 34);
+ Add_Action (Table.States (921), 109, (242, 6), 35);
+ Table.States (921).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (921), 131, 42);
+ Add_Goto (Table.States (921), 242, 1076);
+ Add_Goto (Table.States (921), 275, 93);
+ Add_Goto (Table.States (921), 296, 98);
+ Table.States (921).Kernel := To_Vector ((((165, 0), 39, 4,
(2147483647, 0), 0), ((165, 1), 39, 1,
+ (2147483647, 0), 0)));
+ Table.States (921).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (922).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (922), 74, (125, 0), 340);
+ Add_Action (Table.States (922), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (922).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (922), 125, 1077);
+ Table.States (922).Kernel := To_Vector ((0 => ((263, 0), 49, 1,
(2147483647, 0), 0)));
+ Table.States (922).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
Table.States (923).Action_List.Set_Capacity (2);
- Add_Action (Table.States (923), (80, 88), (185, 1), 1, null, null);
- Table.States (923).Kernel := To_Vector ((0 => (185, 44, 0,
False)));
- Table.States (923).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 185, 1)));
- Table.States (924).Action_List.Set_Capacity (7);
- Add_Action (Table.States (924), 76, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (924), 80, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (924), 82, 1074);
- Add_Action (Table.States (924), 85, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (924), 88, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (924), 102, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (924), 103, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Table.States (924).Kernel := To_Vector (((188, 105, 3, False),
(240, 105, 0, False)));
- Table.States (924).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 240, 1)));
- Table.States (925).Action_List.Set_Capacity (2);
- Add_Action (Table.States (925), (80, 88), (186, 1), 1, null, null);
- Table.States (925).Kernel := To_Vector ((0 => (186, 185, 0,
False)));
- Table.States (925).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 186, 1)));
- Table.States (926).Action_List.Set_Capacity (2);
- Add_Action (Table.States (926), 80, 1075);
- Add_Action (Table.States (926), 88, 1076);
- Table.States (926).Kernel := To_Vector (((186, 186, 2, True),
(188, 186, 1, False)));
- Table.States (926).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 88, 1076)));
- Table.States (927).Action_List.Set_Capacity (6);
- Add_Action (Table.States (927), 76, 236);
- Add_Action (Table.States (927), 80, Reduce, (185, 0), 1, null,
null);
- Add_Action (Table.States (927), 85, 238);
- Add_Action (Table.States (927), 88, Reduce, (185, 0), 1, null,
null);
- Add_Action (Table.States (927), 102, 240);
- Add_Action (Table.States (927), 103, 241);
+ Add_Action (Table.States (923), (74, 99), (329, 7), 2, null,
null);
+ Table.States (923).Kernel := To_Vector ((0 => ((329, 7), 283, 0,
(329, 7), 2)));
+ Table.States (923).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (329, 7), 2)));
+ Table.States (924).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (924), 99, (209, 0), 1078);
+ Table.States (924).Kernel := To_Vector ((0 => ((209, 0), 125, 1,
(2147483647, 0), 0)));
+ Table.States (924).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (209, 0), 99, 1078)));
+ Table.States (925).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (925), 99, (248, 2), 1079);
+ Table.States (925).Kernel := To_Vector ((0 => ((248, 2), 125, 1,
(2147483647, 0), 0)));
+ Table.States (925).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (248, 2), 99, 1079)));
+ Table.States (926).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (926), 99, (248, 1), 1080);
+ Table.States (926).Kernel := To_Vector ((0 => ((248, 1), 125, 1,
(2147483647, 0), 0)));
+ Table.States (926).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (248, 1), 99, 1080)));
+ Table.States (927).Action_List.Set_Capacity (11);
+ Add_Action (Table.States (927), 21, Reduce, (117, 2), 4,
access_definition_2'Access, null);
+ Add_Action (Table.States (927), 35, Reduce, (117, 2), 4,
access_definition_2'Access, null);
+ Add_Action (Table.States (927), 56, Reduce, (117, 2), 4,
access_definition_2'Access, null);
+ Add_Action (Table.States (927), 74, Reduce, (117, 2), 4,
access_definition_2'Access, null);
+ Add_Action (Table.States (927), 76, (118, 0), 237);
+ Add_Action (Table.States (927), 78, Reduce, (117, 2), 4,
access_definition_2'Access, null);
+ Add_Action (Table.States (927), 85, Reduce, (117, 2), 4,
access_definition_2'Access, null);
+ Add_Action (Table.States (927), 87, (296, 0), 239);
+ Add_Action (Table.States (927), 99, Reduce, (117, 2), 4,
access_definition_2'Access, null);
+ Add_Action (Table.States (927), 104, (325, 0), 241);
+ Add_Action (Table.States (927), 105, (325, 1), 242);
Table.States (927).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (927), 116, 242);
- Add_Goto (Table.States (927), 323, 243);
- Table.States (927).Kernel := To_Vector (((129, 240, 2, True),
(185, 240, 0, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (927).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 185, 1)));
+ Add_Goto (Table.States (927), 118, 243);
+ Add_Goto (Table.States (927), 325, 244);
+ Table.States (927).Kernel := To_Vector ((((117, 2), 242, 0,
(117, 2), 4), ((131, 0), 242, 2,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (927).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (117, 2), 4)));
Table.States (928).Action_List.Set_Capacity (2);
- Add_Action (Table.States (928), (24, 72), (189, 0), 2,
exception_handler_list_0'Access, null);
- Table.States (928).Kernel := To_Vector ((0 => (189, 188, 0,
True)));
- Table.States (928).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 189, 2)));
- Table.States (928).Minimal_Complete_Actions_Recursive := True;
- Table.States (929).Action_List.Set_Capacity (2);
- Add_Action (Table.States (929), 97, Reduce, (221, 1), 0, null,
null);
- Add_Action (Table.States (929), 105, 150);
- Table.States (929).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (929), 221, 1077);
- Table.States (929).Kernel := To_Vector ((0 => (134, 24, 1,
False)));
- Table.States (929).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 0)));
- Table.States (930).Action_List.Set_Capacity (1);
- Add_Action (Table.States (930), 97, 1078);
- Table.States (930).Kernel := To_Vector ((0 => (233, 221, 1,
False)));
- Table.States (930).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1078)));
- Table.States (931).Action_List.Set_Capacity (2);
- Add_Action (Table.States (931), 97, Reduce, (221, 1), 0, null,
null);
- Add_Action (Table.States (931), 105, 150);
- Table.States (931).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (931), 221, 1079);
- Table.States (931).Kernel := To_Vector ((0 => (233, 37, 1,
False)));
- Table.States (931).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 0)));
- Table.States (932).Action_List.Set_Capacity (41);
- Add_Action (Table.States (932), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (158, 9), 6,
- declaration_9'Access, null);
- Table.States (932).Kernel := To_Vector ((0 => (158, 97, 0,
False)));
- Table.States (932).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 158, 6)));
- Table.States (933).Action_List.Set_Capacity (5);
- Add_Action (Table.States (933), 7, Reduce, (242, 0), 2, null,
null);
- Add_Action (Table.States (933), 79, 31);
- Add_Action (Table.States (933), 105, 120);
- Add_Action (Table.States (933), 106, 34);
- Add_Action (Table.States (933), 107, 35);
- Table.States (933).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (933), 129, 42);
- Add_Goto (Table.States (933), 240, 781);
- Add_Goto (Table.States (933), 273, 93);
- Add_Goto (Table.States (933), 294, 98);
- Table.States (933).Kernel := To_Vector (((242, 41, 0, False),
(315, 41, 5, False), (315, 41, 1, False)));
- Table.States (933).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 242, 2)));
- Table.States (934).Action_List.Set_Capacity (15);
- Add_Action (Table.States (934), 3, 122);
- Add_Action (Table.States (934), 39, 123);
- Add_Action (Table.States (934), 40, 124);
- Add_Action (Table.States (934), 41, 125);
- Add_Action (Table.States (934), 52, 126);
- Add_Action (Table.States (934), 74, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (934), 76, 127);
- Add_Action (Table.States (934), 79, 31);
- Add_Action (Table.States (934), 95, 128);
- Add_Action (Table.States (934), 96, 129);
- Add_Action (Table.States (934), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (934), 104, 130);
- Add_Action (Table.States (934), 105, 120);
- Add_Action (Table.States (934), 106, 34);
- Add_Action (Table.States (934), 107, 35);
- Table.States (934).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (934), 118, 131);
- Add_Goto (Table.States (934), 129, 42);
- Add_Goto (Table.States (934), 192, 132);
- Add_Goto (Table.States (934), 193, 1080);
- Add_Goto (Table.States (934), 198, 134);
- Add_Goto (Table.States (934), 240, 135);
- Add_Goto (Table.States (934), 259, 136);
- Add_Goto (Table.States (934), 273, 93);
- Add_Goto (Table.States (934), 276, 137);
- Add_Goto (Table.States (934), 283, 138);
- Add_Goto (Table.States (934), 284, 139);
- Add_Goto (Table.States (934), 285, 140);
- Add_Goto (Table.States (934), 286, 141);
- Add_Goto (Table.States (934), 287, 142);
- Add_Goto (Table.States (934), 288, 143);
- Add_Goto (Table.States (934), 294, 98);
- Add_Goto (Table.States (934), 302, 144);
- Add_Goto (Table.States (934), 321, 145);
- Add_Goto (Table.States (934), 322, 146);
- Add_Goto (Table.States (934), 331, 147);
- Table.States (934).Kernel := To_Vector ((0 => (245, 83, 1,
False)));
- Table.States (934).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (935).Action_List.Set_Capacity (1);
- Add_Action (Table.States (935), 97, 1081);
- Table.States (935).Kernel := To_Vector ((0 => (245, 123, 1,
False)));
- Table.States (935).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1081)));
- Table.States (936).Action_List.Set_Capacity (15);
- Add_Action (Table.States (936), 3, 122);
- Add_Action (Table.States (936), 39, 123);
- Add_Action (Table.States (936), 40, 124);
- Add_Action (Table.States (936), 41, 125);
- Add_Action (Table.States (936), 52, 126);
- Add_Action (Table.States (936), 74, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (936), 76, 127);
- Add_Action (Table.States (936), 79, 31);
- Add_Action (Table.States (936), 95, 128);
- Add_Action (Table.States (936), 96, 129);
- Add_Action (Table.States (936), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (936), 104, 130);
- Add_Action (Table.States (936), 105, 120);
- Add_Action (Table.States (936), 106, 34);
- Add_Action (Table.States (936), 107, 35);
- Table.States (936).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (936), 118, 131);
- Add_Goto (Table.States (936), 129, 42);
- Add_Goto (Table.States (936), 192, 132);
- Add_Goto (Table.States (936), 193, 1082);
- Add_Goto (Table.States (936), 198, 134);
- Add_Goto (Table.States (936), 240, 135);
- Add_Goto (Table.States (936), 259, 136);
- Add_Goto (Table.States (936), 273, 93);
- Add_Goto (Table.States (936), 276, 137);
- Add_Goto (Table.States (936), 283, 138);
- Add_Goto (Table.States (936), 284, 139);
- Add_Goto (Table.States (936), 285, 140);
- Add_Goto (Table.States (936), 286, 141);
- Add_Goto (Table.States (936), 287, 142);
- Add_Goto (Table.States (936), 288, 143);
- Add_Goto (Table.States (936), 294, 98);
- Add_Goto (Table.States (936), 302, 144);
- Add_Goto (Table.States (936), 321, 145);
- Add_Goto (Table.States (936), 322, 146);
- Add_Goto (Table.States (936), 331, 147);
- Table.States (936).Kernel := To_Vector ((0 => (245, 83, 1,
False)));
- Table.States (936).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- end Subr_16;
- procedure Subr_17
- is begin
- Table.States (937).Action_List.Set_Capacity (1);
- Add_Action (Table.States (937), 97, 1083);
- Table.States (937).Kernel := To_Vector ((0 => (245, 123, 1,
False)));
- Table.States (937).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1083)));
- Table.States (938).Action_List.Set_Capacity (15);
- Add_Action (Table.States (938), 3, 122);
- Add_Action (Table.States (938), 39, 123);
- Add_Action (Table.States (938), 40, 124);
- Add_Action (Table.States (938), 41, 125);
- Add_Action (Table.States (938), 52, 126);
- Add_Action (Table.States (938), 74, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (938), 76, 127);
- Add_Action (Table.States (938), 79, 31);
- Add_Action (Table.States (938), 95, 128);
- Add_Action (Table.States (938), 96, 129);
- Add_Action (Table.States (938), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (938), 104, 130);
- Add_Action (Table.States (938), 105, 120);
- Add_Action (Table.States (938), 106, 34);
- Add_Action (Table.States (938), 107, 35);
- Table.States (938).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (938), 118, 131);
- Add_Goto (Table.States (938), 129, 42);
- Add_Goto (Table.States (938), 192, 132);
- Add_Goto (Table.States (938), 193, 1084);
- Add_Goto (Table.States (938), 198, 134);
- Add_Goto (Table.States (938), 240, 135);
- Add_Goto (Table.States (938), 259, 136);
- Add_Goto (Table.States (938), 273, 93);
- Add_Goto (Table.States (938), 276, 137);
- Add_Goto (Table.States (938), 283, 138);
- Add_Goto (Table.States (938), 284, 139);
- Add_Goto (Table.States (938), 285, 140);
- Add_Goto (Table.States (938), 286, 141);
- Add_Goto (Table.States (938), 287, 142);
- Add_Goto (Table.States (938), 288, 143);
- Add_Goto (Table.States (938), 294, 98);
- Add_Goto (Table.States (938), 302, 144);
- Add_Goto (Table.States (938), 321, 145);
- Add_Goto (Table.States (938), 322, 146);
- Add_Goto (Table.States (938), 331, 147);
- Table.States (938).Kernel := To_Vector ((0 => (245, 83, 1,
False)));
- Table.States (938).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
+ Add_Action (Table.States (928), 58, (294, 0), 320);
+ Add_Action (Table.States (928), 76, (202, 0), 434);
+ Table.States (928).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (928), 202, 322);
+ Add_Goto (Table.States (928), 255, 1081);
+ Add_Goto (Table.States (928), 294, 324);
+ Table.States (928).Kernel := To_Vector ((0 => ((117, 1), 29, 1,
(2147483647, 0), 0)));
+ Table.States (928).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (294, 0), 58, 320)));
+ Table.States (929).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (929), 21, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (929), 35, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (929), 56, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (929), 74, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (929), 76, (202, 0), 434);
+ Add_Action (Table.States (929), 78, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (929), 85, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (929), 99, Reduce, (256, 1), 0, null,
null);
+ Table.States (929).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (929), 202, 347);
+ Add_Goto (Table.States (929), 256, 1082);
+ Table.States (929).Kernel := To_Vector ((0 => ((117, 0), 50, 0,
(256, 1), 0)));
+ Table.States (929).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (256, 1), 0)));
+ Table.States (930).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (930), 74, (125, 0), 340);
+ Add_Action (Table.States (930), 76, (118, 0), 237);
+ Add_Action (Table.States (930), 87, (296, 0), 239);
+ Add_Action (Table.States (930), 99, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (930), 104, (325, 0), 241);
+ Add_Action (Table.States (930), 105, (325, 1), 242);
+ Table.States (930).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (930), 118, 243);
+ Add_Goto (Table.States (930), 125, 1083);
+ Add_Goto (Table.States (930), 325, 244);
+ Table.States (930).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((248, 0), 242, 1, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (930).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (931).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (931), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (136, 1), 6, block_statement_1'Access,
block_statement_1_check'Access);
+ Table.States (931).Kernel := To_Vector ((0 => ((136, 1), 99, 0,
(136, 1), 6)));
+ Table.States (931).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (136, 1), 6)));
+ Table.States (932).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (932), (82, 90), (187, 1), 1, null,
null);
+ Table.States (932).Kernel := To_Vector ((0 => ((187, 1), 44, 0,
(187, 1), 1)));
+ Table.States (932).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (187, 1), 1)));
+ Table.States (933).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (933), 76, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (933), 82, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (933), 84, (190, 0), 1084);
+ Add_Action (Table.States (933), 87, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (933), 90, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (933), 104, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (933), 105, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Table.States (933).Kernel := To_Vector ((((190, 0), 107, 3,
(2147483647, 0), 0), ((242, 5), 107, 0,
+ (242, 5), 1)));
+ Table.States (933).Minimal_Complete_Actions := To_Vector (((Shift,
(190, 0), 84, 1084), (Reduce, (242, 5),
+ 1)));
+ Table.States (934).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (934), (82, 90), (188, 1), 1, null,
null);
+ Table.States (934).Kernel := To_Vector ((0 => ((188, 1), 187, 0,
(188, 1), 1)));
+ Table.States (934).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (188, 1), 1)));
+ Table.States (935).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (935), 82, (188, 0), 1085);
+ Add_Action (Table.States (935), 90, (190, 1), 1086);
+ Table.States (935).Kernel := To_Vector ((((188, 0), 188, 2,
(2147483647, 0), 0), ((190, 1), 188, 1,
+ (2147483647, 0), 0)));
+ Table.States (935).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (190, 1), 90, 1086)));
+ Table.States (936).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (936), 76, (118, 0), 237);
+ Add_Action (Table.States (936), 82, Reduce, (187, 0), 1, null,
null);
+ Add_Action (Table.States (936), 87, (296, 0), 239);
+ Add_Action (Table.States (936), 90, Reduce, (187, 0), 1, null,
null);
+ Add_Action (Table.States (936), 104, (325, 0), 241);
+ Add_Action (Table.States (936), 105, (325, 1), 242);
+ Table.States (936).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (936), 118, 243);
+ Add_Goto (Table.States (936), 325, 244);
+ Table.States (936).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((187, 0), 242, 0,
+ (187, 0), 1), ((242, 0), 242, 5, (2147483647, 0), 0), ((242,
1), 242, 2, (2147483647, 0), 0), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (936).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (187, 0), 1)));
+ Table.States (937).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (937), (24, 72), (191, 0), 2,
exception_handler_list_0'Access, null);
+ Table.States (937).Kernel := To_Vector ((0 => ((191, 0), 190, 0,
(191, 0), 2)));
+ Table.States (937).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (191, 0), 2)));
+ Table.States (938).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (938), 99, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (938), 107, (223, 0), 151);
+ Table.States (938).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (938), 223, 1087);
+ Table.States (938).Kernel := To_Vector ((0 => ((136, 0), 24, 1,
(2147483647, 0), 0)));
+ Table.States (938).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 1), 0)));
Table.States (939).Action_List.Set_Capacity (1);
- Add_Action (Table.States (939), 97, 1085);
- Table.States (939).Kernel := To_Vector ((0 => (245, 123, 1,
False)));
- Table.States (939).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1085)));
- Table.States (940).Action_List.Set_Capacity (64);
- Add_Action (Table.States (940), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (130, 0), 4, null, null);
- Table.States (940).Kernel := To_Vector ((0 => (130, 77, 0,
False)));
- Table.States (940).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 130, 4)));
- Table.States (941).Action_List.Set_Capacity (3);
- Add_Action (Table.States (941), 74, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (941), 76, 432);
- Add_Action (Table.States (941), 97, Reduce, (254, 1), 0, null,
null);
- Table.States (941).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (941), 200, 345);
- Add_Goto (Table.States (941), 254, 1086);
- Table.States (941).Kernel := To_Vector ((0 => (180, 77, 1,
False)));
- Table.States (941).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 254, 0)));
- Table.States (942).Action_List.Set_Capacity (41);
- Add_Action (Table.States (942), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (180, 1), 6,
+ Add_Action (Table.States (939), 99, (235, 1), 1088);
+ Table.States (939).Kernel := To_Vector ((0 => ((235, 1), 223, 1,
(2147483647, 0), 0)));
+ Table.States (939).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (235, 1), 99, 1088)));
+ Table.States (940).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (940), 99, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (940), 107, (223, 0), 151);
+ Table.States (940).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (940), 223, 1089);
+ Table.States (940).Kernel := To_Vector ((0 => ((235, 0), 37, 1,
(2147483647, 0), 0)));
+ Table.States (940).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 1), 0)));
+ Table.States (941).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (941), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (160, 9), 6,
+ declaration_9'Access, null);
+ Table.States (941).Kernel := To_Vector ((0 => ((160, 9), 99, 0,
(160, 9), 6)));
+ Table.States (941).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (160, 9), 6)));
+ Table.States (942).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (942), 7, Reduce, (244, 0), 2, null,
null);
+ Add_Action (Table.States (942), 81, (242, 8), 31);
+ Add_Action (Table.States (942), 107, (242, 5), 120);
+ Add_Action (Table.States (942), 108, (242, 7), 34);
+ Add_Action (Table.States (942), 109, (242, 6), 35);
+ Table.States (942).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (942), 131, 42);
+ Add_Goto (Table.States (942), 242, 791);
+ Add_Goto (Table.States (942), 275, 93);
+ Add_Goto (Table.States (942), 296, 98);
+ Table.States (942).Kernel := To_Vector ((((244, 0), 41, 0, (244,
0), 2), ((317, 0), 41, 5,
+ (2147483647, 0), 0), ((317, 1), 41, 1, (2147483647, 0), 0)));
+ Table.States (942).Minimal_Complete_Actions := To_Vector
(((Reduce, (244, 0), 2), (Shift, (242, 5), 107,
+ 120)));
+ Table.States (943).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (943), 3, (200, 2), 122);
+ Add_Action (Table.States (943), 39, (261, 4), 123);
+ Add_Action (Table.States (943), 40, (200, 3), 124);
+ Add_Action (Table.States (943), 41, (261, 1), 125);
+ Add_Action (Table.States (943), 52, (278, 0), 126);
+ Add_Action (Table.States (943), 74, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (943), 76, (120, 0), 127);
+ Add_Action (Table.States (943), 77, (120, 5), 128);
+ Add_Action (Table.States (943), 81, (242, 8), 31);
+ Add_Action (Table.States (943), 97, (333, 1), 129);
+ Add_Action (Table.States (943), 98, (333, 0), 130);
+ Add_Action (Table.States (943), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (943), 106, (261, 0), 131);
+ Add_Action (Table.States (943), 107, (242, 5), 120);
+ Add_Action (Table.States (943), 108, (242, 7), 34);
+ Add_Action (Table.States (943), 109, (242, 6), 35);
+ Table.States (943).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (943), 120, 132);
+ Add_Goto (Table.States (943), 131, 42);
+ Add_Goto (Table.States (943), 194, 133);
+ Add_Goto (Table.States (943), 195, 1090);
+ Add_Goto (Table.States (943), 200, 135);
+ Add_Goto (Table.States (943), 242, 136);
+ Add_Goto (Table.States (943), 261, 137);
+ Add_Goto (Table.States (943), 275, 93);
+ Add_Goto (Table.States (943), 278, 138);
+ Add_Goto (Table.States (943), 285, 139);
+ Add_Goto (Table.States (943), 286, 140);
+ Add_Goto (Table.States (943), 287, 141);
+ Add_Goto (Table.States (943), 288, 142);
+ Add_Goto (Table.States (943), 289, 143);
+ Add_Goto (Table.States (943), 290, 144);
+ Add_Goto (Table.States (943), 296, 98);
+ Add_Goto (Table.States (943), 304, 145);
+ Add_Goto (Table.States (943), 323, 146);
+ Add_Goto (Table.States (943), 324, 147);
+ Add_Goto (Table.States (943), 333, 148);
+ Table.States (943).Kernel := To_Vector ((0 => ((247, 1), 85, 1,
(2147483647, 0), 0)));
+ Table.States (943).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (944).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (944), 99, (247, 4), 1091);
+ Table.States (944).Kernel := To_Vector ((0 => ((247, 4), 125, 1,
(2147483647, 0), 0)));
+ Table.States (944).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (247, 4), 99, 1091)));
+ Table.States (945).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (945), 3, (200, 2), 122);
+ Add_Action (Table.States (945), 39, (261, 4), 123);
+ Add_Action (Table.States (945), 40, (200, 3), 124);
+ Add_Action (Table.States (945), 41, (261, 1), 125);
+ Add_Action (Table.States (945), 52, (278, 0), 126);
+ Add_Action (Table.States (945), 74, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (945), 76, (120, 0), 127);
+ Add_Action (Table.States (945), 77, (120, 5), 128);
+ Add_Action (Table.States (945), 81, (242, 8), 31);
+ Add_Action (Table.States (945), 97, (333, 1), 129);
+ Add_Action (Table.States (945), 98, (333, 0), 130);
+ Add_Action (Table.States (945), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (945), 106, (261, 0), 131);
+ Add_Action (Table.States (945), 107, (242, 5), 120);
+ Add_Action (Table.States (945), 108, (242, 7), 34);
+ Add_Action (Table.States (945), 109, (242, 6), 35);
+ Table.States (945).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (945), 120, 132);
+ Add_Goto (Table.States (945), 131, 42);
+ Add_Goto (Table.States (945), 194, 133);
+ Add_Goto (Table.States (945), 195, 1092);
+ Add_Goto (Table.States (945), 200, 135);
+ Add_Goto (Table.States (945), 242, 136);
+ Add_Goto (Table.States (945), 261, 137);
+ Add_Goto (Table.States (945), 275, 93);
+ Add_Goto (Table.States (945), 278, 138);
+ Add_Goto (Table.States (945), 285, 139);
+ Add_Goto (Table.States (945), 286, 140);
+ Add_Goto (Table.States (945), 287, 141);
+ Add_Goto (Table.States (945), 288, 142);
+ Add_Goto (Table.States (945), 289, 143);
+ Add_Goto (Table.States (945), 290, 144);
+ Add_Goto (Table.States (945), 296, 98);
+ Add_Goto (Table.States (945), 304, 145);
+ Add_Goto (Table.States (945), 323, 146);
+ Add_Goto (Table.States (945), 324, 147);
+ Add_Goto (Table.States (945), 333, 148);
+ Table.States (945).Kernel := To_Vector ((0 => ((247, 2), 85, 1,
(2147483647, 0), 0)));
+ Table.States (945).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (946).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (946), 99, (247, 5), 1093);
+ Table.States (946).Kernel := To_Vector ((0 => ((247, 5), 125, 1,
(2147483647, 0), 0)));
+ Table.States (946).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (247, 5), 99, 1093)));
+ Table.States (947).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (947), 3, (200, 2), 122);
+ Add_Action (Table.States (947), 39, (261, 4), 123);
+ Add_Action (Table.States (947), 40, (200, 3), 124);
+ Add_Action (Table.States (947), 41, (261, 1), 125);
+ Add_Action (Table.States (947), 52, (278, 0), 126);
+ Add_Action (Table.States (947), 74, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (947), 76, (120, 0), 127);
+ Add_Action (Table.States (947), 77, (120, 5), 128);
+ Add_Action (Table.States (947), 81, (242, 8), 31);
+ Add_Action (Table.States (947), 97, (333, 1), 129);
+ Add_Action (Table.States (947), 98, (333, 0), 130);
+ Add_Action (Table.States (947), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (947), 106, (261, 0), 131);
+ Add_Action (Table.States (947), 107, (242, 5), 120);
+ Add_Action (Table.States (947), 108, (242, 7), 34);
+ Add_Action (Table.States (947), 109, (242, 6), 35);
+ Table.States (947).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (947), 120, 132);
+ Add_Goto (Table.States (947), 131, 42);
+ Add_Goto (Table.States (947), 194, 133);
+ Add_Goto (Table.States (947), 195, 1094);
+ Add_Goto (Table.States (947), 200, 135);
+ Add_Goto (Table.States (947), 242, 136);
+ Add_Goto (Table.States (947), 261, 137);
+ Add_Goto (Table.States (947), 275, 93);
+ Add_Goto (Table.States (947), 278, 138);
+ Add_Goto (Table.States (947), 285, 139);
+ Add_Goto (Table.States (947), 286, 140);
+ Add_Goto (Table.States (947), 287, 141);
+ Add_Goto (Table.States (947), 288, 142);
+ Add_Goto (Table.States (947), 289, 143);
+ Add_Goto (Table.States (947), 290, 144);
+ Add_Goto (Table.States (947), 296, 98);
+ Add_Goto (Table.States (947), 304, 145);
+ Add_Goto (Table.States (947), 323, 146);
+ Add_Goto (Table.States (947), 324, 147);
+ Add_Goto (Table.States (947), 333, 148);
+ Table.States (947).Kernel := To_Vector ((0 => ((247, 0), 85, 1,
(2147483647, 0), 0)));
+ Table.States (947).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (948).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (948), 99, (247, 3), 1095);
+ Table.States (948).Kernel := To_Vector ((0 => ((247, 3), 125, 1,
(2147483647, 0), 0)));
+ Table.States (948).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (247, 3), 99, 1095)));
+ Table.States (949).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (949), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (132, 0), 4, null,
+ null);
+ Table.States (949).Kernel := To_Vector ((0 => ((132, 0), 78, 0,
(132, 0), 4)));
+ Table.States (949).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (132, 0), 4)));
+ Table.States (950).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (950), 74, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (950), 76, (202, 0), 434);
+ Add_Action (Table.States (950), 99, Reduce, (256, 1), 0, null,
null);
+ Table.States (950).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (950), 202, 347);
+ Add_Goto (Table.States (950), 256, 1096);
+ Table.States (950).Kernel := To_Vector ((0 => ((182, 0), 78, 1,
(2147483647, 0), 0)));
+ Table.States (950).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (256, 1), 0)));
+ Table.States (951).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (951), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (182, 1), 6,
entry_declaration_1'Access, null);
- Table.States (942).Kernel := To_Vector ((0 => (180, 97, 0,
False)));
- Table.States (942).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 180, 6)));
- Table.States (943).Action_List.Set_Capacity (6);
- Add_Action (Table.States (943), 74, 338);
- Add_Action (Table.States (943), 76, 236);
- Add_Action (Table.States (943), 85, 238);
- Add_Action (Table.States (943), 97, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (943), 102, 240);
- Add_Action (Table.States (943), 103, 241);
- Table.States (943).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (943), 116, 242);
- Add_Goto (Table.States (943), 123, 1087);
- Add_Goto (Table.States (943), 323, 243);
- Table.States (943).Kernel := To_Vector (((129, 240, 2, True),
(214, 240, 1, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (943).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (944).Action_List.Set_Capacity (6);
- Add_Action (Table.States (944), 74, 338);
- Add_Action (Table.States (944), 76, 236);
- Add_Action (Table.States (944), 85, 238);
- Add_Action (Table.States (944), 97, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (944), 102, 240);
- Add_Action (Table.States (944), 103, 241);
- Table.States (944).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (944), 116, 242);
- Add_Goto (Table.States (944), 123, 1088);
- Add_Goto (Table.States (944), 323, 243);
- Table.States (944).Kernel := To_Vector (((129, 240, 2, True),
(214, 240, 1, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (944).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (945).Action_List.Set_Capacity (2);
- Add_Action (Table.States (945), (74, 97), (257, 0), 3,
paren_expression_0'Access, null);
- Table.States (945).Kernel := To_Vector ((0 => (257, 77, 0,
False)));
- Table.States (945).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 257, 3)));
- Table.States (946).Action_List.Set_Capacity (41);
- Add_Action (Table.States (946), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (194, 0), 6,
+ Table.States (951).Kernel := To_Vector ((0 => ((182, 1), 99, 0,
(182, 1), 6)));
+ Table.States (951).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (182, 1), 6)));
+ Table.States (952).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (952), 74, (125, 0), 340);
+ Add_Action (Table.States (952), 76, (118, 0), 237);
+ Add_Action (Table.States (952), 87, (296, 0), 239);
+ Add_Action (Table.States (952), 99, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (952), 104, (325, 0), 241);
+ Add_Action (Table.States (952), 105, (325, 1), 242);
+ Table.States (952).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (952), 118, 243);
+ Add_Goto (Table.States (952), 125, 1097);
+ Add_Goto (Table.States (952), 325, 244);
+ Table.States (952).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((216, 2), 242, 1,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (952).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (953).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (953), 74, (125, 0), 340);
+ Add_Action (Table.States (953), 76, (118, 0), 237);
+ Add_Action (Table.States (953), 87, (296, 0), 239);
+ Add_Action (Table.States (953), 99, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (953), 104, (325, 0), 241);
+ Add_Action (Table.States (953), 105, (325, 1), 242);
+ Table.States (953).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (953), 118, 243);
+ Add_Goto (Table.States (953), 125, 1098);
+ Add_Goto (Table.States (953), 325, 244);
+ Table.States (953).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((216, 1), 242, 1,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (953).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (954).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (954), (74, 99), (259, 0), 3,
paren_expression_0'Access, null);
+ Table.States (954).Kernel := To_Vector ((0 => ((259, 0), 78, 0,
(259, 0), 3)));
+ Table.States (954).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (259, 0), 3)));
+ Table.States (955).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (955), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (196, 0), 6,
expression_function_declaration_0'Access, null);
- Table.States (946).Kernel := To_Vector ((0 => (194, 97, 0,
False)));
- Table.States (946).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 194, 6)));
- Table.States (947).Action_List.Set_Capacity (41);
- Add_Action (Table.States (947), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (244, 0), 6,
+ Table.States (955).Kernel := To_Vector ((0 => ((196, 0), 99, 0,
(196, 0), 6)));
+ Table.States (955).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (196, 0), 6)));
+ Table.States (956).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (956), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (246, 0), 6,
null_procedure_declaration_0'Access, null);
- Table.States (947).Kernel := To_Vector ((0 => (244, 97, 0,
False)));
- Table.States (947).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 244, 6)));
- Table.States (948).Action_List.Set_Capacity (41);
- Add_Action (Table.States (948), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (113, 0), 6,
+ Table.States (956).Kernel := To_Vector ((0 => ((246, 0), 99, 0,
(246, 0), 6)));
+ Table.States (956).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (246, 0), 6)));
+ end Subr_17;
+ procedure Subr_18
+ is begin
+ Table.States (957).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (957), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (115, 0), 6,
abstract_subprogram_declaration_0'Access, null);
- Table.States (948).Kernel := To_Vector ((0 => (113, 97, 0,
False)));
- Table.States (948).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 113, 6)));
- Table.States (949).Action_List.Set_Capacity (41);
- Add_Action (Table.States (949), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (309, 0), 6,
+ Table.States (957).Kernel := To_Vector ((0 => ((115, 0), 99, 0,
(115, 0), 6)));
+ Table.States (957).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (115, 0), 6)));
+ Table.States (958).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (958), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (311, 0), 6,
subprogram_body_stub_0'Access, null);
- Table.States (949).Kernel := To_Vector ((0 => (309, 97, 0,
False)));
- Table.States (949).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 309, 6)));
- Table.States (950).Action_List.Set_Capacity (41);
- Add_Action (Table.States (950), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (312, 0), 6,
+ Table.States (958).Kernel := To_Vector ((0 => ((311, 0), 99, 0,
(311, 0), 6)));
+ Table.States (958).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (311, 0), 6)));
+ Table.States (959).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (959), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (314, 0), 6,
subprogram_renaming_declaration_0'Access, null);
- Table.States (950).Kernel := To_Vector ((0 => (312, 97, 0,
False)));
- Table.States (950).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 312, 6)));
- Table.States (951).Action_List.Set_Capacity (25);
- Add_Action (Table.States (951), 4, 1);
- Add_Action (Table.States (951), 5, 2);
- Add_Action (Table.States (951), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (951), 15, 3);
- Add_Action (Table.States (951), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (951), 18, 4);
- Add_Action (Table.States (951), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (951), 26, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (951), 27, 5);
- Add_Action (Table.States (951), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (951), 31, 9);
- Add_Action (Table.States (951), 32, 10);
- Add_Action (Table.States (951), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (951), 41, 13);
- Add_Action (Table.States (951), 48, 16);
- Add_Action (Table.States (951), 52, 20);
- Add_Action (Table.States (951), 57, 21);
- Add_Action (Table.States (951), 58, 22);
- Add_Action (Table.States (951), 61, 24);
- Add_Action (Table.States (951), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (951), 79, 31);
- Add_Action (Table.States (951), 94, 32);
- Add_Action (Table.States (951), 105, 361);
- Add_Action (Table.States (951), 106, 34);
- Add_Action (Table.States (951), 107, 35);
- Table.States (951).Goto_List.Set_Capacity (32);
- Add_Goto (Table.States (951), 114, 37);
- Add_Goto (Table.States (951), 124, 39);
- Add_Goto (Table.States (951), 127, 40);
- Add_Goto (Table.States (951), 129, 42);
- Add_Goto (Table.States (951), 132, 43);
- Add_Goto (Table.States (951), 133, 44);
- Add_Goto (Table.States (951), 134, 45);
- Add_Goto (Table.States (951), 140, 48);
- Add_Goto (Table.States (951), 152, 51);
- Add_Goto (Table.States (951), 153, 52);
- Add_Goto (Table.States (951), 162, 54);
- Add_Goto (Table.States (951), 191, 58);
- Add_Goto (Table.States (951), 197, 60);
- Add_Goto (Table.States (951), 218, 69);
- Add_Goto (Table.States (951), 219, 1089);
- Add_Goto (Table.States (951), 223, 71);
- Add_Goto (Table.States (951), 233, 73);
- Add_Goto (Table.States (951), 240, 74);
- Add_Goto (Table.States (951), 258, 84);
- Add_Goto (Table.States (951), 262, 87);
- Add_Goto (Table.States (951), 273, 93);
- Add_Goto (Table.States (951), 277, 94);
- Add_Goto (Table.States (951), 291, 97);
- Add_Goto (Table.States (951), 294, 98);
- Add_Goto (Table.States (951), 295, 99);
- Add_Goto (Table.States (951), 299, 100);
- Add_Goto (Table.States (951), 300, 362);
- Add_Goto (Table.States (951), 301, 391);
- Add_Goto (Table.States (951), 303, 101);
- Add_Goto (Table.States (951), 304, 102);
- Add_Goto (Table.States (951), 307, 364);
- Add_Goto (Table.States (951), 324, 115);
- Table.States (951).Kernel := To_Vector ((0 => (308, 13, 2,
False)));
- Table.States (951).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 219, 0)));
- Table.States (952).Action_List.Set_Capacity (2);
- Add_Action (Table.States (952), 97, Reduce, (221, 1), 0, null,
null);
- Add_Action (Table.States (952), 105, 150);
- Table.States (952).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (952), 221, 1090);
- Table.States (952).Kernel := To_Vector ((0 => (114, 24, 1,
False)));
- Table.States (952).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 0)));
- Table.States (953).Action_List.Set_Capacity (2);
- Add_Action (Table.States (953), 80, 447);
- Add_Action (Table.States (953), 88, 1091);
- Table.States (953).Kernel := To_Vector (((138, 167, 1, False),
(167, 167, 2, True)));
- Table.States (953).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 88, 1091)));
- Table.States (954).Action_List.Set_Capacity (1);
- Add_Action (Table.States (954), 72, 768);
- Table.States (954).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (954), 138, 1092);
- Table.States (954).Kernel := To_Vector ((0 => (139, 84, 2, True)));
- Table.States (954).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 72, 768)));
- Table.States (954).Minimal_Complete_Actions_Recursive := True;
- Table.States (955).Action_List.Set_Capacity (13);
- Add_Action (Table.States (955), 3, 122);
- Add_Action (Table.States (955), 39, 123);
- Add_Action (Table.States (955), 40, 124);
- Add_Action (Table.States (955), 41, 125);
- Add_Action (Table.States (955), 52, 126);
- Add_Action (Table.States (955), 76, 127);
- Add_Action (Table.States (955), 79, 31);
- Add_Action (Table.States (955), 95, 128);
- Add_Action (Table.States (955), 96, 129);
- Add_Action (Table.States (955), 104, 130);
- Add_Action (Table.States (955), 105, 120);
- Add_Action (Table.States (955), 106, 34);
- Add_Action (Table.States (955), 107, 35);
- Table.States (955).Goto_List.Set_Capacity (19);
- Add_Goto (Table.States (955), 118, 131);
- Add_Goto (Table.States (955), 129, 42);
- Add_Goto (Table.States (955), 192, 1093);
- Add_Goto (Table.States (955), 198, 134);
- Add_Goto (Table.States (955), 240, 135);
- Add_Goto (Table.States (955), 259, 136);
- Add_Goto (Table.States (955), 273, 93);
- Add_Goto (Table.States (955), 276, 137);
- Add_Goto (Table.States (955), 283, 138);
- Add_Goto (Table.States (955), 284, 139);
- Add_Goto (Table.States (955), 285, 140);
- Add_Goto (Table.States (955), 286, 141);
- Add_Goto (Table.States (955), 287, 142);
- Add_Goto (Table.States (955), 288, 143);
- Add_Goto (Table.States (955), 294, 98);
- Add_Goto (Table.States (955), 302, 144);
- Add_Goto (Table.States (955), 321, 145);
- Add_Goto (Table.States (955), 322, 146);
- Add_Goto (Table.States (955), 331, 147);
- Table.States (955).Kernel := To_Vector ((0 => (125, 88, 1,
False)));
- Table.States (955).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (956).Action_List.Set_Capacity (1);
- Add_Action (Table.States (956), (1 => 77), (274, 0), 5,
quantified_expression_0'Access, null);
- Table.States (956).Kernel := To_Vector ((0 => (274, 193, 0,
False)));
- Table.States (956).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 274, 5)));
- Table.States (957).Action_List.Set_Capacity (14);
- Add_Action (Table.States (957), 3, 122);
- Add_Action (Table.States (957), 39, 123);
- Add_Action (Table.States (957), 40, 124);
- Add_Action (Table.States (957), 41, 125);
- Add_Action (Table.States (957), 52, 126);
- Add_Action (Table.States (957), 76, 127);
- Add_Action (Table.States (957), 77, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (957), 79, 31);
- Add_Action (Table.States (957), 95, 128);
- Add_Action (Table.States (957), 96, 129);
- Add_Action (Table.States (957), 104, 130);
- Add_Action (Table.States (957), 105, 120);
- Add_Action (Table.States (957), 106, 34);
- Add_Action (Table.States (957), 107, 35);
- Table.States (957).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (957), 118, 131);
- Add_Goto (Table.States (957), 129, 42);
- Add_Goto (Table.States (957), 192, 132);
- Add_Goto (Table.States (957), 193, 1094);
- Add_Goto (Table.States (957), 198, 134);
- Add_Goto (Table.States (957), 240, 135);
- Add_Goto (Table.States (957), 259, 136);
- Add_Goto (Table.States (957), 273, 93);
- Add_Goto (Table.States (957), 276, 137);
- Add_Goto (Table.States (957), 283, 138);
- Add_Goto (Table.States (957), 284, 139);
- Add_Goto (Table.States (957), 285, 140);
- Add_Goto (Table.States (957), 286, 141);
- Add_Goto (Table.States (957), 287, 142);
- Add_Goto (Table.States (957), 288, 143);
- Add_Goto (Table.States (957), 294, 98);
- Add_Goto (Table.States (957), 302, 144);
- Add_Goto (Table.States (957), 321, 145);
- Add_Goto (Table.States (957), 322, 146);
- Add_Goto (Table.States (957), 331, 147);
- Table.States (957).Kernel := To_Vector ((0 => (222, 22, 0,
False)));
- Table.States (957).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (958).Action_List.Set_Capacity (14);
- Add_Action (Table.States (958), 3, 122);
- Add_Action (Table.States (958), 39, 123);
- Add_Action (Table.States (958), 40, 124);
- Add_Action (Table.States (958), 41, 125);
- Add_Action (Table.States (958), 52, 126);
- Add_Action (Table.States (958), 68, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (958), 76, 127);
- Add_Action (Table.States (958), 79, 31);
- Add_Action (Table.States (958), 95, 128);
- Add_Action (Table.States (958), 96, 129);
- Add_Action (Table.States (958), 104, 130);
- Add_Action (Table.States (958), 105, 120);
- Add_Action (Table.States (958), 106, 34);
- Add_Action (Table.States (958), 107, 35);
- Table.States (958).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (958), 118, 131);
- Add_Goto (Table.States (958), 129, 42);
- Add_Goto (Table.States (958), 192, 132);
- Add_Goto (Table.States (958), 193, 1095);
- Add_Goto (Table.States (958), 198, 134);
- Add_Goto (Table.States (958), 240, 135);
- Add_Goto (Table.States (958), 259, 136);
- Add_Goto (Table.States (958), 273, 93);
- Add_Goto (Table.States (958), 276, 137);
- Add_Goto (Table.States (958), 283, 138);
- Add_Goto (Table.States (958), 284, 139);
- Add_Goto (Table.States (958), 285, 140);
- Add_Goto (Table.States (958), 286, 141);
- Add_Goto (Table.States (958), 287, 142);
- Add_Goto (Table.States (958), 288, 143);
- Add_Goto (Table.States (958), 294, 98);
- Add_Goto (Table.States (958), 302, 144);
- Add_Goto (Table.States (958), 321, 145);
- Add_Goto (Table.States (958), 322, 146);
- Add_Goto (Table.States (958), 331, 147);
- Table.States (958).Kernel := To_Vector ((0 => (173, 23, 1,
False)));
- Table.States (958).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (959).Action_List.Set_Capacity (3);
- Add_Action (Table.States (959), (22, 23, 77), (174, 1), 1, null,
null);
- Table.States (959).Kernel := To_Vector ((0 => (174, 173, 0,
False)));
- Table.States (959).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 174, 1)));
- Table.States (960).Action_List.Set_Capacity (3);
- Add_Action (Table.States (960), 22, 1096);
- Add_Action (Table.States (960), 23, 958);
- Add_Action (Table.States (960), 77, Reduce, (222, 2), 5,
if_expression_2'Access, null);
- Table.States (960).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (960), 173, 1097);
- Table.States (960).Kernel := To_Vector (((174, 174, 2, True),
(222, 174, 1, False), (222, 174, 0, False)));
- Table.States (960).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 222, 5)));
- Table.States (961).Action_List.Set_Capacity (64);
- Add_Action (Table.States (961), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (118, 3), 6,
- aggregate_3'Access, null);
- Table.States (961).Kernel := To_Vector ((0 => (118, 77, 0,
False)));
- Table.States (961).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 118, 6)));
- Table.States (962).Action_List.Set_Capacity (64);
- Add_Action (Table.States (962), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
- 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87,
- 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
105, 106, 107), (118, 0), 6,
- aggregate_0'Access, null);
- Table.States (962).Kernel := To_Vector ((0 => (118, 77, 0,
False)));
- Table.States (962).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 118, 6)));
+ Table.States (959).Kernel := To_Vector ((0 => ((314, 0), 99, 0,
(314, 0), 6)));
+ Table.States (959).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (314, 0), 6)));
+ Table.States (960).Action_List.Set_Capacity (25);
+ Add_Action (Table.States (960), 4, (116, 0), 1);
+ Add_Action (Table.States (960), 5, (306, 8), 2);
+ Add_Action (Table.States (960), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (960), 15, (142, 0), 3);
+ Add_Action (Table.States (960), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (960), 18, (164, 0), 4);
+ Add_Action (Table.States (960), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (960), 26, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (960), 27, (193, 0), 5);
+ Add_Action (Table.States (960), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (960), 31, (306, 3), 9);
+ Add_Action (Table.States (960), 32, (225, 0), 10);
+ Add_Action (Table.States (960), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (960), 41, (306, 0), 13);
+ Add_Action (Table.States (960), 48, (260, 0), 16);
+ Add_Action (Table.States (960), 52, (279, 0), 20);
+ Add_Action (Table.States (960), 57, (293, 0), 21);
+ Add_Action (Table.States (960), 58, (199, 0), 22);
+ Add_Action (Table.States (960), 61, (129, 0), 24);
+ Add_Action (Table.States (960), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (960), 81, (242, 8), 31);
+ Add_Action (Table.States (960), 96, (220, 0), 32);
+ Add_Action (Table.States (960), 107, (134, 0), 363);
+ Add_Action (Table.States (960), 108, (242, 7), 34);
+ Add_Action (Table.States (960), 109, (242, 6), 35);
+ Table.States (960).Goto_List.Set_Capacity (32);
+ Add_Goto (Table.States (960), 116, 37);
+ Add_Goto (Table.States (960), 126, 39);
+ Add_Goto (Table.States (960), 129, 40);
+ Add_Goto (Table.States (960), 131, 42);
+ Add_Goto (Table.States (960), 134, 43);
+ Add_Goto (Table.States (960), 135, 44);
+ Add_Goto (Table.States (960), 136, 45);
+ Add_Goto (Table.States (960), 142, 48);
+ Add_Goto (Table.States (960), 154, 51);
+ Add_Goto (Table.States (960), 155, 52);
+ Add_Goto (Table.States (960), 164, 54);
+ Add_Goto (Table.States (960), 193, 58);
+ Add_Goto (Table.States (960), 199, 60);
+ Add_Goto (Table.States (960), 220, 69);
+ Add_Goto (Table.States (960), 221, 1099);
+ Add_Goto (Table.States (960), 225, 71);
+ Add_Goto (Table.States (960), 235, 73);
+ Add_Goto (Table.States (960), 242, 74);
+ Add_Goto (Table.States (960), 260, 84);
+ Add_Goto (Table.States (960), 264, 87);
+ Add_Goto (Table.States (960), 275, 93);
+ Add_Goto (Table.States (960), 279, 94);
+ Add_Goto (Table.States (960), 293, 97);
+ Add_Goto (Table.States (960), 296, 98);
+ Add_Goto (Table.States (960), 297, 99);
+ Add_Goto (Table.States (960), 301, 100);
+ Add_Goto (Table.States (960), 302, 364);
+ Add_Goto (Table.States (960), 303, 393);
+ Add_Goto (Table.States (960), 305, 101);
+ Add_Goto (Table.States (960), 306, 102);
+ Add_Goto (Table.States (960), 309, 366);
+ Add_Goto (Table.States (960), 326, 115);
+ Table.States (960).Kernel := To_Vector ((0 => ((310, 0), 13, 2,
(2147483647, 0), 0)));
+ Table.States (960).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (221, 1), 0)));
+ Table.States (961).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (961), 99, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (961), 107, (223, 0), 151);
+ Table.States (961).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (961), 223, 1100);
+ Table.States (961).Kernel := To_Vector ((0 => ((116, 0), 24, 1,
(2147483647, 0), 0)));
+ Table.States (961).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 1), 0)));
+ Table.States (962).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (962), 82, (169, 0), 450);
+ Add_Action (Table.States (962), 90, (140, 0), 1101);
+ Table.States (962).Kernel := To_Vector ((((140, 0), 169, 1,
(2147483647, 0), 0), ((169, 0), 169, 2,
+ (2147483647, 0), 0)));
+ Table.States (962).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (140, 0), 90, 1101)));
Table.States (963).Action_List.Set_Capacity (1);
- Add_Action (Table.States (963), 77, 1098);
- Table.States (963).Kernel := To_Vector ((0 => (278, 193, 1,
False)));
- Table.States (963).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 1098)));
- Table.States (964).Action_List.Set_Capacity (2);
- Add_Action (Table.States (964), (24, 72), (141, 0), 4,
case_statement_alternative_0'Access, null);
- Table.States (964).Kernel := To_Vector ((0 => (141, 301, 0,
False)));
- Table.States (964).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 141, 4)));
- Table.States (965).Action_List.Set_Capacity (47);
- Add_Action (Table.States (965), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (140, 0), 7, case_statement_0'Access, null);
- Table.States (965).Kernel := To_Vector ((0 => (140, 97, 0,
False)));
- Table.States (965).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 140, 7)));
- Table.States (966).Action_List.Set_Capacity (10);
- Add_Action (Table.States (966), (10, 21, 37, 42, 74, 77, 83, 84,
88, 97), (315, 0), 4,
+ Add_Action (Table.States (963), 72, (140, 0), 774);
+ Table.States (963).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (963), 140, 1102);
+ Table.States (963).Kernel := To_Vector ((0 => ((141, 0), 86, 2,
(2147483647, 0), 0)));
+ Table.States (963).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (140, 0), 72, 774)));
+ Table.States (964).Action_List.Set_Capacity (27);
+ Add_Action (Table.States (964), 10, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 33, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 38, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 40, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 43, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 55, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 75, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 78, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 80, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 81, (242, 8), 31);
+ Add_Action (Table.States (964), 82, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 86, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 88, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 89, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 90, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 91, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 92, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 94, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 95, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 97, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 98, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 100, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 101, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 102, Reduce, (261, 1), 1, null,
null);
+ Add_Action (Table.States (964), 107, (242, 5), 120);
+ Add_Action (Table.States (964), 108, (242, 7), 34);
+ Add_Action (Table.States (964), 109, (242, 6), 35);
+ Table.States (964).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (964), 131, 42);
+ Add_Goto (Table.States (964), 242, 1103);
+ Add_Goto (Table.States (964), 275, 93);
+ Add_Goto (Table.States (964), 296, 98);
+ Table.States (964).Kernel := To_Vector ((((168, 1), 41, 1,
(2147483647, 0), 0), ((261, 1), 41, 0,
+ (261, 1), 1), ((317, 0), 41, 5, (2147483647, 0), 0), ((317,
1), 41, 1, (2147483647, 0), 0)));
+ Table.States (964).Minimal_Complete_Actions := To_Vector (((Shift,
(242, 5), 107, 120), (Reduce, (261, 1),
+ 1)));
+ Table.States (965).Action_List.Set_Capacity (14);
+ Add_Action (Table.States (965), 3, (200, 2), 122);
+ Add_Action (Table.States (965), 39, (261, 4), 123);
+ Add_Action (Table.States (965), 40, (200, 3), 124);
+ Add_Action (Table.States (965), 41, (261, 1), 125);
+ Add_Action (Table.States (965), 52, (278, 0), 126);
+ Add_Action (Table.States (965), 76, (120, 0), 127);
+ Add_Action (Table.States (965), 77, (120, 5), 128);
+ Add_Action (Table.States (965), 81, (242, 8), 31);
+ Add_Action (Table.States (965), 97, (333, 1), 129);
+ Add_Action (Table.States (965), 98, (333, 0), 130);
+ Add_Action (Table.States (965), 106, (261, 0), 131);
+ Add_Action (Table.States (965), 107, (242, 5), 120);
+ Add_Action (Table.States (965), 108, (242, 7), 34);
+ Add_Action (Table.States (965), 109, (242, 6), 35);
+ Table.States (965).Goto_List.Set_Capacity (19);
+ Add_Goto (Table.States (965), 120, 132);
+ Add_Goto (Table.States (965), 131, 42);
+ Add_Goto (Table.States (965), 194, 1104);
+ Add_Goto (Table.States (965), 200, 135);
+ Add_Goto (Table.States (965), 242, 136);
+ Add_Goto (Table.States (965), 261, 137);
+ Add_Goto (Table.States (965), 275, 93);
+ Add_Goto (Table.States (965), 278, 138);
+ Add_Goto (Table.States (965), 285, 139);
+ Add_Goto (Table.States (965), 286, 140);
+ Add_Goto (Table.States (965), 287, 141);
+ Add_Goto (Table.States (965), 288, 142);
+ Add_Goto (Table.States (965), 289, 143);
+ Add_Goto (Table.States (965), 290, 144);
+ Add_Goto (Table.States (965), 296, 98);
+ Add_Goto (Table.States (965), 304, 145);
+ Add_Goto (Table.States (965), 323, 146);
+ Add_Goto (Table.States (965), 324, 147);
+ Add_Goto (Table.States (965), 333, 148);
+ Table.States (965).Kernel := To_Vector ((0 => ((127, 6), 90, 1,
(2147483647, 0), 0)));
+ Table.States (965).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (966).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (966), (1 => 78), (276, 0), 5,
quantified_expression_0'Access, null);
+ Table.States (966).Kernel := To_Vector ((0 => ((276, 0), 195, 0,
(276, 0), 5)));
+ Table.States (966).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (276, 0), 5)));
+ Table.States (967).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (967), 3, (200, 2), 122);
+ Add_Action (Table.States (967), 39, (261, 4), 123);
+ Add_Action (Table.States (967), 40, (200, 3), 124);
+ Add_Action (Table.States (967), 41, (261, 1), 125);
+ Add_Action (Table.States (967), 52, (278, 0), 126);
+ Add_Action (Table.States (967), 76, (120, 0), 127);
+ Add_Action (Table.States (967), 77, (120, 5), 128);
+ Add_Action (Table.States (967), 78, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (967), 81, (242, 8), 31);
+ Add_Action (Table.States (967), 97, (333, 1), 129);
+ Add_Action (Table.States (967), 98, (333, 0), 130);
+ Add_Action (Table.States (967), 106, (261, 0), 131);
+ Add_Action (Table.States (967), 107, (242, 5), 120);
+ Add_Action (Table.States (967), 108, (242, 7), 34);
+ Add_Action (Table.States (967), 109, (242, 6), 35);
+ Table.States (967).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (967), 120, 132);
+ Add_Goto (Table.States (967), 131, 42);
+ Add_Goto (Table.States (967), 194, 133);
+ Add_Goto (Table.States (967), 195, 1105);
+ Add_Goto (Table.States (967), 200, 135);
+ Add_Goto (Table.States (967), 242, 136);
+ Add_Goto (Table.States (967), 261, 137);
+ Add_Goto (Table.States (967), 275, 93);
+ Add_Goto (Table.States (967), 278, 138);
+ Add_Goto (Table.States (967), 285, 139);
+ Add_Goto (Table.States (967), 286, 140);
+ Add_Goto (Table.States (967), 287, 141);
+ Add_Goto (Table.States (967), 288, 142);
+ Add_Goto (Table.States (967), 289, 143);
+ Add_Goto (Table.States (967), 290, 144);
+ Add_Goto (Table.States (967), 296, 98);
+ Add_Goto (Table.States (967), 304, 145);
+ Add_Goto (Table.States (967), 323, 146);
+ Add_Goto (Table.States (967), 324, 147);
+ Add_Goto (Table.States (967), 333, 148);
+ Table.States (967).Kernel := To_Vector ((0 => ((224, 1), 22, 0,
(195, 1), 0)));
+ Table.States (967).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (968).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (968), 3, (200, 2), 122);
+ Add_Action (Table.States (968), 39, (261, 4), 123);
+ Add_Action (Table.States (968), 40, (200, 3), 124);
+ Add_Action (Table.States (968), 41, (261, 1), 125);
+ Add_Action (Table.States (968), 52, (278, 0), 126);
+ Add_Action (Table.States (968), 68, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (968), 76, (120, 0), 127);
+ Add_Action (Table.States (968), 77, (120, 5), 128);
+ Add_Action (Table.States (968), 81, (242, 8), 31);
+ Add_Action (Table.States (968), 97, (333, 1), 129);
+ Add_Action (Table.States (968), 98, (333, 0), 130);
+ Add_Action (Table.States (968), 106, (261, 0), 131);
+ Add_Action (Table.States (968), 107, (242, 5), 120);
+ Add_Action (Table.States (968), 108, (242, 7), 34);
+ Add_Action (Table.States (968), 109, (242, 6), 35);
+ Table.States (968).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (968), 120, 132);
+ Add_Goto (Table.States (968), 131, 42);
+ Add_Goto (Table.States (968), 194, 133);
+ Add_Goto (Table.States (968), 195, 1106);
+ Add_Goto (Table.States (968), 200, 135);
+ Add_Goto (Table.States (968), 242, 136);
+ Add_Goto (Table.States (968), 261, 137);
+ Add_Goto (Table.States (968), 275, 93);
+ Add_Goto (Table.States (968), 278, 138);
+ Add_Goto (Table.States (968), 285, 139);
+ Add_Goto (Table.States (968), 286, 140);
+ Add_Goto (Table.States (968), 287, 141);
+ Add_Goto (Table.States (968), 288, 142);
+ Add_Goto (Table.States (968), 289, 143);
+ Add_Goto (Table.States (968), 290, 144);
+ Add_Goto (Table.States (968), 296, 98);
+ Add_Goto (Table.States (968), 304, 145);
+ Add_Goto (Table.States (968), 323, 146);
+ Add_Goto (Table.States (968), 324, 147);
+ Add_Goto (Table.States (968), 333, 148);
+ Table.States (968).Kernel := To_Vector ((0 => ((175, 0), 23, 1,
(2147483647, 0), 0)));
+ Table.States (968).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (969).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (969), (22, 23, 78), (176, 1), 1, null,
null);
+ Table.States (969).Kernel := To_Vector ((0 => ((176, 1), 175, 0,
(176, 1), 1)));
+ Table.States (969).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (176, 1), 1)));
+ Table.States (970).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (970), 22, (224, 0), 1107);
+ Add_Action (Table.States (970), 23, (175, 0), 968);
+ Add_Action (Table.States (970), 78, Reduce, (224, 2), 5,
if_expression_2'Access, null);
+ Table.States (970).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (970), 175, 1108);
+ Table.States (970).Kernel := To_Vector ((((176, 0), 176, 2,
(2147483647, 0), 0), ((224, 0), 176, 1,
+ (2147483647, 0), 0), ((224, 2), 176, 0, (224, 2), 5)));
+ Table.States (970).Minimal_Complete_Actions := To_Vector (((Shift,
(224, 0), 22, 1107), (Reduce, (224, 2),
+ 5)));
+ Table.States (971).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (971), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (120, 4), 6,
+ aggregate_4'Access, null);
+ Table.States (971).Kernel := To_Vector ((0 => ((120, 4), 78, 0,
(120, 4), 6)));
+ Table.States (971).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (120, 4), 6)));
+ Table.States (972).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (972), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (120, 2), 6,
+ aggregate_2'Access, null);
+ Table.States (972).Kernel := To_Vector ((0 => ((120, 2), 78, 0,
(120, 2), 6)));
+ Table.States (972).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (120, 2), 6)));
+ Table.States (973).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (973), 78, (280, 0), 1109);
+ Table.States (973).Kernel := To_Vector ((0 => ((280, 0), 195, 1,
(2147483647, 0), 0)));
+ Table.States (973).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (280, 0), 78, 1109)));
+ Table.States (974).Action_List.Set_Capacity (65);
+ Add_Action (Table.States (974), (4, 5, 10, 13, 15, 17, 18, 20, 21,
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
+ 40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74,
75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88,
+ 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 107, 108, 109), (120, 5), 6,
+ aggregate_5'Access, null);
+ Table.States (974).Kernel := To_Vector ((0 => ((120, 5), 79, 0,
(120, 5), 6)));
+ Table.States (974).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (120, 5), 6)));
+ Table.States (975).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (975), (24, 72), (143, 0), 4,
case_statement_alternative_0'Access, null);
+ Table.States (975).Kernel := To_Vector ((0 => ((143, 0), 303, 0,
(143, 0), 4)));
+ Table.States (975).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (143, 0), 4)));
+ Table.States (976).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (976), (4, 5, 13, 15, 17, 18, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (142, 0), 7, case_statement_0'Access, null);
+ Table.States (976).Kernel := To_Vector ((0 => ((142, 0), 99, 0,
(142, 0), 7)));
+ Table.States (976).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (142, 0), 7)));
+ Table.States (977).Action_List.Set_Capacity (10);
+ Add_Action (Table.States (977), (10, 21, 37, 42, 74, 78, 85, 86,
90, 99), (317, 0), 4,
subtype_indication_0'Access, null);
- Table.States (966).Kernel := To_Vector ((0 => (315, 156, 0,
False)));
- Table.States (966).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 315, 4)));
- Table.States (967).Action_List.Set_Capacity (27);
- Add_Action (Table.States (967), 10, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 33, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 38, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 40, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 43, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 55, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 75, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 77, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 78, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 79, 31);
- Add_Action (Table.States (967), 80, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 84, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 86, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 87, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 88, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 89, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 90, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 92, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 93, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 95, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 96, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 98, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 99, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 100, Reduce, (259, 1), 1, null,
null);
- Add_Action (Table.States (967), 105, 120);
- Add_Action (Table.States (967), 106, 34);
- Add_Action (Table.States (967), 107, 35);
- Table.States (967).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (967), 129, 42);
- Add_Goto (Table.States (967), 240, 1099);
- Add_Goto (Table.States (967), 273, 93);
- Add_Goto (Table.States (967), 294, 98);
- Table.States (967).Kernel := To_Vector (((166, 41, 1, False),
(259, 41, 0, False), (315, 41, 5, False),
- (315, 41, 1, False)));
- Table.States (967).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 259, 1)));
- Table.States (968).Action_List.Set_Capacity (10);
- Add_Action (Table.States (968), (10, 21, 37, 42, 74, 77, 83, 84,
88, 97), (225, 0), 3,
+ Table.States (977).Kernel := To_Vector ((0 => ((317, 0), 158, 0,
(317, 0), 4)));
+ Table.States (977).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (317, 0), 4)));
+ Table.States (978).Action_List.Set_Capacity (10);
+ Add_Action (Table.States (978), (10, 21, 37, 42, 74, 78, 85, 86,
90, 99), (227, 0), 3,
index_constraint_0'Access, null);
- Table.States (968).Kernel := To_Vector ((0 => (225, 77, 0,
False)));
- Table.States (968).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 225, 3)));
- Table.States (969).Action_List.Set_Capacity (12);
- Add_Action (Table.States (969), 3, 122);
- Add_Action (Table.States (969), 39, 123);
- Add_Action (Table.States (969), 40, 477);
- Add_Action (Table.States (969), 41, 125);
- Add_Action (Table.States (969), 76, 127);
- Add_Action (Table.States (969), 79, 31);
- Add_Action (Table.States (969), 95, 128);
- Add_Action (Table.States (969), 96, 129);
- Add_Action (Table.States (969), 104, 130);
- Add_Action (Table.States (969), 105, 120);
- Add_Action (Table.States (969), 106, 34);
- Add_Action (Table.States (969), 107, 35);
- Table.States (969).Goto_List.Set_Capacity (14);
- Add_Goto (Table.States (969), 118, 131);
- Add_Goto (Table.States (969), 129, 42);
- Add_Goto (Table.States (969), 168, 1100);
- Add_Goto (Table.States (969), 198, 134);
- Add_Goto (Table.States (969), 240, 480);
- Add_Goto (Table.States (969), 259, 136);
- Add_Goto (Table.States (969), 273, 93);
- Add_Goto (Table.States (969), 278, 481);
- Add_Goto (Table.States (969), 294, 98);
- Add_Goto (Table.States (969), 302, 482);
- Add_Goto (Table.States (969), 315, 483);
- Add_Goto (Table.States (969), 321, 145);
- Add_Goto (Table.States (969), 322, 146);
- Add_Goto (Table.States (969), 331, 147);
- Table.States (969).Kernel := To_Vector ((0 => (169, 84, 1, True)));
- Table.States (969).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (969).Minimal_Complete_Actions_Recursive := True;
- Table.States (970).Action_List.Set_Capacity (6);
- Add_Action (Table.States (970), 37, Reduce, (231, 0), 6, null,
null);
- Add_Action (Table.States (970), 76, 236);
- Add_Action (Table.States (970), 85, 238);
- Add_Action (Table.States (970), 88, Reduce, (231, 0), 6, null,
null);
- Add_Action (Table.States (970), 102, 240);
- Add_Action (Table.States (970), 103, 241);
- Table.States (970).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (970), 116, 242);
- Add_Goto (Table.States (970), 323, 243);
- Table.States (970).Kernel := To_Vector (((129, 240, 2, True),
(231, 240, 0, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (970).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 231, 6)));
- Table.States (971).Action_List.Set_Capacity (1);
- Add_Action (Table.States (971), 97, 1101);
- Table.States (971).Kernel := To_Vector ((0 => (236, 193, 1,
False)));
- Table.States (971).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1101)));
- Table.States (972).Action_List.Set_Capacity (12);
- Add_Action (Table.States (972), 3, 122);
- Add_Action (Table.States (972), 39, 123);
- Add_Action (Table.States (972), 40, 124);
- Add_Action (Table.States (972), 41, 125);
- Add_Action (Table.States (972), 76, 127);
- Add_Action (Table.States (972), 79, 31);
- Add_Action (Table.States (972), 95, 128);
- Add_Action (Table.States (972), 96, 129);
- Add_Action (Table.States (972), 104, 130);
- Add_Action (Table.States (972), 105, 120);
- Add_Action (Table.States (972), 106, 34);
- Add_Action (Table.States (972), 107, 35);
- Table.States (972).Goto_List.Set_Capacity (11);
- Add_Goto (Table.States (972), 118, 131);
- Add_Goto (Table.States (972), 129, 42);
- Add_Goto (Table.States (972), 198, 134);
- Add_Goto (Table.States (972), 240, 135);
- Add_Goto (Table.States (972), 259, 136);
- Add_Goto (Table.States (972), 273, 93);
- Add_Goto (Table.States (972), 294, 98);
- Add_Goto (Table.States (972), 302, 1102);
- Add_Goto (Table.States (972), 321, 145);
- Add_Goto (Table.States (972), 322, 146);
- Add_Goto (Table.States (972), 331, 147);
- Table.States (972).Kernel := To_Vector ((0 => (145, 12, 6,
False)));
- Table.States (972).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (973).Action_List.Set_Capacity (1);
- Add_Action (Table.States (973), 54, 1103);
- Table.States (973).Kernel := To_Vector ((0 => (282, 24, 2,
False)));
- Table.States (973).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 54, 1103)));
- Table.States (974).Action_List.Set_Capacity (2);
- Add_Action (Table.States (974), (24, 105), (146, 0), 2, null,
null);
- Table.States (974).Kernel := To_Vector ((0 => (146, 145, 0,
True)));
- Table.States (974).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 146, 2)));
- Table.States (974).Minimal_Complete_Actions_Recursive := True;
- Table.States (975).Action_List.Set_Capacity (3);
- Add_Action (Table.States (975), 77, Reduce, (255, 3), 4,
parameter_specification_3'Access, null);
- Add_Action (Table.States (975), 83, 1104);
- Add_Action (Table.States (975), 97, Reduce, (255, 3), 4,
parameter_specification_3'Access, null);
- Table.States (975).Kernel := To_Vector (((255, 115, 1, False),
(255, 115, 0, False)));
- Table.States (975).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 255, 4)));
- Table.States (976).Action_List.Set_Capacity (5);
- Add_Action (Table.States (976), 40, 387);
- Add_Action (Table.States (976), 79, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (976), 105, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (976), 106, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (976), 107, Reduce, (242, 1), 0, null,
null);
- Table.States (976).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (976), 242, 1105);
- Table.States (976).Kernel := To_Vector (((255, 237, 2, False),
(255, 237, 1, False)));
- Table.States (976).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 242, 0)));
- Table.States (977).Action_List.Set_Capacity (41);
- Add_Action (Table.States (977), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (216, 2), 7,
+ Table.States (978).Kernel := To_Vector ((0 => ((227, 0), 78, 0,
(227, 0), 3)));
+ Table.States (978).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (227, 0), 3)));
+ Table.States (979).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (979), 3, (200, 2), 122);
+ Add_Action (Table.States (979), 39, (261, 4), 123);
+ Add_Action (Table.States (979), 40, (200, 3), 481);
+ Add_Action (Table.States (979), 41, (261, 1), 125);
+ Add_Action (Table.States (979), 76, (120, 0), 127);
+ Add_Action (Table.States (979), 77, (120, 5), 128);
+ Add_Action (Table.States (979), 81, (242, 8), 31);
+ Add_Action (Table.States (979), 97, (333, 1), 129);
+ Add_Action (Table.States (979), 98, (333, 0), 130);
+ Add_Action (Table.States (979), 106, (261, 0), 131);
+ Add_Action (Table.States (979), 107, (242, 5), 120);
+ Add_Action (Table.States (979), 108, (242, 7), 34);
+ Add_Action (Table.States (979), 109, (242, 6), 35);
+ Table.States (979).Goto_List.Set_Capacity (14);
+ Add_Goto (Table.States (979), 120, 132);
+ Add_Goto (Table.States (979), 131, 42);
+ Add_Goto (Table.States (979), 170, 1110);
+ Add_Goto (Table.States (979), 200, 135);
+ Add_Goto (Table.States (979), 242, 484);
+ Add_Goto (Table.States (979), 261, 137);
+ Add_Goto (Table.States (979), 275, 93);
+ Add_Goto (Table.States (979), 280, 485);
+ Add_Goto (Table.States (979), 296, 98);
+ Add_Goto (Table.States (979), 304, 486);
+ Add_Goto (Table.States (979), 317, 487);
+ Add_Goto (Table.States (979), 323, 146);
+ Add_Goto (Table.States (979), 324, 147);
+ Add_Goto (Table.States (979), 333, 148);
+ Table.States (979).Kernel := To_Vector ((0 => ((171, 0), 86, 1,
(2147483647, 0), 0)));
+ Table.States (979).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (980).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (980), 37, Reduce, (233, 0), 6, null,
null);
+ Add_Action (Table.States (980), 76, (118, 0), 237);
+ Add_Action (Table.States (980), 87, (296, 0), 239);
+ Add_Action (Table.States (980), 90, Reduce, (233, 0), 6, null,
null);
+ Add_Action (Table.States (980), 104, (325, 0), 241);
+ Add_Action (Table.States (980), 105, (325, 1), 242);
+ Table.States (980).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (980), 118, 243);
+ Add_Goto (Table.States (980), 325, 244);
+ Table.States (980).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((233, 0), 242, 0,
+ (233, 0), 6), ((242, 0), 242, 5, (2147483647, 0), 0), ((242,
1), 242, 2, (2147483647, 0), 0), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (980).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (233, 0), 6)));
+ Table.States (981).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (981), 99, (238, 0), 1111);
+ Table.States (981).Kernel := To_Vector ((0 => ((238, 0), 195, 1,
(2147483647, 0), 0)));
+ Table.States (981).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (238, 0), 99, 1111)));
+ Table.States (982).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (982), 3, (200, 2), 122);
+ Add_Action (Table.States (982), 39, (261, 4), 123);
+ Add_Action (Table.States (982), 40, (200, 3), 124);
+ Add_Action (Table.States (982), 41, (261, 1), 125);
+ Add_Action (Table.States (982), 76, (120, 0), 127);
+ Add_Action (Table.States (982), 77, (120, 5), 128);
+ Add_Action (Table.States (982), 81, (242, 8), 31);
+ Add_Action (Table.States (982), 97, (333, 1), 129);
+ Add_Action (Table.States (982), 98, (333, 0), 130);
+ Add_Action (Table.States (982), 106, (261, 0), 131);
+ Add_Action (Table.States (982), 107, (242, 5), 120);
+ Add_Action (Table.States (982), 108, (242, 7), 34);
+ Add_Action (Table.States (982), 109, (242, 6), 35);
+ Table.States (982).Goto_List.Set_Capacity (11);
+ Add_Goto (Table.States (982), 120, 132);
+ Add_Goto (Table.States (982), 131, 42);
+ Add_Goto (Table.States (982), 200, 135);
+ Add_Goto (Table.States (982), 242, 136);
+ Add_Goto (Table.States (982), 261, 137);
+ Add_Goto (Table.States (982), 275, 93);
+ Add_Goto (Table.States (982), 296, 98);
+ Add_Goto (Table.States (982), 304, 1112);
+ Add_Goto (Table.States (982), 323, 146);
+ Add_Goto (Table.States (982), 324, 147);
+ Add_Goto (Table.States (982), 333, 148);
+ Table.States (982).Kernel := To_Vector ((0 => ((147, 0), 12, 6,
(2147483647, 0), 0)));
+ Table.States (982).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (983).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (983), 54, (284, 0), 1113);
+ Table.States (983).Kernel := To_Vector ((0 => ((284, 0), 24, 2,
(2147483647, 0), 0)));
+ Table.States (983).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (284, 0), 54, 1113)));
+ Table.States (984).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (984), (24, 107), (148, 0), 2, null,
null);
+ Table.States (984).Kernel := To_Vector ((0 => ((148, 0), 147, 0,
(148, 0), 2)));
+ Table.States (984).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (148, 0), 2)));
+ Table.States (985).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (985), 78, Reduce, (257, 3), 4,
parameter_specification_3'Access, null);
+ Add_Action (Table.States (985), 85, (257, 2), 1114);
+ Add_Action (Table.States (985), 99, Reduce, (257, 3), 4,
parameter_specification_3'Access, null);
+ Table.States (985).Kernel := To_Vector ((((257, 2), 117, 1,
(2147483647, 0), 0), ((257, 3), 117, 0,
+ (257, 3), 4)));
+ Table.States (985).Minimal_Complete_Actions := To_Vector (((Shift,
(257, 2), 85, 1114), (Reduce, (257, 3),
+ 4)));
+ Table.States (986).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (986), 40, (244, 0), 389);
+ Add_Action (Table.States (986), 81, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (986), 107, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (986), 108, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (986), 109, Reduce, (244, 1), 0, null,
null);
+ Table.States (986).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (986), 244, 1115);
+ Table.States (986).Kernel := To_Vector ((((257, 0), 239, 2,
(2147483647, 0), 0), ((257, 1), 239, 1,
+ (2147483647, 0), 0)));
+ Table.States (986).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (244, 1), 0)));
+ Table.States (987).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (987), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (218, 2), 7,
generic_renaming_declaration_2'Access, null);
- Table.States (977).Kernel := To_Vector ((0 => (216, 97, 0,
False)));
- Table.States (977).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 216, 7)));
- Table.States (978).Action_List.Set_Capacity (41);
- Add_Action (Table.States (978), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (216, 0), 7,
+ Table.States (987).Kernel := To_Vector ((0 => ((218, 2), 99, 0,
(218, 2), 7)));
+ Table.States (987).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (218, 2), 7)));
+ Table.States (988).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (988), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (218, 0), 7,
generic_renaming_declaration_0'Access, null);
- Table.States (978).Kernel := To_Vector ((0 => (216, 97, 0,
False)));
- Table.States (978).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 216, 7)));
- Table.States (979).Action_List.Set_Capacity (41);
- Add_Action (Table.States (979), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (216, 1), 7,
+ Table.States (988).Kernel := To_Vector ((0 => ((218, 0), 99, 0,
(218, 0), 7)));
+ Table.States (988).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (218, 0), 7)));
+ Table.States (989).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (989), (4, 5, 13, 15, 17, 18, 24, 25, 27,
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (218, 1), 7,
generic_renaming_declaration_1'Access, null);
- Table.States (979).Kernel := To_Vector ((0 => (216, 97, 0,
False)));
- Table.States (979).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 216, 7)));
- Table.States (980).Action_List.Set_Capacity (1);
- Add_Action (Table.States (980), (1 => 39), (110, 0), 2, null,
null);
- Table.States (980).Kernel := To_Vector ((0 => (110, 36, 0,
False)));
- Table.States (980).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 110, 2)));
- Table.States (981).Action_List.Set_Capacity (3);
- Add_Action (Table.States (981), 20, 1106);
- Add_Action (Table.States (981), 74, Reduce, (203, 7), 2, null,
null);
- Add_Action (Table.States (981), 97, Reduce, (203, 7), 2, null,
null);
- Table.States (981).Kernel := To_Vector (((203, 81, 2, False),
(203, 81, 0, False)));
- Table.States (981).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 203, 2)));
- Table.States (982).Action_List.Set_Capacity (2);
- Add_Action (Table.States (982), (74, 97), (203, 5), 2, null, null);
- Table.States (982).Kernel := To_Vector ((0 => (203, 81, 0,
False)));
- Table.States (982).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 203, 2)));
- Table.States (983).Action_List.Set_Capacity (2);
- Add_Action (Table.States (983), (74, 97), (203, 4), 2, null, null);
- Table.States (983).Kernel := To_Vector ((0 => (203, 81, 0,
False)));
- Table.States (983).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 203, 2)));
- Table.States (984).Action_List.Set_Capacity (2);
- Add_Action (Table.States (984), (74, 97), (203, 3), 2, null, null);
- Table.States (984).Kernel := To_Vector ((0 => (203, 81, 0,
False)));
- Table.States (984).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 203, 2)));
- Table.States (985).Action_List.Set_Capacity (1);
- Add_Action (Table.States (985), 97, 1107);
- Table.States (985).Kernel := To_Vector ((0 => (202, 123, 1,
False)));
- Table.States (985).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1107)));
- Table.States (986).Action_List.Set_Capacity (1);
- Add_Action (Table.States (986), 77, 1108);
- Table.States (986).Kernel := To_Vector ((0 => (203, 81, 1,
False)));
- Table.States (986).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 1108)));
- Table.States (987).Action_List.Set_Capacity (4);
- Add_Action (Table.States (987), 79, 31);
- Add_Action (Table.States (987), 105, 120);
- Add_Action (Table.States (987), 106, 34);
- Add_Action (Table.States (987), 107, 35);
- Table.States (987).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (987), 129, 42);
- Add_Goto (Table.States (987), 240, 1109);
- Add_Goto (Table.States (987), 273, 93);
- Add_Goto (Table.States (987), 294, 98);
- Table.States (987).Kernel := To_Vector (((204, 39, 3, False),
(204, 39, 1, False)));
- Table.States (987).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (988).Action_List.Set_Capacity (2);
- Add_Action (Table.States (988), (74, 97), (203, 0), 2, null, null);
- Table.States (988).Kernel := To_Vector ((0 => (203, 49, 0,
False)));
- Table.States (988).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 203, 2)));
- Table.States (989).Action_List.Set_Capacity (1);
- Add_Action (Table.States (989), 97, 1110);
- Table.States (989).Kernel := To_Vector ((0 => (202, 123, 1,
False)));
- Table.States (989).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1110)));
- Table.States (990).Action_List.Set_Capacity (6);
- Add_Action (Table.States (990), 74, Reduce, (206, 1), 0, null,
null);
- Add_Action (Table.States (990), 76, 1111);
- Add_Action (Table.States (990), 85, 238);
- Add_Action (Table.States (990), 97, Reduce, (206, 1), 0, null,
null);
- Add_Action (Table.States (990), 102, 240);
- Add_Action (Table.States (990), 103, 241);
- Table.States (990).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (990), 116, 242);
- Add_Goto (Table.States (990), 206, 1112);
- Add_Goto (Table.States (990), 323, 243);
- Table.States (990).Kernel := To_Vector (((129, 240, 2, True),
(205, 240, 1, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (990).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 206, 0)));
- Table.States (991).Action_List.Set_Capacity (8);
- Add_Action (Table.States (991), (29, 47, 48, 50, 69, 71, 74, 105),
(201, 2), 6,
+ Table.States (989).Kernel := To_Vector ((0 => ((218, 1), 99, 0,
(218, 1), 7)));
+ Table.States (989).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (218, 1), 7)));
+ Table.States (990).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (990), (1 => 39), (112, 0), 2, null,
null);
+ Table.States (990).Kernel := To_Vector ((0 => ((112, 0), 36, 0,
(112, 0), 2)));
+ Table.States (990).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (112, 0), 2)));
+ Table.States (991).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (991), 20, (205, 6), 1116);
+ Add_Action (Table.States (991), 74, Reduce, (205, 7), 2, null,
null);
+ Add_Action (Table.States (991), 99, Reduce, (205, 7), 2, null,
null);
+ Table.States (991).Kernel := To_Vector ((((205, 6), 83, 2,
(2147483647, 0), 0), ((205, 7), 83, 0,
+ (205, 7), 2)));
+ Table.States (991).Minimal_Complete_Actions := To_Vector (((Shift,
(205, 6), 20, 1116), (Reduce, (205, 7),
+ 2)));
+ Table.States (992).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (992), (74, 99), (205, 5), 2, null,
null);
+ Table.States (992).Kernel := To_Vector ((0 => ((205, 5), 83, 0,
(205, 5), 2)));
+ Table.States (992).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (205, 5), 2)));
+ Table.States (993).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (993), (74, 99), (205, 4), 2, null,
null);
+ Table.States (993).Kernel := To_Vector ((0 => ((205, 4), 83, 0,
(205, 4), 2)));
+ Table.States (993).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (205, 4), 2)));
+ Table.States (994).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (994), (74, 99), (205, 3), 2, null,
null);
+ Table.States (994).Kernel := To_Vector ((0 => ((205, 3), 83, 0,
(205, 3), 2)));
+ Table.States (994).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (205, 3), 2)));
+ Table.States (995).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (995), 99, (204, 1), 1117);
+ Table.States (995).Kernel := To_Vector ((0 => ((204, 1), 125, 1,
(2147483647, 0), 0)));
+ Table.States (995).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (204, 1), 99, 1117)));
+ Table.States (996).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (996), 78, (205, 2), 1118);
+ Table.States (996).Kernel := To_Vector ((0 => ((205, 2), 83, 1,
(2147483647, 0), 0)));
+ Table.States (996).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (205, 2), 78, 1118)));
+ Table.States (997).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (997), 81, (242, 8), 31);
+ Add_Action (Table.States (997), 107, (242, 5), 120);
+ Add_Action (Table.States (997), 108, (242, 7), 34);
+ Add_Action (Table.States (997), 109, (242, 6), 35);
+ Table.States (997).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (997), 131, 42);
+ Add_Goto (Table.States (997), 242, 1119);
+ Add_Goto (Table.States (997), 275, 93);
+ Add_Goto (Table.States (997), 296, 98);
+ Table.States (997).Kernel := To_Vector ((((206, 0), 39, 3,
(2147483647, 0), 0), ((206, 1), 39, 1,
+ (2147483647, 0), 0)));
+ Table.States (997).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (998).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (998), (74, 99), (205, 0), 2, null,
null);
+ Table.States (998).Kernel := To_Vector ((0 => ((205, 0), 49, 0,
(205, 0), 2)));
+ Table.States (998).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (205, 0), 2)));
+ Table.States (999).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (999), 99, (204, 0), 1120);
+ Table.States (999).Kernel := To_Vector ((0 => ((204, 0), 125, 1,
(2147483647, 0), 0)));
+ Table.States (999).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (204, 0), 99, 1120)));
+ Table.States (1000).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (1000), 74, Reduce, (208, 1), 0, null,
null);
+ Add_Action (Table.States (1000), 76, (118, 0), 1121);
+ Add_Action (Table.States (1000), 87, (296, 0), 239);
+ Add_Action (Table.States (1000), 99, Reduce, (208, 1), 0, null,
null);
+ Add_Action (Table.States (1000), 104, (325, 0), 241);
+ Add_Action (Table.States (1000), 105, (325, 1), 242);
+ Table.States (1000).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (1000), 118, 243);
+ Add_Goto (Table.States (1000), 208, 1122);
+ Add_Goto (Table.States (1000), 325, 244);
+ Table.States (1000).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((207, 0), 242, 1,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (1000).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (208, 1), 0)));
+ Table.States (1001).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (1001), (29, 47, 48, 50, 69, 71, 74,
107), (203, 2), 6,
formal_subprogram_declaration_2'Access, null);
- Table.States (991).Kernel := To_Vector ((0 => (201, 97, 0,
False)));
- Table.States (991).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 201, 6)));
- Table.States (992).Action_List.Set_Capacity (1);
- Add_Action (Table.States (992), 97, 1113);
- Table.States (992).Kernel := To_Vector ((0 => (201, 123, 1,
False)));
- Table.States (992).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1113)));
- Table.States (993).Action_List.Set_Capacity (8);
- Add_Action (Table.States (993), (29, 47, 48, 50, 69, 71, 74, 105),
(201, 1), 6,
+ Table.States (1001).Kernel := To_Vector ((0 => ((203, 2), 99, 0,
(203, 2), 6)));
+ Table.States (1001).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (203, 2), 6)));
+ Table.States (1002).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1002), 99, (203, 0), 1123);
+ Table.States (1002).Kernel := To_Vector ((0 => ((203, 0), 125,
1, (2147483647, 0), 0)));
+ Table.States (1002).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (203, 0), 99, 1123)));
+ Table.States (1003).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (1003), (29, 47, 48, 50, 69, 71, 74,
107), (203, 1), 6,
formal_subprogram_declaration_1'Access, null);
- Table.States (993).Kernel := To_Vector ((0 => (201, 97, 0,
False)));
- Table.States (993).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 201, 6)));
- Table.States (994).Action_List.Set_Capacity (2);
- Add_Action (Table.States (994), 74, 338);
- Add_Action (Table.States (994), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (994).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (994), 123, 1114);
- Table.States (994).Kernel := To_Vector ((0 => (199, 193, 1,
False)));
- Table.States (994).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (995).Action_List.Set_Capacity (8);
- Add_Action (Table.States (995), (29, 47, 48, 50, 69, 71, 74, 105),
(199, 3), 6,
+ Table.States (1003).Kernel := To_Vector ((0 => ((203, 1), 99, 0,
(203, 1), 6)));
+ Table.States (1003).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (203, 1), 6)));
+ Table.States (1004).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1004), 74, (125, 0), 340);
+ Add_Action (Table.States (1004), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (1004).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1004), 125, 1124);
+ Table.States (1004).Kernel := To_Vector ((0 => ((201, 1), 195,
1, (2147483647, 0), 0)));
+ Table.States (1004).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (1005).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (1005), (29, 47, 48, 50, 69, 71, 74,
107), (201, 3), 6,
formal_object_declaration_3'Access, null);
- Table.States (995).Kernel := To_Vector ((0 => (199, 97, 0,
False)));
- Table.States (995).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 199, 6)));
- Table.States (996).Action_List.Set_Capacity (15);
- Add_Action (Table.States (996), 3, 122);
- Add_Action (Table.States (996), 39, 123);
- Add_Action (Table.States (996), 40, 124);
- Add_Action (Table.States (996), 41, 125);
- Add_Action (Table.States (996), 52, 126);
- Add_Action (Table.States (996), 74, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (996), 76, 127);
- Add_Action (Table.States (996), 79, 31);
- Add_Action (Table.States (996), 95, 128);
- Add_Action (Table.States (996), 96, 129);
- Add_Action (Table.States (996), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (996), 104, 130);
- Add_Action (Table.States (996), 105, 120);
- Add_Action (Table.States (996), 106, 34);
- Add_Action (Table.States (996), 107, 35);
- Table.States (996).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (996), 118, 131);
- Add_Goto (Table.States (996), 129, 42);
- Add_Goto (Table.States (996), 192, 132);
- Add_Goto (Table.States (996), 193, 1115);
- Add_Goto (Table.States (996), 198, 134);
- Add_Goto (Table.States (996), 240, 135);
- Add_Goto (Table.States (996), 259, 136);
- Add_Goto (Table.States (996), 273, 93);
- Add_Goto (Table.States (996), 276, 137);
- Add_Goto (Table.States (996), 283, 138);
- Add_Goto (Table.States (996), 284, 139);
- Add_Goto (Table.States (996), 285, 140);
- Add_Goto (Table.States (996), 286, 141);
- Add_Goto (Table.States (996), 287, 142);
- Add_Goto (Table.States (996), 288, 143);
- Add_Goto (Table.States (996), 294, 98);
- Add_Goto (Table.States (996), 302, 144);
- Add_Goto (Table.States (996), 321, 145);
- Add_Goto (Table.States (996), 322, 146);
- Add_Goto (Table.States (996), 331, 147);
- Table.States (996).Kernel := To_Vector ((0 => (199, 83, 1,
False)));
- Table.States (996).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (997).Action_List.Set_Capacity (1);
- Add_Action (Table.States (997), 97, 1116);
- Table.States (997).Kernel := To_Vector ((0 => (199, 123, 1,
False)));
- Table.States (997).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1116)));
- Table.States (998).Action_List.Set_Capacity (1);
- Add_Action (Table.States (998), 32, 1117);
- Table.States (998).Kernel := To_Vector ((0 => (223, 24, 2,
False)));
- Table.States (998).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 32, 1117)));
- Table.States (999).Action_List.Set_Capacity (26);
- Add_Action (Table.States (999), 4, 1);
- Add_Action (Table.States (999), 5, 2);
- Add_Action (Table.States (999), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (999), 15, 3);
- Add_Action (Table.States (999), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (999), 18, 4);
- Add_Action (Table.States (999), 22, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (999), 23, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (999), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (999), 27, 5);
- Add_Action (Table.States (999), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (999), 31, 9);
- Add_Action (Table.States (999), 32, 10);
- Add_Action (Table.States (999), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (999), 41, 13);
- Add_Action (Table.States (999), 48, 16);
- Add_Action (Table.States (999), 52, 20);
- Add_Action (Table.States (999), 57, 21);
- Add_Action (Table.States (999), 58, 22);
- Add_Action (Table.States (999), 61, 24);
- Add_Action (Table.States (999), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (999), 79, 31);
- Add_Action (Table.States (999), 94, 32);
- Add_Action (Table.States (999), 105, 361);
- Add_Action (Table.States (999), 106, 34);
- Add_Action (Table.States (999), 107, 35);
- Table.States (999).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (999), 114, 37);
- Add_Goto (Table.States (999), 124, 39);
- Add_Goto (Table.States (999), 127, 40);
- Add_Goto (Table.States (999), 129, 42);
- Add_Goto (Table.States (999), 132, 43);
- Add_Goto (Table.States (999), 133, 44);
- Add_Goto (Table.States (999), 134, 45);
- Add_Goto (Table.States (999), 140, 48);
- Add_Goto (Table.States (999), 152, 51);
- Add_Goto (Table.States (999), 153, 52);
- Add_Goto (Table.States (999), 162, 54);
- Add_Goto (Table.States (999), 191, 58);
- Add_Goto (Table.States (999), 197, 60);
- Add_Goto (Table.States (999), 218, 69);
- Add_Goto (Table.States (999), 223, 71);
- Add_Goto (Table.States (999), 233, 73);
- Add_Goto (Table.States (999), 240, 74);
- Add_Goto (Table.States (999), 258, 84);
- Add_Goto (Table.States (999), 262, 87);
- Add_Goto (Table.States (999), 273, 93);
- Add_Goto (Table.States (999), 277, 94);
- Add_Goto (Table.States (999), 291, 97);
- Add_Goto (Table.States (999), 294, 98);
- Add_Goto (Table.States (999), 295, 99);
- Add_Goto (Table.States (999), 299, 100);
- Add_Goto (Table.States (999), 300, 362);
- Add_Goto (Table.States (999), 301, 1118);
- Add_Goto (Table.States (999), 303, 101);
- Add_Goto (Table.States (999), 304, 102);
- Add_Goto (Table.States (999), 307, 364);
- Add_Goto (Table.States (999), 324, 115);
- Table.States (999).Kernel := To_Vector ((0 => (175, 68, 0,
False)));
- Table.States (999).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (1000).Action_List.Set_Capacity (47);
- Add_Action (Table.States (1000), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (223, 3), 7, if_statement_3'Access, null);
- Table.States (1000).Kernel := To_Vector ((0 => (223, 97, 0,
False)));
- Table.States (1000).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 223, 7)));
- end Subr_17;
- procedure Subr_18
- is begin
- Table.States (1001).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1001), 24, 1119);
- Table.States (1001).Kernel := To_Vector ((0 => (223, 301, 3,
False)));
- Table.States (1001).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 1119)));
- Table.States (1002).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1002), 97, 1120);
- Table.States (1002).Kernel := To_Vector ((0 => (223, 32, 1,
False)));
- Table.States (1002).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1120)));
- Table.States (1003).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1003), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (249, 0), 7,
+ Table.States (1005).Kernel := To_Vector ((0 => ((201, 3), 99, 0,
(201, 3), 6)));
+ Table.States (1005).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (201, 3), 6)));
+ Table.States (1006).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (1006), 3, (200, 2), 122);
+ Add_Action (Table.States (1006), 39, (261, 4), 123);
+ Add_Action (Table.States (1006), 40, (200, 3), 124);
+ Add_Action (Table.States (1006), 41, (261, 1), 125);
+ Add_Action (Table.States (1006), 52, (278, 0), 126);
+ Add_Action (Table.States (1006), 74, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1006), 76, (120, 0), 127);
+ Add_Action (Table.States (1006), 77, (120, 5), 128);
+ Add_Action (Table.States (1006), 81, (242, 8), 31);
+ Add_Action (Table.States (1006), 97, (333, 1), 129);
+ Add_Action (Table.States (1006), 98, (333, 0), 130);
+ Add_Action (Table.States (1006), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1006), 106, (261, 0), 131);
+ Add_Action (Table.States (1006), 107, (242, 5), 120);
+ Add_Action (Table.States (1006), 108, (242, 7), 34);
+ Add_Action (Table.States (1006), 109, (242, 6), 35);
+ Table.States (1006).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (1006), 120, 132);
+ Add_Goto (Table.States (1006), 131, 42);
+ Add_Goto (Table.States (1006), 194, 133);
+ Add_Goto (Table.States (1006), 195, 1125);
+ Add_Goto (Table.States (1006), 200, 135);
+ Add_Goto (Table.States (1006), 242, 136);
+ Add_Goto (Table.States (1006), 261, 137);
+ Add_Goto (Table.States (1006), 275, 93);
+ Add_Goto (Table.States (1006), 278, 138);
+ Add_Goto (Table.States (1006), 285, 139);
+ Add_Goto (Table.States (1006), 286, 140);
+ Add_Goto (Table.States (1006), 287, 141);
+ Add_Goto (Table.States (1006), 288, 142);
+ Add_Goto (Table.States (1006), 289, 143);
+ Add_Goto (Table.States (1006), 290, 144);
+ Add_Goto (Table.States (1006), 296, 98);
+ Add_Goto (Table.States (1006), 304, 145);
+ Add_Goto (Table.States (1006), 323, 146);
+ Add_Goto (Table.States (1006), 324, 147);
+ Add_Goto (Table.States (1006), 333, 148);
+ Table.States (1006).Kernel := To_Vector ((0 => ((201, 0), 85, 1,
(2147483647, 0), 0)));
+ Table.States (1006).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (1007).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1007), 99, (201, 2), 1126);
+ Table.States (1007).Kernel := To_Vector ((0 => ((201, 2), 125,
1, (2147483647, 0), 0)));
+ Table.States (1007).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (201, 2), 99, 1126)));
+ Table.States (1008).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1008), 32, (225, 1), 1127);
+ Table.States (1008).Kernel := To_Vector ((0 => ((225, 1), 24, 2,
(2147483647, 0), 0)));
+ Table.States (1008).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (225, 1), 32, 1127)));
+ Table.States (1009).Action_List.Set_Capacity (26);
+ Add_Action (Table.States (1009), 4, (116, 0), 1);
+ Add_Action (Table.States (1009), 5, (306, 8), 2);
+ Add_Action (Table.States (1009), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1009), 15, (142, 0), 3);
+ Add_Action (Table.States (1009), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1009), 18, (164, 0), 4);
+ Add_Action (Table.States (1009), 22, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (1009), 23, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (1009), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (1009), 27, (193, 0), 5);
+ Add_Action (Table.States (1009), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1009), 31, (306, 3), 9);
+ Add_Action (Table.States (1009), 32, (225, 0), 10);
+ Add_Action (Table.States (1009), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1009), 41, (306, 0), 13);
+ Add_Action (Table.States (1009), 48, (260, 0), 16);
+ Add_Action (Table.States (1009), 52, (279, 0), 20);
+ Add_Action (Table.States (1009), 57, (293, 0), 21);
+ Add_Action (Table.States (1009), 58, (199, 0), 22);
+ Add_Action (Table.States (1009), 61, (129, 0), 24);
+ Add_Action (Table.States (1009), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1009), 81, (242, 8), 31);
+ Add_Action (Table.States (1009), 96, (220, 0), 32);
+ Add_Action (Table.States (1009), 107, (134, 0), 363);
+ Add_Action (Table.States (1009), 108, (242, 7), 34);
+ Add_Action (Table.States (1009), 109, (242, 6), 35);
+ Table.States (1009).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (1009), 116, 37);
+ Add_Goto (Table.States (1009), 126, 39);
+ Add_Goto (Table.States (1009), 129, 40);
+ Add_Goto (Table.States (1009), 131, 42);
+ Add_Goto (Table.States (1009), 134, 43);
+ Add_Goto (Table.States (1009), 135, 44);
+ Add_Goto (Table.States (1009), 136, 45);
+ Add_Goto (Table.States (1009), 142, 48);
+ Add_Goto (Table.States (1009), 154, 51);
+ Add_Goto (Table.States (1009), 155, 52);
+ Add_Goto (Table.States (1009), 164, 54);
+ Add_Goto (Table.States (1009), 193, 58);
+ Add_Goto (Table.States (1009), 199, 60);
+ Add_Goto (Table.States (1009), 220, 69);
+ Add_Goto (Table.States (1009), 225, 71);
+ Add_Goto (Table.States (1009), 235, 73);
+ Add_Goto (Table.States (1009), 242, 74);
+ Add_Goto (Table.States (1009), 260, 84);
+ Add_Goto (Table.States (1009), 264, 87);
+ Add_Goto (Table.States (1009), 275, 93);
+ Add_Goto (Table.States (1009), 279, 94);
+ Add_Goto (Table.States (1009), 293, 97);
+ Add_Goto (Table.States (1009), 296, 98);
+ Add_Goto (Table.States (1009), 297, 99);
+ Add_Goto (Table.States (1009), 301, 100);
+ Add_Goto (Table.States (1009), 302, 364);
+ Add_Goto (Table.States (1009), 303, 1128);
+ Add_Goto (Table.States (1009), 305, 101);
+ Add_Goto (Table.States (1009), 306, 102);
+ Add_Goto (Table.States (1009), 309, 366);
+ Add_Goto (Table.States (1009), 326, 115);
+ Table.States (1009).Kernel := To_Vector ((0 => ((177, 0), 68, 0,
(303, 1), 0)));
+ Table.States (1009).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
+ Table.States (1010).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (1010), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (225, 3), 7, if_statement_3'Access, null);
+ Table.States (1010).Kernel := To_Vector ((0 => ((225, 3), 99, 0,
(225, 3), 7)));
+ Table.States (1010).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (225, 3), 7)));
+ Table.States (1011).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1011), 24, (225, 0), 1129);
+ Table.States (1011).Kernel := To_Vector ((0 => ((225, 0), 303,
3, (2147483647, 0), 0)));
+ Table.States (1011).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (225, 0), 24, 1129)));
+ Table.States (1012).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1012), 99, (225, 2), 1130);
+ Table.States (1012).Kernel := To_Vector ((0 => ((225, 2), 32, 1,
(2147483647, 0), 0)));
+ Table.States (1012).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (225, 2), 99, 1130)));
+ Table.States (1013).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1013), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (251, 0), 7,
package_body_stub_0'Access, null);
- Table.States (1003).Kernel := To_Vector ((0 => (249, 97, 0,
False)));
- Table.States (1003).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 249, 7)));
- Table.States (1004).Action_List.Set_Capacity (25);
- Add_Action (Table.States (1004), 4, 1);
- Add_Action (Table.States (1004), 5, 2);
- Add_Action (Table.States (1004), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1004), 15, 3);
- Add_Action (Table.States (1004), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1004), 18, 4);
- Add_Action (Table.States (1004), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (1004), 26, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (1004), 27, 5);
- Add_Action (Table.States (1004), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1004), 31, 9);
- Add_Action (Table.States (1004), 32, 10);
- Add_Action (Table.States (1004), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1004), 41, 13);
- Add_Action (Table.States (1004), 48, 16);
- Add_Action (Table.States (1004), 52, 20);
- Add_Action (Table.States (1004), 57, 21);
- Add_Action (Table.States (1004), 58, 22);
- Add_Action (Table.States (1004), 61, 24);
- Add_Action (Table.States (1004), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1004), 79, 31);
- Add_Action (Table.States (1004), 94, 32);
- Add_Action (Table.States (1004), 105, 361);
- Add_Action (Table.States (1004), 106, 34);
- Add_Action (Table.States (1004), 107, 35);
- Table.States (1004).Goto_List.Set_Capacity (32);
- Add_Goto (Table.States (1004), 114, 37);
- Add_Goto (Table.States (1004), 124, 39);
- Add_Goto (Table.States (1004), 127, 40);
- Add_Goto (Table.States (1004), 129, 42);
- Add_Goto (Table.States (1004), 132, 43);
- Add_Goto (Table.States (1004), 133, 44);
- Add_Goto (Table.States (1004), 134, 45);
- Add_Goto (Table.States (1004), 140, 48);
- Add_Goto (Table.States (1004), 152, 51);
- Add_Goto (Table.States (1004), 153, 52);
- Add_Goto (Table.States (1004), 162, 54);
- Add_Goto (Table.States (1004), 191, 58);
- Add_Goto (Table.States (1004), 197, 60);
- Add_Goto (Table.States (1004), 218, 69);
- Add_Goto (Table.States (1004), 219, 1121);
- Add_Goto (Table.States (1004), 223, 71);
- Add_Goto (Table.States (1004), 233, 73);
- Add_Goto (Table.States (1004), 240, 74);
- Add_Goto (Table.States (1004), 258, 84);
- Add_Goto (Table.States (1004), 262, 87);
- Add_Goto (Table.States (1004), 273, 93);
- Add_Goto (Table.States (1004), 277, 94);
- Add_Goto (Table.States (1004), 291, 97);
- Add_Goto (Table.States (1004), 294, 98);
- Add_Goto (Table.States (1004), 295, 99);
- Add_Goto (Table.States (1004), 299, 100);
- Add_Goto (Table.States (1004), 300, 362);
- Add_Goto (Table.States (1004), 301, 391);
- Add_Goto (Table.States (1004), 303, 101);
- Add_Goto (Table.States (1004), 304, 102);
- Add_Goto (Table.States (1004), 307, 364);
- Add_Goto (Table.States (1004), 324, 115);
- Table.States (1004).Kernel := To_Vector ((0 => (248, 13, 2,
False)));
- Table.States (1004).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 219, 0)));
- Table.States (1005).Action_List.Set_Capacity (5);
- Add_Action (Table.States (1005), 79, 31);
- Add_Action (Table.States (1005), 97, Reduce, (241, 1), 0, null,
null);
- Add_Action (Table.States (1005), 105, 120);
- Add_Action (Table.States (1005), 106, 34);
- Add_Action (Table.States (1005), 107, 35);
- Table.States (1005).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (1005), 129, 42);
- Add_Goto (Table.States (1005), 240, 638);
- Add_Goto (Table.States (1005), 241, 1122);
- Add_Goto (Table.States (1005), 273, 93);
- Add_Goto (Table.States (1005), 294, 98);
- Table.States (1005).Kernel := To_Vector ((0 => (248, 24, 1,
False)));
- Table.States (1005).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 241, 0)));
- Table.States (1006).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1006), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (214, 0), 7,
+ Table.States (1013).Kernel := To_Vector ((0 => ((251, 0), 99, 0,
(251, 0), 7)));
+ Table.States (1013).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (251, 0), 7)));
+ Table.States (1014).Action_List.Set_Capacity (25);
+ Add_Action (Table.States (1014), 4, (116, 0), 1);
+ Add_Action (Table.States (1014), 5, (306, 8), 2);
+ Add_Action (Table.States (1014), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1014), 15, (142, 0), 3);
+ Add_Action (Table.States (1014), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1014), 18, (164, 0), 4);
+ Add_Action (Table.States (1014), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (1014), 26, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (1014), 27, (193, 0), 5);
+ Add_Action (Table.States (1014), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1014), 31, (306, 3), 9);
+ Add_Action (Table.States (1014), 32, (225, 0), 10);
+ Add_Action (Table.States (1014), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1014), 41, (306, 0), 13);
+ Add_Action (Table.States (1014), 48, (260, 0), 16);
+ Add_Action (Table.States (1014), 52, (279, 0), 20);
+ Add_Action (Table.States (1014), 57, (293, 0), 21);
+ Add_Action (Table.States (1014), 58, (199, 0), 22);
+ Add_Action (Table.States (1014), 61, (129, 0), 24);
+ Add_Action (Table.States (1014), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1014), 81, (242, 8), 31);
+ Add_Action (Table.States (1014), 96, (220, 0), 32);
+ Add_Action (Table.States (1014), 107, (134, 0), 363);
+ Add_Action (Table.States (1014), 108, (242, 7), 34);
+ Add_Action (Table.States (1014), 109, (242, 6), 35);
+ Table.States (1014).Goto_List.Set_Capacity (32);
+ Add_Goto (Table.States (1014), 116, 37);
+ Add_Goto (Table.States (1014), 126, 39);
+ Add_Goto (Table.States (1014), 129, 40);
+ Add_Goto (Table.States (1014), 131, 42);
+ Add_Goto (Table.States (1014), 134, 43);
+ Add_Goto (Table.States (1014), 135, 44);
+ Add_Goto (Table.States (1014), 136, 45);
+ Add_Goto (Table.States (1014), 142, 48);
+ Add_Goto (Table.States (1014), 154, 51);
+ Add_Goto (Table.States (1014), 155, 52);
+ Add_Goto (Table.States (1014), 164, 54);
+ Add_Goto (Table.States (1014), 193, 58);
+ Add_Goto (Table.States (1014), 199, 60);
+ Add_Goto (Table.States (1014), 220, 69);
+ Add_Goto (Table.States (1014), 221, 1131);
+ Add_Goto (Table.States (1014), 225, 71);
+ Add_Goto (Table.States (1014), 235, 73);
+ Add_Goto (Table.States (1014), 242, 74);
+ Add_Goto (Table.States (1014), 260, 84);
+ Add_Goto (Table.States (1014), 264, 87);
+ Add_Goto (Table.States (1014), 275, 93);
+ Add_Goto (Table.States (1014), 279, 94);
+ Add_Goto (Table.States (1014), 293, 97);
+ Add_Goto (Table.States (1014), 296, 98);
+ Add_Goto (Table.States (1014), 297, 99);
+ Add_Goto (Table.States (1014), 301, 100);
+ Add_Goto (Table.States (1014), 302, 364);
+ Add_Goto (Table.States (1014), 303, 393);
+ Add_Goto (Table.States (1014), 305, 101);
+ Add_Goto (Table.States (1014), 306, 102);
+ Add_Goto (Table.States (1014), 309, 366);
+ Add_Goto (Table.States (1014), 326, 115);
+ Table.States (1014).Kernel := To_Vector ((0 => ((250, 0), 13, 2,
(2147483647, 0), 0)));
+ Table.States (1014).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (221, 1), 0)));
+ Table.States (1015).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (1015), 81, (242, 8), 31);
+ Add_Action (Table.States (1015), 99, Reduce, (243, 1), 0, null,
null);
+ Add_Action (Table.States (1015), 107, (242, 5), 120);
+ Add_Action (Table.States (1015), 108, (242, 7), 34);
+ Add_Action (Table.States (1015), 109, (242, 6), 35);
+ Table.States (1015).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (1015), 131, 42);
+ Add_Goto (Table.States (1015), 242, 644);
+ Add_Goto (Table.States (1015), 243, 1132);
+ Add_Goto (Table.States (1015), 275, 93);
+ Add_Goto (Table.States (1015), 296, 98);
+ Table.States (1015).Kernel := To_Vector ((0 => ((250, 1), 24, 1,
(2147483647, 0), 0)));
+ Table.States (1015).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (243, 1), 0)));
+ end Subr_18;
+ procedure Subr_19
+ is begin
+ Table.States (1016).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1016), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (216, 0), 7,
generic_instantiation_0'Access, null);
- Table.States (1006).Kernel := To_Vector ((0 => (214, 97, 0,
False)));
- Table.States (1006).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 214, 7)));
- Table.States (1007).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1007), (1 => 97), (252, 1), 7,
package_specification_1'Access,
+ Table.States (1016).Kernel := To_Vector ((0 => ((216, 0), 99, 0,
(216, 0), 7)));
+ Table.States (1016).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (216, 0), 7)));
+ Table.States (1017).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1017), (1 => 99), (254, 1), 7,
package_specification_1'Access,
package_specification_1_check'Access);
- Table.States (1007).Kernel := To_Vector ((0 => (252, 241, 0,
False)));
- Table.States (1007).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 252, 7)));
- Table.States (1008).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1008), 24, 1123);
- Table.States (1008).Kernel := To_Vector ((0 => (252, 160, 1,
False)));
- Table.States (1008).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 1123)));
- Table.States (1009).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1009), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (266, 0), 7,
- protected_body_stub_0'Access, null);
- Table.States (1009).Kernel := To_Vector ((0 => (266, 97, 0,
False)));
- Table.States (1009).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 266, 7)));
- Table.States (1010).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1010), 72, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (1010), 76, 1124);
- Table.States (1010).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (1010), 178, 1125);
- Add_Goto (Table.States (1010), 200, 345);
- Add_Goto (Table.States (1010), 254, 1126);
- Table.States (1010).Kernel := To_Vector ((0 => (177, 105, 5,
False)));
- Table.States (1010).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 178, 0)));
- Table.States (1011).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1011), 35, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (1011), 74, 338);
- Add_Action (Table.States (1011), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (1011).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1011), 123, 431);
- Table.States (1011).Kernel := To_Vector (((308, 313, 4, False),
(310, 313, 1, False)));
- Table.States (1011).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (1012).Action_List.Set_Capacity (7);
- Add_Action (Table.States (1012), (24, 25, 28, 29, 40, 46, 50),
(269, 0), 2, null, null);
- Table.States (1012).Kernel := To_Vector ((0 => (269, 268, 0,
True)));
- Table.States (1012).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 269, 2)));
- Table.States (1012).Minimal_Complete_Actions_Recursive := True;
- Table.States (1013).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1013), 97, Reduce, (221, 1), 0, null,
null);
- Add_Action (Table.States (1013), 105, 150);
- Table.States (1013).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1013), 221, 1127);
- Table.States (1013).Kernel := To_Vector ((0 => (265, 24, 1,
False)));
- Table.States (1013).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 0)));
- Table.States (1014).Action_List.Set_Capacity (4);
- Add_Action (Table.States (1014), 79, 31);
- Add_Action (Table.States (1014), 105, 120);
- Add_Action (Table.States (1014), 106, 34);
- Add_Action (Table.States (1014), 107, 35);
- Table.States (1014).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (1014), 129, 42);
- Add_Goto (Table.States (1014), 228, 1128);
- Add_Goto (Table.States (1014), 240, 850);
- Add_Goto (Table.States (1014), 273, 93);
- Add_Goto (Table.States (1014), 294, 98);
- Table.States (1014).Kernel := To_Vector ((0 => (272, 39, 4,
False)));
- Table.States (1014).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (1015).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1015), 97, 1129);
- Table.States (1015).Kernel := To_Vector ((0 => (272, 267, 1,
False)));
- Table.States (1015).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1129)));
- Table.States (1016).Action_List.Set_Capacity (4);
- Add_Action (Table.States (1016), 79, 31);
- Add_Action (Table.States (1016), 105, 120);
- Add_Action (Table.States (1016), 106, 34);
- Add_Action (Table.States (1016), 107, 35);
- Table.States (1016).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (1016), 129, 42);
- Add_Goto (Table.States (1016), 240, 1130);
- Add_Goto (Table.States (1016), 273, 93);
- Add_Goto (Table.States (1016), 294, 98);
- Table.States (1016).Kernel := To_Vector ((0 => (228, 10, 1,
True)));
- Table.States (1016).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (1016).Minimal_Complete_Actions_Recursive := True;
- Table.States (1017).Action_List.Set_Capacity (17);
- Add_Action (Table.States (1017), 24, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (1017), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (1017), 28, 184);
- Add_Action (Table.States (1017), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (1017), 30, 8);
- Add_Action (Table.States (1017), 40, 12);
- Add_Action (Table.States (1017), 46, 14);
- Add_Action (Table.States (1017), 47, 15);
- Add_Action (Table.States (1017), 48, 16);
- Add_Action (Table.States (1017), 49, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (1017), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (1017), 51, 19);
- Add_Action (Table.States (1017), 63, 25);
- Add_Action (Table.States (1017), 66, 26);
- Add_Action (Table.States (1017), 69, 27);
- Add_Action (Table.States (1017), 71, 28);
- Add_Action (Table.States (1017), 105, 186);
- Table.States (1017).Goto_List.Set_Capacity (54);
- Add_Goto (Table.States (1017), 113, 36);
- Add_Goto (Table.States (1017), 122, 38);
- Add_Goto (Table.States (1017), 128, 41);
- Add_Goto (Table.States (1017), 135, 46);
- Add_Goto (Table.States (1017), 136, 47);
- Add_Goto (Table.States (1017), 158, 392);
- Add_Goto (Table.States (1017), 159, 393);
- Add_Goto (Table.States (1017), 160, 675);
- Add_Goto (Table.States (1017), 180, 55);
- Add_Goto (Table.States (1017), 183, 56);
- Add_Goto (Table.States (1017), 187, 57);
- Add_Goto (Table.States (1017), 194, 59);
- Add_Goto (Table.States (1017), 207, 61);
- Add_Goto (Table.States (1017), 208, 62);
- Add_Goto (Table.States (1017), 210, 63);
- Add_Goto (Table.States (1017), 211, 64);
- Add_Goto (Table.States (1017), 214, 65);
- Add_Goto (Table.States (1017), 215, 66);
- Add_Goto (Table.States (1017), 216, 67);
- Add_Goto (Table.States (1017), 217, 68);
- Add_Goto (Table.States (1017), 220, 70);
- Add_Goto (Table.States (1017), 224, 72);
- Add_Goto (Table.States (1017), 244, 75);
- Add_Goto (Table.States (1017), 245, 76);
- Add_Goto (Table.States (1017), 246, 77);
- Add_Goto (Table.States (1017), 247, 78);
- Add_Goto (Table.States (1017), 248, 79);
- Add_Goto (Table.States (1017), 249, 80);
- Add_Goto (Table.States (1017), 250, 81);
- Add_Goto (Table.States (1017), 251, 82);
- Add_Goto (Table.States (1017), 252, 83);
- Add_Goto (Table.States (1017), 258, 395);
- Add_Goto (Table.States (1017), 260, 85);
- Add_Goto (Table.States (1017), 261, 86);
- Add_Goto (Table.States (1017), 263, 88);
- Add_Goto (Table.States (1017), 264, 89);
- Add_Goto (Table.States (1017), 265, 90);
- Add_Goto (Table.States (1017), 266, 91);
- Add_Goto (Table.States (1017), 267, 1131);
- Add_Goto (Table.States (1017), 272, 92);
- Add_Goto (Table.States (1017), 282, 95);
- Add_Goto (Table.States (1017), 290, 96);
- Add_Goto (Table.States (1017), 305, 103);
- Add_Goto (Table.States (1017), 306, 104);
- Add_Goto (Table.States (1017), 308, 106);
- Add_Goto (Table.States (1017), 309, 107);
- Add_Goto (Table.States (1017), 310, 108);
- Add_Goto (Table.States (1017), 312, 109);
- Add_Goto (Table.States (1017), 314, 110);
- Add_Goto (Table.States (1017), 317, 112);
- Add_Goto (Table.States (1017), 318, 113);
- Add_Goto (Table.States (1017), 320, 114);
- Add_Goto (Table.States (1017), 326, 116);
- Add_Goto (Table.States (1017), 332, 117);
- Table.States (1017).Kernel := To_Vector ((0 => (305, 74, 2,
False)));
- Table.States (1017).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 160, 0)));
+ Table.States (1017).Kernel := To_Vector ((0 => ((254, 1), 243,
0, (254, 1), 7)));
+ Table.States (1017).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (254, 1), 7)));
Table.States (1018).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1018), (1 => 97), (267, 1), 3,
protected_definition_1'Access,
- protected_definition_1_check'Access);
- Table.States (1018).Kernel := To_Vector ((0 => (267, 221, 0,
False)));
- Table.States (1018).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 267, 3)));
- Table.States (1019).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1019), 24, 1132);
- Table.States (1019).Kernel := To_Vector ((0 => (267, 160, 1,
False)));
- Table.States (1019).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 1132)));
- Table.States (1020).Action_List.Set_Capacity (15);
- Add_Action (Table.States (1020), 3, 122);
- Add_Action (Table.States (1020), 21, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1020), 39, 123);
- Add_Action (Table.States (1020), 40, 124);
- Add_Action (Table.States (1020), 41, 125);
- Add_Action (Table.States (1020), 52, 126);
- Add_Action (Table.States (1020), 76, 127);
- Add_Action (Table.States (1020), 79, 31);
- Add_Action (Table.States (1020), 95, 128);
- Add_Action (Table.States (1020), 96, 129);
- Add_Action (Table.States (1020), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1020), 104, 130);
- Add_Action (Table.States (1020), 105, 120);
- Add_Action (Table.States (1020), 106, 34);
- Add_Action (Table.States (1020), 107, 35);
- Table.States (1020).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (1020), 118, 131);
- Add_Goto (Table.States (1020), 129, 42);
- Add_Goto (Table.States (1020), 192, 132);
- Add_Goto (Table.States (1020), 193, 1133);
- Add_Goto (Table.States (1020), 198, 134);
- Add_Goto (Table.States (1020), 240, 135);
- Add_Goto (Table.States (1020), 259, 136);
- Add_Goto (Table.States (1020), 273, 93);
- Add_Goto (Table.States (1020), 276, 137);
- Add_Goto (Table.States (1020), 283, 138);
- Add_Goto (Table.States (1020), 284, 139);
- Add_Goto (Table.States (1020), 285, 140);
- Add_Goto (Table.States (1020), 286, 141);
- Add_Goto (Table.States (1020), 287, 142);
- Add_Goto (Table.States (1020), 288, 143);
- Add_Goto (Table.States (1020), 294, 98);
- Add_Goto (Table.States (1020), 302, 144);
- Add_Goto (Table.States (1020), 321, 145);
- Add_Goto (Table.States (1020), 322, 146);
- Add_Goto (Table.States (1020), 331, 147);
- Table.States (1020).Kernel := To_Vector ((0 => (195, 83, 0,
False)));
- Table.States (1020).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (1021).Action_List.Set_Capacity (47);
- Add_Action (Table.States (1021), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (197, 0), 7, extended_return_statement_0'Access, null);
- Table.States (1021).Kernel := To_Vector ((0 => (197, 97, 0,
False)));
- Table.States (1021).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 197, 7)));
- Table.States (1022).Action_List.Set_Capacity (6);
- Add_Action (Table.States (1022), 35, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (1022), 74, 338);
- Add_Action (Table.States (1022), 76, 236);
- Add_Action (Table.States (1022), 85, 238);
- Add_Action (Table.States (1022), 102, 240);
- Add_Action (Table.States (1022), 103, 241);
- Table.States (1022).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (1022), 116, 242);
- Add_Goto (Table.States (1022), 123, 514);
- Add_Goto (Table.States (1022), 323, 243);
- Table.States (1022).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (248, 240, 4, False), (248, 240, 3, False), (273, 240, 3, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True)));
- Table.States (1022).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
+ Add_Action (Table.States (1018), 24, (254, 0), 1133);
+ Table.States (1018).Kernel := To_Vector ((0 => ((254, 0), 162,
1, (2147483647, 0), 0)));
+ Table.States (1018).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (254, 0), 24, 1133)));
+ Table.States (1019).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1019), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (268, 0), 7,
+ protected_body_stub_0'Access, null);
+ Table.States (1019).Kernel := To_Vector ((0 => ((268, 0), 99, 0,
(268, 0), 7)));
+ Table.States (1019).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (268, 0), 7)));
+ Table.States (1020).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1020), 72, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (1020), 76, (180, 0), 1134);
+ Table.States (1020).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (1020), 180, 1135);
+ Add_Goto (Table.States (1020), 202, 347);
+ Add_Goto (Table.States (1020), 256, 1136);
+ Table.States (1020).Kernel := To_Vector ((0 => ((179, 0), 107,
5, (2147483647, 0), 0)));
+ Table.States (1020).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (180, 1), 0)));
+ Table.States (1021).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1021), 35, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (1021), 74, (125, 0), 340);
+ Add_Action (Table.States (1021), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (1021).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1021), 125, 433);
+ Table.States (1021).Kernel := To_Vector ((((310, 0), 315, 4,
(2147483647, 0), 0), ((312, 0), 315, 1,
+ (2147483647, 0), 0)));
+ Table.States (1021).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (1022).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (1022), (24, 25, 28, 29, 40, 46, 50),
(271, 0), 2, null, null);
+ Table.States (1022).Kernel := To_Vector ((0 => ((271, 0), 270,
0, (271, 0), 2)));
+ Table.States (1022).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (271, 0), 2)));
Table.States (1023).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1023), 35, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (1023), 74, 338);
+ Add_Action (Table.States (1023), 99, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (1023), 107, (223, 0), 151);
Table.States (1023).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1023), 123, 524);
- Table.States (1023).Kernel := To_Vector ((0 => (265, 105, 3,
False)));
- Table.States (1023).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (1024).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1024), 35, Reduce, (123, 1), 0, null,
null);
- Add_Action (Table.States (1024), 74, 338);
- Table.States (1024).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1024), 123, 544);
- Table.States (1024).Kernel := To_Vector ((0 => (317, 105, 4,
False)));
- Table.States (1024).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
+ Add_Goto (Table.States (1023), 223, 1137);
+ Table.States (1023).Kernel := To_Vector ((0 => ((267, 0), 24, 1,
(2147483647, 0), 0)));
+ Table.States (1023).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 1), 0)));
+ Table.States (1024).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (1024), 81, (242, 8), 31);
+ Add_Action (Table.States (1024), 107, (242, 5), 120);
+ Add_Action (Table.States (1024), 108, (242, 7), 34);
+ Add_Action (Table.States (1024), 109, (242, 6), 35);
+ Table.States (1024).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (1024), 131, 42);
+ Add_Goto (Table.States (1024), 230, 1138);
+ Add_Goto (Table.States (1024), 242, 859);
+ Add_Goto (Table.States (1024), 275, 93);
+ Add_Goto (Table.States (1024), 296, 98);
+ Table.States (1024).Kernel := To_Vector ((0 => ((274, 0), 39, 4,
(2147483647, 0), 0)));
+ Table.States (1024).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
Table.States (1025).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1025), 35, 591);
- Table.States (1025).Kernel := To_Vector ((0 => (308, 123, 4,
False)));
- Table.States (1025).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 35, 591)));
- Table.States (1026).Action_List.Set_Capacity (47);
- Add_Action (Table.States (1026), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (153, 0), 7, conditional_entry_call_0'Access, null);
- Table.States (1026).Kernel := To_Vector ((0 => (153, 97, 0,
False)));
- Table.States (1026).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 153, 7)));
- Table.States (1027).Action_List.Set_Capacity (47);
- Add_Action (Table.States (1027), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (324, 0), 7, timed_entry_call_0'Access, null);
- Table.States (1027).Kernel := To_Vector ((0 => (324, 97, 0,
False)));
- Table.States (1027).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 324, 7)));
- Table.States (1028).Action_List.Set_Capacity (47);
- Add_Action (Table.States (1028), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (295, 0), 7, selective_accept_0'Access, null);
- Table.States (1028).Kernel := To_Vector ((0 => (295, 97, 0,
False)));
- Table.States (1028).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 295, 7)));
+ Add_Action (Table.States (1025), 99, (274, 1), 1139);
+ Table.States (1025).Kernel := To_Vector ((0 => ((274, 1), 269,
1, (2147483647, 0), 0)));
+ Table.States (1025).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (274, 1), 99, 1139)));
+ Table.States (1026).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (1026), 81, (242, 8), 31);
+ Add_Action (Table.States (1026), 107, (242, 5), 120);
+ Add_Action (Table.States (1026), 108, (242, 7), 34);
+ Add_Action (Table.States (1026), 109, (242, 6), 35);
+ Table.States (1026).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (1026), 131, 42);
+ Add_Goto (Table.States (1026), 242, 1140);
+ Add_Goto (Table.States (1026), 275, 93);
+ Add_Goto (Table.States (1026), 296, 98);
+ Table.States (1026).Kernel := To_Vector ((0 => ((230, 0), 10, 1,
(2147483647, 0), 0)));
+ Table.States (1026).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (1027).Action_List.Set_Capacity (17);
+ Add_Action (Table.States (1027), 24, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (1027), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (1027), 28, (124, 0), 185);
+ Add_Action (Table.States (1027), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (1027), 30, (213, 0), 8);
+ Add_Action (Table.States (1027), 40, (249, 0), 12);
+ Add_Action (Table.States (1027), 46, (249, 1), 14);
+ Add_Action (Table.States (1027), 47, (216, 0), 15);
+ Add_Action (Table.States (1027), 48, (260, 0), 16);
+ Add_Action (Table.States (1027), 49, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (1027), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (1027), 51, (267, 0), 19);
+ Add_Action (Table.States (1027), 63, (316, 0), 25);
+ Add_Action (Table.States (1027), 66, (308, 0), 26);
+ Add_Action (Table.States (1027), 69, (209, 0), 27);
+ Add_Action (Table.States (1027), 71, (334, 0), 28);
+ Add_Action (Table.States (1027), 107, (222, 1), 187);
+ Table.States (1027).Goto_List.Set_Capacity (54);
+ Add_Goto (Table.States (1027), 115, 36);
+ Add_Goto (Table.States (1027), 124, 38);
+ Add_Goto (Table.States (1027), 130, 41);
+ Add_Goto (Table.States (1027), 137, 46);
+ Add_Goto (Table.States (1027), 138, 47);
+ Add_Goto (Table.States (1027), 160, 394);
+ Add_Goto (Table.States (1027), 161, 395);
+ Add_Goto (Table.States (1027), 162, 681);
+ Add_Goto (Table.States (1027), 182, 55);
+ Add_Goto (Table.States (1027), 185, 56);
+ Add_Goto (Table.States (1027), 189, 57);
+ Add_Goto (Table.States (1027), 196, 59);
+ Add_Goto (Table.States (1027), 209, 61);
+ Add_Goto (Table.States (1027), 210, 62);
+ Add_Goto (Table.States (1027), 212, 63);
+ Add_Goto (Table.States (1027), 213, 64);
+ Add_Goto (Table.States (1027), 216, 65);
+ Add_Goto (Table.States (1027), 217, 66);
+ Add_Goto (Table.States (1027), 218, 67);
+ Add_Goto (Table.States (1027), 219, 68);
+ Add_Goto (Table.States (1027), 222, 70);
+ Add_Goto (Table.States (1027), 226, 72);
+ Add_Goto (Table.States (1027), 246, 75);
+ Add_Goto (Table.States (1027), 247, 76);
+ Add_Goto (Table.States (1027), 248, 77);
+ Add_Goto (Table.States (1027), 249, 78);
+ Add_Goto (Table.States (1027), 250, 79);
+ Add_Goto (Table.States (1027), 251, 80);
+ Add_Goto (Table.States (1027), 252, 81);
+ Add_Goto (Table.States (1027), 253, 82);
+ Add_Goto (Table.States (1027), 254, 83);
+ Add_Goto (Table.States (1027), 260, 397);
+ Add_Goto (Table.States (1027), 262, 85);
+ Add_Goto (Table.States (1027), 263, 86);
+ Add_Goto (Table.States (1027), 265, 88);
+ Add_Goto (Table.States (1027), 266, 89);
+ Add_Goto (Table.States (1027), 267, 90);
+ Add_Goto (Table.States (1027), 268, 91);
+ Add_Goto (Table.States (1027), 269, 1141);
+ Add_Goto (Table.States (1027), 274, 92);
+ Add_Goto (Table.States (1027), 284, 95);
+ Add_Goto (Table.States (1027), 292, 96);
+ Add_Goto (Table.States (1027), 307, 103);
+ Add_Goto (Table.States (1027), 308, 104);
+ Add_Goto (Table.States (1027), 310, 106);
+ Add_Goto (Table.States (1027), 311, 107);
+ Add_Goto (Table.States (1027), 312, 108);
+ Add_Goto (Table.States (1027), 314, 109);
+ Add_Goto (Table.States (1027), 316, 110);
+ Add_Goto (Table.States (1027), 319, 112);
+ Add_Goto (Table.States (1027), 320, 113);
+ Add_Goto (Table.States (1027), 322, 114);
+ Add_Goto (Table.States (1027), 328, 116);
+ Add_Goto (Table.States (1027), 334, 117);
+ Table.States (1027).Kernel := To_Vector ((0 => ((307, 0), 74, 2,
(2147483647, 0), 0)));
+ Table.States (1027).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (162, 1), 0)));
+ Table.States (1028).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1028), (1 => 99), (269, 1), 3,
protected_definition_1'Access,
+ protected_definition_1_check'Access);
+ Table.States (1028).Kernel := To_Vector ((0 => ((269, 1), 223,
0, (269, 1), 3)));
+ Table.States (1028).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (269, 1), 3)));
Table.States (1029).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1029), 97, 1134);
- Table.States (1029).Kernel := To_Vector ((0 => (127, 61, 1,
False)));
- Table.States (1029).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1134)));
- Table.States (1030).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1030), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (318, 0), 7,
- task_body_stub_0'Access, null);
- Table.States (1030).Kernel := To_Vector ((0 => (318, 97, 0,
False)));
- Table.States (1030).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 318, 7)));
- Table.States (1031).Action_List.Set_Capacity (25);
- Add_Action (Table.States (1031), 4, 1);
- Add_Action (Table.States (1031), 5, 2);
- Add_Action (Table.States (1031), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1031), 15, 3);
- Add_Action (Table.States (1031), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1031), 18, 4);
- Add_Action (Table.States (1031), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (1031), 26, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (1031), 27, 5);
- Add_Action (Table.States (1031), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1031), 31, 9);
- Add_Action (Table.States (1031), 32, 10);
- Add_Action (Table.States (1031), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1031), 41, 13);
- Add_Action (Table.States (1031), 48, 16);
- Add_Action (Table.States (1031), 52, 20);
- Add_Action (Table.States (1031), 57, 21);
- Add_Action (Table.States (1031), 58, 22);
- Add_Action (Table.States (1031), 61, 24);
- Add_Action (Table.States (1031), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1031), 79, 31);
- Add_Action (Table.States (1031), 94, 32);
- Add_Action (Table.States (1031), 105, 361);
- Add_Action (Table.States (1031), 106, 34);
- Add_Action (Table.States (1031), 107, 35);
- Table.States (1031).Goto_List.Set_Capacity (32);
- Add_Goto (Table.States (1031), 114, 37);
- Add_Goto (Table.States (1031), 124, 39);
- Add_Goto (Table.States (1031), 127, 40);
- Add_Goto (Table.States (1031), 129, 42);
- Add_Goto (Table.States (1031), 132, 43);
- Add_Goto (Table.States (1031), 133, 44);
- Add_Goto (Table.States (1031), 134, 45);
- Add_Goto (Table.States (1031), 140, 48);
- Add_Goto (Table.States (1031), 152, 51);
- Add_Goto (Table.States (1031), 153, 52);
- Add_Goto (Table.States (1031), 162, 54);
- Add_Goto (Table.States (1031), 191, 58);
- Add_Goto (Table.States (1031), 197, 60);
- Add_Goto (Table.States (1031), 218, 69);
- Add_Goto (Table.States (1031), 219, 1135);
- Add_Goto (Table.States (1031), 223, 71);
- Add_Goto (Table.States (1031), 233, 73);
- Add_Goto (Table.States (1031), 240, 74);
- Add_Goto (Table.States (1031), 258, 84);
- Add_Goto (Table.States (1031), 262, 87);
- Add_Goto (Table.States (1031), 273, 93);
- Add_Goto (Table.States (1031), 277, 94);
- Add_Goto (Table.States (1031), 291, 97);
- Add_Goto (Table.States (1031), 294, 98);
- Add_Goto (Table.States (1031), 295, 99);
- Add_Goto (Table.States (1031), 299, 100);
- Add_Goto (Table.States (1031), 300, 362);
- Add_Goto (Table.States (1031), 301, 391);
- Add_Goto (Table.States (1031), 303, 101);
- Add_Goto (Table.States (1031), 304, 102);
- Add_Goto (Table.States (1031), 307, 364);
- Add_Goto (Table.States (1031), 324, 115);
- Table.States (1031).Kernel := To_Vector ((0 => (317, 13, 2,
False)));
- Table.States (1031).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 219, 0)));
- Table.States (1032).Action_List.Set_Capacity (4);
- Add_Action (Table.States (1032), 79, 31);
- Add_Action (Table.States (1032), 105, 120);
- Add_Action (Table.States (1032), 106, 34);
- Add_Action (Table.States (1032), 107, 35);
- Table.States (1032).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (1032), 129, 42);
- Add_Goto (Table.States (1032), 228, 1136);
- Add_Goto (Table.States (1032), 240, 850);
- Add_Goto (Table.States (1032), 273, 93);
- Add_Goto (Table.States (1032), 294, 98);
- Table.States (1032).Kernel := To_Vector ((0 => (320, 39, 4,
False)));
- Table.States (1032).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (1033).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1033), 24, 1137);
- Table.States (1033).Kernel := To_Vector ((0 => (320, 319, 2,
False)));
- Table.States (1033).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 1137)));
- Table.States (1034).Action_List.Set_Capacity (17);
- Add_Action (Table.States (1034), 24, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (1034), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (1034), 28, 184);
- Add_Action (Table.States (1034), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (1034), 30, 8);
- Add_Action (Table.States (1034), 40, 12);
- Add_Action (Table.States (1034), 46, 14);
- Add_Action (Table.States (1034), 47, 15);
- Add_Action (Table.States (1034), 48, 16);
- Add_Action (Table.States (1034), 49, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (1034), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (1034), 51, 19);
- Add_Action (Table.States (1034), 63, 25);
- Add_Action (Table.States (1034), 66, 26);
- Add_Action (Table.States (1034), 69, 27);
- Add_Action (Table.States (1034), 71, 28);
- Add_Action (Table.States (1034), 105, 186);
- Table.States (1034).Goto_List.Set_Capacity (54);
- Add_Goto (Table.States (1034), 113, 36);
- Add_Goto (Table.States (1034), 122, 38);
- Add_Goto (Table.States (1034), 128, 41);
- Add_Goto (Table.States (1034), 135, 46);
- Add_Goto (Table.States (1034), 136, 47);
- Add_Goto (Table.States (1034), 158, 392);
- Add_Goto (Table.States (1034), 159, 393);
- Add_Goto (Table.States (1034), 160, 700);
- Add_Goto (Table.States (1034), 180, 55);
- Add_Goto (Table.States (1034), 183, 56);
- Add_Goto (Table.States (1034), 187, 57);
- Add_Goto (Table.States (1034), 194, 59);
- Add_Goto (Table.States (1034), 207, 61);
- Add_Goto (Table.States (1034), 208, 62);
- Add_Goto (Table.States (1034), 210, 63);
- Add_Goto (Table.States (1034), 211, 64);
- Add_Goto (Table.States (1034), 214, 65);
- Add_Goto (Table.States (1034), 215, 66);
- Add_Goto (Table.States (1034), 216, 67);
- Add_Goto (Table.States (1034), 217, 68);
- Add_Goto (Table.States (1034), 220, 70);
- Add_Goto (Table.States (1034), 224, 72);
- Add_Goto (Table.States (1034), 244, 75);
- Add_Goto (Table.States (1034), 245, 76);
- Add_Goto (Table.States (1034), 246, 77);
- Add_Goto (Table.States (1034), 247, 78);
- Add_Goto (Table.States (1034), 248, 79);
- Add_Goto (Table.States (1034), 249, 80);
- Add_Goto (Table.States (1034), 250, 81);
- Add_Goto (Table.States (1034), 251, 82);
- Add_Goto (Table.States (1034), 252, 83);
- Add_Goto (Table.States (1034), 258, 395);
- Add_Goto (Table.States (1034), 260, 85);
- Add_Goto (Table.States (1034), 261, 86);
- Add_Goto (Table.States (1034), 263, 88);
- Add_Goto (Table.States (1034), 264, 89);
- Add_Goto (Table.States (1034), 265, 90);
- Add_Goto (Table.States (1034), 266, 91);
- Add_Goto (Table.States (1034), 272, 92);
- Add_Goto (Table.States (1034), 282, 95);
- Add_Goto (Table.States (1034), 290, 96);
- Add_Goto (Table.States (1034), 305, 103);
- Add_Goto (Table.States (1034), 306, 104);
- Add_Goto (Table.States (1034), 308, 106);
- Add_Goto (Table.States (1034), 309, 107);
- Add_Goto (Table.States (1034), 310, 108);
- Add_Goto (Table.States (1034), 312, 109);
- Add_Goto (Table.States (1034), 314, 110);
- Add_Goto (Table.States (1034), 317, 112);
- Add_Goto (Table.States (1034), 318, 113);
- Add_Goto (Table.States (1034), 319, 1138);
- Add_Goto (Table.States (1034), 320, 114);
- Add_Goto (Table.States (1034), 326, 116);
- Add_Goto (Table.States (1034), 332, 117);
- Table.States (1034).Kernel := To_Vector ((0 => (306, 74, 2,
False)));
- Table.States (1034).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 319, 0)));
+ Add_Action (Table.States (1029), 24, (269, 0), 1142);
+ Table.States (1029).Kernel := To_Vector ((0 => ((269, 0), 162,
1, (2147483647, 0), 0)));
+ Table.States (1029).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (269, 0), 24, 1142)));
+ Table.States (1030).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (1030), 3, (200, 2), 122);
+ Add_Action (Table.States (1030), 21, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1030), 39, (261, 4), 123);
+ Add_Action (Table.States (1030), 40, (200, 3), 124);
+ Add_Action (Table.States (1030), 41, (261, 1), 125);
+ Add_Action (Table.States (1030), 52, (278, 0), 126);
+ Add_Action (Table.States (1030), 76, (120, 0), 127);
+ Add_Action (Table.States (1030), 77, (120, 5), 128);
+ Add_Action (Table.States (1030), 81, (242, 8), 31);
+ Add_Action (Table.States (1030), 97, (333, 1), 129);
+ Add_Action (Table.States (1030), 98, (333, 0), 130);
+ Add_Action (Table.States (1030), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1030), 106, (261, 0), 131);
+ Add_Action (Table.States (1030), 107, (242, 5), 120);
+ Add_Action (Table.States (1030), 108, (242, 7), 34);
+ Add_Action (Table.States (1030), 109, (242, 6), 35);
+ Table.States (1030).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (1030), 120, 132);
+ Add_Goto (Table.States (1030), 131, 42);
+ Add_Goto (Table.States (1030), 194, 133);
+ Add_Goto (Table.States (1030), 195, 1143);
+ Add_Goto (Table.States (1030), 200, 135);
+ Add_Goto (Table.States (1030), 242, 136);
+ Add_Goto (Table.States (1030), 261, 137);
+ Add_Goto (Table.States (1030), 275, 93);
+ Add_Goto (Table.States (1030), 278, 138);
+ Add_Goto (Table.States (1030), 285, 139);
+ Add_Goto (Table.States (1030), 286, 140);
+ Add_Goto (Table.States (1030), 287, 141);
+ Add_Goto (Table.States (1030), 288, 142);
+ Add_Goto (Table.States (1030), 289, 143);
+ Add_Goto (Table.States (1030), 290, 144);
+ Add_Goto (Table.States (1030), 296, 98);
+ Add_Goto (Table.States (1030), 304, 145);
+ Add_Goto (Table.States (1030), 323, 146);
+ Add_Goto (Table.States (1030), 324, 147);
+ Add_Goto (Table.States (1030), 333, 148);
+ Table.States (1030).Kernel := To_Vector ((0 => ((197, 0), 85, 0,
(195, 1), 0)));
+ Table.States (1030).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (1031).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (1031), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (199, 0), 7, extended_return_statement_0'Access, null);
+ Table.States (1031).Kernel := To_Vector ((0 => ((199, 0), 99, 0,
(199, 0), 7)));
+ Table.States (1031).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (199, 0), 7)));
+ Table.States (1032).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (1032), 35, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (1032), 74, (125, 0), 340);
+ Add_Action (Table.States (1032), 76, (118, 0), 237);
+ Add_Action (Table.States (1032), 87, (296, 0), 239);
+ Add_Action (Table.States (1032), 104, (325, 0), 241);
+ Add_Action (Table.States (1032), 105, (325, 1), 242);
+ Table.States (1032).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (1032), 118, 243);
+ Add_Goto (Table.States (1032), 125, 518);
+ Add_Goto (Table.States (1032), 325, 244);
+ Table.States (1032).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((250, 0), 242, 4, (2147483647, 0), 0),
+ ((250, 1), 242, 3, (2147483647, 0), 0), ((275, 0), 242, 3,
(2147483647, 0), 0), ((296, 0), 242, 2,
+ (2147483647, 0), 0), ((296, 1), 242, 2, (2147483647, 0), 0),
((296, 2), 242, 2, (2147483647, 0), 0),
+ ((296, 3), 242, 2, (2147483647, 0), 0)));
+ Table.States (1032).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (1033).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1033), 35, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (1033), 74, (125, 0), 340);
+ Table.States (1033).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1033), 125, 528);
+ Table.States (1033).Kernel := To_Vector ((0 => ((267, 0), 107,
3, (2147483647, 0), 0)));
+ Table.States (1033).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (1034).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1034), 35, Reduce, (125, 1), 0, null,
null);
+ Add_Action (Table.States (1034), 74, (125, 0), 340);
+ Table.States (1034).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1034), 125, 548);
+ Table.States (1034).Kernel := To_Vector ((0 => ((319, 0), 107,
4, (2147483647, 0), 0)));
+ Table.States (1034).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
Table.States (1035).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1035), (1 => 24), (319, 0), 3,
task_definition_0'Access, null);
- Table.States (1035).Kernel := To_Vector ((0 => (319, 160, 0,
False)));
- Table.States (1035).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 319, 3)));
- Table.States (1036).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1036), 97, 1139);
- Table.States (1036).Kernel := To_Vector ((0 => (306, 221, 1,
False)));
- Table.States (1036).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1139)));
- Table.States (1037).Action_List.Set_Capacity (5);
- Add_Action (Table.States (1037), 7, Reduce, (242, 0), 2, null,
null);
- Add_Action (Table.States (1037), 79, 31);
- Add_Action (Table.States (1037), 105, 1140);
- Add_Action (Table.States (1037), 106, 34);
- Add_Action (Table.States (1037), 107, 35);
- Table.States (1037).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (1037), 129, 42);
- Add_Goto (Table.States (1037), 240, 880);
- Add_Goto (Table.States (1037), 273, 93);
- Add_Goto (Table.States (1037), 294, 1141);
- Table.States (1037).Kernel := To_Vector (((242, 41, 0, False),
(243, 41, 1, False), (243, 41, 3, False)));
- Table.States (1037).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 242, 2)));
- Table.States (1038).Action_List.Set_Capacity (15);
- Add_Action (Table.States (1038), 3, 122);
- Add_Action (Table.States (1038), 39, 123);
- Add_Action (Table.States (1038), 40, 124);
- Add_Action (Table.States (1038), 41, 125);
- Add_Action (Table.States (1038), 52, 126);
- Add_Action (Table.States (1038), 76, 127);
- Add_Action (Table.States (1038), 77, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1038), 79, 31);
- Add_Action (Table.States (1038), 95, 128);
- Add_Action (Table.States (1038), 96, 129);
- Add_Action (Table.States (1038), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1038), 104, 130);
- Add_Action (Table.States (1038), 105, 120);
- Add_Action (Table.States (1038), 106, 34);
- Add_Action (Table.States (1038), 107, 35);
- Table.States (1038).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (1038), 118, 131);
- Add_Goto (Table.States (1038), 129, 42);
- Add_Goto (Table.States (1038), 192, 132);
- Add_Goto (Table.States (1038), 193, 1142);
- Add_Goto (Table.States (1038), 198, 134);
- Add_Goto (Table.States (1038), 240, 135);
- Add_Goto (Table.States (1038), 259, 136);
- Add_Goto (Table.States (1038), 273, 93);
- Add_Goto (Table.States (1038), 276, 137);
- Add_Goto (Table.States (1038), 283, 138);
- Add_Goto (Table.States (1038), 284, 139);
- Add_Goto (Table.States (1038), 285, 140);
- Add_Goto (Table.States (1038), 286, 141);
- Add_Goto (Table.States (1038), 287, 142);
- Add_Goto (Table.States (1038), 288, 143);
- Add_Goto (Table.States (1038), 294, 98);
- Add_Goto (Table.States (1038), 302, 144);
- Add_Goto (Table.States (1038), 321, 145);
- Add_Goto (Table.States (1038), 322, 146);
- Add_Goto (Table.States (1038), 331, 147);
- Table.States (1038).Kernel := To_Vector ((0 => (171, 83, 0,
False)));
- Table.States (1038).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (1039).Action_List.Set_Capacity (15);
- Add_Action (Table.States (1039), 3, 122);
- Add_Action (Table.States (1039), 39, 123);
- Add_Action (Table.States (1039), 40, 124);
- Add_Action (Table.States (1039), 41, 125);
- Add_Action (Table.States (1039), 52, 126);
- Add_Action (Table.States (1039), 76, 127);
- Add_Action (Table.States (1039), 77, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1039), 79, 31);
- Add_Action (Table.States (1039), 95, 128);
- Add_Action (Table.States (1039), 96, 129);
- Add_Action (Table.States (1039), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1039), 104, 130);
- Add_Action (Table.States (1039), 105, 120);
- Add_Action (Table.States (1039), 106, 34);
- Add_Action (Table.States (1039), 107, 35);
- Table.States (1039).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (1039), 118, 131);
- Add_Goto (Table.States (1039), 129, 42);
- Add_Goto (Table.States (1039), 192, 132);
- Add_Goto (Table.States (1039), 193, 1143);
- Add_Goto (Table.States (1039), 198, 134);
- Add_Goto (Table.States (1039), 240, 135);
- Add_Goto (Table.States (1039), 259, 136);
- Add_Goto (Table.States (1039), 273, 93);
- Add_Goto (Table.States (1039), 276, 137);
- Add_Goto (Table.States (1039), 283, 138);
- Add_Goto (Table.States (1039), 284, 139);
- Add_Goto (Table.States (1039), 285, 140);
- Add_Goto (Table.States (1039), 286, 141);
- Add_Goto (Table.States (1039), 287, 142);
- Add_Goto (Table.States (1039), 288, 143);
- Add_Goto (Table.States (1039), 294, 98);
- Add_Goto (Table.States (1039), 302, 144);
- Add_Goto (Table.States (1039), 321, 145);
- Add_Goto (Table.States (1039), 322, 146);
- Add_Goto (Table.States (1039), 331, 147);
- Table.States (1039).Kernel := To_Vector ((0 => (171, 83, 0,
False)));
- Table.States (1039).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (1040).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1040), (41, 49, 54), (112, 0), 3, null,
null);
- Table.States (1040).Kernel := To_Vector ((0 => (112, 36, 0,
False)));
- Table.States (1040).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 112, 3)));
- Table.States (1041).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1041), 77, 1144);
- Add_Action (Table.States (1041), 84, 969);
- Table.States (1041).Kernel := To_Vector (((121, 169, 3, False),
(169, 169, 2, True)));
- Table.States (1041).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 1144)));
- Table.States (1042).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1042), (77, 84), (227, 1), 1, null,
null);
- Table.States (1042).Kernel := To_Vector ((0 => (227, 226, 0,
False)));
- Table.States (1042).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 227, 1)));
- Table.States (1043).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1043), 77, 1145);
- Add_Action (Table.States (1043), 84, 1146);
- Table.States (1043).Kernel := To_Vector (((121, 227, 3, False),
(227, 227, 4, True)));
- Table.States (1043).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 1145)));
- Table.States (1044).Action_List.Set_Capacity (16);
- Add_Action (Table.States (1044), 38, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (1044), 53, 1147);
- Add_Action (Table.States (1044), 55, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (1044), 76, 627);
- Add_Action (Table.States (1044), 77, Reduce, (315, 3), 1,
subtype_indication_3'Access, null);
- Add_Action (Table.States (1044), 78, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (1044), 84, Reduce, (315, 3), 1,
subtype_indication_3'Access, null);
- Add_Action (Table.States (1044), 85, 238);
- Add_Action (Table.States (1044), 86, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (1044), 95, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (1044), 96, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (1044), 98, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (1044), 100, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (1044), 101, Reduce, (259, 3), 1, null,
null);
- Add_Action (Table.States (1044), 102, 240);
- Add_Action (Table.States (1044), 103, 241);
- Table.States (1044).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (1044), 116, 242);
- Add_Goto (Table.States (1044), 156, 628);
- Add_Goto (Table.States (1044), 225, 629);
- Add_Goto (Table.States (1044), 323, 451);
- Table.States (1044).Kernel := To_Vector (((129, 240, 2, True),
(226, 240, 2, False), (240, 240, 5, True),
- (240, 240, 2, True), (259, 240, 0, False), (273, 240, 3, True),
(278, 240, 4, False), (278, 240, 2, False),
- (294, 240, 2, True), (294, 240, 2, True), (294, 240, 2, True),
(294, 240, 2, True), (315, 240, 4, False),
- (315, 240, 0, False)));
- Table.States (1044).Minimal_Complete_Actions := To_Vector
(((Reduce, 259, 1), (Reduce, 315, 1)));
- Table.States (1045).Action_List.Set_Capacity (16);
- Add_Action (Table.States (1045), 3, 122);
- Add_Action (Table.States (1045), 39, 123);
- Add_Action (Table.States (1045), 40, 124);
- Add_Action (Table.States (1045), 41, 125);
- Add_Action (Table.States (1045), 52, 126);
- Add_Action (Table.States (1045), 53, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1045), 74, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1045), 76, 127);
- Add_Action (Table.States (1045), 79, 31);
- Add_Action (Table.States (1045), 95, 128);
- Add_Action (Table.States (1045), 96, 129);
- Add_Action (Table.States (1045), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1045), 104, 130);
- Add_Action (Table.States (1045), 105, 120);
- Add_Action (Table.States (1045), 106, 34);
- Add_Action (Table.States (1045), 107, 35);
- Table.States (1045).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (1045), 118, 131);
- Add_Goto (Table.States (1045), 129, 42);
- Add_Goto (Table.States (1045), 192, 132);
- Add_Goto (Table.States (1045), 193, 1148);
- Add_Goto (Table.States (1045), 198, 134);
- Add_Goto (Table.States (1045), 240, 135);
- Add_Goto (Table.States (1045), 259, 136);
- Add_Goto (Table.States (1045), 273, 93);
- Add_Goto (Table.States (1045), 276, 137);
- Add_Goto (Table.States (1045), 283, 138);
- Add_Goto (Table.States (1045), 284, 139);
- Add_Goto (Table.States (1045), 285, 140);
- Add_Goto (Table.States (1045), 286, 141);
- Add_Goto (Table.States (1045), 287, 142);
- Add_Goto (Table.States (1045), 288, 143);
- Add_Goto (Table.States (1045), 294, 98);
- Add_Goto (Table.States (1045), 302, 144);
- Add_Goto (Table.States (1045), 321, 145);
- Add_Goto (Table.States (1045), 322, 146);
- Add_Goto (Table.States (1045), 331, 147);
- Table.States (1045).Kernel := To_Vector ((0 => (327, 20, 0,
False)));
- Table.States (1045).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (1046).Action_List.Set_Capacity (12);
- Add_Action (Table.States (1046), 3, 122);
- Add_Action (Table.States (1046), 39, 123);
- Add_Action (Table.States (1046), 40, 124);
- Add_Action (Table.States (1046), 41, 125);
- Add_Action (Table.States (1046), 76, 127);
- Add_Action (Table.States (1046), 79, 31);
- Add_Action (Table.States (1046), 95, 128);
- Add_Action (Table.States (1046), 96, 129);
- Add_Action (Table.States (1046), 104, 130);
- Add_Action (Table.States (1046), 105, 120);
- Add_Action (Table.States (1046), 106, 34);
- Add_Action (Table.States (1046), 107, 35);
- Table.States (1046).Goto_List.Set_Capacity (11);
- Add_Goto (Table.States (1046), 118, 131);
- Add_Goto (Table.States (1046), 129, 42);
- Add_Goto (Table.States (1046), 198, 134);
- Add_Goto (Table.States (1046), 240, 135);
- Add_Goto (Table.States (1046), 259, 136);
- Add_Goto (Table.States (1046), 273, 93);
- Add_Goto (Table.States (1046), 294, 98);
- Add_Goto (Table.States (1046), 302, 1149);
- Add_Goto (Table.States (1046), 321, 145);
- Add_Goto (Table.States (1046), 322, 146);
- Add_Goto (Table.States (1046), 331, 147);
- Table.States (1046).Kernel := To_Vector ((0 => (280, 53, 3,
False)));
- Table.States (1046).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (1047).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1047), (74, 97), (327, 5), 3, null,
null);
- Table.States (1047).Kernel := To_Vector ((0 => (327, 280, 0,
False)));
- Table.States (1047).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 327, 3)));
- Table.States (1048).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1048), (74, 97), (327, 3), 3, null,
null);
- Table.States (1048).Kernel := To_Vector ((0 => (327, 280, 0,
False)));
- Table.States (1048).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 327, 3)));
- Table.States (1049).Action_List.Set_Capacity (4);
- Add_Action (Table.States (1049), 79, 31);
- Add_Action (Table.States (1049), 105, 120);
- Add_Action (Table.States (1049), 106, 34);
- Add_Action (Table.States (1049), 107, 35);
- Table.States (1049).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (1049), 129, 42);
- Add_Goto (Table.States (1049), 228, 1150);
- Add_Goto (Table.States (1049), 240, 850);
- Add_Goto (Table.States (1049), 273, 93);
- Add_Goto (Table.States (1049), 294, 98);
- Table.States (1049).Kernel := To_Vector ((0 => (229, 10, 1,
False)));
- Table.States (1049).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (1050).Action_List.Set_Capacity (4);
- Add_Action (Table.States (1050), 79, 31);
- Add_Action (Table.States (1050), 105, 120);
- Add_Action (Table.States (1050), 106, 34);
- Add_Action (Table.States (1050), 107, 35);
- Table.States (1050).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (1050), 129, 42);
- Add_Goto (Table.States (1050), 228, 1151);
- Add_Goto (Table.States (1050), 240, 850);
- Add_Goto (Table.States (1050), 273, 93);
- Add_Goto (Table.States (1050), 294, 98);
- Table.States (1050).Kernel := To_Vector ((0 => (229, 10, 1,
False)));
- Table.States (1050).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- end Subr_18;
- procedure Subr_19
+ Add_Action (Table.States (1035), 35, (310, 0), 595);
+ Table.States (1035).Kernel := To_Vector ((0 => ((310, 0), 125,
4, (2147483647, 0), 0)));
+ Table.States (1035).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (310, 0), 35, 595)));
+ Table.States (1036).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (1036), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (155, 0), 7, conditional_entry_call_0'Access, null);
+ Table.States (1036).Kernel := To_Vector ((0 => ((155, 0), 99, 0,
(155, 0), 7)));
+ Table.States (1036).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (155, 0), 7)));
+ Table.States (1037).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (1037), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (326, 0), 7, timed_entry_call_0'Access, null);
+ Table.States (1037).Kernel := To_Vector ((0 => ((326, 0), 99, 0,
(326, 0), 7)));
+ Table.States (1037).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (326, 0), 7)));
+ Table.States (1038).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (1038), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (297, 0), 7, selective_accept_0'Access, null);
+ Table.States (1038).Kernel := To_Vector ((0 => ((297, 0), 99, 0,
(297, 0), 7)));
+ Table.States (1038).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (297, 0), 7)));
+ Table.States (1039).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1039), 99, (129, 0), 1144);
+ Table.States (1039).Kernel := To_Vector ((0 => ((129, 0), 61, 1,
(2147483647, 0), 0)));
+ Table.States (1039).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (129, 0), 99, 1144)));
+ Table.States (1040).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1040), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (320, 0), 7,
+ task_body_stub_0'Access, null);
+ Table.States (1040).Kernel := To_Vector ((0 => ((320, 0), 99, 0,
(320, 0), 7)));
+ Table.States (1040).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (320, 0), 7)));
+ Table.States (1041).Action_List.Set_Capacity (25);
+ Add_Action (Table.States (1041), 4, (116, 0), 1);
+ Add_Action (Table.States (1041), 5, (306, 8), 2);
+ Add_Action (Table.States (1041), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1041), 15, (142, 0), 3);
+ Add_Action (Table.States (1041), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1041), 18, (164, 0), 4);
+ Add_Action (Table.States (1041), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (1041), 26, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (1041), 27, (193, 0), 5);
+ Add_Action (Table.States (1041), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1041), 31, (306, 3), 9);
+ Add_Action (Table.States (1041), 32, (225, 0), 10);
+ Add_Action (Table.States (1041), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1041), 41, (306, 0), 13);
+ Add_Action (Table.States (1041), 48, (260, 0), 16);
+ Add_Action (Table.States (1041), 52, (279, 0), 20);
+ Add_Action (Table.States (1041), 57, (293, 0), 21);
+ Add_Action (Table.States (1041), 58, (199, 0), 22);
+ Add_Action (Table.States (1041), 61, (129, 0), 24);
+ Add_Action (Table.States (1041), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1041), 81, (242, 8), 31);
+ Add_Action (Table.States (1041), 96, (220, 0), 32);
+ Add_Action (Table.States (1041), 107, (134, 0), 363);
+ Add_Action (Table.States (1041), 108, (242, 7), 34);
+ Add_Action (Table.States (1041), 109, (242, 6), 35);
+ Table.States (1041).Goto_List.Set_Capacity (32);
+ Add_Goto (Table.States (1041), 116, 37);
+ Add_Goto (Table.States (1041), 126, 39);
+ Add_Goto (Table.States (1041), 129, 40);
+ Add_Goto (Table.States (1041), 131, 42);
+ Add_Goto (Table.States (1041), 134, 43);
+ Add_Goto (Table.States (1041), 135, 44);
+ Add_Goto (Table.States (1041), 136, 45);
+ Add_Goto (Table.States (1041), 142, 48);
+ Add_Goto (Table.States (1041), 154, 51);
+ Add_Goto (Table.States (1041), 155, 52);
+ Add_Goto (Table.States (1041), 164, 54);
+ Add_Goto (Table.States (1041), 193, 58);
+ Add_Goto (Table.States (1041), 199, 60);
+ Add_Goto (Table.States (1041), 220, 69);
+ Add_Goto (Table.States (1041), 221, 1145);
+ Add_Goto (Table.States (1041), 225, 71);
+ Add_Goto (Table.States (1041), 235, 73);
+ Add_Goto (Table.States (1041), 242, 74);
+ Add_Goto (Table.States (1041), 260, 84);
+ Add_Goto (Table.States (1041), 264, 87);
+ Add_Goto (Table.States (1041), 275, 93);
+ Add_Goto (Table.States (1041), 279, 94);
+ Add_Goto (Table.States (1041), 293, 97);
+ Add_Goto (Table.States (1041), 296, 98);
+ Add_Goto (Table.States (1041), 297, 99);
+ Add_Goto (Table.States (1041), 301, 100);
+ Add_Goto (Table.States (1041), 302, 364);
+ Add_Goto (Table.States (1041), 303, 393);
+ Add_Goto (Table.States (1041), 305, 101);
+ Add_Goto (Table.States (1041), 306, 102);
+ Add_Goto (Table.States (1041), 309, 366);
+ Add_Goto (Table.States (1041), 326, 115);
+ Table.States (1041).Kernel := To_Vector ((0 => ((319, 0), 13, 2,
(2147483647, 0), 0)));
+ Table.States (1041).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (221, 1), 0)));
+ Table.States (1042).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (1042), 81, (242, 8), 31);
+ Add_Action (Table.States (1042), 107, (242, 5), 120);
+ Add_Action (Table.States (1042), 108, (242, 7), 34);
+ Add_Action (Table.States (1042), 109, (242, 6), 35);
+ Table.States (1042).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (1042), 131, 42);
+ Add_Goto (Table.States (1042), 230, 1146);
+ Add_Goto (Table.States (1042), 242, 859);
+ Add_Goto (Table.States (1042), 275, 93);
+ Add_Goto (Table.States (1042), 296, 98);
+ Table.States (1042).Kernel := To_Vector ((0 => ((322, 0), 39, 4,
(2147483647, 0), 0)));
+ Table.States (1042).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (1043).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1043), 24, (322, 1), 1147);
+ Table.States (1043).Kernel := To_Vector ((0 => ((322, 1), 321,
2, (2147483647, 0), 0)));
+ Table.States (1043).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (322, 1), 24, 1147)));
+ Table.States (1044).Action_List.Set_Capacity (17);
+ Add_Action (Table.States (1044), 24, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (1044), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (1044), 28, (124, 0), 185);
+ Add_Action (Table.States (1044), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (1044), 30, (213, 0), 8);
+ Add_Action (Table.States (1044), 40, (249, 0), 12);
+ Add_Action (Table.States (1044), 46, (249, 1), 14);
+ Add_Action (Table.States (1044), 47, (216, 0), 15);
+ Add_Action (Table.States (1044), 48, (260, 0), 16);
+ Add_Action (Table.States (1044), 49, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (1044), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (1044), 51, (267, 0), 19);
+ Add_Action (Table.States (1044), 63, (316, 0), 25);
+ Add_Action (Table.States (1044), 66, (308, 0), 26);
+ Add_Action (Table.States (1044), 69, (209, 0), 27);
+ Add_Action (Table.States (1044), 71, (334, 0), 28);
+ Add_Action (Table.States (1044), 107, (222, 1), 187);
+ Table.States (1044).Goto_List.Set_Capacity (54);
+ Add_Goto (Table.States (1044), 115, 36);
+ Add_Goto (Table.States (1044), 124, 38);
+ Add_Goto (Table.States (1044), 130, 41);
+ Add_Goto (Table.States (1044), 137, 46);
+ Add_Goto (Table.States (1044), 138, 47);
+ Add_Goto (Table.States (1044), 160, 394);
+ Add_Goto (Table.States (1044), 161, 395);
+ Add_Goto (Table.States (1044), 162, 706);
+ Add_Goto (Table.States (1044), 182, 55);
+ Add_Goto (Table.States (1044), 185, 56);
+ Add_Goto (Table.States (1044), 189, 57);
+ Add_Goto (Table.States (1044), 196, 59);
+ Add_Goto (Table.States (1044), 209, 61);
+ Add_Goto (Table.States (1044), 210, 62);
+ Add_Goto (Table.States (1044), 212, 63);
+ Add_Goto (Table.States (1044), 213, 64);
+ Add_Goto (Table.States (1044), 216, 65);
+ Add_Goto (Table.States (1044), 217, 66);
+ Add_Goto (Table.States (1044), 218, 67);
+ Add_Goto (Table.States (1044), 219, 68);
+ Add_Goto (Table.States (1044), 222, 70);
+ Add_Goto (Table.States (1044), 226, 72);
+ Add_Goto (Table.States (1044), 246, 75);
+ Add_Goto (Table.States (1044), 247, 76);
+ Add_Goto (Table.States (1044), 248, 77);
+ Add_Goto (Table.States (1044), 249, 78);
+ Add_Goto (Table.States (1044), 250, 79);
+ Add_Goto (Table.States (1044), 251, 80);
+ Add_Goto (Table.States (1044), 252, 81);
+ Add_Goto (Table.States (1044), 253, 82);
+ Add_Goto (Table.States (1044), 254, 83);
+ Add_Goto (Table.States (1044), 260, 397);
+ Add_Goto (Table.States (1044), 262, 85);
+ Add_Goto (Table.States (1044), 263, 86);
+ Add_Goto (Table.States (1044), 265, 88);
+ Add_Goto (Table.States (1044), 266, 89);
+ Add_Goto (Table.States (1044), 267, 90);
+ Add_Goto (Table.States (1044), 268, 91);
+ Add_Goto (Table.States (1044), 274, 92);
+ Add_Goto (Table.States (1044), 284, 95);
+ Add_Goto (Table.States (1044), 292, 96);
+ Add_Goto (Table.States (1044), 307, 103);
+ Add_Goto (Table.States (1044), 308, 104);
+ Add_Goto (Table.States (1044), 310, 106);
+ Add_Goto (Table.States (1044), 311, 107);
+ Add_Goto (Table.States (1044), 312, 108);
+ Add_Goto (Table.States (1044), 314, 109);
+ Add_Goto (Table.States (1044), 316, 110);
+ Add_Goto (Table.States (1044), 319, 112);
+ Add_Goto (Table.States (1044), 320, 113);
+ Add_Goto (Table.States (1044), 321, 1148);
+ Add_Goto (Table.States (1044), 322, 114);
+ Add_Goto (Table.States (1044), 328, 116);
+ Add_Goto (Table.States (1044), 334, 117);
+ Table.States (1044).Kernel := To_Vector ((0 => ((308, 0), 74, 2,
(2147483647, 0), 0)));
+ Table.States (1044).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (321, 1), 0)));
+ Table.States (1045).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1045), (1 => 24), (321, 0), 3,
task_definition_0'Access, null);
+ Table.States (1045).Kernel := To_Vector ((0 => ((321, 0), 162,
0, (321, 0), 3)));
+ Table.States (1045).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (321, 0), 3)));
+ Table.States (1046).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1046), 99, (308, 1), 1149);
+ Table.States (1046).Kernel := To_Vector ((0 => ((308, 1), 223,
1, (2147483647, 0), 0)));
+ Table.States (1046).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (308, 1), 99, 1149)));
+ Table.States (1047).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (1047), 7, Reduce, (244, 0), 2, null,
null);
+ Add_Action (Table.States (1047), 81, (242, 8), 31);
+ Add_Action (Table.States (1047), 107, (242, 5), 1150);
+ Add_Action (Table.States (1047), 108, (242, 7), 34);
+ Add_Action (Table.States (1047), 109, (242, 6), 35);
+ Table.States (1047).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (1047), 131, 42);
+ Add_Goto (Table.States (1047), 242, 889);
+ Add_Goto (Table.States (1047), 275, 93);
+ Add_Goto (Table.States (1047), 296, 1151);
+ Table.States (1047).Kernel := To_Vector ((((244, 0), 41, 0,
(244, 0), 2), ((245, 2), 41, 1,
+ (2147483647, 0), 0), ((245, 3), 41, 3, (2147483647, 0), 0)));
+ Table.States (1047).Minimal_Complete_Actions := To_Vector
(((Reduce, (244, 0), 2), (Shift, (242, 5), 107,
+ 1150)));
+ Table.States (1048).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (1048), 3, (200, 2), 122);
+ Add_Action (Table.States (1048), 39, (261, 4), 123);
+ Add_Action (Table.States (1048), 40, (200, 3), 124);
+ Add_Action (Table.States (1048), 41, (261, 1), 125);
+ Add_Action (Table.States (1048), 52, (278, 0), 126);
+ Add_Action (Table.States (1048), 76, (120, 0), 127);
+ Add_Action (Table.States (1048), 77, (120, 5), 128);
+ Add_Action (Table.States (1048), 78, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1048), 81, (242, 8), 31);
+ Add_Action (Table.States (1048), 97, (333, 1), 129);
+ Add_Action (Table.States (1048), 98, (333, 0), 130);
+ Add_Action (Table.States (1048), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1048), 106, (261, 0), 131);
+ Add_Action (Table.States (1048), 107, (242, 5), 120);
+ Add_Action (Table.States (1048), 108, (242, 7), 34);
+ Add_Action (Table.States (1048), 109, (242, 6), 35);
+ Table.States (1048).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (1048), 120, 132);
+ Add_Goto (Table.States (1048), 131, 42);
+ Add_Goto (Table.States (1048), 194, 133);
+ Add_Goto (Table.States (1048), 195, 1152);
+ Add_Goto (Table.States (1048), 200, 135);
+ Add_Goto (Table.States (1048), 242, 136);
+ Add_Goto (Table.States (1048), 261, 137);
+ Add_Goto (Table.States (1048), 275, 93);
+ Add_Goto (Table.States (1048), 278, 138);
+ Add_Goto (Table.States (1048), 285, 139);
+ Add_Goto (Table.States (1048), 286, 140);
+ Add_Goto (Table.States (1048), 287, 141);
+ Add_Goto (Table.States (1048), 288, 142);
+ Add_Goto (Table.States (1048), 289, 143);
+ Add_Goto (Table.States (1048), 290, 144);
+ Add_Goto (Table.States (1048), 296, 98);
+ Add_Goto (Table.States (1048), 304, 145);
+ Add_Goto (Table.States (1048), 323, 146);
+ Add_Goto (Table.States (1048), 324, 147);
+ Add_Goto (Table.States (1048), 333, 148);
+ Table.States (1048).Kernel := To_Vector ((0 => ((173, 1), 85, 0,
(195, 1), 0)));
+ Table.States (1048).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (1049).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (1049), 3, (200, 2), 122);
+ Add_Action (Table.States (1049), 39, (261, 4), 123);
+ Add_Action (Table.States (1049), 40, (200, 3), 124);
+ Add_Action (Table.States (1049), 41, (261, 1), 125);
+ Add_Action (Table.States (1049), 52, (278, 0), 126);
+ Add_Action (Table.States (1049), 76, (120, 0), 127);
+ Add_Action (Table.States (1049), 77, (120, 5), 128);
+ Add_Action (Table.States (1049), 78, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1049), 81, (242, 8), 31);
+ Add_Action (Table.States (1049), 97, (333, 1), 129);
+ Add_Action (Table.States (1049), 98, (333, 0), 130);
+ Add_Action (Table.States (1049), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1049), 106, (261, 0), 131);
+ Add_Action (Table.States (1049), 107, (242, 5), 120);
+ Add_Action (Table.States (1049), 108, (242, 7), 34);
+ Add_Action (Table.States (1049), 109, (242, 6), 35);
+ Table.States (1049).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (1049), 120, 132);
+ Add_Goto (Table.States (1049), 131, 42);
+ Add_Goto (Table.States (1049), 194, 133);
+ Add_Goto (Table.States (1049), 195, 1153);
+ Add_Goto (Table.States (1049), 200, 135);
+ Add_Goto (Table.States (1049), 242, 136);
+ Add_Goto (Table.States (1049), 261, 137);
+ Add_Goto (Table.States (1049), 275, 93);
+ Add_Goto (Table.States (1049), 278, 138);
+ Add_Goto (Table.States (1049), 285, 139);
+ Add_Goto (Table.States (1049), 286, 140);
+ Add_Goto (Table.States (1049), 287, 141);
+ Add_Goto (Table.States (1049), 288, 142);
+ Add_Goto (Table.States (1049), 289, 143);
+ Add_Goto (Table.States (1049), 290, 144);
+ Add_Goto (Table.States (1049), 296, 98);
+ Add_Goto (Table.States (1049), 304, 145);
+ Add_Goto (Table.States (1049), 323, 146);
+ Add_Goto (Table.States (1049), 324, 147);
+ Add_Goto (Table.States (1049), 333, 148);
+ Table.States (1049).Kernel := To_Vector ((0 => ((173, 0), 85, 0,
(195, 1), 0)));
+ Table.States (1049).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (1050).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1050), (41, 49, 54), (114, 0), 3, null,
null);
+ Table.States (1050).Kernel := To_Vector ((0 => ((114, 0), 36, 0,
(114, 0), 3)));
+ Table.States (1050).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (114, 0), 3)));
+ Table.States (1051).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1051), 78, (123, 1), 1154);
+ Add_Action (Table.States (1051), 86, (171, 0), 979);
+ Table.States (1051).Kernel := To_Vector ((((123, 1), 171, 3,
(2147483647, 0), 0), ((171, 0), 171, 2,
+ (2147483647, 0), 0)));
+ Table.States (1051).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (123, 1), 78, 1154)));
+ Table.States (1052).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1052), (78, 86), (229, 1), 1, null,
null);
+ Table.States (1052).Kernel := To_Vector ((0 => ((229, 1), 228,
0, (229, 1), 1)));
+ Table.States (1052).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (229, 1), 1)));
+ Table.States (1053).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1053), 78, (123, 0), 1155);
+ Add_Action (Table.States (1053), 86, (229, 0), 1156);
+ Table.States (1053).Kernel := To_Vector ((((123, 0), 229, 3,
(2147483647, 0), 0), ((229, 0), 229, 4,
+ (2147483647, 0), 0)));
+ Table.States (1053).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (123, 0), 78, 1155)));
+ Table.States (1054).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (1054), 38, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (1054), 53, (158, 0), 1157);
+ Add_Action (Table.States (1054), 55, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (1054), 76, (118, 0), 633);
+ Add_Action (Table.States (1054), 78, Reduce, (317, 3), 1,
subtype_indication_3'Access, null);
+ Add_Action (Table.States (1054), 80, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (1054), 86, Reduce, (317, 3), 1,
subtype_indication_3'Access, null);
+ Add_Action (Table.States (1054), 87, (296, 0), 239);
+ Add_Action (Table.States (1054), 88, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (1054), 97, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (1054), 98, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (1054), 100, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (1054), 102, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (1054), 103, Reduce, (261, 3), 1, null,
null);
+ Add_Action (Table.States (1054), 104, (325, 0), 241);
+ Add_Action (Table.States (1054), 105, (325, 1), 242);
+ Table.States (1054).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (1054), 118, 243);
+ Add_Goto (Table.States (1054), 158, 634);
+ Add_Goto (Table.States (1054), 227, 635);
+ Add_Goto (Table.States (1054), 325, 454);
+ Table.States (1054).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((228, 0), 242, 2,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((261, 3), 242, 0, (261, 3), 1), ((275, 0), 242, 3,
(2147483647, 0), 0), ((280, 0), 242, 4,
+ (2147483647, 0), 0), ((280, 1), 242, 2, (2147483647, 0), 0),
((296, 0), 242, 2, (2147483647, 0), 0),
+ ((296, 1), 242, 2, (2147483647, 0), 0), ((296, 2), 242, 2,
(2147483647, 0), 0), ((296, 3), 242, 2,
+ (2147483647, 0), 0), ((317, 2), 242, 4, (2147483647, 0), 0),
((317, 3), 242, 0, (317, 3), 1)));
+ Table.States (1054).Minimal_Complete_Actions := To_Vector
(((Shift, (158, 0), 53, 1157), (Reduce, (261,
+ 3), 1), (Reduce, (317, 3), 1)));
+ Table.States (1055).Action_List.Set_Capacity (17);
+ Add_Action (Table.States (1055), 3, (200, 2), 122);
+ Add_Action (Table.States (1055), 39, (261, 4), 123);
+ Add_Action (Table.States (1055), 40, (200, 3), 124);
+ Add_Action (Table.States (1055), 41, (261, 1), 125);
+ Add_Action (Table.States (1055), 52, (278, 0), 126);
+ Add_Action (Table.States (1055), 53, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1055), 74, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1055), 76, (120, 0), 127);
+ Add_Action (Table.States (1055), 77, (120, 5), 128);
+ Add_Action (Table.States (1055), 81, (242, 8), 31);
+ Add_Action (Table.States (1055), 97, (333, 1), 129);
+ Add_Action (Table.States (1055), 98, (333, 0), 130);
+ Add_Action (Table.States (1055), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1055), 106, (261, 0), 131);
+ Add_Action (Table.States (1055), 107, (242, 5), 120);
+ Add_Action (Table.States (1055), 108, (242, 7), 34);
+ Add_Action (Table.States (1055), 109, (242, 6), 35);
+ Table.States (1055).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (1055), 120, 132);
+ Add_Goto (Table.States (1055), 131, 42);
+ Add_Goto (Table.States (1055), 194, 133);
+ Add_Goto (Table.States (1055), 195, 1158);
+ Add_Goto (Table.States (1055), 200, 135);
+ Add_Goto (Table.States (1055), 242, 136);
+ Add_Goto (Table.States (1055), 261, 137);
+ Add_Goto (Table.States (1055), 275, 93);
+ Add_Goto (Table.States (1055), 278, 138);
+ Add_Goto (Table.States (1055), 285, 139);
+ Add_Goto (Table.States (1055), 286, 140);
+ Add_Goto (Table.States (1055), 287, 141);
+ Add_Goto (Table.States (1055), 288, 142);
+ Add_Goto (Table.States (1055), 289, 143);
+ Add_Goto (Table.States (1055), 290, 144);
+ Add_Goto (Table.States (1055), 296, 98);
+ Add_Goto (Table.States (1055), 304, 145);
+ Add_Goto (Table.States (1055), 323, 146);
+ Add_Goto (Table.States (1055), 324, 147);
+ Add_Goto (Table.States (1055), 333, 148);
+ Table.States (1055).Kernel := To_Vector ((0 => ((329, 4), 20, 0,
(195, 1), 0)));
+ Table.States (1055).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (1056).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (1056), 3, (200, 2), 122);
+ Add_Action (Table.States (1056), 39, (261, 4), 123);
+ Add_Action (Table.States (1056), 40, (200, 3), 124);
+ Add_Action (Table.States (1056), 41, (261, 1), 125);
+ Add_Action (Table.States (1056), 76, (120, 0), 127);
+ Add_Action (Table.States (1056), 77, (120, 5), 128);
+ Add_Action (Table.States (1056), 81, (242, 8), 31);
+ Add_Action (Table.States (1056), 97, (333, 1), 129);
+ Add_Action (Table.States (1056), 98, (333, 0), 130);
+ Add_Action (Table.States (1056), 106, (261, 0), 131);
+ Add_Action (Table.States (1056), 107, (242, 5), 120);
+ Add_Action (Table.States (1056), 108, (242, 7), 34);
+ Add_Action (Table.States (1056), 109, (242, 6), 35);
+ Table.States (1056).Goto_List.Set_Capacity (11);
+ Add_Goto (Table.States (1056), 120, 132);
+ Add_Goto (Table.States (1056), 131, 42);
+ Add_Goto (Table.States (1056), 200, 135);
+ Add_Goto (Table.States (1056), 242, 136);
+ Add_Goto (Table.States (1056), 261, 137);
+ Add_Goto (Table.States (1056), 275, 93);
+ Add_Goto (Table.States (1056), 296, 98);
+ Add_Goto (Table.States (1056), 304, 1159);
+ Add_Goto (Table.States (1056), 323, 146);
+ Add_Goto (Table.States (1056), 324, 147);
+ Add_Goto (Table.States (1056), 333, 148);
+ Table.States (1056).Kernel := To_Vector ((0 => ((282, 0), 53, 3,
(2147483647, 0), 0)));
+ Table.States (1056).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (1057).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1057), (74, 99), (329, 5), 3, null,
null);
+ Table.States (1057).Kernel := To_Vector ((0 => ((329, 5), 282,
0, (329, 5), 3)));
+ Table.States (1057).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (329, 5), 3)));
+ Table.States (1058).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1058), (74, 99), (329, 3), 3, null,
null);
+ Table.States (1058).Kernel := To_Vector ((0 => ((329, 3), 282,
0, (329, 3), 3)));
+ Table.States (1058).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (329, 3), 3)));
+ Table.States (1059).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (1059), 81, (242, 8), 31);
+ Add_Action (Table.States (1059), 107, (242, 5), 120);
+ Add_Action (Table.States (1059), 108, (242, 7), 34);
+ Add_Action (Table.States (1059), 109, (242, 6), 35);
+ Table.States (1059).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (1059), 131, 42);
+ Add_Goto (Table.States (1059), 230, 1160);
+ Add_Goto (Table.States (1059), 242, 859);
+ Add_Goto (Table.States (1059), 275, 93);
+ Add_Goto (Table.States (1059), 296, 98);
+ Table.States (1059).Kernel := To_Vector ((0 => ((231, 0), 10, 1,
(2147483647, 0), 0)));
+ Table.States (1059).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (1060).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (1060), 81, (242, 8), 31);
+ Add_Action (Table.States (1060), 107, (242, 5), 120);
+ Add_Action (Table.States (1060), 108, (242, 7), 34);
+ Add_Action (Table.States (1060), 109, (242, 6), 35);
+ Table.States (1060).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (1060), 131, 42);
+ Add_Goto (Table.States (1060), 230, 1161);
+ Add_Goto (Table.States (1060), 242, 859);
+ Add_Goto (Table.States (1060), 275, 93);
+ Add_Goto (Table.States (1060), 296, 98);
+ Table.States (1060).Kernel := To_Vector ((0 => ((231, 2), 10, 1,
(2147483647, 0), 0)));
+ Table.States (1060).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (1061).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (1061), 3, (200, 2), 122);
+ Add_Action (Table.States (1061), 39, (261, 4), 123);
+ Add_Action (Table.States (1061), 40, (200, 3), 124);
+ Add_Action (Table.States (1061), 41, (261, 1), 125);
+ Add_Action (Table.States (1061), 76, (120, 0), 127);
+ Add_Action (Table.States (1061), 77, (120, 5), 128);
+ Add_Action (Table.States (1061), 81, (242, 8), 31);
+ Add_Action (Table.States (1061), 97, (333, 1), 129);
+ Add_Action (Table.States (1061), 98, (333, 0), 130);
+ Add_Action (Table.States (1061), 106, (261, 0), 131);
+ Add_Action (Table.States (1061), 107, (242, 5), 120);
+ Add_Action (Table.States (1061), 108, (242, 7), 34);
+ Add_Action (Table.States (1061), 109, (242, 6), 35);
+ Table.States (1061).Goto_List.Set_Capacity (11);
+ Add_Goto (Table.States (1061), 120, 132);
+ Add_Goto (Table.States (1061), 131, 42);
+ Add_Goto (Table.States (1061), 200, 135);
+ Add_Goto (Table.States (1061), 242, 136);
+ Add_Goto (Table.States (1061), 261, 137);
+ Add_Goto (Table.States (1061), 275, 93);
+ Add_Goto (Table.States (1061), 296, 98);
+ Add_Goto (Table.States (1061), 304, 1162);
+ Add_Goto (Table.States (1061), 323, 146);
+ Add_Goto (Table.States (1061), 324, 147);
+ Add_Goto (Table.States (1061), 333, 148);
+ Table.States (1061).Kernel := To_Vector ((0 => ((329, 1), 88, 1,
(2147483647, 0), 0)));
+ Table.States (1061).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (1062).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1062), (1 => 35), (166, 0), 1, null,
null);
+ Table.States (1062).Kernel := To_Vector ((0 => ((166, 0), 107,
0, (166, 0), 1)));
+ Table.States (1062).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (166, 0), 1)));
+ Table.States (1063).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1063), (1 => 35), (166, 1), 1, null,
null);
+ Table.States (1063).Kernel := To_Vector ((0 => ((166, 1), 108,
0, (166, 1), 1)));
+ Table.States (1063).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (166, 1), 1)));
+ Table.States (1064).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1064), (1 => 35), (167, 0), 1, null,
null);
+ Table.States (1064).Kernel := To_Vector ((0 => ((167, 0), 166,
0, (167, 0), 1)));
+ Table.States (1064).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (167, 0), 1)));
+ Table.States (1065).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1065), 35, (330, 0), 1163);
+ Table.States (1065).Kernel := To_Vector ((0 => ((330, 0), 167,
6, (2147483647, 0), 0)));
+ Table.States (1065).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (330, 0), 35, 1163)));
+ Table.States (1066).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (1066), (15, 24, 28, 72, 107), (152, 4),
2, component_list_4'Access, null);
+ Table.States (1066).Kernel := To_Vector ((0 => ((152, 4), 99, 0,
(152, 4), 2)));
+ Table.States (1066).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (152, 4), 2)));
+ Table.States (1067).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (1067), (15, 24, 28, 72, 107), (152, 0),
2, null, null);
+ Table.States (1067).Kernel := To_Vector ((0 => ((152, 0), 151,
0, (152, 0), 2)));
+ Table.States (1067).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (152, 0), 2)));
+ Table.States (1068).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (1068), (15, 24, 28, 72, 107), (152, 1),
2, null, null);
+ Table.States (1068).Kernel := To_Vector ((0 => ((152, 1), 330,
0, (152, 1), 2)));
+ Table.States (1068).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (152, 1), 2)));
+ Table.States (1069).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1069), 54, (283, 0), 1164);
+ Table.States (1069).Kernel := To_Vector ((0 => ((283, 0), 24, 1,
(2147483647, 0), 0)));
+ Table.States (1069).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (283, 0), 54, 1164)));
+ Table.States (1070).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (1070), 7, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (1070), 8, (150, 0), 1165);
+ Add_Action (Table.States (1070), 40, (244, 0), 756);
+ Add_Action (Table.States (1070), 81, (242, 8), 31);
+ Add_Action (Table.States (1070), 107, (242, 5), 120);
+ Add_Action (Table.States (1070), 108, (242, 7), 34);
+ Add_Action (Table.States (1070), 109, (242, 6), 35);
+ Table.States (1070).Goto_List.Set_Capacity (8);
+ Add_Goto (Table.States (1070), 117, 1166);
+ Add_Goto (Table.States (1070), 131, 42);
+ Add_Goto (Table.States (1070), 150, 1167);
+ Add_Goto (Table.States (1070), 242, 491);
+ Add_Goto (Table.States (1070), 244, 735);
+ Add_Goto (Table.States (1070), 275, 93);
+ Add_Goto (Table.States (1070), 296, 98);
+ Add_Goto (Table.States (1070), 317, 1168);
+ Table.States (1070).Kernel := To_Vector ((((149, 0), 84, 3,
(2147483647, 0), 0), ((149, 1), 84, 2,
+ (2147483647, 0), 0)));
+ Table.States (1070).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ end Subr_19;
+ procedure Subr_20
is begin
- Table.States (1051).Action_List.Set_Capacity (12);
- Add_Action (Table.States (1051), 3, 122);
- Add_Action (Table.States (1051), 39, 123);
- Add_Action (Table.States (1051), 40, 124);
- Add_Action (Table.States (1051), 41, 125);
- Add_Action (Table.States (1051), 76, 127);
- Add_Action (Table.States (1051), 79, 31);
- Add_Action (Table.States (1051), 95, 128);
- Add_Action (Table.States (1051), 96, 129);
- Add_Action (Table.States (1051), 104, 130);
- Add_Action (Table.States (1051), 105, 120);
- Add_Action (Table.States (1051), 106, 34);
- Add_Action (Table.States (1051), 107, 35);
- Table.States (1051).Goto_List.Set_Capacity (11);
- Add_Goto (Table.States (1051), 118, 131);
- Add_Goto (Table.States (1051), 129, 42);
- Add_Goto (Table.States (1051), 198, 134);
- Add_Goto (Table.States (1051), 240, 135);
- Add_Goto (Table.States (1051), 259, 136);
- Add_Goto (Table.States (1051), 273, 93);
- Add_Goto (Table.States (1051), 294, 98);
- Add_Goto (Table.States (1051), 302, 1152);
- Add_Goto (Table.States (1051), 321, 145);
- Add_Goto (Table.States (1051), 322, 146);
- Add_Goto (Table.States (1051), 331, 147);
- Table.States (1051).Kernel := To_Vector ((0 => (327, 86, 1,
False)));
- Table.States (1051).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (1052).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1052), (1 => 35), (164, 0), 1, null,
null);
- Table.States (1052).Kernel := To_Vector ((0 => (164, 105, 0,
False)));
- Table.States (1052).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 164, 1)));
- Table.States (1053).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1053), (1 => 35), (164, 1), 1, null,
null);
- Table.States (1053).Kernel := To_Vector ((0 => (164, 106, 0,
False)));
- Table.States (1053).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 164, 1)));
- Table.States (1054).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1054), (1 => 35), (165, 0), 1, null,
null);
- Table.States (1054).Kernel := To_Vector ((0 => (165, 164, 0,
False)));
- Table.States (1054).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 165, 1)));
- Table.States (1055).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1055), 35, 1153);
- Table.States (1055).Kernel := To_Vector ((0 => (328, 165, 6,
False)));
- Table.States (1055).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 35, 1153)));
- Table.States (1056).Action_List.Set_Capacity (5);
- Add_Action (Table.States (1056), (15, 24, 28, 72, 105), (150, 4),
2, component_list_4'Access, null);
- Table.States (1056).Kernel := To_Vector ((0 => (150, 97, 0,
False)));
- Table.States (1056).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 150, 2)));
- Table.States (1057).Action_List.Set_Capacity (5);
- Add_Action (Table.States (1057), (15, 24, 28, 72, 105), (150, 0),
2, null, null);
- Table.States (1057).Kernel := To_Vector ((0 => (150, 149, 0,
True)));
- Table.States (1057).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 150, 2)));
- Table.States (1057).Minimal_Complete_Actions_Recursive := True;
- Table.States (1058).Action_List.Set_Capacity (5);
- Add_Action (Table.States (1058), (15, 24, 28, 72, 105), (150, 1),
2, null, null);
- Table.States (1058).Kernel := To_Vector ((0 => (150, 328, 0,
True)));
- Table.States (1058).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 150, 2)));
- Table.States (1058).Minimal_Complete_Actions_Recursive := True;
- Table.States (1059).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1059), 54, 1154);
- Table.States (1059).Kernel := To_Vector ((0 => (281, 24, 1,
False)));
- Table.States (1059).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 54, 1154)));
- Table.States (1060).Action_List.Set_Capacity (7);
- Add_Action (Table.States (1060), 7, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (1060), 8, 1155);
- Add_Action (Table.States (1060), 40, 750);
- Add_Action (Table.States (1060), 79, 31);
- Add_Action (Table.States (1060), 105, 120);
- Add_Action (Table.States (1060), 106, 34);
- Add_Action (Table.States (1060), 107, 35);
- Table.States (1060).Goto_List.Set_Capacity (8);
- Add_Goto (Table.States (1060), 115, 1156);
- Add_Goto (Table.States (1060), 129, 42);
- Add_Goto (Table.States (1060), 148, 1157);
- Add_Goto (Table.States (1060), 240, 487);
- Add_Goto (Table.States (1060), 242, 729);
- Add_Goto (Table.States (1060), 273, 93);
- Add_Goto (Table.States (1060), 294, 98);
- Add_Goto (Table.States (1060), 315, 1158);
- Table.States (1060).Kernel := To_Vector (((147, 82, 3, False),
(147, 82, 2, False)));
- Table.States (1060).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (1061).Action_List.Set_Capacity (4);
- Add_Action (Table.States (1061), 79, 31);
- Add_Action (Table.States (1061), 105, 120);
- Add_Action (Table.States (1061), 106, 34);
- Add_Action (Table.States (1061), 107, 35);
- Table.States (1061).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (1061), 129, 42);
- Add_Goto (Table.States (1061), 228, 1159);
- Add_Goto (Table.States (1061), 240, 850);
- Add_Goto (Table.States (1061), 273, 93);
- Add_Goto (Table.States (1061), 294, 98);
- Table.States (1061).Kernel := To_Vector ((0 => (229, 10, 1,
False)));
- Table.States (1061).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (1062).Action_List.Set_Capacity (4);
- Add_Action (Table.States (1062), 79, 31);
- Add_Action (Table.States (1062), 105, 120);
- Add_Action (Table.States (1062), 106, 34);
- Add_Action (Table.States (1062), 107, 35);
- Table.States (1062).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (1062), 129, 42);
- Add_Goto (Table.States (1062), 228, 1160);
- Add_Goto (Table.States (1062), 240, 850);
- Add_Goto (Table.States (1062), 273, 93);
- Add_Goto (Table.States (1062), 294, 98);
- Table.States (1062).Kernel := To_Vector ((0 => (229, 10, 1,
False)));
- Table.States (1062).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (1063).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1063), (74, 97), (184, 0), 3,
enumeration_type_definition_0'Access, null);
- Table.States (1063).Kernel := To_Vector ((0 => (184, 77, 0,
False)));
- Table.States (1063).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 184, 3)));
- Table.States (1064).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1064), 105, 907);
- Add_Action (Table.States (1064), 107, 908);
- Table.States (1064).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1064), 181, 1161);
- Table.States (1064).Kernel := To_Vector ((0 => (182, 84, 1,
True)));
- Table.States (1064).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 907)));
- Table.States (1064).Minimal_Complete_Actions_Recursive := True;
- Table.States (1065).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1065), 10, 1162);
- Add_Action (Table.States (1065), 74, Reduce, (120, 1), 0, null,
null);
- Table.States (1065).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1065), 120, 1163);
- Table.States (1065).Kernel := To_Vector ((0 => (260, 315, 3,
False)));
- Table.States (1065).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 120, 0)));
- Table.States (1066).Action_List.Set_Capacity (8);
- Add_Action (Table.States (1066), 10, 1162);
- Add_Action (Table.States (1066), 53, 626);
- Add_Action (Table.States (1066), 74, Reduce, (120, 1), 0, null,
null);
- Add_Conflict (Table.States (1066), 74, (157, 1), 0, null, null);
- Add_Action (Table.States (1066), 76, 627);
- Add_Action (Table.States (1066), 85, 238);
- Add_Action (Table.States (1066), 97, Reduce, (157, 1), 0, null,
null);
- Add_Action (Table.States (1066), 102, 240);
- Add_Action (Table.States (1066), 103, 241);
- Table.States (1066).Goto_List.Set_Capacity (6);
- Add_Goto (Table.States (1066), 116, 242);
- Add_Goto (Table.States (1066), 120, 1164);
- Add_Goto (Table.States (1066), 156, 1165);
- Add_Goto (Table.States (1066), 157, 1166);
- Add_Goto (Table.States (1066), 225, 629);
- Add_Goto (Table.States (1066), 323, 243);
- Table.States (1066).Kernel := To_Vector (((129, 240, 2, True),
(163, 240, 3, False), (163, 240, 0, False),
- (240, 240, 5, True), (240, 240, 2, True), (273, 240, 3, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True)));
- Table.States (1066).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 157, 0)));
- Table.States (1067).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1067), 97, 1167);
- Table.States (1067).Kernel := To_Vector ((0 => (261, 123, 1,
False)));
- Table.States (1067).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1167)));
- Table.States (1068).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1068), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (207, 0), 7,
+ Table.States (1071).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (1071), 81, (242, 8), 31);
+ Add_Action (Table.States (1071), 107, (242, 5), 120);
+ Add_Action (Table.States (1071), 108, (242, 7), 34);
+ Add_Action (Table.States (1071), 109, (242, 6), 35);
+ Table.States (1071).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (1071), 131, 42);
+ Add_Goto (Table.States (1071), 230, 1169);
+ Add_Goto (Table.States (1071), 242, 859);
+ Add_Goto (Table.States (1071), 275, 93);
+ Add_Goto (Table.States (1071), 296, 98);
+ Table.States (1071).Kernel := To_Vector ((0 => ((231, 3), 10, 1,
(2147483647, 0), 0)));
+ Table.States (1071).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (1072).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (1072), 81, (242, 8), 31);
+ Add_Action (Table.States (1072), 107, (242, 5), 120);
+ Add_Action (Table.States (1072), 108, (242, 7), 34);
+ Add_Action (Table.States (1072), 109, (242, 6), 35);
+ Table.States (1072).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (1072), 131, 42);
+ Add_Goto (Table.States (1072), 230, 1170);
+ Add_Goto (Table.States (1072), 242, 859);
+ Add_Goto (Table.States (1072), 275, 93);
+ Add_Goto (Table.States (1072), 296, 98);
+ Table.States (1072).Kernel := To_Vector ((0 => ((231, 1), 10, 1,
(2147483647, 0), 0)));
+ Table.States (1072).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (1073).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1073), (74, 99), (186, 0), 3,
enumeration_type_definition_0'Access, null);
+ Table.States (1073).Kernel := To_Vector ((0 => ((186, 0), 78, 0,
(186, 0), 3)));
+ Table.States (1073).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (186, 0), 3)));
+ Table.States (1074).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1074), 107, (183, 0), 916);
+ Add_Action (Table.States (1074), 109, (183, 1), 917);
+ Table.States (1074).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1074), 183, 1171);
+ Table.States (1074).Kernel := To_Vector ((0 => ((184, 0), 86, 1,
(2147483647, 0), 0)));
+ Table.States (1074).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (183, 0), 107, 916)));
+ Table.States (1075).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1075), 10, (122, 0), 1172);
+ Add_Action (Table.States (1075), 74, Reduce, (122, 1), 0, null,
null);
+ Table.States (1075).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1075), 122, 1173);
+ Table.States (1075).Kernel := To_Vector ((0 => ((262, 0), 317,
3, (2147483647, 0), 0)));
+ Table.States (1075).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (122, 1), 0)));
+ Table.States (1076).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (1076), 10, (122, 0), 1172);
+ Add_Action (Table.States (1076), 53, (158, 0), 632);
+ Add_Action (Table.States (1076), 74, Reduce, (122, 1), 0, null,
null);
+ Add_Conflict (Table.States (1076), 74, (159, 1), 0, null, null);
+ Add_Action (Table.States (1076), 76, (118, 0), 633);
+ Add_Action (Table.States (1076), 87, (296, 0), 239);
+ Add_Action (Table.States (1076), 99, Reduce, (159, 1), 0, null,
null);
+ Add_Action (Table.States (1076), 104, (325, 0), 241);
+ Add_Action (Table.States (1076), 105, (325, 1), 242);
+ Table.States (1076).Goto_List.Set_Capacity (6);
+ Add_Goto (Table.States (1076), 118, 243);
+ Add_Goto (Table.States (1076), 122, 1174);
+ Add_Goto (Table.States (1076), 158, 1175);
+ Add_Goto (Table.States (1076), 159, 1176);
+ Add_Goto (Table.States (1076), 227, 635);
+ Add_Goto (Table.States (1076), 325, 244);
+ Table.States (1076).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((165, 0), 242, 3,
+ (2147483647, 0), 0), ((165, 1), 242, 0, (159, 1), 0), ((242,
0), 242, 5, (2147483647, 0), 0), ((242,
+ 1), 242, 2, (2147483647, 0), 0), ((275, 0), 242, 3,
(2147483647, 0), 0), ((296, 0), 242, 2,
+ (2147483647, 0), 0), ((296, 1), 242, 2, (2147483647, 0), 0),
((296, 2), 242, 2, (2147483647, 0), 0),
+ ((296, 3), 242, 2, (2147483647, 0), 0)));
+ Table.States (1076).Minimal_Complete_Actions := To_Vector
(((Reduce, (122, 1), 0), (Reduce, (159, 1),
+ 0)));
+ Table.States (1077).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1077), 99, (263, 0), 1177);
+ Table.States (1077).Kernel := To_Vector ((0 => ((263, 0), 125,
1, (2147483647, 0), 0)));
+ Table.States (1077).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (263, 0), 99, 1177)));
+ Table.States (1078).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1078), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (209, 0), 7,
full_type_declaration_0'Access, null);
- Table.States (1068).Kernel := To_Vector ((0 => (207, 97, 0,
False)));
- Table.States (1068).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 207, 7)));
- Table.States (1069).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1069), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (246, 2), 7,
+ Table.States (1078).Kernel := To_Vector ((0 => ((209, 0), 99, 0,
(209, 0), 7)));
+ Table.States (1078).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (209, 0), 7)));
+ Table.States (1079).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1079), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (248, 2), 7,
object_renaming_declaration_2'Access, null);
- Table.States (1069).Kernel := To_Vector ((0 => (246, 97, 0,
False)));
- Table.States (1069).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 246, 7)));
- Table.States (1070).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1070), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (246, 1), 7,
+ Table.States (1079).Kernel := To_Vector ((0 => ((248, 2), 99, 0,
(248, 2), 7)));
+ Table.States (1079).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (248, 2), 7)));
+ Table.States (1080).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1080), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (248, 1), 7,
object_renaming_declaration_1'Access, null);
- Table.States (1070).Kernel := To_Vector ((0 => (246, 97, 0,
False)));
- Table.States (1070).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 246, 7)));
- Table.States (1071).Action_List.Set_Capacity (7);
- Add_Action (Table.States (1071), (21, 35, 56, 74, 77, 83, 97),
(115, 1), 5, access_definition_1'Access,
+ Table.States (1080).Kernel := To_Vector ((0 => ((248, 1), 99, 0,
(248, 1), 7)));
+ Table.States (1080).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (248, 1), 7)));
+ Table.States (1081).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (1081), (21, 35, 56, 74, 78, 85, 99),
(117, 1), 5, access_definition_1'Access,
null);
- Table.States (1071).Kernel := To_Vector ((0 => (115, 253, 0,
True)));
- Table.States (1071).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 115, 5)));
- Table.States (1071).Minimal_Complete_Actions_Recursive := True;
- Table.States (1072).Action_List.Set_Capacity (7);
- Add_Action (Table.States (1072), (21, 35, 56, 74, 77, 83, 97),
(115, 0), 5, access_definition_0'Access,
+ Table.States (1081).Kernel := To_Vector ((0 => ((117, 1), 255,
0, (117, 1), 5)));
+ Table.States (1081).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (117, 1), 5)));
+ Table.States (1082).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (1082), (21, 35, 56, 74, 78, 85, 99),
(117, 0), 5, access_definition_0'Access,
null);
- Table.States (1072).Kernel := To_Vector ((0 => (115, 254, 0,
False)));
- Table.States (1072).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 115, 5)));
- Table.States (1073).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1073), 97, 1168);
- Table.States (1073).Kernel := To_Vector ((0 => (246, 123, 1,
False)));
- Table.States (1073).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1168)));
- Table.States (1074).Action_List.Set_Capacity (5);
- Add_Action (Table.States (1074), 44, 923);
- Add_Action (Table.States (1074), 79, 31);
- Add_Action (Table.States (1074), 105, 120);
- Add_Action (Table.States (1074), 106, 34);
- Add_Action (Table.States (1074), 107, 35);
- Table.States (1074).Goto_List.Set_Capacity (6);
- Add_Goto (Table.States (1074), 129, 42);
- Add_Goto (Table.States (1074), 185, 925);
- Add_Goto (Table.States (1074), 186, 1169);
- Add_Goto (Table.States (1074), 240, 927);
- Add_Goto (Table.States (1074), 273, 93);
- Add_Goto (Table.States (1074), 294, 98);
- Table.States (1074).Kernel := To_Vector ((0 => (188, 82, 2,
False)));
- Table.States (1074).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (1075).Action_List.Set_Capacity (5);
- Add_Action (Table.States (1075), 44, 923);
- Add_Action (Table.States (1075), 79, 31);
- Add_Action (Table.States (1075), 105, 120);
- Add_Action (Table.States (1075), 106, 34);
- Add_Action (Table.States (1075), 107, 35);
- Table.States (1075).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (1075), 129, 42);
- Add_Goto (Table.States (1075), 185, 1170);
- Add_Goto (Table.States (1075), 240, 927);
- Add_Goto (Table.States (1075), 273, 93);
- Add_Goto (Table.States (1075), 294, 98);
- Table.States (1075).Kernel := To_Vector ((0 => (186, 80, 1,
True)));
- Table.States (1075).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (1075).Minimal_Complete_Actions_Recursive := True;
- Table.States (1076).Action_List.Set_Capacity (25);
- Add_Action (Table.States (1076), 4, 1);
- Add_Action (Table.States (1076), 5, 2);
- Add_Action (Table.States (1076), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1076), 15, 3);
- Add_Action (Table.States (1076), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1076), 18, 4);
- Add_Action (Table.States (1076), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (1076), 27, 5);
- Add_Action (Table.States (1076), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1076), 31, 9);
- Add_Action (Table.States (1076), 32, 10);
- Add_Action (Table.States (1076), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1076), 41, 13);
- Add_Action (Table.States (1076), 48, 16);
- Add_Action (Table.States (1076), 52, 20);
- Add_Action (Table.States (1076), 57, 21);
- Add_Action (Table.States (1076), 58, 22);
- Add_Action (Table.States (1076), 61, 24);
- Add_Action (Table.States (1076), 72, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (1076), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1076), 79, 31);
- Add_Action (Table.States (1076), 94, 32);
- Add_Action (Table.States (1076), 105, 361);
- Add_Action (Table.States (1076), 106, 34);
- Add_Action (Table.States (1076), 107, 35);
- Table.States (1076).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (1076), 114, 37);
- Add_Goto (Table.States (1076), 124, 39);
- Add_Goto (Table.States (1076), 127, 40);
- Add_Goto (Table.States (1076), 129, 42);
- Add_Goto (Table.States (1076), 132, 43);
- Add_Goto (Table.States (1076), 133, 44);
- Add_Goto (Table.States (1076), 134, 45);
- Add_Goto (Table.States (1076), 140, 48);
- Add_Goto (Table.States (1076), 152, 51);
- Add_Goto (Table.States (1076), 153, 52);
- Add_Goto (Table.States (1076), 162, 54);
- Add_Goto (Table.States (1076), 191, 58);
- Add_Goto (Table.States (1076), 197, 60);
- Add_Goto (Table.States (1076), 218, 69);
- Add_Goto (Table.States (1076), 223, 71);
- Add_Goto (Table.States (1076), 233, 73);
- Add_Goto (Table.States (1076), 240, 74);
- Add_Goto (Table.States (1076), 258, 84);
- Add_Goto (Table.States (1076), 262, 87);
- Add_Goto (Table.States (1076), 273, 93);
- Add_Goto (Table.States (1076), 277, 94);
- Add_Goto (Table.States (1076), 291, 97);
- Add_Goto (Table.States (1076), 294, 98);
- Add_Goto (Table.States (1076), 295, 99);
- Add_Goto (Table.States (1076), 299, 100);
- Add_Goto (Table.States (1076), 300, 362);
- Add_Goto (Table.States (1076), 301, 1171);
- Add_Goto (Table.States (1076), 303, 101);
- Add_Goto (Table.States (1076), 304, 102);
- Add_Goto (Table.States (1076), 307, 364);
- Add_Goto (Table.States (1076), 324, 115);
- Table.States (1076).Kernel := To_Vector ((0 => (188, 88, 0,
False)));
- Table.States (1076).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (1077).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1077), 97, 1172);
- Table.States (1077).Kernel := To_Vector ((0 => (134, 221, 1,
False)));
- Table.States (1077).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1172)));
- Table.States (1078).Action_List.Set_Capacity (47);
- Add_Action (Table.States (1078), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (233, 1), 7, loop_statement_1'Access,
loop_statement_1_check'Access);
- Table.States (1078).Kernel := To_Vector ((0 => (233, 97, 0,
False)));
- Table.States (1078).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 233, 7)));
- Table.States (1079).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1079), 97, 1173);
- Table.States (1079).Kernel := To_Vector ((0 => (233, 221, 1,
False)));
- Table.States (1079).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1173)));
- Table.States (1080).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1080), 74, 338);
- Add_Action (Table.States (1080), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (1080).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1080), 123, 1174);
- Table.States (1080).Kernel := To_Vector ((0 => (245, 193, 1,
False)));
- Table.States (1080).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (1081).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1081), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (245, 4), 7,
- object_declaration_4'Access, null);
- Table.States (1081).Kernel := To_Vector ((0 => (245, 97, 0,
False)));
- Table.States (1081).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 245, 7)));
- Table.States (1082).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1082), 74, 338);
- Add_Action (Table.States (1082), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (1082).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1082), 123, 1175);
- Table.States (1082).Kernel := To_Vector ((0 => (245, 193, 1,
False)));
- Table.States (1082).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (1083).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1083), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (245, 5), 7,
- object_declaration_5'Access, null);
- Table.States (1083).Kernel := To_Vector ((0 => (245, 97, 0,
False)));
- Table.States (1083).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 245, 7)));
- Table.States (1084).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1084), 74, 338);
- Add_Action (Table.States (1084), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (1084).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1084), 123, 1176);
- Table.States (1084).Kernel := To_Vector ((0 => (245, 193, 1,
False)));
- Table.States (1084).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (1085).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1085), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (245, 3), 7,
- object_declaration_3'Access, null);
- Table.States (1085).Kernel := To_Vector ((0 => (245, 97, 0,
False)));
- Table.States (1085).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 245, 7)));
- Table.States (1086).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1086), 74, 338);
- Add_Action (Table.States (1086), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (1086).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1086), 123, 1177);
- Table.States (1086).Kernel := To_Vector ((0 => (180, 254, 1,
False)));
- Table.States (1086).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
+ Table.States (1082).Kernel := To_Vector ((0 => ((117, 0), 256,
0, (117, 0), 5)));
+ Table.States (1082).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (117, 0), 5)));
+ Table.States (1083).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1083), 99, (248, 0), 1178);
+ Table.States (1083).Kernel := To_Vector ((0 => ((248, 0), 125,
1, (2147483647, 0), 0)));
+ Table.States (1083).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (248, 0), 99, 1178)));
+ Table.States (1084).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (1084), 44, (187, 1), 932);
+ Add_Action (Table.States (1084), 81, (242, 8), 31);
+ Add_Action (Table.States (1084), 107, (242, 5), 120);
+ Add_Action (Table.States (1084), 108, (242, 7), 34);
+ Add_Action (Table.States (1084), 109, (242, 6), 35);
+ Table.States (1084).Goto_List.Set_Capacity (6);
+ Add_Goto (Table.States (1084), 131, 42);
+ Add_Goto (Table.States (1084), 187, 934);
+ Add_Goto (Table.States (1084), 188, 1179);
+ Add_Goto (Table.States (1084), 242, 936);
+ Add_Goto (Table.States (1084), 275, 93);
+ Add_Goto (Table.States (1084), 296, 98);
+ Table.States (1084).Kernel := To_Vector ((0 => ((190, 0), 84, 2,
(2147483647, 0), 0)));
+ Table.States (1084).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (1085).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (1085), 44, (187, 1), 932);
+ Add_Action (Table.States (1085), 81, (242, 8), 31);
+ Add_Action (Table.States (1085), 107, (242, 5), 120);
+ Add_Action (Table.States (1085), 108, (242, 7), 34);
+ Add_Action (Table.States (1085), 109, (242, 6), 35);
+ Table.States (1085).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (1085), 131, 42);
+ Add_Goto (Table.States (1085), 187, 1180);
+ Add_Goto (Table.States (1085), 242, 936);
+ Add_Goto (Table.States (1085), 275, 93);
+ Add_Goto (Table.States (1085), 296, 98);
+ Table.States (1085).Kernel := To_Vector ((0 => ((188, 0), 82, 1,
(2147483647, 0), 0)));
+ Table.States (1085).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (1086).Action_List.Set_Capacity (25);
+ Add_Action (Table.States (1086), 4, (116, 0), 1);
+ Add_Action (Table.States (1086), 5, (306, 8), 2);
+ Add_Action (Table.States (1086), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1086), 15, (142, 0), 3);
+ Add_Action (Table.States (1086), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1086), 18, (164, 0), 4);
+ Add_Action (Table.States (1086), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (1086), 27, (193, 0), 5);
+ Add_Action (Table.States (1086), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1086), 31, (306, 3), 9);
+ Add_Action (Table.States (1086), 32, (225, 0), 10);
+ Add_Action (Table.States (1086), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1086), 41, (306, 0), 13);
+ Add_Action (Table.States (1086), 48, (260, 0), 16);
+ Add_Action (Table.States (1086), 52, (279, 0), 20);
+ Add_Action (Table.States (1086), 57, (293, 0), 21);
+ Add_Action (Table.States (1086), 58, (199, 0), 22);
+ Add_Action (Table.States (1086), 61, (129, 0), 24);
+ Add_Action (Table.States (1086), 72, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (1086), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1086), 81, (242, 8), 31);
+ Add_Action (Table.States (1086), 96, (220, 0), 32);
+ Add_Action (Table.States (1086), 107, (134, 0), 363);
+ Add_Action (Table.States (1086), 108, (242, 7), 34);
+ Add_Action (Table.States (1086), 109, (242, 6), 35);
+ Table.States (1086).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (1086), 116, 37);
+ Add_Goto (Table.States (1086), 126, 39);
+ Add_Goto (Table.States (1086), 129, 40);
+ Add_Goto (Table.States (1086), 131, 42);
+ Add_Goto (Table.States (1086), 134, 43);
+ Add_Goto (Table.States (1086), 135, 44);
+ Add_Goto (Table.States (1086), 136, 45);
+ Add_Goto (Table.States (1086), 142, 48);
+ Add_Goto (Table.States (1086), 154, 51);
+ Add_Goto (Table.States (1086), 155, 52);
+ Add_Goto (Table.States (1086), 164, 54);
+ Add_Goto (Table.States (1086), 193, 58);
+ Add_Goto (Table.States (1086), 199, 60);
+ Add_Goto (Table.States (1086), 220, 69);
+ Add_Goto (Table.States (1086), 225, 71);
+ Add_Goto (Table.States (1086), 235, 73);
+ Add_Goto (Table.States (1086), 242, 74);
+ Add_Goto (Table.States (1086), 260, 84);
+ Add_Goto (Table.States (1086), 264, 87);
+ Add_Goto (Table.States (1086), 275, 93);
+ Add_Goto (Table.States (1086), 279, 94);
+ Add_Goto (Table.States (1086), 293, 97);
+ Add_Goto (Table.States (1086), 296, 98);
+ Add_Goto (Table.States (1086), 297, 99);
+ Add_Goto (Table.States (1086), 301, 100);
+ Add_Goto (Table.States (1086), 302, 364);
+ Add_Goto (Table.States (1086), 303, 1181);
+ Add_Goto (Table.States (1086), 305, 101);
+ Add_Goto (Table.States (1086), 306, 102);
+ Add_Goto (Table.States (1086), 309, 366);
+ Add_Goto (Table.States (1086), 326, 115);
+ Table.States (1086).Kernel := To_Vector ((0 => ((190, 1), 90, 0,
(303, 1), 0)));
+ Table.States (1086).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
Table.States (1087).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1087), 97, 1178);
- Table.States (1087).Kernel := To_Vector ((0 => (214, 123, 1,
False)));
- Table.States (1087).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1178)));
- Table.States (1088).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1088), 97, 1179);
- Table.States (1088).Kernel := To_Vector ((0 => (214, 123, 1,
False)));
- Table.States (1088).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1179)));
+ Add_Action (Table.States (1087), 99, (136, 0), 1182);
+ Table.States (1087).Kernel := To_Vector ((0 => ((136, 0), 223,
1, (2147483647, 0), 0)));
+ Table.States (1087).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (136, 0), 99, 1182)));
+ Table.States (1088).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (1088), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (235, 1), 7, loop_statement_1'Access,
loop_statement_1_check'Access);
+ Table.States (1088).Kernel := To_Vector ((0 => ((235, 1), 99, 0,
(235, 1), 7)));
+ Table.States (1088).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (235, 1), 7)));
Table.States (1089).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1089), 24, 1180);
- Table.States (1089).Kernel := To_Vector ((0 => (308, 219, 2,
False)));
- Table.States (1089).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 1180)));
- Table.States (1090).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1090), 97, 1181);
- Table.States (1090).Kernel := To_Vector ((0 => (114, 221, 1,
False)));
- Table.States (1090).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1181)));
- Table.States (1091).Action_List.Set_Capacity (15);
- Add_Action (Table.States (1091), 3, 122);
- Add_Action (Table.States (1091), 39, 123);
- Add_Action (Table.States (1091), 40, 124);
- Add_Action (Table.States (1091), 41, 125);
- Add_Action (Table.States (1091), 52, 126);
- Add_Action (Table.States (1091), 76, 127);
- Add_Action (Table.States (1091), 77, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1091), 79, 31);
- Add_Action (Table.States (1091), 84, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1091), 95, 128);
- Add_Action (Table.States (1091), 96, 129);
- Add_Action (Table.States (1091), 104, 130);
- Add_Action (Table.States (1091), 105, 120);
- Add_Action (Table.States (1091), 106, 34);
- Add_Action (Table.States (1091), 107, 35);
- Table.States (1091).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (1091), 118, 131);
- Add_Goto (Table.States (1091), 129, 42);
- Add_Goto (Table.States (1091), 192, 132);
- Add_Goto (Table.States (1091), 193, 1182);
- Add_Goto (Table.States (1091), 198, 134);
- Add_Goto (Table.States (1091), 240, 135);
- Add_Goto (Table.States (1091), 259, 136);
- Add_Goto (Table.States (1091), 273, 93);
- Add_Goto (Table.States (1091), 276, 137);
- Add_Goto (Table.States (1091), 283, 138);
- Add_Goto (Table.States (1091), 284, 139);
- Add_Goto (Table.States (1091), 285, 140);
- Add_Goto (Table.States (1091), 286, 141);
- Add_Goto (Table.States (1091), 287, 142);
- Add_Goto (Table.States (1091), 288, 143);
- Add_Goto (Table.States (1091), 294, 98);
- Add_Goto (Table.States (1091), 302, 144);
- Add_Goto (Table.States (1091), 321, 145);
- Add_Goto (Table.States (1091), 322, 146);
- Add_Goto (Table.States (1091), 331, 147);
- Table.States (1091).Kernel := To_Vector ((0 => (138, 88, 0,
False)));
- Table.States (1091).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
+ Add_Action (Table.States (1089), 99, (235, 0), 1183);
+ Table.States (1089).Kernel := To_Vector ((0 => ((235, 0), 223,
1, (2147483647, 0), 0)));
+ Table.States (1089).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (235, 0), 99, 1183)));
+ Table.States (1090).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1090), 74, (125, 0), 340);
+ Add_Action (Table.States (1090), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (1090).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1090), 125, 1184);
+ Table.States (1090).Kernel := To_Vector ((0 => ((247, 1), 195,
1, (2147483647, 0), 0)));
+ Table.States (1090).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (1091).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1091), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (247, 4), 7,
+ object_declaration_4'Access, null);
+ Table.States (1091).Kernel := To_Vector ((0 => ((247, 4), 99, 0,
(247, 4), 7)));
+ Table.States (1091).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (247, 4), 7)));
Table.States (1092).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1092), (77, 84), (139, 0), 3,
case_expression_alternative_list_0'Access, null);
- Table.States (1092).Kernel := To_Vector ((0 => (139, 138, 0,
True)));
- Table.States (1092).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 139, 3)));
- Table.States (1092).Minimal_Complete_Actions_Recursive := True;
- Table.States (1093).Action_List.Set_Capacity (4);
- Add_Action (Table.States (1093), (35, 77, 84, 97), (125, 4), 6,
association_opt_4'Access, null);
- Table.States (1093).Kernel := To_Vector ((0 => (125, 192, 0,
False)));
- Table.States (1093).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 125, 6)));
- Table.States (1094).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1094), (1 => 77), (222, 1), 6,
if_expression_1'Access, null);
- Table.States (1094).Kernel := To_Vector ((0 => (222, 193, 0,
False)));
- Table.States (1094).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 222, 6)));
- Table.States (1095).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1095), 68, 1183);
- Table.States (1095).Kernel := To_Vector ((0 => (173, 193, 1,
False)));
- Table.States (1095).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 68, 1183)));
- Table.States (1096).Action_List.Set_Capacity (14);
- Add_Action (Table.States (1096), 3, 122);
- Add_Action (Table.States (1096), 39, 123);
- Add_Action (Table.States (1096), 40, 124);
- Add_Action (Table.States (1096), 41, 125);
- Add_Action (Table.States (1096), 52, 126);
- Add_Action (Table.States (1096), 76, 127);
- Add_Action (Table.States (1096), 77, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1096), 79, 31);
- Add_Action (Table.States (1096), 95, 128);
- Add_Action (Table.States (1096), 96, 129);
- Add_Action (Table.States (1096), 104, 130);
- Add_Action (Table.States (1096), 105, 120);
- Add_Action (Table.States (1096), 106, 34);
- Add_Action (Table.States (1096), 107, 35);
- Table.States (1096).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (1096), 118, 131);
- Add_Goto (Table.States (1096), 129, 42);
- Add_Goto (Table.States (1096), 192, 132);
- Add_Goto (Table.States (1096), 193, 1184);
- Add_Goto (Table.States (1096), 198, 134);
- Add_Goto (Table.States (1096), 240, 135);
- Add_Goto (Table.States (1096), 259, 136);
- Add_Goto (Table.States (1096), 273, 93);
- Add_Goto (Table.States (1096), 276, 137);
- Add_Goto (Table.States (1096), 283, 138);
- Add_Goto (Table.States (1096), 284, 139);
- Add_Goto (Table.States (1096), 285, 140);
- Add_Goto (Table.States (1096), 286, 141);
- Add_Goto (Table.States (1096), 287, 142);
- Add_Goto (Table.States (1096), 288, 143);
- Add_Goto (Table.States (1096), 294, 98);
- Add_Goto (Table.States (1096), 302, 144);
- Add_Goto (Table.States (1096), 321, 145);
- Add_Goto (Table.States (1096), 322, 146);
- Add_Goto (Table.States (1096), 331, 147);
- Table.States (1096).Kernel := To_Vector ((0 => (222, 22, 0,
False)));
- Table.States (1096).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (1097).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1097), (22, 23, 77), (174, 0), 2,
elsif_expression_list_0'Access, null);
- Table.States (1097).Kernel := To_Vector ((0 => (174, 173, 0,
True)));
- Table.States (1097).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 174, 2)));
- Table.States (1097).Minimal_Complete_Actions_Recursive := True;
- Table.States (1098).Action_List.Set_Capacity (19);
- Add_Action (Table.States (1098), (10, 20, 21, 22, 23, 35, 37, 42,
43, 53, 68, 74, 75, 77, 80, 83, 84, 88,
- 97), (278, 0), 6, range_g_0'Access, null);
- Table.States (1098).Kernel := To_Vector ((0 => (278, 77, 0,
False)));
- Table.States (1098).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 278, 6)));
- Table.States (1099).Action_List.Set_Capacity (9);
- Add_Action (Table.States (1099), 53, 626);
- Add_Action (Table.States (1099), 76, 627);
- Add_Action (Table.States (1099), 77, Reduce, (315, 1), 3,
subtype_indication_1'Access, null);
- Add_Action (Table.States (1099), 80, Reduce, (166, 1), 3, null,
null);
- Add_Action (Table.States (1099), 84, Reduce, (315, 1), 3,
subtype_indication_1'Access, null);
- Add_Action (Table.States (1099), 85, 238);
- Add_Action (Table.States (1099), 88, Reduce, (166, 1), 3, null,
null);
- Add_Action (Table.States (1099), 102, 240);
- Add_Action (Table.States (1099), 103, 241);
- Table.States (1099).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (1099), 116, 242);
- Add_Goto (Table.States (1099), 156, 966);
- Add_Goto (Table.States (1099), 225, 629);
- Add_Goto (Table.States (1099), 323, 243);
- Table.States (1099).Kernel := To_Vector (((129, 240, 2, True),
(166, 240, 0, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True), (315, 240, 4, False), (315, 240, 0, False)));
- Table.States (1099).Minimal_Complete_Actions := To_Vector
(((Reduce, 166, 3), (Reduce, 315, 3)));
- Table.States (1100).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1100), (77, 84), (169, 0), 3, null,
null);
- Table.States (1100).Kernel := To_Vector ((0 => (169, 168, 0,
True)));
- Table.States (1100).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 169, 3)));
- Table.States (1100).Minimal_Complete_Actions_Recursive := True;
- Table.States (1101).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1101), (1 => 105), (236, 0), 4, null,
null);
- Table.States (1101).Kernel := To_Vector ((0 => (236, 97, 0,
False)));
- Table.States (1101).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 236, 4)));
- Table.States (1102).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1102), 53, 1185);
- Table.States (1102).Kernel := To_Vector ((0 => (145, 302, 5,
False)));
- Table.States (1102).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 53, 1185)));
- Table.States (1103).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1103), 97, 1186);
- Table.States (1103).Kernel := To_Vector ((0 => (282, 54, 1,
False)));
- Table.States (1103).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1186)));
- Table.States (1104).Action_List.Set_Capacity (15);
- Add_Action (Table.States (1104), 3, 122);
- Add_Action (Table.States (1104), 39, 123);
- Add_Action (Table.States (1104), 40, 124);
- Add_Action (Table.States (1104), 41, 125);
- Add_Action (Table.States (1104), 52, 126);
- Add_Action (Table.States (1104), 76, 127);
- Add_Action (Table.States (1104), 77, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1104), 79, 31);
- Add_Action (Table.States (1104), 95, 128);
- Add_Action (Table.States (1104), 96, 129);
- Add_Action (Table.States (1104), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1104), 104, 130);
- Add_Action (Table.States (1104), 105, 120);
- Add_Action (Table.States (1104), 106, 34);
- Add_Action (Table.States (1104), 107, 35);
- Table.States (1104).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (1104), 118, 131);
- Add_Goto (Table.States (1104), 129, 42);
- Add_Goto (Table.States (1104), 192, 132);
- Add_Goto (Table.States (1104), 193, 1187);
- Add_Goto (Table.States (1104), 198, 134);
- Add_Goto (Table.States (1104), 240, 135);
- Add_Goto (Table.States (1104), 259, 136);
- Add_Goto (Table.States (1104), 273, 93);
- Add_Goto (Table.States (1104), 276, 137);
- Add_Goto (Table.States (1104), 283, 138);
- Add_Goto (Table.States (1104), 284, 139);
- Add_Goto (Table.States (1104), 285, 140);
- Add_Goto (Table.States (1104), 286, 141);
- Add_Goto (Table.States (1104), 287, 142);
- Add_Goto (Table.States (1104), 288, 143);
- Add_Goto (Table.States (1104), 294, 98);
- Add_Goto (Table.States (1104), 302, 144);
- Add_Goto (Table.States (1104), 321, 145);
- Add_Goto (Table.States (1104), 322, 146);
- Add_Goto (Table.States (1104), 331, 147);
- Table.States (1104).Kernel := To_Vector ((0 => (255, 83, 0,
False)));
- Table.States (1104).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (1105).Action_List.Set_Capacity (4);
- Add_Action (Table.States (1105), 79, 31);
- Add_Action (Table.States (1105), 105, 120);
- Add_Action (Table.States (1105), 106, 34);
- Add_Action (Table.States (1105), 107, 35);
- Table.States (1105).Goto_List.Set_Capacity (4);
- Add_Goto (Table.States (1105), 129, 42);
- Add_Goto (Table.States (1105), 240, 1188);
- Add_Goto (Table.States (1105), 273, 93);
- Add_Goto (Table.States (1105), 294, 98);
- Table.States (1105).Kernel := To_Vector (((255, 242, 2, False),
(255, 242, 1, False)));
- Table.States (1105).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
+ Add_Action (Table.States (1092), 74, (125, 0), 340);
+ Add_Action (Table.States (1092), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (1092).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1092), 125, 1185);
+ Table.States (1092).Kernel := To_Vector ((0 => ((247, 2), 195,
1, (2147483647, 0), 0)));
+ Table.States (1092).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (1093).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1093), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (247, 5), 7,
+ object_declaration_5'Access, null);
+ Table.States (1093).Kernel := To_Vector ((0 => ((247, 5), 99, 0,
(247, 5), 7)));
+ Table.States (1093).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (247, 5), 7)));
+ Table.States (1094).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1094), 74, (125, 0), 340);
+ Add_Action (Table.States (1094), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (1094).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1094), 125, 1186);
+ Table.States (1094).Kernel := To_Vector ((0 => ((247, 0), 195,
1, (2147483647, 0), 0)));
+ Table.States (1094).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (1095).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1095), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (247, 3), 7,
+ object_declaration_3'Access, null);
+ Table.States (1095).Kernel := To_Vector ((0 => ((247, 3), 99, 0,
(247, 3), 7)));
+ Table.States (1095).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (247, 3), 7)));
+ Table.States (1096).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1096), 74, (125, 0), 340);
+ Add_Action (Table.States (1096), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (1096).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1096), 125, 1187);
+ Table.States (1096).Kernel := To_Vector ((0 => ((182, 0), 256,
1, (2147483647, 0), 0)));
+ Table.States (1096).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (1097).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1097), 99, (216, 2), 1188);
+ Table.States (1097).Kernel := To_Vector ((0 => ((216, 2), 125,
1, (2147483647, 0), 0)));
+ Table.States (1097).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (216, 2), 99, 1188)));
+ Table.States (1098).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1098), 99, (216, 1), 1189);
+ Table.States (1098).Kernel := To_Vector ((0 => ((216, 1), 125,
1, (2147483647, 0), 0)));
+ Table.States (1098).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (216, 1), 99, 1189)));
+ Table.States (1099).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1099), 24, (310, 0), 1190);
+ Table.States (1099).Kernel := To_Vector ((0 => ((310, 0), 221,
2, (2147483647, 0), 0)));
+ Table.States (1099).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (310, 0), 24, 1190)));
+ Table.States (1100).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1100), 99, (116, 0), 1191);
+ Table.States (1100).Kernel := To_Vector ((0 => ((116, 0), 223,
1, (2147483647, 0), 0)));
+ Table.States (1100).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (116, 0), 99, 1191)));
+ Table.States (1101).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (1101), 3, (200, 2), 122);
+ Add_Action (Table.States (1101), 39, (261, 4), 123);
+ Add_Action (Table.States (1101), 40, (200, 3), 124);
+ Add_Action (Table.States (1101), 41, (261, 1), 125);
+ Add_Action (Table.States (1101), 52, (278, 0), 126);
+ Add_Action (Table.States (1101), 76, (120, 0), 127);
+ Add_Action (Table.States (1101), 77, (120, 5), 128);
+ Add_Action (Table.States (1101), 78, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1101), 81, (242, 8), 31);
+ Add_Action (Table.States (1101), 86, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1101), 97, (333, 1), 129);
+ Add_Action (Table.States (1101), 98, (333, 0), 130);
+ Add_Action (Table.States (1101), 106, (261, 0), 131);
+ Add_Action (Table.States (1101), 107, (242, 5), 120);
+ Add_Action (Table.States (1101), 108, (242, 7), 34);
+ Add_Action (Table.States (1101), 109, (242, 6), 35);
+ Table.States (1101).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (1101), 120, 132);
+ Add_Goto (Table.States (1101), 131, 42);
+ Add_Goto (Table.States (1101), 194, 133);
+ Add_Goto (Table.States (1101), 195, 1192);
+ Add_Goto (Table.States (1101), 200, 135);
+ Add_Goto (Table.States (1101), 242, 136);
+ Add_Goto (Table.States (1101), 261, 137);
+ Add_Goto (Table.States (1101), 275, 93);
+ Add_Goto (Table.States (1101), 278, 138);
+ Add_Goto (Table.States (1101), 285, 139);
+ Add_Goto (Table.States (1101), 286, 140);
+ Add_Goto (Table.States (1101), 287, 141);
+ Add_Goto (Table.States (1101), 288, 142);
+ Add_Goto (Table.States (1101), 289, 143);
+ Add_Goto (Table.States (1101), 290, 144);
+ Add_Goto (Table.States (1101), 296, 98);
+ Add_Goto (Table.States (1101), 304, 145);
+ Add_Goto (Table.States (1101), 323, 146);
+ Add_Goto (Table.States (1101), 324, 147);
+ Add_Goto (Table.States (1101), 333, 148);
+ Table.States (1101).Kernel := To_Vector ((0 => ((140, 0), 90, 0,
(195, 1), 0)));
+ Table.States (1101).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (1102).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1102), (78, 86), (141, 0), 3,
case_expression_alternative_list_0'Access, null);
+ Table.States (1102).Kernel := To_Vector ((0 => ((141, 0), 140,
0, (141, 0), 3)));
+ Table.States (1102).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (141, 0), 3)));
+ Table.States (1103).Action_List.Set_Capacity (9);
+ Add_Action (Table.States (1103), 53, (158, 0), 632);
+ Add_Action (Table.States (1103), 76, (118, 0), 633);
+ Add_Action (Table.States (1103), 78, Reduce, (317, 1), 3,
subtype_indication_1'Access, null);
+ Add_Action (Table.States (1103), 82, Reduce, (168, 1), 3, null,
null);
+ Add_Action (Table.States (1103), 86, Reduce, (317, 1), 3,
subtype_indication_1'Access, null);
+ Add_Action (Table.States (1103), 87, (296, 0), 239);
+ Add_Action (Table.States (1103), 90, Reduce, (168, 1), 3, null,
null);
+ Add_Conflict (Table.States (1103), 90, (317, 1), 3,
subtype_indication_1'Access, null);
+ Add_Action (Table.States (1103), 104, (325, 0), 241);
+ Add_Action (Table.States (1103), 105, (325, 1), 242);
+ Table.States (1103).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (1103), 118, 243);
+ Add_Goto (Table.States (1103), 158, 977);
+ Add_Goto (Table.States (1103), 227, 635);
+ Add_Goto (Table.States (1103), 325, 244);
+ Table.States (1103).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((168, 1), 242, 0,
+ (168, 1), 3), ((242, 0), 242, 5, (2147483647, 0), 0), ((242,
1), 242, 2, (2147483647, 0), 0), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0), 0),
+ ((317, 0), 242, 4, (2147483647, 0), 0), ((317, 1), 242, 0,
(317, 1), 3)));
+ Table.States (1103).Minimal_Complete_Actions := To_Vector
(((Reduce, (168, 1), 3), (Shift, (158, 0), 53,
+ 632), (Reduce, (317, 1), 3)));
+ Table.States (1104).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (1104), (35, 78, 79, 86, 99), (127, 6),
6, association_opt_6'Access, null);
+ Table.States (1104).Kernel := To_Vector ((0 => ((127, 6), 194,
0, (127, 6), 6)));
+ Table.States (1104).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (127, 6), 6)));
+ Table.States (1105).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1105), (1 => 78), (224, 1), 6,
if_expression_1'Access, null);
+ Table.States (1105).Kernel := To_Vector ((0 => ((224, 1), 195,
0, (224, 1), 6)));
+ Table.States (1105).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (224, 1), 6)));
Table.States (1106).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1106), 81, 1189);
- Table.States (1106).Kernel := To_Vector ((0 => (203, 20, 1,
False)));
- Table.States (1106).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 81, 1189)));
- Table.States (1107).Action_List.Set_Capacity (8);
- Add_Action (Table.States (1107), (29, 47, 48, 50, 69, 71, 74,
105), (202, 1), 7,
+ Add_Action (Table.States (1106), 68, (175, 0), 1193);
+ Table.States (1106).Kernel := To_Vector ((0 => ((175, 0), 195,
1, (2147483647, 0), 0)));
+ Table.States (1106).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (175, 0), 68, 1193)));
+ Table.States (1107).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (1107), 3, (200, 2), 122);
+ Add_Action (Table.States (1107), 39, (261, 4), 123);
+ Add_Action (Table.States (1107), 40, (200, 3), 124);
+ Add_Action (Table.States (1107), 41, (261, 1), 125);
+ Add_Action (Table.States (1107), 52, (278, 0), 126);
+ Add_Action (Table.States (1107), 76, (120, 0), 127);
+ Add_Action (Table.States (1107), 77, (120, 5), 128);
+ Add_Action (Table.States (1107), 78, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1107), 81, (242, 8), 31);
+ Add_Action (Table.States (1107), 97, (333, 1), 129);
+ Add_Action (Table.States (1107), 98, (333, 0), 130);
+ Add_Action (Table.States (1107), 106, (261, 0), 131);
+ Add_Action (Table.States (1107), 107, (242, 5), 120);
+ Add_Action (Table.States (1107), 108, (242, 7), 34);
+ Add_Action (Table.States (1107), 109, (242, 6), 35);
+ Table.States (1107).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (1107), 120, 132);
+ Add_Goto (Table.States (1107), 131, 42);
+ Add_Goto (Table.States (1107), 194, 133);
+ Add_Goto (Table.States (1107), 195, 1194);
+ Add_Goto (Table.States (1107), 200, 135);
+ Add_Goto (Table.States (1107), 242, 136);
+ Add_Goto (Table.States (1107), 261, 137);
+ Add_Goto (Table.States (1107), 275, 93);
+ Add_Goto (Table.States (1107), 278, 138);
+ Add_Goto (Table.States (1107), 285, 139);
+ Add_Goto (Table.States (1107), 286, 140);
+ Add_Goto (Table.States (1107), 287, 141);
+ Add_Goto (Table.States (1107), 288, 142);
+ Add_Goto (Table.States (1107), 289, 143);
+ Add_Goto (Table.States (1107), 290, 144);
+ Add_Goto (Table.States (1107), 296, 98);
+ Add_Goto (Table.States (1107), 304, 145);
+ Add_Goto (Table.States (1107), 323, 146);
+ Add_Goto (Table.States (1107), 324, 147);
+ Add_Goto (Table.States (1107), 333, 148);
+ Table.States (1107).Kernel := To_Vector ((0 => ((224, 0), 22, 0,
(195, 1), 0)));
+ Table.States (1107).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (1108).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1108), (22, 23, 78), (176, 0), 2,
elsif_expression_list_0'Access, null);
+ Table.States (1108).Kernel := To_Vector ((0 => ((176, 0), 175,
0, (176, 0), 2)));
+ Table.States (1108).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (176, 0), 2)));
+ Table.States (1109).Action_List.Set_Capacity (20);
+ Add_Action (Table.States (1109), (10, 20, 21, 22, 23, 35, 37, 42,
43, 53, 68, 74, 75, 78, 79, 82, 85, 86,
+ 90, 99), (280, 0), 6, range_g_0'Access, null);
+ Table.States (1109).Kernel := To_Vector ((0 => ((280, 0), 78, 0,
(280, 0), 6)));
+ Table.States (1109).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (280, 0), 6)));
+ Table.States (1110).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1110), (78, 86), (171, 0), 3, null,
null);
+ Table.States (1110).Kernel := To_Vector ((0 => ((171, 0), 170,
0, (171, 0), 3)));
+ Table.States (1110).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (171, 0), 3)));
+ Table.States (1111).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1111), (1 => 107), (238, 0), 4, null,
null);
+ Table.States (1111).Kernel := To_Vector ((0 => ((238, 0), 99, 0,
(238, 0), 4)));
+ Table.States (1111).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (238, 0), 4)));
+ Table.States (1112).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1112), 53, (147, 0), 1195);
+ Table.States (1112).Kernel := To_Vector ((0 => ((147, 0), 304,
5, (2147483647, 0), 0)));
+ Table.States (1112).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (147, 0), 53, 1195)));
+ Table.States (1113).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1113), 99, (284, 0), 1196);
+ Table.States (1113).Kernel := To_Vector ((0 => ((284, 0), 54, 1,
(2147483647, 0), 0)));
+ Table.States (1113).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (284, 0), 99, 1196)));
+ Table.States (1114).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (1114), 3, (200, 2), 122);
+ Add_Action (Table.States (1114), 39, (261, 4), 123);
+ Add_Action (Table.States (1114), 40, (200, 3), 124);
+ Add_Action (Table.States (1114), 41, (261, 1), 125);
+ Add_Action (Table.States (1114), 52, (278, 0), 126);
+ Add_Action (Table.States (1114), 76, (120, 0), 127);
+ Add_Action (Table.States (1114), 77, (120, 5), 128);
+ Add_Action (Table.States (1114), 78, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1114), 81, (242, 8), 31);
+ Add_Action (Table.States (1114), 97, (333, 1), 129);
+ Add_Action (Table.States (1114), 98, (333, 0), 130);
+ Add_Action (Table.States (1114), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1114), 106, (261, 0), 131);
+ Add_Action (Table.States (1114), 107, (242, 5), 120);
+ Add_Action (Table.States (1114), 108, (242, 7), 34);
+ Add_Action (Table.States (1114), 109, (242, 6), 35);
+ Table.States (1114).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (1114), 120, 132);
+ Add_Goto (Table.States (1114), 131, 42);
+ Add_Goto (Table.States (1114), 194, 133);
+ Add_Goto (Table.States (1114), 195, 1197);
+ Add_Goto (Table.States (1114), 200, 135);
+ Add_Goto (Table.States (1114), 242, 136);
+ Add_Goto (Table.States (1114), 261, 137);
+ Add_Goto (Table.States (1114), 275, 93);
+ Add_Goto (Table.States (1114), 278, 138);
+ Add_Goto (Table.States (1114), 285, 139);
+ Add_Goto (Table.States (1114), 286, 140);
+ Add_Goto (Table.States (1114), 287, 141);
+ Add_Goto (Table.States (1114), 288, 142);
+ Add_Goto (Table.States (1114), 289, 143);
+ Add_Goto (Table.States (1114), 290, 144);
+ Add_Goto (Table.States (1114), 296, 98);
+ Add_Goto (Table.States (1114), 304, 145);
+ Add_Goto (Table.States (1114), 323, 146);
+ Add_Goto (Table.States (1114), 324, 147);
+ Add_Goto (Table.States (1114), 333, 148);
+ Table.States (1114).Kernel := To_Vector ((0 => ((257, 2), 85, 0,
(195, 1), 0)));
+ Table.States (1114).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (1115).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (1115), 81, (242, 8), 31);
+ Add_Action (Table.States (1115), 107, (242, 5), 120);
+ Add_Action (Table.States (1115), 108, (242, 7), 34);
+ Add_Action (Table.States (1115), 109, (242, 6), 35);
+ Table.States (1115).Goto_List.Set_Capacity (4);
+ Add_Goto (Table.States (1115), 131, 42);
+ Add_Goto (Table.States (1115), 242, 1198);
+ Add_Goto (Table.States (1115), 275, 93);
+ Add_Goto (Table.States (1115), 296, 98);
+ Table.States (1115).Kernel := To_Vector ((((257, 0), 244, 2,
(2147483647, 0), 0), ((257, 1), 244, 1,
+ (2147483647, 0), 0)));
+ Table.States (1115).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (1116).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1116), 83, (205, 6), 1199);
+ Table.States (1116).Kernel := To_Vector ((0 => ((205, 6), 20, 1,
(2147483647, 0), 0)));
+ Table.States (1116).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (205, 6), 83, 1199)));
+ Table.States (1117).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (1117), (29, 47, 48, 50, 69, 71, 74,
107), (204, 1), 7,
formal_type_declaration_1'Access, null);
- Table.States (1107).Kernel := To_Vector ((0 => (202, 97, 0,
False)));
- Table.States (1107).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 202, 7)));
- Table.States (1108).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1108), (74, 97), (203, 2), 3, null,
null);
- Table.States (1108).Kernel := To_Vector ((0 => (203, 77, 0,
False)));
- Table.States (1108).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 203, 3)));
- Table.States (1109).Action_List.Set_Capacity (7);
- Add_Action (Table.States (1109), 10, 1162);
- Add_Action (Table.States (1109), 74, Reduce, (120, 1), 0, null,
null);
- Add_Action (Table.States (1109), 76, 236);
- Add_Action (Table.States (1109), 85, 238);
- Add_Action (Table.States (1109), 97, Reduce, (120, 1), 0, null,
null);
- Add_Action (Table.States (1109), 102, 240);
- Add_Action (Table.States (1109), 103, 241);
- Table.States (1109).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (1109), 116, 242);
- Add_Goto (Table.States (1109), 120, 1190);
- Add_Goto (Table.States (1109), 323, 243);
- Table.States (1109).Kernel := To_Vector (((129, 240, 2, True),
(204, 240, 2, False), (204, 240, 0, False),
- (240, 240, 5, True), (240, 240, 2, True), (273, 240, 3, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True)));
- Table.States (1109).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 120, 0)));
- Table.States (1110).Action_List.Set_Capacity (8);
- Add_Action (Table.States (1110), (29, 47, 48, 50, 69, 71, 74,
105), (202, 0), 7,
+ Table.States (1117).Kernel := To_Vector ((0 => ((204, 1), 99, 0,
(204, 1), 7)));
+ Table.States (1117).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (204, 1), 7)));
+ Table.States (1118).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1118), (74, 99), (205, 2), 3, null,
null);
+ Table.States (1118).Kernel := To_Vector ((0 => ((205, 2), 78, 0,
(205, 2), 3)));
+ Table.States (1118).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (205, 2), 3)));
+ Table.States (1119).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (1119), 10, (122, 0), 1172);
+ Add_Action (Table.States (1119), 74, Reduce, (122, 1), 0, null,
null);
+ Add_Action (Table.States (1119), 76, (118, 0), 237);
+ Add_Action (Table.States (1119), 87, (296, 0), 239);
+ Add_Action (Table.States (1119), 99, Reduce, (122, 1), 0, null,
null);
+ Add_Action (Table.States (1119), 104, (325, 0), 241);
+ Add_Action (Table.States (1119), 105, (325, 1), 242);
+ Table.States (1119).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (1119), 118, 243);
+ Add_Goto (Table.States (1119), 122, 1200);
+ Add_Goto (Table.States (1119), 325, 244);
+ Table.States (1119).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((206, 0), 242, 2,
+ (2147483647, 0), 0), ((206, 1), 242, 0, (122, 1), 0), ((242,
0), 242, 5, (2147483647, 0), 0), ((242,
+ 1), 242, 2, (2147483647, 0), 0), ((275, 0), 242, 3,
(2147483647, 0), 0), ((296, 0), 242, 2,
+ (2147483647, 0), 0), ((296, 1), 242, 2, (2147483647, 0), 0),
((296, 2), 242, 2, (2147483647, 0), 0),
+ ((296, 3), 242, 2, (2147483647, 0), 0)));
+ Table.States (1119).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (122, 1), 0)));
+ Table.States (1120).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (1120), (29, 47, 48, 50, 69, 71, 74,
107), (204, 0), 7,
formal_type_declaration_0'Access, null);
- Table.States (1110).Kernel := To_Vector ((0 => (202, 97, 0,
False)));
- Table.States (1110).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 202, 7)));
- Table.States (1111).Action_List.Set_Capacity (22);
- Add_Action (Table.States (1111), 3, 122);
- Add_Action (Table.States (1111), 15, 259);
- Add_Action (Table.States (1111), 28, 260);
- Add_Action (Table.States (1111), 32, 261);
- Add_Action (Table.States (1111), 39, 123);
- Add_Action (Table.States (1111), 40, 262);
- Add_Action (Table.States (1111), 41, 125);
- Add_Action (Table.States (1111), 44, 264);
- Add_Action (Table.States (1111), 52, 126);
- Add_Action (Table.States (1111), 76, 127);
- Add_Action (Table.States (1111), 77, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (1111), 79, 31);
- Add_Action (Table.States (1111), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (1111), 81, 1191);
- Add_Action (Table.States (1111), 84, Reduce, (125, 6), 0, null,
null);
- Add_Action (Table.States (1111), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (1111), 95, 128);
- Add_Action (Table.States (1111), 96, 129);
- Add_Action (Table.States (1111), 104, 130);
- Add_Action (Table.States (1111), 105, 120);
- Add_Action (Table.States (1111), 106, 34);
- Add_Action (Table.States (1111), 107, 265);
- Table.States (1111).Goto_List.Set_Capacity (29);
- Add_Goto (Table.States (1111), 118, 131);
- Add_Goto (Table.States (1111), 125, 266);
- Add_Goto (Table.States (1111), 126, 407);
- Add_Goto (Table.States (1111), 129, 42);
- Add_Goto (Table.States (1111), 137, 268);
- Add_Goto (Table.States (1111), 154, 408);
- Add_Goto (Table.States (1111), 166, 270);
- Add_Goto (Table.States (1111), 167, 271);
- Add_Goto (Table.States (1111), 192, 409);
- Add_Goto (Table.States (1111), 198, 134);
- Add_Goto (Table.States (1111), 222, 274);
- Add_Goto (Table.States (1111), 240, 275);
- Add_Goto (Table.States (1111), 259, 136);
- Add_Goto (Table.States (1111), 273, 93);
- Add_Goto (Table.States (1111), 274, 276);
- Add_Goto (Table.States (1111), 276, 137);
- Add_Goto (Table.States (1111), 278, 410);
- Add_Goto (Table.States (1111), 279, 411);
- Add_Goto (Table.States (1111), 283, 138);
- Add_Goto (Table.States (1111), 284, 139);
- Add_Goto (Table.States (1111), 285, 140);
- Add_Goto (Table.States (1111), 286, 141);
- Add_Goto (Table.States (1111), 287, 142);
- Add_Goto (Table.States (1111), 288, 143);
- Add_Goto (Table.States (1111), 294, 98);
- Add_Goto (Table.States (1111), 302, 278);
- Add_Goto (Table.States (1111), 321, 145);
- Add_Goto (Table.States (1111), 322, 146);
- Add_Goto (Table.States (1111), 331, 147);
- Table.States (1111).Kernel := To_Vector (((116, 76, 1, False),
(116, 76, 3, False), (206, 76, 2, False),
- (240, 76, 4, True)));
- Table.States (1111).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 126, 0)));
- Table.States (1111).Minimal_Complete_Actions_Recursive := True;
- Table.States (1112).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1112), 74, 338);
- Add_Action (Table.States (1112), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (1112).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1112), 123, 1192);
- Table.States (1112).Kernel := To_Vector ((0 => (205, 206, 1,
False)));
- Table.States (1112).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (1113).Action_List.Set_Capacity (8);
- Add_Action (Table.States (1113), (29, 47, 48, 50, 69, 71, 74,
105), (201, 0), 7,
+ Table.States (1120).Kernel := To_Vector ((0 => ((204, 0), 99, 0,
(204, 0), 7)));
+ Table.States (1120).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (204, 0), 7)));
+ Table.States (1121).Action_List.Set_Capacity (23);
+ Add_Action (Table.States (1121), 3, (200, 2), 122);
+ Add_Action (Table.States (1121), 15, (139, 0), 260);
+ Add_Action (Table.States (1121), 28, (127, 6), 261);
+ Add_Action (Table.States (1121), 32, (224, 0), 262);
+ Add_Action (Table.States (1121), 39, (261, 4), 123);
+ Add_Action (Table.States (1121), 40, (168, 1), 263);
+ Add_Action (Table.States (1121), 41, (261, 1), 125);
+ Add_Action (Table.States (1121), 44, (168, 3), 265);
+ Add_Action (Table.States (1121), 52, (278, 0), 126);
+ Add_Action (Table.States (1121), 76, (120, 0), 127);
+ Add_Action (Table.States (1121), 77, (120, 5), 128);
+ Add_Action (Table.States (1121), 78, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (1121), 81, (242, 8), 31);
+ Add_Action (Table.States (1121), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (1121), 83, (208, 0), 1201);
+ Add_Action (Table.States (1121), 86, Reduce, (127, 5), 0, null,
null);
+ Add_Action (Table.States (1121), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (1121), 97, (333, 1), 129);
+ Add_Action (Table.States (1121), 98, (333, 0), 130);
+ Add_Action (Table.States (1121), 106, (261, 0), 131);
+ Add_Action (Table.States (1121), 107, (242, 5), 120);
+ Add_Action (Table.States (1121), 108, (242, 7), 34);
+ Add_Action (Table.States (1121), 109, (127, 0), 266);
+ Table.States (1121).Goto_List.Set_Capacity (29);
+ Add_Goto (Table.States (1121), 120, 132);
+ Add_Goto (Table.States (1121), 127, 267);
+ Add_Goto (Table.States (1121), 128, 409);
+ Add_Goto (Table.States (1121), 131, 42);
+ Add_Goto (Table.States (1121), 139, 269);
+ Add_Goto (Table.States (1121), 156, 410);
+ Add_Goto (Table.States (1121), 168, 271);
+ Add_Goto (Table.States (1121), 169, 272);
+ Add_Goto (Table.States (1121), 194, 411);
+ Add_Goto (Table.States (1121), 200, 135);
+ Add_Goto (Table.States (1121), 224, 275);
+ Add_Goto (Table.States (1121), 242, 276);
+ Add_Goto (Table.States (1121), 261, 137);
+ Add_Goto (Table.States (1121), 275, 93);
+ Add_Goto (Table.States (1121), 276, 277);
+ Add_Goto (Table.States (1121), 278, 138);
+ Add_Goto (Table.States (1121), 280, 412);
+ Add_Goto (Table.States (1121), 281, 413);
+ Add_Goto (Table.States (1121), 285, 139);
+ Add_Goto (Table.States (1121), 286, 140);
+ Add_Goto (Table.States (1121), 287, 141);
+ Add_Goto (Table.States (1121), 288, 142);
+ Add_Goto (Table.States (1121), 289, 143);
+ Add_Goto (Table.States (1121), 290, 144);
+ Add_Goto (Table.States (1121), 296, 98);
+ Add_Goto (Table.States (1121), 304, 279);
+ Add_Goto (Table.States (1121), 323, 146);
+ Add_Goto (Table.States (1121), 324, 147);
+ Add_Goto (Table.States (1121), 333, 148);
+ Table.States (1121).Kernel := To_Vector ((((118, 0), 76, 1,
(2147483647, 0), 0), ((118, 1), 76, 3,
+ (2147483647, 0), 0), ((208, 0), 76, 2, (2147483647, 0), 0),
((242, 0), 76, 4, (2147483647, 0), 0)));
+ Table.States (1121).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (128, 1), 0)));
+ Table.States (1122).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1122), 74, (125, 0), 340);
+ Add_Action (Table.States (1122), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (1122).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1122), 125, 1202);
+ Table.States (1122).Kernel := To_Vector ((0 => ((207, 0), 208,
1, (2147483647, 0), 0)));
+ Table.States (1122).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (1123).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (1123), (29, 47, 48, 50, 69, 71, 74,
107), (203, 0), 7,
formal_subprogram_declaration_0'Access, null);
- Table.States (1113).Kernel := To_Vector ((0 => (201, 97, 0,
False)));
- Table.States (1113).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 201, 7)));
- Table.States (1114).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1114), 97, 1193);
- Table.States (1114).Kernel := To_Vector ((0 => (199, 123, 1,
False)));
- Table.States (1114).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1193)));
- Table.States (1115).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1115), 74, 338);
- Add_Action (Table.States (1115), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (1115).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1115), 123, 1194);
- Table.States (1115).Kernel := To_Vector ((0 => (199, 193, 1,
False)));
- Table.States (1115).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (1116).Action_List.Set_Capacity (8);
- Add_Action (Table.States (1116), (29, 47, 48, 50, 69, 71, 74,
105), (199, 2), 7,
+ Table.States (1123).Kernel := To_Vector ((0 => ((203, 0), 99, 0,
(203, 0), 7)));
+ Table.States (1123).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (203, 0), 7)));
+ Table.States (1124).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1124), 99, (201, 1), 1203);
+ Table.States (1124).Kernel := To_Vector ((0 => ((201, 1), 125,
1, (2147483647, 0), 0)));
+ Table.States (1124).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (201, 1), 99, 1203)));
+ Table.States (1125).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1125), 74, (125, 0), 340);
+ Add_Action (Table.States (1125), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (1125).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1125), 125, 1204);
+ Table.States (1125).Kernel := To_Vector ((0 => ((201, 0), 195,
1, (2147483647, 0), 0)));
+ Table.States (1125).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (1126).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (1126), (29, 47, 48, 50, 69, 71, 74,
107), (201, 2), 7,
formal_object_declaration_2'Access, null);
- Table.States (1116).Kernel := To_Vector ((0 => (199, 97, 0,
False)));
- Table.States (1116).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 199, 7)));
- Table.States (1117).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1117), 97, 1195);
- Table.States (1117).Kernel := To_Vector ((0 => (223, 32, 1,
False)));
- Table.States (1117).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1195)));
- Table.States (1118).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1118), (22, 23, 24), (175, 0), 4,
elsif_statement_item_0'Access, null);
- Table.States (1118).Kernel := To_Vector ((0 => (175, 301, 0,
False)));
- Table.States (1118).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 175, 4)));
- Table.States (1119).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1119), 32, 1196);
- Table.States (1119).Kernel := To_Vector ((0 => (223, 24, 2,
False)));
- Table.States (1119).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 32, 1196)));
- Table.States (1120).Action_List.Set_Capacity (47);
- Add_Action (Table.States (1120), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (223, 2), 8, if_statement_2'Access, null);
- Table.States (1120).Kernel := To_Vector ((0 => (223, 97, 0,
False)));
- Table.States (1120).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 223, 8)));
- Table.States (1121).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1121), 24, 1197);
- Table.States (1121).Kernel := To_Vector ((0 => (248, 219, 2,
False)));
- Table.States (1121).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 1197)));
- Table.States (1122).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1122), 97, 1198);
- Table.States (1122).Kernel := To_Vector ((0 => (248, 241, 1,
False)));
- Table.States (1122).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1198)));
- Table.States (1123).Action_List.Set_Capacity (5);
- Add_Action (Table.States (1123), 79, 31);
- Add_Action (Table.States (1123), 97, Reduce, (241, 1), 0, null,
null);
- Add_Action (Table.States (1123), 105, 120);
- Add_Action (Table.States (1123), 106, 34);
- Add_Action (Table.States (1123), 107, 35);
- Table.States (1123).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (1123), 129, 42);
- Add_Goto (Table.States (1123), 240, 638);
- Add_Goto (Table.States (1123), 241, 1199);
- Add_Goto (Table.States (1123), 273, 93);
- Add_Goto (Table.States (1123), 294, 98);
- Table.States (1123).Kernel := To_Vector ((0 => (252, 24, 0,
False)));
- Table.States (1123).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 241, 0)));
- Table.States (1124).Action_List.Set_Capacity (4);
- Add_Action (Table.States (1124), 28, 1200);
- Add_Action (Table.States (1124), 77, Reduce, (255, 4), 0, null,
null);
- Add_Action (Table.States (1124), 97, Reduce, (255, 4), 0, null,
null);
- Add_Action (Table.States (1124), 105, 165);
- Table.States (1124).Goto_List.Set_Capacity (3);
- Add_Goto (Table.States (1124), 220, 496);
- Add_Goto (Table.States (1124), 255, 497);
- Add_Goto (Table.States (1124), 256, 498);
- Table.States (1124).Kernel := To_Vector (((178, 76, 5, False),
(200, 76, 1, False)));
- Table.States (1124).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 256, 0)));
- Table.States (1125).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1125), 72, 1201);
- Table.States (1125).Kernel := To_Vector ((0 => (177, 178, 5,
False)));
- Table.States (1125).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 72, 1201)));
- Table.States (1126).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1126), (1 => 72), (178, 1), 1, null,
null);
- Table.States (1126).Kernel := To_Vector ((0 => (178, 254, 0,
False)));
- Table.States (1126).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 178, 1)));
+ Table.States (1126).Kernel := To_Vector ((0 => ((201, 2), 99, 0,
(201, 2), 7)));
+ Table.States (1126).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (201, 2), 7)));
Table.States (1127).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1127), 97, 1202);
- Table.States (1127).Kernel := To_Vector ((0 => (265, 221, 1,
False)));
- Table.States (1127).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1202)));
- Table.States (1128).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1128), 10, 1016);
- Add_Action (Table.States (1128), 74, 1203);
- Table.States (1128).Kernel := To_Vector (((228, 228, 2, True),
(272, 228, 3, False)));
- Table.States (1128).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 74, 1203)));
- Table.States (1129).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1129), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (272, 1), 8,
- protected_type_declaration_1'Access,
protected_type_declaration_1_check'Access);
- Table.States (1129).Kernel := To_Vector ((0 => (272, 97, 0,
False)));
- Table.States (1129).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 272, 8)));
- Table.States (1130).Action_List.Set_Capacity (7);
- Add_Action (Table.States (1130), 10, Reduce, (228, 0), 3,
interface_list_0'Access, null);
- Add_Action (Table.States (1130), 74, Reduce, (228, 0), 3,
interface_list_0'Access, null);
- Add_Action (Table.States (1130), 76, 236);
- Add_Action (Table.States (1130), 85, 238);
- Add_Action (Table.States (1130), 97, Reduce, (228, 0), 3,
interface_list_0'Access, null);
- Add_Action (Table.States (1130), 102, 240);
- Add_Action (Table.States (1130), 103, 241);
- Table.States (1130).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (1130), 116, 242);
- Add_Goto (Table.States (1130), 323, 243);
- Table.States (1130).Kernel := To_Vector (((129, 240, 2, True),
(228, 240, 0, True), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (1130).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 228, 3)));
- Table.States (1130).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (1127), 99, (225, 1), 1205);
+ Table.States (1127).Kernel := To_Vector ((0 => ((225, 1), 32, 1,
(2147483647, 0), 0)));
+ Table.States (1127).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (225, 1), 99, 1205)));
+ Table.States (1128).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1128), (22, 23, 24), (177, 0), 4,
elsif_statement_item_0'Access, null);
+ Table.States (1128).Kernel := To_Vector ((0 => ((177, 0), 303,
0, (177, 0), 4)));
+ Table.States (1128).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (177, 0), 4)));
+ Table.States (1129).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1129), 32, (225, 0), 1206);
+ Table.States (1129).Kernel := To_Vector ((0 => ((225, 0), 24, 2,
(2147483647, 0), 0)));
+ Table.States (1129).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (225, 0), 32, 1206)));
+ Table.States (1130).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (1130), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (225, 2), 8, if_statement_2'Access, null);
+ Table.States (1130).Kernel := To_Vector ((0 => ((225, 2), 99, 0,
(225, 2), 8)));
+ Table.States (1130).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (225, 2), 8)));
Table.States (1131).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1131), 97, 1204);
- Table.States (1131).Kernel := To_Vector ((0 => (305, 267, 1,
False)));
- Table.States (1131).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1204)));
- end Subr_19;
- procedure Subr_20
- is begin
- Table.States (1132).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1132), 97, Reduce, (221, 1), 0, null,
null);
- Add_Action (Table.States (1132), 105, 150);
- Table.States (1132).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1132), 221, 1205);
- Table.States (1132).Kernel := To_Vector ((0 => (267, 24, 0,
False)));
- Table.States (1132).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 0)));
- Table.States (1133).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1133), (21, 97), (195, 0), 7,
extended_return_object_declaration_0'Access, null);
- Table.States (1133).Kernel := To_Vector ((0 => (195, 193, 0,
False)));
- Table.States (1133).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 195, 7)));
- Table.States (1134).Action_List.Set_Capacity (47);
- Add_Action (Table.States (1134), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (127, 0), 8, asynchronous_select_0'Access, null);
- Table.States (1134).Kernel := To_Vector ((0 => (127, 97, 0,
False)));
- Table.States (1134).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 127, 8)));
+ Add_Action (Table.States (1131), 24, (250, 0), 1207);
+ Table.States (1131).Kernel := To_Vector ((0 => ((250, 0), 221,
2, (2147483647, 0), 0)));
+ Table.States (1131).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (250, 0), 24, 1207)));
+ Table.States (1132).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1132), 99, (250, 1), 1208);
+ Table.States (1132).Kernel := To_Vector ((0 => ((250, 1), 243,
1, (2147483647, 0), 0)));
+ Table.States (1132).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (250, 1), 99, 1208)));
+ Table.States (1133).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (1133), 81, (242, 8), 31);
+ Add_Action (Table.States (1133), 99, Reduce, (243, 1), 0, null,
null);
+ Add_Action (Table.States (1133), 107, (242, 5), 120);
+ Add_Action (Table.States (1133), 108, (242, 7), 34);
+ Add_Action (Table.States (1133), 109, (242, 6), 35);
+ Table.States (1133).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (1133), 131, 42);
+ Add_Goto (Table.States (1133), 242, 644);
+ Add_Goto (Table.States (1133), 243, 1209);
+ Add_Goto (Table.States (1133), 275, 93);
+ Add_Goto (Table.States (1133), 296, 98);
+ Table.States (1133).Kernel := To_Vector ((0 => ((254, 0), 24, 0,
(243, 1), 0)));
+ Table.States (1133).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (243, 1), 0)));
+ Table.States (1134).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (1134), 28, (180, 0), 1210);
+ Add_Action (Table.States (1134), 78, Reduce, (257, 4), 0, null,
null);
+ Add_Action (Table.States (1134), 99, Reduce, (257, 4), 0, null,
null);
+ Add_Action (Table.States (1134), 107, (222, 1), 166);
+ Table.States (1134).Goto_List.Set_Capacity (3);
+ Add_Goto (Table.States (1134), 222, 500);
+ Add_Goto (Table.States (1134), 257, 501);
+ Add_Goto (Table.States (1134), 258, 502);
+ Table.States (1134).Kernel := To_Vector ((((180, 0), 76, 5,
(2147483647, 0), 0), ((202, 0), 76, 1,
+ (2147483647, 0), 0)));
+ Table.States (1134).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (258, 1), 0)));
Table.States (1135).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1135), 24, 1206);
- Table.States (1135).Kernel := To_Vector ((0 => (317, 219, 2,
False)));
- Table.States (1135).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 1206)));
- Table.States (1136).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1136), 10, 1016);
- Add_Action (Table.States (1136), 74, 1207);
- Table.States (1136).Kernel := To_Vector (((228, 228, 2, True),
(320, 228, 3, False)));
- Table.States (1136).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 74, 1207)));
- Table.States (1137).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1137), 97, Reduce, (221, 1), 0, null,
null);
- Add_Action (Table.States (1137), 105, 150);
- Table.States (1137).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1137), 221, 1208);
- Table.States (1137).Kernel := To_Vector ((0 => (320, 24, 1,
False)));
- Table.States (1137).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 0)));
- Table.States (1138).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1138), 24, 1209);
- Table.States (1138).Kernel := To_Vector ((0 => (306, 319, 2,
False)));
- Table.States (1138).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 1209)));
+ Add_Action (Table.States (1135), 72, (179, 0), 1211);
+ Table.States (1135).Kernel := To_Vector ((0 => ((179, 0), 180,
5, (2147483647, 0), 0)));
+ Table.States (1135).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (179, 0), 72, 1211)));
+ Table.States (1136).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1136), (1 => 72), (180, 1), 1, null,
null);
+ Table.States (1136).Kernel := To_Vector ((0 => ((180, 1), 256,
0, (180, 1), 1)));
+ Table.States (1136).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (180, 1), 1)));
+ Table.States (1137).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1137), 99, (267, 0), 1212);
+ Table.States (1137).Kernel := To_Vector ((0 => ((267, 0), 223,
1, (2147483647, 0), 0)));
+ Table.States (1137).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (267, 0), 99, 1212)));
+ Table.States (1138).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1138), 10, (230, 0), 1026);
+ Add_Action (Table.States (1138), 74, (274, 0), 1213);
+ Table.States (1138).Kernel := To_Vector ((((230, 0), 230, 2,
(2147483647, 0), 0), ((274, 0), 230, 3,
+ (2147483647, 0), 0)));
+ Table.States (1138).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (274, 0), 74, 1213)));
Table.States (1139).Action_List.Set_Capacity (41);
Add_Action (Table.States (1139), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (306, 1), 8,
- single_task_declaration_1'Access,
single_task_declaration_1_check'Access);
- Table.States (1139).Kernel := To_Vector ((0 => (306, 97, 0,
False)));
- Table.States (1139).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 306, 8)));
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (274, 1), 8,
+ protected_type_declaration_1'Access,
protected_type_declaration_1_check'Access);
+ Table.States (1139).Kernel := To_Vector ((0 => ((274, 1), 99, 0,
(274, 1), 8)));
+ Table.States (1139).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (274, 1), 8)));
Table.States (1140).Action_List.Set_Capacity (7);
- Add_Action (Table.States (1140), 76, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (1140), 77, Reduce, (243, 2), 3,
null_exclusion_opt_name_type_2'Access, null);
- Add_Action (Table.States (1140), 83, Reduce, (243, 2), 3,
null_exclusion_opt_name_type_2'Access, null);
- Add_Action (Table.States (1140), 85, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (1140), 97, Reduce, (243, 2), 3,
null_exclusion_opt_name_type_2'Access, null);
- Add_Action (Table.States (1140), 102, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Add_Action (Table.States (1140), 103, Reduce, (240, 5), 1,
name_5'Access, name_5_check'Access);
- Table.States (1140).Kernel := To_Vector (((240, 105, 0, False),
(243, 105, 0, False)));
- Table.States (1140).Minimal_Complete_Actions := To_Vector
(((Reduce, 240, 1), (Reduce, 243, 3)));
- Table.States (1141).Action_List.Set_Capacity (7);
- Add_Action (Table.States (1141), 76, Reduce, (240, 2), 1, null,
name_2_check'Access);
- Add_Action (Table.States (1141), 77, Reduce, (243, 3), 3,
null_exclusion_opt_name_type_3'Access, null);
- Add_Action (Table.States (1141), 83, Reduce, (243, 3), 3,
null_exclusion_opt_name_type_3'Access, null);
- Add_Action (Table.States (1141), 85, Reduce, (240, 2), 1, null,
name_2_check'Access);
- Add_Action (Table.States (1141), 97, Reduce, (243, 3), 3,
null_exclusion_opt_name_type_3'Access, null);
- Add_Action (Table.States (1141), 102, Reduce, (240, 2), 1, null,
name_2_check'Access);
- Add_Action (Table.States (1141), 103, Reduce, (240, 2), 1, null,
name_2_check'Access);
- Table.States (1141).Kernel := To_Vector (((240, 294, 0, True),
(243, 294, 0, False)));
- Table.States (1141).Minimal_Complete_Actions := To_Vector
(((Reduce, 240, 1), (Reduce, 243, 3)));
- Table.States (1141).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (1140), 10, Reduce, (230, 0), 3,
interface_list_0'Access, null);
+ Add_Action (Table.States (1140), 74, Reduce, (230, 0), 3,
interface_list_0'Access, null);
+ Add_Action (Table.States (1140), 76, (118, 0), 237);
+ Add_Action (Table.States (1140), 87, (296, 0), 239);
+ Add_Action (Table.States (1140), 99, Reduce, (230, 0), 3,
interface_list_0'Access, null);
+ Add_Action (Table.States (1140), 104, (325, 0), 241);
+ Add_Action (Table.States (1140), 105, (325, 1), 242);
+ Table.States (1140).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (1140), 118, 243);
+ Add_Goto (Table.States (1140), 325, 244);
+ Table.States (1140).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((230, 0), 242, 0,
+ (230, 0), 3), ((242, 0), 242, 5, (2147483647, 0), 0), ((242,
1), 242, 2, (2147483647, 0), 0), ((275,
+ 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (1140).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (230, 0), 3)));
+ Table.States (1141).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1141), 99, (307, 0), 1214);
+ Table.States (1141).Kernel := To_Vector ((0 => ((307, 0), 269,
1, (2147483647, 0), 0)));
+ Table.States (1141).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (307, 0), 99, 1214)));
Table.States (1142).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1142), (77, 97), (171, 1), 5, null,
null);
- Table.States (1142).Kernel := To_Vector ((0 => (171, 193, 0,
False)));
- Table.States (1142).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 171, 5)));
+ Add_Action (Table.States (1142), 99, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (1142), 107, (223, 0), 151);
+ Table.States (1142).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1142), 223, 1215);
+ Table.States (1142).Kernel := To_Vector ((0 => ((269, 0), 24, 0,
(223, 1), 0)));
+ Table.States (1142).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 1), 0)));
Table.States (1143).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1143), (77, 97), (171, 0), 5, null,
null);
- Table.States (1143).Kernel := To_Vector ((0 => (171, 193, 0,
False)));
- Table.States (1143).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 171, 5)));
- Table.States (1144).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1144), 42, 1210);
- Table.States (1144).Kernel := To_Vector ((0 => (121, 77, 2,
False)));
- Table.States (1144).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 42, 1210)));
+ Add_Action (Table.States (1143), (21, 99), (197, 0), 7,
extended_return_object_declaration_0'Access,
+ null);
+ Table.States (1143).Kernel := To_Vector ((0 => ((197, 0), 195,
0, (197, 0), 7)));
+ Table.States (1143).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (197, 0), 7)));
+ Table.States (1144).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (1144), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (129, 0), 8, asynchronous_select_0'Access, null);
+ Table.States (1144).Kernel := To_Vector ((0 => ((129, 0), 99, 0,
(129, 0), 8)));
+ Table.States (1144).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (129, 0), 8)));
Table.States (1145).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1145), 42, 1211);
- Table.States (1145).Kernel := To_Vector ((0 => (121, 77, 2,
False)));
- Table.States (1145).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 42, 1211)));
- Table.States (1146).Action_List.Set_Capacity (4);
- Add_Action (Table.States (1146), 79, 31);
- Add_Action (Table.States (1146), 105, 120);
- Add_Action (Table.States (1146), 106, 34);
- Add_Action (Table.States (1146), 107, 35);
- Table.States (1146).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (1146), 129, 42);
- Add_Goto (Table.States (1146), 226, 1212);
- Add_Goto (Table.States (1146), 240, 1213);
- Add_Goto (Table.States (1146), 273, 93);
- Add_Goto (Table.States (1146), 294, 98);
- Table.States (1146).Kernel := To_Vector ((0 => (227, 84, 3,
True)));
- Table.States (1146).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (1146).Minimal_Complete_Actions_Recursive := True;
- Table.States (1147).Action_List.Set_Capacity (13);
- Add_Action (Table.States (1147), 3, 122);
- Add_Action (Table.States (1147), 39, 123);
- Add_Action (Table.States (1147), 40, 124);
- Add_Action (Table.States (1147), 41, 125);
- Add_Action (Table.States (1147), 76, 127);
- Add_Action (Table.States (1147), 79, 31);
- Add_Action (Table.States (1147), 81, 1214);
- Add_Action (Table.States (1147), 95, 128);
- Add_Action (Table.States (1147), 96, 129);
- Add_Action (Table.States (1147), 104, 130);
- Add_Action (Table.States (1147), 105, 120);
- Add_Action (Table.States (1147), 106, 34);
- Add_Action (Table.States (1147), 107, 35);
- Table.States (1147).Goto_List.Set_Capacity (12);
- Add_Goto (Table.States (1147), 118, 131);
- Add_Goto (Table.States (1147), 129, 42);
- Add_Goto (Table.States (1147), 198, 134);
- Add_Goto (Table.States (1147), 240, 275);
- Add_Goto (Table.States (1147), 259, 136);
- Add_Goto (Table.States (1147), 273, 93);
- Add_Goto (Table.States (1147), 278, 782);
- Add_Goto (Table.States (1147), 294, 98);
- Add_Goto (Table.States (1147), 302, 482);
- Add_Goto (Table.States (1147), 321, 145);
- Add_Goto (Table.States (1147), 322, 146);
- Add_Goto (Table.States (1147), 331, 147);
- Table.States (1147).Kernel := To_Vector (((156, 53, 3, False),
(226, 53, 1, False)));
- Table.States (1147).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 81, 1214)));
- Table.States (1148).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1148), 53, 1046);
- Add_Action (Table.States (1148), 74, Reduce, (280, 1), 0, null,
null);
- Add_Action (Table.States (1148), 97, Reduce, (280, 1), 0, null,
null);
- Table.States (1148).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1148), 280, 1215);
- Table.States (1148).Kernel := To_Vector ((0 => (327, 193, 0,
False)));
- Table.States (1148).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 280, 0)));
- Table.States (1149).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1149), 86, 1216);
- Table.States (1149).Kernel := To_Vector ((0 => (280, 302, 2,
False)));
- Table.States (1149).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 86, 1216)));
- Table.States (1150).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1150), 10, 1016);
- Add_Action (Table.States (1150), 74, Reduce, (229, 0), 4, null,
null);
- Add_Action (Table.States (1150), 97, Reduce, (229, 0), 4, null,
null);
- Table.States (1150).Kernel := To_Vector (((228, 228, 2, True),
(229, 228, 0, False)));
- Table.States (1150).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 229, 4)));
- Table.States (1151).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1151), 10, 1016);
- Add_Action (Table.States (1151), 74, Reduce, (229, 2), 4, null,
null);
- Add_Action (Table.States (1151), 97, Reduce, (229, 2), 4, null,
null);
- Table.States (1151).Kernel := To_Vector (((228, 228, 2, True),
(229, 228, 0, False)));
- Table.States (1151).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 229, 4)));
+ Add_Action (Table.States (1145), 24, (319, 0), 1216);
+ Table.States (1145).Kernel := To_Vector ((0 => ((319, 0), 221,
2, (2147483647, 0), 0)));
+ Table.States (1145).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (319, 0), 24, 1216)));
+ Table.States (1146).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1146), 10, (230, 0), 1026);
+ Add_Action (Table.States (1146), 74, (322, 0), 1217);
+ Table.States (1146).Kernel := To_Vector ((((230, 0), 230, 2,
(2147483647, 0), 0), ((322, 0), 230, 3,
+ (2147483647, 0), 0)));
+ Table.States (1146).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (322, 0), 74, 1217)));
+ Table.States (1147).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1147), 99, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (1147), 107, (223, 0), 151);
+ Table.States (1147).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1147), 223, 1218);
+ Table.States (1147).Kernel := To_Vector ((0 => ((322, 1), 24, 1,
(2147483647, 0), 0)));
+ Table.States (1147).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 1), 0)));
+ Table.States (1148).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1148), 24, (308, 0), 1219);
+ Table.States (1148).Kernel := To_Vector ((0 => ((308, 0), 321,
2, (2147483647, 0), 0)));
+ Table.States (1148).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (308, 0), 24, 1219)));
+ Table.States (1149).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1149), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (308, 1), 8,
+ single_task_declaration_1'Access,
single_task_declaration_1_check'Access);
+ Table.States (1149).Kernel := To_Vector ((0 => ((308, 1), 99, 0,
(308, 1), 8)));
+ Table.States (1149).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (308, 1), 8)));
+ Table.States (1150).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (1150), 76, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (1150), 78, Reduce, (245, 2), 3,
null_exclusion_opt_name_type_2'Access, null);
+ Add_Action (Table.States (1150), 85, Reduce, (245, 2), 3,
null_exclusion_opt_name_type_2'Access, null);
+ Add_Action (Table.States (1150), 87, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (1150), 99, Reduce, (245, 2), 3,
null_exclusion_opt_name_type_2'Access, null);
+ Add_Action (Table.States (1150), 104, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Add_Action (Table.States (1150), 105, Reduce, (242, 5), 1,
name_5'Access, name_5_check'Access);
+ Table.States (1150).Kernel := To_Vector ((((242, 5), 107, 0,
(242, 5), 1), ((245, 2), 107, 0, (245,
+ 2), 3)));
+ Table.States (1150).Minimal_Complete_Actions := To_Vector
(((Reduce, (242, 5), 1), (Reduce, (245, 2),
+ 3)));
+ Table.States (1151).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (1151), 76, Reduce, (242, 2), 1, null,
name_2_check'Access);
+ Add_Action (Table.States (1151), 78, Reduce, (245, 3), 3,
null_exclusion_opt_name_type_3'Access, null);
+ Add_Action (Table.States (1151), 85, Reduce, (245, 3), 3,
null_exclusion_opt_name_type_3'Access, null);
+ Add_Action (Table.States (1151), 87, Reduce, (242, 2), 1, null,
name_2_check'Access);
+ Add_Action (Table.States (1151), 99, Reduce, (245, 3), 3,
null_exclusion_opt_name_type_3'Access, null);
+ Add_Action (Table.States (1151), 104, Reduce, (242, 2), 1, null,
name_2_check'Access);
+ Add_Action (Table.States (1151), 105, Reduce, (242, 2), 1, null,
name_2_check'Access);
+ Table.States (1151).Kernel := To_Vector ((((242, 2), 296, 0,
(242, 2), 1), ((245, 3), 296, 0, (245,
+ 3), 3)));
+ Table.States (1151).Minimal_Complete_Actions := To_Vector
(((Reduce, (242, 2), 1), (Reduce, (245, 3),
+ 3)));
+ end Subr_20;
+ procedure Subr_21
+ is begin
Table.States (1152).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1152), (74, 97), (327, 1), 4, null,
null);
- Table.States (1152).Kernel := To_Vector ((0 => (327, 302, 0,
False)));
- Table.States (1152).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 327, 4)));
- Table.States (1153).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1153), 72, 1217);
- Table.States (1153).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (1153), 329, 1218);
- Add_Goto (Table.States (1153), 330, 1219);
- Table.States (1153).Kernel := To_Vector ((0 => (328, 35, 5,
False)));
- Table.States (1153).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 72, 1217)));
- Table.States (1154).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1154), (74, 97), (281, 0), 4,
record_definition_0'Access, null);
- Table.States (1154).Kernel := To_Vector ((0 => (281, 54, 0,
False)));
- Table.States (1154).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 281, 4)));
- Table.States (1155).Action_List.Set_Capacity (6);
- Add_Action (Table.States (1155), 7, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (1155), 40, 750);
- Add_Action (Table.States (1155), 79, 31);
- Add_Action (Table.States (1155), 105, 120);
- Add_Action (Table.States (1155), 106, 34);
- Add_Action (Table.States (1155), 107, 35);
- Table.States (1155).Goto_List.Set_Capacity (7);
- Add_Goto (Table.States (1155), 115, 1220);
- Add_Goto (Table.States (1155), 129, 42);
- Add_Goto (Table.States (1155), 240, 487);
- Add_Goto (Table.States (1155), 242, 729);
- Add_Goto (Table.States (1155), 273, 93);
- Add_Goto (Table.States (1155), 294, 98);
- Add_Goto (Table.States (1155), 315, 1221);
- Table.States (1155).Kernel := To_Vector (((148, 8, 1, False),
(148, 8, 2, False)));
- Table.States (1155).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (1156).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1156), (74, 83, 97), (148, 3), 1, null,
null);
- Table.States (1156).Kernel := To_Vector ((0 => (148, 115, 0,
False)));
- Table.States (1156).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 148, 1)));
- Table.States (1157).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1157), 74, 338);
- Add_Action (Table.States (1157), 83, 1222);
- Add_Action (Table.States (1157), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (1157).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1157), 123, 1223);
- Table.States (1157).Kernel := To_Vector (((147, 148, 2, False),
(147, 148, 1, False)));
- Table.States (1157).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
+ Add_Action (Table.States (1152), (78, 99), (173, 1), 5, null,
null);
+ Table.States (1152).Kernel := To_Vector ((0 => ((173, 1), 195,
0, (173, 1), 5)));
+ Table.States (1152).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (173, 1), 5)));
+ Table.States (1153).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1153), (78, 99), (173, 0), 5, null,
null);
+ Table.States (1153).Kernel := To_Vector ((0 => ((173, 0), 195,
0, (173, 0), 5)));
+ Table.States (1153).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (173, 0), 5)));
+ Table.States (1154).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1154), 42, (123, 1), 1220);
+ Table.States (1154).Kernel := To_Vector ((0 => ((123, 1), 78, 2,
(2147483647, 0), 0)));
+ Table.States (1154).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (123, 1), 42, 1220)));
+ Table.States (1155).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1155), 42, (123, 0), 1221);
+ Table.States (1155).Kernel := To_Vector ((0 => ((123, 0), 78, 2,
(2147483647, 0), 0)));
+ Table.States (1155).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (123, 0), 42, 1221)));
+ Table.States (1156).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (1156), 81, (242, 8), 31);
+ Add_Action (Table.States (1156), 107, (242, 5), 120);
+ Add_Action (Table.States (1156), 108, (242, 7), 34);
+ Add_Action (Table.States (1156), 109, (242, 6), 35);
+ Table.States (1156).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (1156), 131, 42);
+ Add_Goto (Table.States (1156), 228, 1222);
+ Add_Goto (Table.States (1156), 242, 1223);
+ Add_Goto (Table.States (1156), 275, 93);
+ Add_Goto (Table.States (1156), 296, 98);
+ Table.States (1156).Kernel := To_Vector ((0 => ((229, 0), 86, 3,
(2147483647, 0), 0)));
+ Table.States (1156).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (1157).Action_List.Set_Capacity (14);
+ Add_Action (Table.States (1157), 3, (200, 2), 122);
+ Add_Action (Table.States (1157), 39, (261, 4), 123);
+ Add_Action (Table.States (1157), 40, (200, 3), 124);
+ Add_Action (Table.States (1157), 41, (261, 1), 125);
+ Add_Action (Table.States (1157), 76, (120, 0), 127);
+ Add_Action (Table.States (1157), 77, (120, 5), 128);
+ Add_Action (Table.States (1157), 81, (242, 8), 31);
+ Add_Action (Table.States (1157), 83, (228, 0), 1224);
+ Add_Action (Table.States (1157), 97, (333, 1), 129);
+ Add_Action (Table.States (1157), 98, (333, 0), 130);
+ Add_Action (Table.States (1157), 106, (261, 0), 131);
+ Add_Action (Table.States (1157), 107, (242, 5), 120);
+ Add_Action (Table.States (1157), 108, (242, 7), 34);
+ Add_Action (Table.States (1157), 109, (242, 6), 35);
+ Table.States (1157).Goto_List.Set_Capacity (12);
+ Add_Goto (Table.States (1157), 120, 132);
+ Add_Goto (Table.States (1157), 131, 42);
+ Add_Goto (Table.States (1157), 200, 135);
+ Add_Goto (Table.States (1157), 242, 276);
+ Add_Goto (Table.States (1157), 261, 137);
+ Add_Goto (Table.States (1157), 275, 93);
+ Add_Goto (Table.States (1157), 280, 792);
+ Add_Goto (Table.States (1157), 296, 98);
+ Add_Goto (Table.States (1157), 304, 486);
+ Add_Goto (Table.States (1157), 323, 146);
+ Add_Goto (Table.States (1157), 324, 147);
+ Add_Goto (Table.States (1157), 333, 148);
+ Table.States (1157).Kernel := To_Vector ((((158, 0), 53, 3,
(2147483647, 0), 0), ((228, 0), 53, 1,
+ (2147483647, 0), 0)));
+ Table.States (1157).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (228, 0), 83, 1224)));
Table.States (1158).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1158), (74, 83, 97), (148, 1), 1, null,
null);
- Table.States (1158).Kernel := To_Vector ((0 => (148, 315, 0,
False)));
- Table.States (1158).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 148, 1)));
- Table.States (1159).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1159), 10, 1016);
- Add_Action (Table.States (1159), 74, Reduce, (229, 3), 4, null,
null);
- Add_Action (Table.States (1159), 97, Reduce, (229, 3), 4, null,
null);
- Table.States (1159).Kernel := To_Vector (((228, 228, 2, True),
(229, 228, 0, False)));
- Table.States (1159).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 229, 4)));
+ Add_Action (Table.States (1158), 53, (282, 0), 1056);
+ Add_Action (Table.States (1158), 74, Reduce, (282, 1), 0, null,
null);
+ Add_Action (Table.States (1158), 99, Reduce, (282, 1), 0, null,
null);
+ Table.States (1158).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1158), 282, 1225);
+ Table.States (1158).Kernel := To_Vector ((0 => ((329, 4), 195,
0, (282, 1), 0)));
+ Table.States (1158).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (282, 1), 0)));
+ Table.States (1159).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1159), 88, (282, 0), 1226);
+ Table.States (1159).Kernel := To_Vector ((0 => ((282, 0), 304,
2, (2147483647, 0), 0)));
+ Table.States (1159).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (282, 0), 88, 1226)));
Table.States (1160).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1160), 10, 1016);
- Add_Action (Table.States (1160), 74, Reduce, (229, 1), 4, null,
null);
- Add_Action (Table.States (1160), 97, Reduce, (229, 1), 4, null,
null);
- Table.States (1160).Kernel := To_Vector (((228, 228, 2, True),
(229, 228, 0, False)));
- Table.States (1160).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 229, 4)));
- Table.States (1161).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1161), (77, 84), (182, 0), 3, null,
null);
- Table.States (1161).Kernel := To_Vector ((0 => (182, 181, 0,
True)));
- Table.States (1161).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 182, 3)));
- Table.States (1161).Minimal_Complete_Actions_Recursive := True;
- Table.States (1162).Action_List.Set_Capacity (4);
- Add_Action (Table.States (1162), 79, 31);
- Add_Action (Table.States (1162), 105, 120);
- Add_Action (Table.States (1162), 106, 34);
- Add_Action (Table.States (1162), 107, 35);
- Table.States (1162).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (1162), 129, 42);
- Add_Goto (Table.States (1162), 228, 1224);
- Add_Goto (Table.States (1162), 240, 850);
- Add_Goto (Table.States (1162), 273, 93);
- Add_Goto (Table.States (1162), 294, 98);
- Table.States (1162).Kernel := To_Vector ((0 => (120, 10, 1,
False)));
- Table.States (1162).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
+ Add_Action (Table.States (1160), 10, (230, 0), 1026);
+ Add_Action (Table.States (1160), 74, Reduce, (231, 0), 4, null,
null);
+ Add_Action (Table.States (1160), 99, Reduce, (231, 0), 4, null,
null);
+ Table.States (1160).Kernel := To_Vector ((((230, 0), 230, 2,
(2147483647, 0), 0), ((231, 0), 230, 0,
+ (231, 0), 4)));
+ Table.States (1160).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (231, 0), 4)));
+ Table.States (1161).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1161), 10, (230, 0), 1026);
+ Add_Action (Table.States (1161), 74, Reduce, (231, 2), 4, null,
null);
+ Add_Action (Table.States (1161), 99, Reduce, (231, 2), 4, null,
null);
+ Table.States (1161).Kernel := To_Vector ((((230, 0), 230, 2,
(2147483647, 0), 0), ((231, 2), 230, 0,
+ (231, 2), 4)));
+ Table.States (1161).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (231, 2), 4)));
+ Table.States (1162).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1162), (74, 99), (329, 1), 4, null,
null);
+ Table.States (1162).Kernel := To_Vector ((0 => ((329, 1), 304,
0, (329, 1), 4)));
+ Table.States (1162).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (329, 1), 4)));
Table.States (1163).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1163), 74, 1225);
- Table.States (1163).Kernel := To_Vector ((0 => (260, 120, 3,
False)));
- Table.States (1163).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 74, 1225)));
- Table.States (1164).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1164), 74, 1226);
- Table.States (1164).Kernel := To_Vector ((0 => (163, 120, 3,
False)));
- Table.States (1164).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 74, 1226)));
- Table.States (1165).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1165), (74, 97), (157, 0), 1, null,
null);
- Table.States (1165).Kernel := To_Vector ((0 => (157, 156, 0,
False)));
- Table.States (1165).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 157, 1)));
- Table.States (1166).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1166), (74, 97), (163, 1), 4,
derived_type_definition_1'Access, null);
- Table.States (1166).Kernel := To_Vector ((0 => (163, 157, 0,
False)));
- Table.States (1166).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 163, 4)));
- Table.States (1167).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1167), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (261, 0), 8,
- private_type_declaration_0'Access, null);
- Table.States (1167).Kernel := To_Vector ((0 => (261, 97, 0,
False)));
- Table.States (1167).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 261, 8)));
- Table.States (1168).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1168), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (246, 0), 8,
- object_renaming_declaration_0'Access, null);
- Table.States (1168).Kernel := To_Vector ((0 => (246, 97, 0,
False)));
- Table.States (1168).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 246, 8)));
- Table.States (1169).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1169), 80, 1075);
- Add_Action (Table.States (1169), 88, 1227);
- Table.States (1169).Kernel := To_Vector (((186, 186, 2, True),
(188, 186, 1, False)));
- Table.States (1169).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 88, 1227)));
- Table.States (1170).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1170), (80, 88), (186, 0), 3, null,
null);
- Table.States (1170).Kernel := To_Vector ((0 => (186, 185, 0,
True)));
- Table.States (1170).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 186, 3)));
- Table.States (1170).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (1163), 72, (332, 0), 1227);
+ Table.States (1163).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (1163), 331, 1228);
+ Add_Goto (Table.States (1163), 332, 1229);
+ Table.States (1163).Kernel := To_Vector ((0 => ((330, 0), 35, 5,
(2147483647, 0), 0)));
+ Table.States (1163).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (332, 0), 72, 1227)));
+ Table.States (1164).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1164), (74, 99), (283, 0), 4,
record_definition_0'Access, null);
+ Table.States (1164).Kernel := To_Vector ((0 => ((283, 0), 54, 0,
(283, 0), 4)));
+ Table.States (1164).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (283, 0), 4)));
+ Table.States (1165).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (1165), 7, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (1165), 40, (244, 0), 756);
+ Add_Action (Table.States (1165), 81, (242, 8), 31);
+ Add_Action (Table.States (1165), 107, (242, 5), 120);
+ Add_Action (Table.States (1165), 108, (242, 7), 34);
+ Add_Action (Table.States (1165), 109, (242, 6), 35);
+ Table.States (1165).Goto_List.Set_Capacity (7);
+ Add_Goto (Table.States (1165), 117, 1230);
+ Add_Goto (Table.States (1165), 131, 42);
+ Add_Goto (Table.States (1165), 242, 491);
+ Add_Goto (Table.States (1165), 244, 735);
+ Add_Goto (Table.States (1165), 275, 93);
+ Add_Goto (Table.States (1165), 296, 98);
+ Add_Goto (Table.States (1165), 317, 1231);
+ Table.States (1165).Kernel := To_Vector ((((150, 0), 8, 1,
(2147483647, 0), 0), ((150, 2), 8, 2,
+ (2147483647, 0), 0)));
+ Table.States (1165).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (1166).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1166), (74, 85, 99), (150, 3), 1, null,
null);
+ Table.States (1166).Kernel := To_Vector ((0 => ((150, 3), 117,
0, (150, 3), 1)));
+ Table.States (1166).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (150, 3), 1)));
+ Table.States (1167).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1167), 74, (125, 0), 340);
+ Add_Action (Table.States (1167), 85, (149, 0), 1232);
+ Add_Action (Table.States (1167), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (1167).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1167), 125, 1233);
+ Table.States (1167).Kernel := To_Vector ((((149, 0), 150, 2,
(2147483647, 0), 0), ((149, 1), 150, 1,
+ (2147483647, 0), 0)));
+ Table.States (1167).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (1168).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1168), (74, 85, 99), (150, 1), 1, null,
null);
+ Table.States (1168).Kernel := To_Vector ((0 => ((150, 1), 317,
0, (150, 1), 1)));
+ Table.States (1168).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (150, 1), 1)));
+ Table.States (1169).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1169), 10, (230, 0), 1026);
+ Add_Action (Table.States (1169), 74, Reduce, (231, 3), 4, null,
null);
+ Add_Action (Table.States (1169), 99, Reduce, (231, 3), 4, null,
null);
+ Table.States (1169).Kernel := To_Vector ((((230, 0), 230, 2,
(2147483647, 0), 0), ((231, 3), 230, 0,
+ (231, 3), 4)));
+ Table.States (1169).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (231, 3), 4)));
+ Table.States (1170).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1170), 10, (230, 0), 1026);
+ Add_Action (Table.States (1170), 74, Reduce, (231, 1), 4, null,
null);
+ Add_Action (Table.States (1170), 99, Reduce, (231, 1), 4, null,
null);
+ Table.States (1170).Kernel := To_Vector ((((230, 0), 230, 2,
(2147483647, 0), 0), ((231, 1), 230, 0,
+ (231, 1), 4)));
+ Table.States (1170).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (231, 1), 4)));
Table.States (1171).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1171), (24, 72), (188, 1), 4,
exception_handler_1'Access, null);
- Table.States (1171).Kernel := To_Vector ((0 => (188, 301, 0,
False)));
- Table.States (1171).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 188, 4)));
- Table.States (1172).Action_List.Set_Capacity (47);
- Add_Action (Table.States (1172), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (134, 0), 8, block_statement_0'Access,
block_statement_0_check'Access);
- Table.States (1172).Kernel := To_Vector ((0 => (134, 97, 0,
False)));
- Table.States (1172).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 134, 8)));
- Table.States (1173).Action_List.Set_Capacity (47);
- Add_Action (Table.States (1173), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (233, 0), 8, loop_statement_0'Access,
loop_statement_0_check'Access);
- Table.States (1173).Kernel := To_Vector ((0 => (233, 97, 0,
False)));
- Table.States (1173).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 233, 8)));
+ Add_Action (Table.States (1171), (78, 86), (184, 0), 3, null,
null);
+ Table.States (1171).Kernel := To_Vector ((0 => ((184, 0), 183,
0, (184, 0), 3)));
+ Table.States (1171).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (184, 0), 3)));
+ Table.States (1172).Action_List.Set_Capacity (4);
+ Add_Action (Table.States (1172), 81, (242, 8), 31);
+ Add_Action (Table.States (1172), 107, (242, 5), 120);
+ Add_Action (Table.States (1172), 108, (242, 7), 34);
+ Add_Action (Table.States (1172), 109, (242, 6), 35);
+ Table.States (1172).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (1172), 131, 42);
+ Add_Goto (Table.States (1172), 230, 1234);
+ Add_Goto (Table.States (1172), 242, 859);
+ Add_Goto (Table.States (1172), 275, 93);
+ Add_Goto (Table.States (1172), 296, 98);
+ Table.States (1172).Kernel := To_Vector ((0 => ((122, 0), 10, 1,
(2147483647, 0), 0)));
+ Table.States (1172).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (1173).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1173), 74, (262, 0), 1235);
+ Table.States (1173).Kernel := To_Vector ((0 => ((262, 0), 122,
3, (2147483647, 0), 0)));
+ Table.States (1173).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (262, 0), 74, 1235)));
Table.States (1174).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1174), 97, 1228);
- Table.States (1174).Kernel := To_Vector ((0 => (245, 123, 1,
False)));
- Table.States (1174).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1228)));
- Table.States (1175).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1175), 97, 1229);
- Table.States (1175).Kernel := To_Vector ((0 => (245, 123, 1,
False)));
- Table.States (1175).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1229)));
- Table.States (1176).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1176), 97, 1230);
- Table.States (1176).Kernel := To_Vector ((0 => (245, 123, 1,
False)));
- Table.States (1176).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1230)));
- Table.States (1177).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1177), 97, 1231);
- Table.States (1177).Kernel := To_Vector ((0 => (180, 123, 1,
False)));
- Table.States (1177).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1231)));
+ Add_Action (Table.States (1174), 74, (165, 0), 1236);
+ Table.States (1174).Kernel := To_Vector ((0 => ((165, 0), 122,
3, (2147483647, 0), 0)));
+ Table.States (1174).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (165, 0), 74, 1236)));
+ Table.States (1175).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1175), (74, 99), (159, 0), 1, null,
null);
+ Table.States (1175).Kernel := To_Vector ((0 => ((159, 0), 158,
0, (159, 0), 1)));
+ Table.States (1175).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (159, 0), 1)));
+ Table.States (1176).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1176), (74, 99), (165, 1), 4,
derived_type_definition_1'Access, null);
+ Table.States (1176).Kernel := To_Vector ((0 => ((165, 1), 159,
0, (165, 1), 4)));
+ Table.States (1176).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (165, 1), 4)));
+ Table.States (1177).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1177), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (263, 0), 8,
+ private_type_declaration_0'Access, null);
+ Table.States (1177).Kernel := To_Vector ((0 => ((263, 0), 99, 0,
(263, 0), 8)));
+ Table.States (1177).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (263, 0), 8)));
Table.States (1178).Action_List.Set_Capacity (41);
Add_Action (Table.States (1178), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (214, 2), 8,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (248, 0), 8,
+ object_renaming_declaration_0'Access, null);
+ Table.States (1178).Kernel := To_Vector ((0 => ((248, 0), 99, 0,
(248, 0), 8)));
+ Table.States (1178).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (248, 0), 8)));
+ Table.States (1179).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1179), 82, (188, 0), 1085);
+ Add_Action (Table.States (1179), 90, (190, 0), 1237);
+ Table.States (1179).Kernel := To_Vector ((((188, 0), 188, 2,
(2147483647, 0), 0), ((190, 0), 188, 1,
+ (2147483647, 0), 0)));
+ Table.States (1179).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (190, 0), 90, 1237)));
+ Table.States (1180).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1180), (82, 90), (188, 0), 3, null,
null);
+ Table.States (1180).Kernel := To_Vector ((0 => ((188, 0), 187,
0, (188, 0), 3)));
+ Table.States (1180).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (188, 0), 3)));
+ Table.States (1181).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1181), (24, 72), (190, 1), 4,
exception_handler_1'Access, null);
+ Table.States (1181).Kernel := To_Vector ((0 => ((190, 1), 303,
0, (190, 1), 4)));
+ Table.States (1181).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (190, 1), 4)));
+ Table.States (1182).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (1182), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (136, 0), 8, block_statement_0'Access,
block_statement_0_check'Access);
+ Table.States (1182).Kernel := To_Vector ((0 => ((136, 0), 99, 0,
(136, 0), 8)));
+ Table.States (1182).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (136, 0), 8)));
+ Table.States (1183).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (1183), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (235, 0), 8, loop_statement_0'Access,
loop_statement_0_check'Access);
+ Table.States (1183).Kernel := To_Vector ((0 => ((235, 0), 99, 0,
(235, 0), 8)));
+ Table.States (1183).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (235, 0), 8)));
+ Table.States (1184).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1184), 99, (247, 1), 1238);
+ Table.States (1184).Kernel := To_Vector ((0 => ((247, 1), 125,
1, (2147483647, 0), 0)));
+ Table.States (1184).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (247, 1), 99, 1238)));
+ Table.States (1185).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1185), 99, (247, 2), 1239);
+ Table.States (1185).Kernel := To_Vector ((0 => ((247, 2), 125,
1, (2147483647, 0), 0)));
+ Table.States (1185).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (247, 2), 99, 1239)));
+ Table.States (1186).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1186), 99, (247, 0), 1240);
+ Table.States (1186).Kernel := To_Vector ((0 => ((247, 0), 125,
1, (2147483647, 0), 0)));
+ Table.States (1186).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (247, 0), 99, 1240)));
+ Table.States (1187).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1187), 99, (182, 0), 1241);
+ Table.States (1187).Kernel := To_Vector ((0 => ((182, 0), 125,
1, (2147483647, 0), 0)));
+ Table.States (1187).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (182, 0), 99, 1241)));
+ Table.States (1188).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1188), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (216, 2), 8,
generic_instantiation_2'Access, null);
- Table.States (1178).Kernel := To_Vector ((0 => (214, 97, 0,
False)));
- Table.States (1178).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 214, 8)));
- Table.States (1179).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1179), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (214, 1), 8,
+ Table.States (1188).Kernel := To_Vector ((0 => ((216, 2), 99, 0,
(216, 2), 8)));
+ Table.States (1188).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (216, 2), 8)));
+ Table.States (1189).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1189), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (216, 1), 8,
generic_instantiation_1'Access, null);
- Table.States (1179).Kernel := To_Vector ((0 => (214, 97, 0,
False)));
- Table.States (1179).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 214, 8)));
- Table.States (1180).Action_List.Set_Capacity (5);
- Add_Action (Table.States (1180), 79, 31);
- Add_Action (Table.States (1180), 97, Reduce, (241, 1), 0, null,
null);
- Add_Action (Table.States (1180), 105, 120);
- Add_Action (Table.States (1180), 106, 34);
- Add_Action (Table.States (1180), 107, 35);
- Table.States (1180).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (1180), 129, 42);
- Add_Goto (Table.States (1180), 240, 638);
- Add_Goto (Table.States (1180), 241, 1232);
- Add_Goto (Table.States (1180), 273, 93);
- Add_Goto (Table.States (1180), 294, 98);
- Table.States (1180).Kernel := To_Vector ((0 => (308, 24, 1,
False)));
- Table.States (1180).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 241, 0)));
- Table.States (1181).Action_List.Set_Capacity (47);
- Add_Action (Table.States (1181), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (114, 0), 9, accept_statement_0'Access,
accept_statement_0_check'Access);
- Table.States (1181).Kernel := To_Vector ((0 => (114, 97, 0,
False)));
- Table.States (1181).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 114, 9)));
- Table.States (1182).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1182), (77, 84), (138, 0), 4,
case_expression_alternative_0'Access, null);
- Table.States (1182).Kernel := To_Vector ((0 => (138, 193, 0,
False)));
- Table.States (1182).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 138, 4)));
- Table.States (1183).Action_List.Set_Capacity (16);
- Add_Action (Table.States (1183), 3, 122);
- Add_Action (Table.States (1183), 22, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1183), 23, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1183), 39, 123);
- Add_Action (Table.States (1183), 40, 124);
- Add_Action (Table.States (1183), 41, 125);
- Add_Action (Table.States (1183), 52, 126);
- Add_Action (Table.States (1183), 76, 127);
- Add_Action (Table.States (1183), 77, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1183), 79, 31);
- Add_Action (Table.States (1183), 95, 128);
- Add_Action (Table.States (1183), 96, 129);
- Add_Action (Table.States (1183), 104, 130);
- Add_Action (Table.States (1183), 105, 120);
- Add_Action (Table.States (1183), 106, 34);
- Add_Action (Table.States (1183), 107, 35);
- Table.States (1183).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (1183), 118, 131);
- Add_Goto (Table.States (1183), 129, 42);
- Add_Goto (Table.States (1183), 192, 132);
- Add_Goto (Table.States (1183), 193, 1233);
- Add_Goto (Table.States (1183), 198, 134);
- Add_Goto (Table.States (1183), 240, 135);
- Add_Goto (Table.States (1183), 259, 136);
- Add_Goto (Table.States (1183), 273, 93);
- Add_Goto (Table.States (1183), 276, 137);
- Add_Goto (Table.States (1183), 283, 138);
- Add_Goto (Table.States (1183), 284, 139);
- Add_Goto (Table.States (1183), 285, 140);
- Add_Goto (Table.States (1183), 286, 141);
- Add_Goto (Table.States (1183), 287, 142);
- Add_Goto (Table.States (1183), 288, 143);
- Add_Goto (Table.States (1183), 294, 98);
- Add_Goto (Table.States (1183), 302, 144);
- Add_Goto (Table.States (1183), 321, 145);
- Add_Goto (Table.States (1183), 322, 146);
- Add_Goto (Table.States (1183), 331, 147);
- Table.States (1183).Kernel := To_Vector ((0 => (173, 68, 0,
False)));
- Table.States (1183).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (1184).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1184), (1 => 77), (222, 0), 7,
if_expression_0'Access, null);
- Table.States (1184).Kernel := To_Vector ((0 => (222, 193, 0,
False)));
- Table.States (1184).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 222, 7)));
- Table.States (1185).Action_List.Set_Capacity (12);
- Add_Action (Table.States (1185), 3, 122);
- Add_Action (Table.States (1185), 39, 123);
- Add_Action (Table.States (1185), 40, 124);
- Add_Action (Table.States (1185), 41, 125);
- Add_Action (Table.States (1185), 76, 127);
- Add_Action (Table.States (1185), 79, 31);
- Add_Action (Table.States (1185), 95, 128);
- Add_Action (Table.States (1185), 96, 129);
- Add_Action (Table.States (1185), 104, 130);
- Add_Action (Table.States (1185), 105, 120);
- Add_Action (Table.States (1185), 106, 34);
- Add_Action (Table.States (1185), 107, 35);
- Table.States (1185).Goto_List.Set_Capacity (11);
- Add_Goto (Table.States (1185), 118, 131);
- Add_Goto (Table.States (1185), 129, 42);
- Add_Goto (Table.States (1185), 198, 134);
- Add_Goto (Table.States (1185), 240, 135);
- Add_Goto (Table.States (1185), 259, 136);
- Add_Goto (Table.States (1185), 273, 93);
- Add_Goto (Table.States (1185), 294, 98);
- Add_Goto (Table.States (1185), 302, 1234);
- Add_Goto (Table.States (1185), 321, 145);
- Add_Goto (Table.States (1185), 322, 146);
- Add_Goto (Table.States (1185), 331, 147);
- Table.States (1185).Kernel := To_Vector ((0 => (145, 53, 4,
False)));
- Table.States (1185).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (1186).Action_List.Set_Capacity (42);
- Add_Action (Table.States (1186), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73,
74, 79, 94, 105, 106, 107, 108), (282, 0),
+ Table.States (1189).Kernel := To_Vector ((0 => ((216, 1), 99, 0,
(216, 1), 8)));
+ Table.States (1189).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (216, 1), 8)));
+ Table.States (1190).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (1190), 81, (242, 8), 31);
+ Add_Action (Table.States (1190), 99, Reduce, (243, 1), 0, null,
null);
+ Add_Action (Table.States (1190), 107, (242, 5), 120);
+ Add_Action (Table.States (1190), 108, (242, 7), 34);
+ Add_Action (Table.States (1190), 109, (242, 6), 35);
+ Table.States (1190).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (1190), 131, 42);
+ Add_Goto (Table.States (1190), 242, 644);
+ Add_Goto (Table.States (1190), 243, 1242);
+ Add_Goto (Table.States (1190), 275, 93);
+ Add_Goto (Table.States (1190), 296, 98);
+ Table.States (1190).Kernel := To_Vector ((0 => ((310, 0), 24, 1,
(2147483647, 0), 0)));
+ Table.States (1190).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (243, 1), 0)));
+ Table.States (1191).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (1191), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (116, 0), 9, accept_statement_0'Access,
accept_statement_0_check'Access);
+ Table.States (1191).Kernel := To_Vector ((0 => ((116, 0), 99, 0,
(116, 0), 9)));
+ Table.States (1191).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (116, 0), 9)));
+ Table.States (1192).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1192), (78, 86), (140, 0), 4,
case_expression_alternative_0'Access, null);
+ Table.States (1192).Kernel := To_Vector ((0 => ((140, 0), 195,
0, (140, 0), 4)));
+ Table.States (1192).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (140, 0), 4)));
+ Table.States (1193).Action_List.Set_Capacity (17);
+ Add_Action (Table.States (1193), 3, (200, 2), 122);
+ Add_Action (Table.States (1193), 22, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1193), 23, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1193), 39, (261, 4), 123);
+ Add_Action (Table.States (1193), 40, (200, 3), 124);
+ Add_Action (Table.States (1193), 41, (261, 1), 125);
+ Add_Action (Table.States (1193), 52, (278, 0), 126);
+ Add_Action (Table.States (1193), 76, (120, 0), 127);
+ Add_Action (Table.States (1193), 77, (120, 5), 128);
+ Add_Action (Table.States (1193), 78, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1193), 81, (242, 8), 31);
+ Add_Action (Table.States (1193), 97, (333, 1), 129);
+ Add_Action (Table.States (1193), 98, (333, 0), 130);
+ Add_Action (Table.States (1193), 106, (261, 0), 131);
+ Add_Action (Table.States (1193), 107, (242, 5), 120);
+ Add_Action (Table.States (1193), 108, (242, 7), 34);
+ Add_Action (Table.States (1193), 109, (242, 6), 35);
+ Table.States (1193).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (1193), 120, 132);
+ Add_Goto (Table.States (1193), 131, 42);
+ Add_Goto (Table.States (1193), 194, 133);
+ Add_Goto (Table.States (1193), 195, 1243);
+ Add_Goto (Table.States (1193), 200, 135);
+ Add_Goto (Table.States (1193), 242, 136);
+ Add_Goto (Table.States (1193), 261, 137);
+ Add_Goto (Table.States (1193), 275, 93);
+ Add_Goto (Table.States (1193), 278, 138);
+ Add_Goto (Table.States (1193), 285, 139);
+ Add_Goto (Table.States (1193), 286, 140);
+ Add_Goto (Table.States (1193), 287, 141);
+ Add_Goto (Table.States (1193), 288, 142);
+ Add_Goto (Table.States (1193), 289, 143);
+ Add_Goto (Table.States (1193), 290, 144);
+ Add_Goto (Table.States (1193), 296, 98);
+ Add_Goto (Table.States (1193), 304, 145);
+ Add_Goto (Table.States (1193), 323, 146);
+ Add_Goto (Table.States (1193), 324, 147);
+ Add_Goto (Table.States (1193), 333, 148);
+ Table.States (1193).Kernel := To_Vector ((0 => ((175, 0), 68, 0,
(195, 1), 0)));
+ Table.States (1193).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (1194).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1194), (1 => 78), (224, 0), 7,
if_expression_0'Access, null);
+ Table.States (1194).Kernel := To_Vector ((0 => ((224, 0), 195,
0, (224, 0), 7)));
+ Table.States (1194).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (224, 0), 7)));
+ Table.States (1195).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (1195), 3, (200, 2), 122);
+ Add_Action (Table.States (1195), 39, (261, 4), 123);
+ Add_Action (Table.States (1195), 40, (200, 3), 124);
+ Add_Action (Table.States (1195), 41, (261, 1), 125);
+ Add_Action (Table.States (1195), 76, (120, 0), 127);
+ Add_Action (Table.States (1195), 77, (120, 5), 128);
+ Add_Action (Table.States (1195), 81, (242, 8), 31);
+ Add_Action (Table.States (1195), 97, (333, 1), 129);
+ Add_Action (Table.States (1195), 98, (333, 0), 130);
+ Add_Action (Table.States (1195), 106, (261, 0), 131);
+ Add_Action (Table.States (1195), 107, (242, 5), 120);
+ Add_Action (Table.States (1195), 108, (242, 7), 34);
+ Add_Action (Table.States (1195), 109, (242, 6), 35);
+ Table.States (1195).Goto_List.Set_Capacity (11);
+ Add_Goto (Table.States (1195), 120, 132);
+ Add_Goto (Table.States (1195), 131, 42);
+ Add_Goto (Table.States (1195), 200, 135);
+ Add_Goto (Table.States (1195), 242, 136);
+ Add_Goto (Table.States (1195), 261, 137);
+ Add_Goto (Table.States (1195), 275, 93);
+ Add_Goto (Table.States (1195), 296, 98);
+ Add_Goto (Table.States (1195), 304, 1244);
+ Add_Goto (Table.States (1195), 323, 146);
+ Add_Goto (Table.States (1195), 324, 147);
+ Add_Goto (Table.States (1195), 333, 148);
+ Table.States (1195).Kernel := To_Vector ((0 => ((147, 0), 53, 4,
(2147483647, 0), 0)));
+ Table.States (1195).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (1196).Action_List.Set_Capacity (42);
+ Add_Action (Table.States (1196), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73,
74, 81, 96, 107, 108, 109, 110), (284, 0),
9, record_representation_clause_0'Access, null);
- Table.States (1186).Kernel := To_Vector ((0 => (282, 97, 0,
False)));
- Table.States (1186).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 282, 9)));
- Table.States (1187).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1187), (77, 97), (255, 2), 6,
parameter_specification_2'Access, null);
- Table.States (1187).Kernel := To_Vector ((0 => (255, 193, 0,
False)));
- Table.States (1187).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 255, 6)));
- Table.States (1188).Action_List.Set_Capacity (7);
- Add_Action (Table.States (1188), 76, 236);
- Add_Action (Table.States (1188), 77, Reduce, (255, 1), 6,
parameter_specification_1'Access, null);
- Add_Action (Table.States (1188), 83, 1235);
- Add_Action (Table.States (1188), 85, 238);
- Add_Action (Table.States (1188), 97, Reduce, (255, 1), 6,
parameter_specification_1'Access, null);
- Add_Action (Table.States (1188), 102, 240);
- Add_Action (Table.States (1188), 103, 241);
- Table.States (1188).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (1188), 116, 242);
- Add_Goto (Table.States (1188), 323, 243);
- Table.States (1188).Kernel := To_Vector (((129, 240, 2, True),
(240, 240, 5, True), (240, 240, 2, True),
- (255, 240, 1, False), (255, 240, 0, False), (273, 240, 3, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True), (294, 240, 2, True)));
- Table.States (1188).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 255, 6)));
- Table.States (1189).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1189), (74, 97), (203, 6), 4, null,
null);
- Table.States (1189).Kernel := To_Vector ((0 => (203, 81, 0,
False)));
- Table.States (1189).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 203, 4)));
- Table.States (1190).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1190), 74, 1236);
- Add_Conflict (Table.States (1190), 74, (204, 1), 4,
formal_derived_type_definition_1'Access, null);
- Add_Action (Table.States (1190), 97, Reduce, (204, 1), 4,
formal_derived_type_definition_1'Access, null);
- Table.States (1190).Kernel := To_Vector (((204, 120, 2, False),
(204, 120, 0, False)));
- Table.States (1190).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 204, 4)));
- Table.States (1191).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1191), 77, 1237);
- Table.States (1191).Kernel := To_Vector ((0 => (206, 81, 1,
False)));
- Table.States (1191).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 1237)));
- Table.States (1192).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1192), 97, 1238);
- Table.States (1192).Kernel := To_Vector ((0 => (205, 123, 1,
False)));
- Table.States (1192).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1238)));
- Table.States (1193).Action_List.Set_Capacity (8);
- Add_Action (Table.States (1193), (29, 47, 48, 50, 69, 71, 74,
105), (199, 1), 8,
+ Table.States (1196).Kernel := To_Vector ((0 => ((284, 0), 99, 0,
(284, 0), 9)));
+ Table.States (1196).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (284, 0), 9)));
+ Table.States (1197).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1197), (78, 99), (257, 2), 6,
parameter_specification_2'Access, null);
+ Table.States (1197).Kernel := To_Vector ((0 => ((257, 2), 195,
0, (257, 2), 6)));
+ Table.States (1197).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (257, 2), 6)));
+ Table.States (1198).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (1198), 76, (118, 0), 237);
+ Add_Action (Table.States (1198), 78, Reduce, (257, 1), 6,
parameter_specification_1'Access, null);
+ Add_Action (Table.States (1198), 85, (257, 0), 1245);
+ Add_Action (Table.States (1198), 87, (296, 0), 239);
+ Add_Action (Table.States (1198), 99, Reduce, (257, 1), 6,
parameter_specification_1'Access, null);
+ Add_Action (Table.States (1198), 104, (325, 0), 241);
+ Add_Action (Table.States (1198), 105, (325, 1), 242);
+ Table.States (1198).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (1198), 118, 243);
+ Add_Goto (Table.States (1198), 325, 244);
+ Table.States (1198).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((242, 0), 242, 5,
+ (2147483647, 0), 0), ((242, 1), 242, 2, (2147483647, 0), 0),
((257, 0), 242, 1, (2147483647, 0), 0),
+ ((257, 1), 242, 0, (257, 1), 6), ((275, 0), 242, 3,
(2147483647, 0), 0), ((296, 0), 242, 2,
+ (2147483647, 0), 0), ((296, 1), 242, 2, (2147483647, 0), 0),
((296, 2), 242, 2, (2147483647, 0), 0),
+ ((296, 3), 242, 2, (2147483647, 0), 0)));
+ Table.States (1198).Minimal_Complete_Actions := To_Vector
(((Shift, (257, 0), 85, 1245), (Reduce, (257,
+ 1), 6)));
+ Table.States (1199).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1199), (74, 99), (205, 6), 4, null,
null);
+ Table.States (1199).Kernel := To_Vector ((0 => ((205, 6), 83, 0,
(205, 6), 4)));
+ Table.States (1199).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (205, 6), 4)));
+ Table.States (1200).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1200), 74, (206, 0), 1246);
+ Add_Conflict (Table.States (1200), 74, (206, 1), 4,
formal_derived_type_definition_1'Access, null);
+ Add_Action (Table.States (1200), 99, Reduce, (206, 1), 4,
formal_derived_type_definition_1'Access, null);
+ Table.States (1200).Kernel := To_Vector ((((206, 0), 122, 2,
(2147483647, 0), 0), ((206, 1), 122, 0,
+ (206, 1), 4)));
+ Table.States (1200).Minimal_Complete_Actions := To_Vector
(((Shift, (206, 0), 74, 1246), (Reduce, (206,
+ 1), 4)));
+ Table.States (1201).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1201), 78, (208, 0), 1247);
+ Table.States (1201).Kernel := To_Vector ((0 => ((208, 0), 83, 1,
(2147483647, 0), 0)));
+ Table.States (1201).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (208, 0), 78, 1247)));
+ Table.States (1202).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1202), 99, (207, 0), 1248);
+ Table.States (1202).Kernel := To_Vector ((0 => ((207, 0), 125,
1, (2147483647, 0), 0)));
+ Table.States (1202).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (207, 0), 99, 1248)));
+ Table.States (1203).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (1203), (29, 47, 48, 50, 69, 71, 74,
107), (201, 1), 8,
formal_object_declaration_1'Access, null);
- Table.States (1193).Kernel := To_Vector ((0 => (199, 97, 0,
False)));
- Table.States (1193).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 199, 8)));
- Table.States (1194).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1194), 97, 1239);
- Table.States (1194).Kernel := To_Vector ((0 => (199, 123, 1,
False)));
- Table.States (1194).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1239)));
- Table.States (1195).Action_List.Set_Capacity (47);
- Add_Action (Table.States (1195), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (223, 1), 9, if_statement_1'Access, null);
- Table.States (1195).Kernel := To_Vector ((0 => (223, 97, 0,
False)));
- Table.States (1195).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 223, 9)));
- Table.States (1196).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1196), 97, 1240);
- Table.States (1196).Kernel := To_Vector ((0 => (223, 32, 1,
False)));
- Table.States (1196).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1240)));
- Table.States (1197).Action_List.Set_Capacity (5);
- Add_Action (Table.States (1197), 79, 31);
- Add_Action (Table.States (1197), 97, Reduce, (241, 1), 0, null,
null);
- Add_Action (Table.States (1197), 105, 120);
- Add_Action (Table.States (1197), 106, 34);
- Add_Action (Table.States (1197), 107, 35);
- Table.States (1197).Goto_List.Set_Capacity (5);
- Add_Goto (Table.States (1197), 129, 42);
- Add_Goto (Table.States (1197), 240, 638);
- Add_Goto (Table.States (1197), 241, 1241);
- Add_Goto (Table.States (1197), 273, 93);
- Add_Goto (Table.States (1197), 294, 98);
- Table.States (1197).Kernel := To_Vector ((0 => (248, 24, 1,
False)));
- Table.States (1197).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 241, 0)));
- Table.States (1198).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1198), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (248, 1), 9,
+ Table.States (1203).Kernel := To_Vector ((0 => ((201, 1), 99, 0,
(201, 1), 8)));
+ Table.States (1203).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (201, 1), 8)));
+ Table.States (1204).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1204), 99, (201, 0), 1249);
+ Table.States (1204).Kernel := To_Vector ((0 => ((201, 0), 125,
1, (2147483647, 0), 0)));
+ Table.States (1204).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (201, 0), 99, 1249)));
+ Table.States (1205).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (1205), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (225, 1), 9, if_statement_1'Access, null);
+ Table.States (1205).Kernel := To_Vector ((0 => ((225, 1), 99, 0,
(225, 1), 9)));
+ Table.States (1205).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (225, 1), 9)));
+ Table.States (1206).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1206), 99, (225, 0), 1250);
+ Table.States (1206).Kernel := To_Vector ((0 => ((225, 0), 32, 1,
(2147483647, 0), 0)));
+ Table.States (1206).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (225, 0), 99, 1250)));
+ Table.States (1207).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (1207), 81, (242, 8), 31);
+ Add_Action (Table.States (1207), 99, Reduce, (243, 1), 0, null,
null);
+ Add_Action (Table.States (1207), 107, (242, 5), 120);
+ Add_Action (Table.States (1207), 108, (242, 7), 34);
+ Add_Action (Table.States (1207), 109, (242, 6), 35);
+ Table.States (1207).Goto_List.Set_Capacity (5);
+ Add_Goto (Table.States (1207), 131, 42);
+ Add_Goto (Table.States (1207), 242, 644);
+ Add_Goto (Table.States (1207), 243, 1251);
+ Add_Goto (Table.States (1207), 275, 93);
+ Add_Goto (Table.States (1207), 296, 98);
+ Table.States (1207).Kernel := To_Vector ((0 => ((250, 0), 24, 1,
(2147483647, 0), 0)));
+ Table.States (1207).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (243, 1), 0)));
+ Table.States (1208).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1208), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (250, 1), 9,
package_body_1'Access, package_body_1_check'Access);
- Table.States (1198).Kernel := To_Vector ((0 => (248, 97, 0,
False)));
- Table.States (1198).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 248, 9)));
- Table.States (1199).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1199), (1 => 97), (252, 0), 9,
package_specification_0'Access,
+ Table.States (1208).Kernel := To_Vector ((0 => ((250, 1), 99, 0,
(250, 1), 9)));
+ Table.States (1208).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (250, 1), 9)));
+ Table.States (1209).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1209), (1 => 99), (254, 0), 9,
package_specification_0'Access,
package_specification_0_check'Access);
- Table.States (1199).Kernel := To_Vector ((0 => (252, 241, 0,
False)));
- Table.States (1199).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 252, 9)));
- Table.States (1200).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1200), 105, 1242);
- Table.States (1200).Kernel := To_Vector ((0 => (178, 28, 4,
False)));
- Table.States (1200).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 1242)));
- Table.States (1201).Action_List.Set_Capacity (14);
- Add_Action (Table.States (1201), 3, 122);
- Add_Action (Table.States (1201), 35, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1201), 39, 123);
- Add_Action (Table.States (1201), 40, 124);
- Add_Action (Table.States (1201), 41, 125);
- Add_Action (Table.States (1201), 52, 126);
- Add_Action (Table.States (1201), 76, 127);
- Add_Action (Table.States (1201), 79, 31);
- Add_Action (Table.States (1201), 95, 128);
- Add_Action (Table.States (1201), 96, 129);
- Add_Action (Table.States (1201), 104, 130);
- Add_Action (Table.States (1201), 105, 120);
- Add_Action (Table.States (1201), 106, 34);
- Add_Action (Table.States (1201), 107, 35);
- Table.States (1201).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (1201), 118, 131);
- Add_Goto (Table.States (1201), 129, 42);
- Add_Goto (Table.States (1201), 192, 132);
- Add_Goto (Table.States (1201), 193, 1243);
- Add_Goto (Table.States (1201), 198, 134);
- Add_Goto (Table.States (1201), 240, 135);
- Add_Goto (Table.States (1201), 259, 136);
- Add_Goto (Table.States (1201), 273, 93);
- Add_Goto (Table.States (1201), 276, 137);
- Add_Goto (Table.States (1201), 283, 138);
- Add_Goto (Table.States (1201), 284, 139);
- Add_Goto (Table.States (1201), 285, 140);
- Add_Goto (Table.States (1201), 286, 141);
- Add_Goto (Table.States (1201), 287, 142);
- Add_Goto (Table.States (1201), 288, 143);
- Add_Goto (Table.States (1201), 294, 98);
- Add_Goto (Table.States (1201), 302, 144);
- Add_Goto (Table.States (1201), 321, 145);
- Add_Goto (Table.States (1201), 322, 146);
- Add_Goto (Table.States (1201), 331, 147);
- Table.States (1201).Kernel := To_Vector ((0 => (177, 72, 4,
False)));
- Table.States (1201).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (1202).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1202), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (265, 0), 9,
+ Table.States (1209).Kernel := To_Vector ((0 => ((254, 0), 243,
0, (254, 0), 9)));
+ Table.States (1209).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (254, 0), 9)));
+ Table.States (1210).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1210), 107, (180, 0), 1252);
+ Table.States (1210).Kernel := To_Vector ((0 => ((180, 0), 28, 4,
(2147483647, 0), 0)));
+ Table.States (1210).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (180, 0), 107, 1252)));
+ Table.States (1211).Action_List.Set_Capacity (15);
+ Add_Action (Table.States (1211), 3, (200, 2), 122);
+ Add_Action (Table.States (1211), 35, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1211), 39, (261, 4), 123);
+ Add_Action (Table.States (1211), 40, (200, 3), 124);
+ Add_Action (Table.States (1211), 41, (261, 1), 125);
+ Add_Action (Table.States (1211), 52, (278, 0), 126);
+ Add_Action (Table.States (1211), 76, (120, 0), 127);
+ Add_Action (Table.States (1211), 77, (120, 5), 128);
+ Add_Action (Table.States (1211), 81, (242, 8), 31);
+ Add_Action (Table.States (1211), 97, (333, 1), 129);
+ Add_Action (Table.States (1211), 98, (333, 0), 130);
+ Add_Action (Table.States (1211), 106, (261, 0), 131);
+ Add_Action (Table.States (1211), 107, (242, 5), 120);
+ Add_Action (Table.States (1211), 108, (242, 7), 34);
+ Add_Action (Table.States (1211), 109, (242, 6), 35);
+ Table.States (1211).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (1211), 120, 132);
+ Add_Goto (Table.States (1211), 131, 42);
+ Add_Goto (Table.States (1211), 194, 133);
+ Add_Goto (Table.States (1211), 195, 1253);
+ Add_Goto (Table.States (1211), 200, 135);
+ Add_Goto (Table.States (1211), 242, 136);
+ Add_Goto (Table.States (1211), 261, 137);
+ Add_Goto (Table.States (1211), 275, 93);
+ Add_Goto (Table.States (1211), 278, 138);
+ Add_Goto (Table.States (1211), 285, 139);
+ Add_Goto (Table.States (1211), 286, 140);
+ Add_Goto (Table.States (1211), 287, 141);
+ Add_Goto (Table.States (1211), 288, 142);
+ Add_Goto (Table.States (1211), 289, 143);
+ Add_Goto (Table.States (1211), 290, 144);
+ Add_Goto (Table.States (1211), 296, 98);
+ Add_Goto (Table.States (1211), 304, 145);
+ Add_Goto (Table.States (1211), 323, 146);
+ Add_Goto (Table.States (1211), 324, 147);
+ Add_Goto (Table.States (1211), 333, 148);
+ Table.States (1211).Kernel := To_Vector ((0 => ((179, 0), 72, 4,
(2147483647, 0), 0)));
+ Table.States (1211).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (1212).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1212), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (267, 0), 9,
protected_body_0'Access, protected_body_0_check'Access);
- Table.States (1202).Kernel := To_Vector ((0 => (265, 97, 0,
False)));
- Table.States (1202).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 265, 9)));
- Table.States (1203).Action_List.Set_Capacity (17);
- Add_Action (Table.States (1203), 24, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (1203), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (1203), 28, 184);
- Add_Action (Table.States (1203), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (1203), 30, 8);
- Add_Action (Table.States (1203), 40, 12);
- Add_Action (Table.States (1203), 46, 14);
- Add_Action (Table.States (1203), 47, 15);
- Add_Action (Table.States (1203), 48, 16);
- Add_Action (Table.States (1203), 49, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (1203), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (1203), 51, 19);
- Add_Action (Table.States (1203), 63, 25);
- Add_Action (Table.States (1203), 66, 26);
- Add_Action (Table.States (1203), 69, 27);
- Add_Action (Table.States (1203), 71, 28);
- Add_Action (Table.States (1203), 105, 186);
- Table.States (1203).Goto_List.Set_Capacity (54);
- Add_Goto (Table.States (1203), 113, 36);
- Add_Goto (Table.States (1203), 122, 38);
- Add_Goto (Table.States (1203), 128, 41);
- Add_Goto (Table.States (1203), 135, 46);
- Add_Goto (Table.States (1203), 136, 47);
- Add_Goto (Table.States (1203), 158, 392);
- Add_Goto (Table.States (1203), 159, 393);
- Add_Goto (Table.States (1203), 160, 675);
- Add_Goto (Table.States (1203), 180, 55);
- Add_Goto (Table.States (1203), 183, 56);
- Add_Goto (Table.States (1203), 187, 57);
- Add_Goto (Table.States (1203), 194, 59);
- Add_Goto (Table.States (1203), 207, 61);
- Add_Goto (Table.States (1203), 208, 62);
- Add_Goto (Table.States (1203), 210, 63);
- Add_Goto (Table.States (1203), 211, 64);
- Add_Goto (Table.States (1203), 214, 65);
- Add_Goto (Table.States (1203), 215, 66);
- Add_Goto (Table.States (1203), 216, 67);
- Add_Goto (Table.States (1203), 217, 68);
- Add_Goto (Table.States (1203), 220, 70);
- Add_Goto (Table.States (1203), 224, 72);
- Add_Goto (Table.States (1203), 244, 75);
- Add_Goto (Table.States (1203), 245, 76);
- Add_Goto (Table.States (1203), 246, 77);
- Add_Goto (Table.States (1203), 247, 78);
- Add_Goto (Table.States (1203), 248, 79);
- Add_Goto (Table.States (1203), 249, 80);
- Add_Goto (Table.States (1203), 250, 81);
- Add_Goto (Table.States (1203), 251, 82);
- Add_Goto (Table.States (1203), 252, 83);
- Add_Goto (Table.States (1203), 258, 395);
- Add_Goto (Table.States (1203), 260, 85);
- Add_Goto (Table.States (1203), 261, 86);
- Add_Goto (Table.States (1203), 263, 88);
- Add_Goto (Table.States (1203), 264, 89);
- Add_Goto (Table.States (1203), 265, 90);
- Add_Goto (Table.States (1203), 266, 91);
- Add_Goto (Table.States (1203), 267, 1244);
- Add_Goto (Table.States (1203), 272, 92);
- Add_Goto (Table.States (1203), 282, 95);
- Add_Goto (Table.States (1203), 290, 96);
- Add_Goto (Table.States (1203), 305, 103);
- Add_Goto (Table.States (1203), 306, 104);
- Add_Goto (Table.States (1203), 308, 106);
- Add_Goto (Table.States (1203), 309, 107);
- Add_Goto (Table.States (1203), 310, 108);
- Add_Goto (Table.States (1203), 312, 109);
- Add_Goto (Table.States (1203), 314, 110);
- Add_Goto (Table.States (1203), 317, 112);
- Add_Goto (Table.States (1203), 318, 113);
- Add_Goto (Table.States (1203), 320, 114);
- Add_Goto (Table.States (1203), 326, 116);
- Add_Goto (Table.States (1203), 332, 117);
- Table.States (1203).Kernel := To_Vector ((0 => (272, 74, 2,
False)));
- Table.States (1203).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 160, 0)));
- Table.States (1204).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1204), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (305, 0), 9,
+ Table.States (1212).Kernel := To_Vector ((0 => ((267, 0), 99, 0,
(267, 0), 9)));
+ Table.States (1212).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (267, 0), 9)));
+ Table.States (1213).Action_List.Set_Capacity (17);
+ Add_Action (Table.States (1213), 24, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (1213), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (1213), 28, (124, 0), 185);
+ Add_Action (Table.States (1213), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (1213), 30, (213, 0), 8);
+ Add_Action (Table.States (1213), 40, (249, 0), 12);
+ Add_Action (Table.States (1213), 46, (249, 1), 14);
+ Add_Action (Table.States (1213), 47, (216, 0), 15);
+ Add_Action (Table.States (1213), 48, (260, 0), 16);
+ Add_Action (Table.States (1213), 49, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (1213), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (1213), 51, (267, 0), 19);
+ Add_Action (Table.States (1213), 63, (316, 0), 25);
+ Add_Action (Table.States (1213), 66, (308, 0), 26);
+ Add_Action (Table.States (1213), 69, (209, 0), 27);
+ Add_Action (Table.States (1213), 71, (334, 0), 28);
+ Add_Action (Table.States (1213), 107, (222, 1), 187);
+ Table.States (1213).Goto_List.Set_Capacity (54);
+ Add_Goto (Table.States (1213), 115, 36);
+ Add_Goto (Table.States (1213), 124, 38);
+ Add_Goto (Table.States (1213), 130, 41);
+ Add_Goto (Table.States (1213), 137, 46);
+ Add_Goto (Table.States (1213), 138, 47);
+ Add_Goto (Table.States (1213), 160, 394);
+ Add_Goto (Table.States (1213), 161, 395);
+ Add_Goto (Table.States (1213), 162, 681);
+ Add_Goto (Table.States (1213), 182, 55);
+ Add_Goto (Table.States (1213), 185, 56);
+ Add_Goto (Table.States (1213), 189, 57);
+ Add_Goto (Table.States (1213), 196, 59);
+ Add_Goto (Table.States (1213), 209, 61);
+ Add_Goto (Table.States (1213), 210, 62);
+ Add_Goto (Table.States (1213), 212, 63);
+ Add_Goto (Table.States (1213), 213, 64);
+ Add_Goto (Table.States (1213), 216, 65);
+ Add_Goto (Table.States (1213), 217, 66);
+ Add_Goto (Table.States (1213), 218, 67);
+ Add_Goto (Table.States (1213), 219, 68);
+ Add_Goto (Table.States (1213), 222, 70);
+ Add_Goto (Table.States (1213), 226, 72);
+ Add_Goto (Table.States (1213), 246, 75);
+ Add_Goto (Table.States (1213), 247, 76);
+ Add_Goto (Table.States (1213), 248, 77);
+ Add_Goto (Table.States (1213), 249, 78);
+ Add_Goto (Table.States (1213), 250, 79);
+ Add_Goto (Table.States (1213), 251, 80);
+ Add_Goto (Table.States (1213), 252, 81);
+ Add_Goto (Table.States (1213), 253, 82);
+ Add_Goto (Table.States (1213), 254, 83);
+ Add_Goto (Table.States (1213), 260, 397);
+ Add_Goto (Table.States (1213), 262, 85);
+ Add_Goto (Table.States (1213), 263, 86);
+ Add_Goto (Table.States (1213), 265, 88);
+ Add_Goto (Table.States (1213), 266, 89);
+ Add_Goto (Table.States (1213), 267, 90);
+ Add_Goto (Table.States (1213), 268, 91);
+ Add_Goto (Table.States (1213), 269, 1254);
+ Add_Goto (Table.States (1213), 274, 92);
+ Add_Goto (Table.States (1213), 284, 95);
+ Add_Goto (Table.States (1213), 292, 96);
+ Add_Goto (Table.States (1213), 307, 103);
+ Add_Goto (Table.States (1213), 308, 104);
+ Add_Goto (Table.States (1213), 310, 106);
+ Add_Goto (Table.States (1213), 311, 107);
+ Add_Goto (Table.States (1213), 312, 108);
+ Add_Goto (Table.States (1213), 314, 109);
+ Add_Goto (Table.States (1213), 316, 110);
+ Add_Goto (Table.States (1213), 319, 112);
+ Add_Goto (Table.States (1213), 320, 113);
+ Add_Goto (Table.States (1213), 322, 114);
+ Add_Goto (Table.States (1213), 328, 116);
+ Add_Goto (Table.States (1213), 334, 117);
+ Table.States (1213).Kernel := To_Vector ((0 => ((274, 0), 74, 2,
(2147483647, 0), 0)));
+ Table.States (1213).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (162, 1), 0)));
+ Table.States (1214).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1214), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (307, 0), 9,
single_protected_declaration_0'Access,
single_protected_declaration_0_check'Access);
- Table.States (1204).Kernel := To_Vector ((0 => (305, 97, 0,
False)));
- Table.States (1204).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 305, 9)));
- Table.States (1205).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1205), (1 => 97), (267, 0), 5,
protected_definition_0'Access,
+ Table.States (1214).Kernel := To_Vector ((0 => ((307, 0), 99, 0,
(307, 0), 9)));
+ Table.States (1214).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (307, 0), 9)));
+ Table.States (1215).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1215), (1 => 99), (269, 0), 5,
protected_definition_0'Access,
protected_definition_0_check'Access);
- Table.States (1205).Kernel := To_Vector ((0 => (267, 221, 0,
False)));
- Table.States (1205).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 267, 5)));
- Table.States (1206).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1206), 97, Reduce, (221, 1), 0, null,
null);
- Add_Action (Table.States (1206), 105, 150);
- Table.States (1206).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1206), 221, 1245);
- Table.States (1206).Kernel := To_Vector ((0 => (317, 24, 1,
False)));
- Table.States (1206).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 0)));
- Table.States (1207).Action_List.Set_Capacity (17);
- Add_Action (Table.States (1207), 24, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (1207), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (1207), 28, 184);
- Add_Action (Table.States (1207), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (1207), 30, 8);
- Add_Action (Table.States (1207), 40, 12);
- Add_Action (Table.States (1207), 46, 14);
- Add_Action (Table.States (1207), 47, 15);
- Add_Action (Table.States (1207), 48, 16);
- Add_Action (Table.States (1207), 49, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (1207), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (1207), 51, 19);
- Add_Action (Table.States (1207), 63, 25);
- Add_Action (Table.States (1207), 66, 26);
- Add_Action (Table.States (1207), 69, 27);
- Add_Action (Table.States (1207), 71, 28);
- Add_Action (Table.States (1207), 105, 186);
- Table.States (1207).Goto_List.Set_Capacity (54);
- Add_Goto (Table.States (1207), 113, 36);
- Add_Goto (Table.States (1207), 122, 38);
- Add_Goto (Table.States (1207), 128, 41);
- Add_Goto (Table.States (1207), 135, 46);
- Add_Goto (Table.States (1207), 136, 47);
- Add_Goto (Table.States (1207), 158, 392);
- Add_Goto (Table.States (1207), 159, 393);
- Add_Goto (Table.States (1207), 160, 700);
- Add_Goto (Table.States (1207), 180, 55);
- Add_Goto (Table.States (1207), 183, 56);
- Add_Goto (Table.States (1207), 187, 57);
- Add_Goto (Table.States (1207), 194, 59);
- Add_Goto (Table.States (1207), 207, 61);
- Add_Goto (Table.States (1207), 208, 62);
- Add_Goto (Table.States (1207), 210, 63);
- Add_Goto (Table.States (1207), 211, 64);
- Add_Goto (Table.States (1207), 214, 65);
- Add_Goto (Table.States (1207), 215, 66);
- Add_Goto (Table.States (1207), 216, 67);
- Add_Goto (Table.States (1207), 217, 68);
- Add_Goto (Table.States (1207), 220, 70);
- Add_Goto (Table.States (1207), 224, 72);
- Add_Goto (Table.States (1207), 244, 75);
- Add_Goto (Table.States (1207), 245, 76);
- Add_Goto (Table.States (1207), 246, 77);
- Add_Goto (Table.States (1207), 247, 78);
- Add_Goto (Table.States (1207), 248, 79);
- Add_Goto (Table.States (1207), 249, 80);
- Add_Goto (Table.States (1207), 250, 81);
- Add_Goto (Table.States (1207), 251, 82);
- Add_Goto (Table.States (1207), 252, 83);
- Add_Goto (Table.States (1207), 258, 395);
- Add_Goto (Table.States (1207), 260, 85);
- Add_Goto (Table.States (1207), 261, 86);
- Add_Goto (Table.States (1207), 263, 88);
- Add_Goto (Table.States (1207), 264, 89);
- Add_Goto (Table.States (1207), 265, 90);
- Add_Goto (Table.States (1207), 266, 91);
- Add_Goto (Table.States (1207), 272, 92);
- Add_Goto (Table.States (1207), 282, 95);
- Add_Goto (Table.States (1207), 290, 96);
- Add_Goto (Table.States (1207), 305, 103);
- Add_Goto (Table.States (1207), 306, 104);
- Add_Goto (Table.States (1207), 308, 106);
- Add_Goto (Table.States (1207), 309, 107);
- Add_Goto (Table.States (1207), 310, 108);
- Add_Goto (Table.States (1207), 312, 109);
- Add_Goto (Table.States (1207), 314, 110);
- Add_Goto (Table.States (1207), 317, 112);
- Add_Goto (Table.States (1207), 318, 113);
- Add_Goto (Table.States (1207), 319, 1246);
- Add_Goto (Table.States (1207), 320, 114);
- Add_Goto (Table.States (1207), 326, 116);
- Add_Goto (Table.States (1207), 332, 117);
- Table.States (1207).Kernel := To_Vector ((0 => (320, 74, 2,
False)));
- Table.States (1207).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 319, 0)));
- Table.States (1208).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1208), 97, 1247);
- Table.States (1208).Kernel := To_Vector ((0 => (320, 221, 1,
False)));
- Table.States (1208).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1247)));
- Table.States (1209).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1209), 97, Reduce, (221, 1), 0, null,
null);
- Add_Action (Table.States (1209), 105, 150);
- Table.States (1209).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1209), 221, 1248);
- Table.States (1209).Kernel := To_Vector ((0 => (306, 24, 1,
False)));
- Table.States (1209).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 0)));
- Table.States (1210).Action_List.Set_Capacity (7);
- Add_Action (Table.States (1210), 7, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (1210), 8, 1155);
- Add_Action (Table.States (1210), 40, 750);
- Add_Action (Table.States (1210), 79, 31);
- Add_Action (Table.States (1210), 105, 120);
- Add_Action (Table.States (1210), 106, 34);
- Add_Action (Table.States (1210), 107, 35);
- Table.States (1210).Goto_List.Set_Capacity (8);
- Add_Goto (Table.States (1210), 115, 1156);
- Add_Goto (Table.States (1210), 129, 42);
- Add_Goto (Table.States (1210), 148, 1249);
- Add_Goto (Table.States (1210), 240, 487);
- Add_Goto (Table.States (1210), 242, 729);
- Add_Goto (Table.States (1210), 273, 93);
- Add_Goto (Table.States (1210), 294, 98);
- Add_Goto (Table.States (1210), 315, 1158);
- Table.States (1210).Kernel := To_Vector ((0 => (121, 42, 1,
False)));
- Table.States (1210).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (1211).Action_List.Set_Capacity (7);
- Add_Action (Table.States (1211), 7, Reduce, (242, 1), 0, null,
null);
- Add_Action (Table.States (1211), 8, 1155);
- Add_Action (Table.States (1211), 40, 750);
- Add_Action (Table.States (1211), 79, 31);
- Add_Action (Table.States (1211), 105, 120);
- Add_Action (Table.States (1211), 106, 34);
- Add_Action (Table.States (1211), 107, 35);
- Table.States (1211).Goto_List.Set_Capacity (8);
- Add_Goto (Table.States (1211), 115, 1156);
- Add_Goto (Table.States (1211), 129, 42);
- Add_Goto (Table.States (1211), 148, 1250);
- Add_Goto (Table.States (1211), 240, 487);
- Add_Goto (Table.States (1211), 242, 729);
- Add_Goto (Table.States (1211), 273, 93);
- Add_Goto (Table.States (1211), 294, 98);
- Add_Goto (Table.States (1211), 315, 1158);
- Table.States (1211).Kernel := To_Vector ((0 => (121, 42, 1,
False)));
- Table.States (1211).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (1212).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1212), (77, 84), (227, 0), 3, null,
null);
- Table.States (1212).Kernel := To_Vector ((0 => (227, 226, 0,
True)));
- Table.States (1212).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 227, 3)));
- Table.States (1212).Minimal_Complete_Actions_Recursive := True;
- Table.States (1213).Action_List.Set_Capacity (5);
- Add_Action (Table.States (1213), 53, 1251);
- Add_Action (Table.States (1213), 76, 236);
- Add_Action (Table.States (1213), 85, 238);
- Add_Action (Table.States (1213), 102, 240);
- Add_Action (Table.States (1213), 103, 241);
- Table.States (1213).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (1213), 116, 242);
- Add_Goto (Table.States (1213), 323, 243);
- Table.States (1213).Kernel := To_Vector (((129, 240, 2, True),
(226, 240, 2, False), (240, 240, 5, True),
- (240, 240, 2, True), (273, 240, 3, True), (294, 240, 2, True),
(294, 240, 2, True), (294, 240, 2, True),
- (294, 240, 2, True)));
- Table.States (1213).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 53, 1251)));
- end Subr_20;
- procedure Subr_21
- is begin
- Table.States (1214).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1214), (77, 84), (226, 0), 3, null,
null);
- Table.States (1214).Kernel := To_Vector ((0 => (226, 81, 0,
False)));
- Table.States (1214).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 226, 3)));
- Table.States (1215).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1215), (74, 97), (327, 4), 5, null,
null);
- Table.States (1215).Kernel := To_Vector ((0 => (327, 280, 0,
False)));
- Table.States (1215).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 327, 5)));
- Table.States (1216).Action_List.Set_Capacity (12);
- Add_Action (Table.States (1216), 3, 122);
- Add_Action (Table.States (1216), 39, 123);
- Add_Action (Table.States (1216), 40, 124);
- Add_Action (Table.States (1216), 41, 125);
- Add_Action (Table.States (1216), 76, 127);
- Add_Action (Table.States (1216), 79, 31);
- Add_Action (Table.States (1216), 95, 128);
- Add_Action (Table.States (1216), 96, 129);
- Add_Action (Table.States (1216), 104, 130);
- Add_Action (Table.States (1216), 105, 120);
- Add_Action (Table.States (1216), 106, 34);
- Add_Action (Table.States (1216), 107, 35);
- Table.States (1216).Goto_List.Set_Capacity (11);
- Add_Goto (Table.States (1216), 118, 131);
- Add_Goto (Table.States (1216), 129, 42);
- Add_Goto (Table.States (1216), 198, 134);
- Add_Goto (Table.States (1216), 240, 135);
- Add_Goto (Table.States (1216), 259, 136);
- Add_Goto (Table.States (1216), 273, 93);
- Add_Goto (Table.States (1216), 294, 98);
- Add_Goto (Table.States (1216), 302, 1252);
- Add_Goto (Table.States (1216), 321, 145);
- Add_Goto (Table.States (1216), 322, 146);
- Add_Goto (Table.States (1216), 331, 147);
- Table.States (1216).Kernel := To_Vector ((0 => (280, 86, 1,
False)));
- Table.States (1216).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
- Table.States (1217).Action_List.Set_Capacity (16);
- Add_Action (Table.States (1217), 3, 122);
- Add_Action (Table.States (1217), 39, 123);
- Add_Action (Table.States (1217), 40, 262);
- Add_Action (Table.States (1217), 41, 125);
- Add_Action (Table.States (1217), 44, 264);
- Add_Action (Table.States (1217), 52, 126);
- Add_Action (Table.States (1217), 76, 127);
- Add_Action (Table.States (1217), 79, 31);
- Add_Action (Table.States (1217), 80, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (1217), 88, Reduce, (167, 2), 0, null,
null);
- Add_Action (Table.States (1217), 95, 128);
- Add_Action (Table.States (1217), 96, 129);
- Add_Action (Table.States (1217), 104, 130);
- Add_Action (Table.States (1217), 105, 120);
- Add_Action (Table.States (1217), 106, 34);
- Add_Action (Table.States (1217), 107, 35);
- Table.States (1217).Goto_List.Set_Capacity (22);
- Add_Goto (Table.States (1217), 118, 131);
- Add_Goto (Table.States (1217), 129, 42);
- Add_Goto (Table.States (1217), 166, 270);
- Add_Goto (Table.States (1217), 167, 1253);
- Add_Goto (Table.States (1217), 192, 606);
- Add_Goto (Table.States (1217), 198, 134);
- Add_Goto (Table.States (1217), 240, 275);
- Add_Goto (Table.States (1217), 259, 136);
- Add_Goto (Table.States (1217), 273, 93);
- Add_Goto (Table.States (1217), 276, 137);
- Add_Goto (Table.States (1217), 278, 277);
- Add_Goto (Table.States (1217), 283, 138);
- Add_Goto (Table.States (1217), 284, 139);
- Add_Goto (Table.States (1217), 285, 140);
- Add_Goto (Table.States (1217), 286, 141);
- Add_Goto (Table.States (1217), 287, 142);
- Add_Goto (Table.States (1217), 288, 143);
- Add_Goto (Table.States (1217), 294, 98);
- Add_Goto (Table.States (1217), 302, 278);
- Add_Goto (Table.States (1217), 321, 145);
- Add_Goto (Table.States (1217), 322, 146);
- Add_Goto (Table.States (1217), 331, 147);
- Table.States (1217).Kernel := To_Vector ((0 => (330, 72, 1,
False)));
- Table.States (1217).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 167, 0)));
- Table.States (1218).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1218), 24, 1254);
- Add_Action (Table.States (1218), 72, 1217);
- Table.States (1218).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1218), 330, 1255);
- Table.States (1218).Kernel := To_Vector (((328, 329, 3, False),
(329, 329, 2, True)));
- Table.States (1218).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 1254)));
+ Table.States (1215).Kernel := To_Vector ((0 => ((269, 0), 223,
0, (269, 0), 5)));
+ Table.States (1215).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (269, 0), 5)));
+ Table.States (1216).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1216), 99, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (1216), 107, (223, 0), 151);
+ Table.States (1216).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1216), 223, 1255);
+ Table.States (1216).Kernel := To_Vector ((0 => ((319, 0), 24, 1,
(2147483647, 0), 0)));
+ Table.States (1216).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 1), 0)));
+ Table.States (1217).Action_List.Set_Capacity (17);
+ Add_Action (Table.States (1217), 24, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (1217), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (1217), 28, (124, 0), 185);
+ Add_Action (Table.States (1217), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (1217), 30, (213, 0), 8);
+ Add_Action (Table.States (1217), 40, (249, 0), 12);
+ Add_Action (Table.States (1217), 46, (249, 1), 14);
+ Add_Action (Table.States (1217), 47, (216, 0), 15);
+ Add_Action (Table.States (1217), 48, (260, 0), 16);
+ Add_Action (Table.States (1217), 49, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (1217), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (1217), 51, (267, 0), 19);
+ Add_Action (Table.States (1217), 63, (316, 0), 25);
+ Add_Action (Table.States (1217), 66, (308, 0), 26);
+ Add_Action (Table.States (1217), 69, (209, 0), 27);
+ Add_Action (Table.States (1217), 71, (334, 0), 28);
+ Add_Action (Table.States (1217), 107, (222, 1), 187);
+ Table.States (1217).Goto_List.Set_Capacity (54);
+ Add_Goto (Table.States (1217), 115, 36);
+ Add_Goto (Table.States (1217), 124, 38);
+ Add_Goto (Table.States (1217), 130, 41);
+ Add_Goto (Table.States (1217), 137, 46);
+ Add_Goto (Table.States (1217), 138, 47);
+ Add_Goto (Table.States (1217), 160, 394);
+ Add_Goto (Table.States (1217), 161, 395);
+ Add_Goto (Table.States (1217), 162, 706);
+ Add_Goto (Table.States (1217), 182, 55);
+ Add_Goto (Table.States (1217), 185, 56);
+ Add_Goto (Table.States (1217), 189, 57);
+ Add_Goto (Table.States (1217), 196, 59);
+ Add_Goto (Table.States (1217), 209, 61);
+ Add_Goto (Table.States (1217), 210, 62);
+ Add_Goto (Table.States (1217), 212, 63);
+ Add_Goto (Table.States (1217), 213, 64);
+ Add_Goto (Table.States (1217), 216, 65);
+ Add_Goto (Table.States (1217), 217, 66);
+ Add_Goto (Table.States (1217), 218, 67);
+ Add_Goto (Table.States (1217), 219, 68);
+ Add_Goto (Table.States (1217), 222, 70);
+ Add_Goto (Table.States (1217), 226, 72);
+ Add_Goto (Table.States (1217), 246, 75);
+ Add_Goto (Table.States (1217), 247, 76);
+ Add_Goto (Table.States (1217), 248, 77);
+ Add_Goto (Table.States (1217), 249, 78);
+ Add_Goto (Table.States (1217), 250, 79);
+ Add_Goto (Table.States (1217), 251, 80);
+ Add_Goto (Table.States (1217), 252, 81);
+ Add_Goto (Table.States (1217), 253, 82);
+ Add_Goto (Table.States (1217), 254, 83);
+ Add_Goto (Table.States (1217), 260, 397);
+ Add_Goto (Table.States (1217), 262, 85);
+ Add_Goto (Table.States (1217), 263, 86);
+ Add_Goto (Table.States (1217), 265, 88);
+ Add_Goto (Table.States (1217), 266, 89);
+ Add_Goto (Table.States (1217), 267, 90);
+ Add_Goto (Table.States (1217), 268, 91);
+ Add_Goto (Table.States (1217), 274, 92);
+ Add_Goto (Table.States (1217), 284, 95);
+ Add_Goto (Table.States (1217), 292, 96);
+ Add_Goto (Table.States (1217), 307, 103);
+ Add_Goto (Table.States (1217), 308, 104);
+ Add_Goto (Table.States (1217), 310, 106);
+ Add_Goto (Table.States (1217), 311, 107);
+ Add_Goto (Table.States (1217), 312, 108);
+ Add_Goto (Table.States (1217), 314, 109);
+ Add_Goto (Table.States (1217), 316, 110);
+ Add_Goto (Table.States (1217), 319, 112);
+ Add_Goto (Table.States (1217), 320, 113);
+ Add_Goto (Table.States (1217), 321, 1256);
+ Add_Goto (Table.States (1217), 322, 114);
+ Add_Goto (Table.States (1217), 328, 116);
+ Add_Goto (Table.States (1217), 334, 117);
+ Table.States (1217).Kernel := To_Vector ((0 => ((322, 0), 74, 2,
(2147483647, 0), 0)));
+ Table.States (1217).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (321, 1), 0)));
+ Table.States (1218).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1218), 99, (322, 1), 1257);
+ Table.States (1218).Kernel := To_Vector ((0 => ((322, 1), 223,
1, (2147483647, 0), 0)));
+ Table.States (1218).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (322, 1), 99, 1257)));
Table.States (1219).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1219), (24, 72), (329, 1), 1, null,
null);
- Table.States (1219).Kernel := To_Vector ((0 => (329, 330, 0,
False)));
- Table.States (1219).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 329, 1)));
- Table.States (1220).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1220), (74, 83, 97), (148, 2), 2, null,
null);
- Table.States (1220).Kernel := To_Vector ((0 => (148, 115, 0,
False)));
- Table.States (1220).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 148, 2)));
- Table.States (1221).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1221), (74, 83, 97), (148, 0), 2, null,
null);
- Table.States (1221).Kernel := To_Vector ((0 => (148, 315, 0,
False)));
- Table.States (1221).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 148, 2)));
- Table.States (1222).Action_List.Set_Capacity (15);
- Add_Action (Table.States (1222), 3, 122);
- Add_Action (Table.States (1222), 39, 123);
- Add_Action (Table.States (1222), 40, 124);
- Add_Action (Table.States (1222), 41, 125);
- Add_Action (Table.States (1222), 52, 126);
- Add_Action (Table.States (1222), 74, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1222), 76, 127);
- Add_Action (Table.States (1222), 79, 31);
- Add_Action (Table.States (1222), 95, 128);
- Add_Action (Table.States (1222), 96, 129);
- Add_Action (Table.States (1222), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1222), 104, 130);
- Add_Action (Table.States (1222), 105, 120);
- Add_Action (Table.States (1222), 106, 34);
- Add_Action (Table.States (1222), 107, 35);
- Table.States (1222).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (1222), 118, 131);
- Add_Goto (Table.States (1222), 129, 42);
- Add_Goto (Table.States (1222), 192, 132);
- Add_Goto (Table.States (1222), 193, 1256);
- Add_Goto (Table.States (1222), 198, 134);
- Add_Goto (Table.States (1222), 240, 135);
- Add_Goto (Table.States (1222), 259, 136);
- Add_Goto (Table.States (1222), 273, 93);
- Add_Goto (Table.States (1222), 276, 137);
- Add_Goto (Table.States (1222), 283, 138);
- Add_Goto (Table.States (1222), 284, 139);
- Add_Goto (Table.States (1222), 285, 140);
- Add_Goto (Table.States (1222), 286, 141);
- Add_Goto (Table.States (1222), 287, 142);
- Add_Goto (Table.States (1222), 288, 143);
- Add_Goto (Table.States (1222), 294, 98);
- Add_Goto (Table.States (1222), 302, 144);
- Add_Goto (Table.States (1222), 321, 145);
- Add_Goto (Table.States (1222), 322, 146);
- Add_Goto (Table.States (1222), 331, 147);
- Table.States (1222).Kernel := To_Vector ((0 => (147, 83, 1,
False)));
- Table.States (1222).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (1223).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1223), 97, 1257);
- Table.States (1223).Kernel := To_Vector ((0 => (147, 123, 1,
False)));
- Table.States (1223).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1257)));
- Table.States (1224).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1224), 10, 1016);
- Add_Action (Table.States (1224), 74, Reduce, (120, 0), 2, null,
null);
- Add_Action (Table.States (1224), 97, Reduce, (120, 0), 2, null,
null);
- Table.States (1224).Kernel := To_Vector (((120, 228, 0, False),
(228, 228, 2, True)));
- Table.States (1224).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 120, 2)));
- Table.States (1225).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1225), 49, 1258);
- Table.States (1225).Kernel := To_Vector ((0 => (260, 74, 2,
False)));
- Table.States (1225).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 49, 1258)));
- Table.States (1226).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1226), 41, 713);
- Add_Action (Table.States (1226), 54, 716);
- Table.States (1226).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1226), 281, 1259);
- Table.States (1226).Kernel := To_Vector ((0 => (163, 74, 2,
False)));
- Table.States (1226).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 41, 713)));
- Table.States (1227).Action_List.Set_Capacity (25);
- Add_Action (Table.States (1227), 4, 1);
- Add_Action (Table.States (1227), 5, 2);
- Add_Action (Table.States (1227), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1227), 15, 3);
- Add_Action (Table.States (1227), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1227), 18, 4);
- Add_Action (Table.States (1227), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (1227), 27, 5);
- Add_Action (Table.States (1227), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1227), 31, 9);
- Add_Action (Table.States (1227), 32, 10);
- Add_Action (Table.States (1227), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1227), 41, 13);
- Add_Action (Table.States (1227), 48, 16);
- Add_Action (Table.States (1227), 52, 20);
- Add_Action (Table.States (1227), 57, 21);
- Add_Action (Table.States (1227), 58, 22);
- Add_Action (Table.States (1227), 61, 24);
- Add_Action (Table.States (1227), 72, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (1227), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1227), 79, 31);
- Add_Action (Table.States (1227), 94, 32);
- Add_Action (Table.States (1227), 105, 361);
- Add_Action (Table.States (1227), 106, 34);
- Add_Action (Table.States (1227), 107, 35);
- Table.States (1227).Goto_List.Set_Capacity (31);
- Add_Goto (Table.States (1227), 114, 37);
- Add_Goto (Table.States (1227), 124, 39);
- Add_Goto (Table.States (1227), 127, 40);
- Add_Goto (Table.States (1227), 129, 42);
- Add_Goto (Table.States (1227), 132, 43);
- Add_Goto (Table.States (1227), 133, 44);
- Add_Goto (Table.States (1227), 134, 45);
- Add_Goto (Table.States (1227), 140, 48);
- Add_Goto (Table.States (1227), 152, 51);
- Add_Goto (Table.States (1227), 153, 52);
- Add_Goto (Table.States (1227), 162, 54);
- Add_Goto (Table.States (1227), 191, 58);
- Add_Goto (Table.States (1227), 197, 60);
- Add_Goto (Table.States (1227), 218, 69);
- Add_Goto (Table.States (1227), 223, 71);
- Add_Goto (Table.States (1227), 233, 73);
- Add_Goto (Table.States (1227), 240, 74);
- Add_Goto (Table.States (1227), 258, 84);
- Add_Goto (Table.States (1227), 262, 87);
- Add_Goto (Table.States (1227), 273, 93);
- Add_Goto (Table.States (1227), 277, 94);
- Add_Goto (Table.States (1227), 291, 97);
- Add_Goto (Table.States (1227), 294, 98);
- Add_Goto (Table.States (1227), 295, 99);
- Add_Goto (Table.States (1227), 299, 100);
- Add_Goto (Table.States (1227), 300, 362);
- Add_Goto (Table.States (1227), 301, 1260);
- Add_Goto (Table.States (1227), 303, 101);
- Add_Goto (Table.States (1227), 304, 102);
- Add_Goto (Table.States (1227), 307, 364);
- Add_Goto (Table.States (1227), 324, 115);
- Table.States (1227).Kernel := To_Vector ((0 => (188, 88, 0,
False)));
- Table.States (1227).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 301, 0)));
- Table.States (1228).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1228), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (245, 1), 9,
+ Add_Action (Table.States (1219), 99, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (1219), 107, (223, 0), 151);
+ Table.States (1219).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1219), 223, 1258);
+ Table.States (1219).Kernel := To_Vector ((0 => ((308, 0), 24, 1,
(2147483647, 0), 0)));
+ Table.States (1219).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 1), 0)));
+ Table.States (1220).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (1220), 7, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (1220), 8, (150, 0), 1165);
+ Add_Action (Table.States (1220), 40, (244, 0), 756);
+ Add_Action (Table.States (1220), 81, (242, 8), 31);
+ Add_Action (Table.States (1220), 107, (242, 5), 120);
+ Add_Action (Table.States (1220), 108, (242, 7), 34);
+ Add_Action (Table.States (1220), 109, (242, 6), 35);
+ Table.States (1220).Goto_List.Set_Capacity (8);
+ Add_Goto (Table.States (1220), 117, 1166);
+ Add_Goto (Table.States (1220), 131, 42);
+ Add_Goto (Table.States (1220), 150, 1259);
+ Add_Goto (Table.States (1220), 242, 491);
+ Add_Goto (Table.States (1220), 244, 735);
+ Add_Goto (Table.States (1220), 275, 93);
+ Add_Goto (Table.States (1220), 296, 98);
+ Add_Goto (Table.States (1220), 317, 1168);
+ Table.States (1220).Kernel := To_Vector ((0 => ((123, 1), 42, 1,
(2147483647, 0), 0)));
+ Table.States (1220).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (1221).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (1221), 7, Reduce, (244, 1), 0, null,
null);
+ Add_Action (Table.States (1221), 8, (150, 0), 1165);
+ Add_Action (Table.States (1221), 40, (244, 0), 756);
+ Add_Action (Table.States (1221), 81, (242, 8), 31);
+ Add_Action (Table.States (1221), 107, (242, 5), 120);
+ Add_Action (Table.States (1221), 108, (242, 7), 34);
+ Add_Action (Table.States (1221), 109, (242, 6), 35);
+ Table.States (1221).Goto_List.Set_Capacity (8);
+ Add_Goto (Table.States (1221), 117, 1166);
+ Add_Goto (Table.States (1221), 131, 42);
+ Add_Goto (Table.States (1221), 150, 1260);
+ Add_Goto (Table.States (1221), 242, 491);
+ Add_Goto (Table.States (1221), 244, 735);
+ Add_Goto (Table.States (1221), 275, 93);
+ Add_Goto (Table.States (1221), 296, 98);
+ Add_Goto (Table.States (1221), 317, 1168);
+ Table.States (1221).Kernel := To_Vector ((0 => ((123, 0), 42, 1,
(2147483647, 0), 0)));
+ Table.States (1221).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (1222).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1222), (78, 86), (229, 0), 3, null,
null);
+ Table.States (1222).Kernel := To_Vector ((0 => ((229, 0), 228,
0, (229, 0), 3)));
+ Table.States (1222).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (229, 0), 3)));
+ Table.States (1223).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (1223), 53, (228, 0), 1261);
+ Add_Action (Table.States (1223), 76, (118, 0), 237);
+ Add_Action (Table.States (1223), 87, (296, 0), 239);
+ Add_Action (Table.States (1223), 104, (325, 0), 241);
+ Add_Action (Table.States (1223), 105, (325, 1), 242);
+ Table.States (1223).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (1223), 118, 243);
+ Add_Goto (Table.States (1223), 325, 244);
+ Table.States (1223).Kernel := To_Vector ((((131, 0), 242, 2,
(2147483647, 0), 0), ((228, 0), 242, 2,
+ (2147483647, 0), 0), ((242, 0), 242, 5, (2147483647, 0), 0),
((242, 1), 242, 2, (2147483647, 0), 0),
+ ((275, 0), 242, 3, (2147483647, 0), 0), ((296, 0), 242, 2,
(2147483647, 0), 0), ((296, 1), 242, 2,
+ (2147483647, 0), 0), ((296, 2), 242, 2, (2147483647, 0), 0),
((296, 3), 242, 2, (2147483647, 0),
+ 0)));
+ Table.States (1223).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (228, 0), 53, 1261)));
+ Table.States (1224).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1224), (78, 86), (228, 0), 3, null,
null);
+ Table.States (1224).Kernel := To_Vector ((0 => ((228, 0), 83, 0,
(228, 0), 3)));
+ Table.States (1224).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (228, 0), 3)));
+ Table.States (1225).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1225), (74, 99), (329, 4), 5, null,
null);
+ Table.States (1225).Kernel := To_Vector ((0 => ((329, 4), 282,
0, (329, 4), 5)));
+ Table.States (1225).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (329, 4), 5)));
+ Table.States (1226).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (1226), 3, (200, 2), 122);
+ Add_Action (Table.States (1226), 39, (261, 4), 123);
+ Add_Action (Table.States (1226), 40, (200, 3), 124);
+ Add_Action (Table.States (1226), 41, (261, 1), 125);
+ Add_Action (Table.States (1226), 76, (120, 0), 127);
+ Add_Action (Table.States (1226), 77, (120, 5), 128);
+ Add_Action (Table.States (1226), 81, (242, 8), 31);
+ Add_Action (Table.States (1226), 97, (333, 1), 129);
+ Add_Action (Table.States (1226), 98, (333, 0), 130);
+ Add_Action (Table.States (1226), 106, (261, 0), 131);
+ Add_Action (Table.States (1226), 107, (242, 5), 120);
+ Add_Action (Table.States (1226), 108, (242, 7), 34);
+ Add_Action (Table.States (1226), 109, (242, 6), 35);
+ Table.States (1226).Goto_List.Set_Capacity (11);
+ Add_Goto (Table.States (1226), 120, 132);
+ Add_Goto (Table.States (1226), 131, 42);
+ Add_Goto (Table.States (1226), 200, 135);
+ Add_Goto (Table.States (1226), 242, 136);
+ Add_Goto (Table.States (1226), 261, 137);
+ Add_Goto (Table.States (1226), 275, 93);
+ Add_Goto (Table.States (1226), 296, 98);
+ Add_Goto (Table.States (1226), 304, 1262);
+ Add_Goto (Table.States (1226), 323, 146);
+ Add_Goto (Table.States (1226), 324, 147);
+ Add_Goto (Table.States (1226), 333, 148);
+ Table.States (1226).Kernel := To_Vector ((0 => ((282, 0), 88, 1,
(2147483647, 0), 0)));
+ Table.States (1226).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (1227).Action_List.Set_Capacity (17);
+ Add_Action (Table.States (1227), 3, (200, 2), 122);
+ Add_Action (Table.States (1227), 39, (261, 4), 123);
+ Add_Action (Table.States (1227), 40, (168, 1), 263);
+ Add_Action (Table.States (1227), 41, (261, 1), 125);
+ Add_Action (Table.States (1227), 44, (168, 3), 265);
+ Add_Action (Table.States (1227), 52, (278, 0), 126);
+ Add_Action (Table.States (1227), 76, (120, 0), 127);
+ Add_Action (Table.States (1227), 77, (120, 5), 128);
+ Add_Action (Table.States (1227), 81, (242, 8), 31);
+ Add_Action (Table.States (1227), 82, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (1227), 90, Reduce, (169, 2), 0, null,
null);
+ Add_Action (Table.States (1227), 97, (333, 1), 129);
+ Add_Action (Table.States (1227), 98, (333, 0), 130);
+ Add_Action (Table.States (1227), 106, (261, 0), 131);
+ Add_Action (Table.States (1227), 107, (242, 5), 120);
+ Add_Action (Table.States (1227), 108, (242, 7), 34);
+ Add_Action (Table.States (1227), 109, (242, 6), 35);
+ Table.States (1227).Goto_List.Set_Capacity (22);
+ Add_Goto (Table.States (1227), 120, 132);
+ Add_Goto (Table.States (1227), 131, 42);
+ Add_Goto (Table.States (1227), 168, 271);
+ Add_Goto (Table.States (1227), 169, 1263);
+ Add_Goto (Table.States (1227), 194, 611);
+ Add_Goto (Table.States (1227), 200, 135);
+ Add_Goto (Table.States (1227), 242, 276);
+ Add_Goto (Table.States (1227), 261, 137);
+ Add_Goto (Table.States (1227), 275, 93);
+ Add_Goto (Table.States (1227), 278, 138);
+ Add_Goto (Table.States (1227), 280, 278);
+ Add_Goto (Table.States (1227), 285, 139);
+ Add_Goto (Table.States (1227), 286, 140);
+ Add_Goto (Table.States (1227), 287, 141);
+ Add_Goto (Table.States (1227), 288, 142);
+ Add_Goto (Table.States (1227), 289, 143);
+ Add_Goto (Table.States (1227), 290, 144);
+ Add_Goto (Table.States (1227), 296, 98);
+ Add_Goto (Table.States (1227), 304, 279);
+ Add_Goto (Table.States (1227), 323, 146);
+ Add_Goto (Table.States (1227), 324, 147);
+ Add_Goto (Table.States (1227), 333, 148);
+ Table.States (1227).Kernel := To_Vector ((0 => ((332, 0), 72, 1,
(2147483647, 0), 0)));
+ Table.States (1227).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (169, 2), 0)));
+ end Subr_21;
+ procedure Subr_22
+ is begin
+ Table.States (1228).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1228), 24, (330, 0), 1264);
+ Add_Action (Table.States (1228), 72, (332, 0), 1227);
+ Table.States (1228).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1228), 332, 1265);
+ Table.States (1228).Kernel := To_Vector ((((330, 0), 331, 3,
(2147483647, 0), 0), ((331, 0), 331, 2,
+ (2147483647, 0), 0)));
+ Table.States (1228).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (330, 0), 24, 1264)));
+ Table.States (1229).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1229), (24, 72), (331, 1), 1, null,
null);
+ Table.States (1229).Kernel := To_Vector ((0 => ((331, 1), 332,
0, (331, 1), 1)));
+ Table.States (1229).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (331, 1), 1)));
+ Table.States (1230).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1230), (74, 85, 99), (150, 2), 2, null,
null);
+ Table.States (1230).Kernel := To_Vector ((0 => ((150, 2), 117,
0, (150, 2), 2)));
+ Table.States (1230).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (150, 2), 2)));
+ Table.States (1231).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1231), (74, 85, 99), (150, 0), 2, null,
null);
+ Table.States (1231).Kernel := To_Vector ((0 => ((150, 0), 317,
0, (150, 0), 2)));
+ Table.States (1231).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (150, 0), 2)));
+ Table.States (1232).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (1232), 3, (200, 2), 122);
+ Add_Action (Table.States (1232), 39, (261, 4), 123);
+ Add_Action (Table.States (1232), 40, (200, 3), 124);
+ Add_Action (Table.States (1232), 41, (261, 1), 125);
+ Add_Action (Table.States (1232), 52, (278, 0), 126);
+ Add_Action (Table.States (1232), 74, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1232), 76, (120, 0), 127);
+ Add_Action (Table.States (1232), 77, (120, 5), 128);
+ Add_Action (Table.States (1232), 81, (242, 8), 31);
+ Add_Action (Table.States (1232), 97, (333, 1), 129);
+ Add_Action (Table.States (1232), 98, (333, 0), 130);
+ Add_Action (Table.States (1232), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1232), 106, (261, 0), 131);
+ Add_Action (Table.States (1232), 107, (242, 5), 120);
+ Add_Action (Table.States (1232), 108, (242, 7), 34);
+ Add_Action (Table.States (1232), 109, (242, 6), 35);
+ Table.States (1232).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (1232), 120, 132);
+ Add_Goto (Table.States (1232), 131, 42);
+ Add_Goto (Table.States (1232), 194, 133);
+ Add_Goto (Table.States (1232), 195, 1266);
+ Add_Goto (Table.States (1232), 200, 135);
+ Add_Goto (Table.States (1232), 242, 136);
+ Add_Goto (Table.States (1232), 261, 137);
+ Add_Goto (Table.States (1232), 275, 93);
+ Add_Goto (Table.States (1232), 278, 138);
+ Add_Goto (Table.States (1232), 285, 139);
+ Add_Goto (Table.States (1232), 286, 140);
+ Add_Goto (Table.States (1232), 287, 141);
+ Add_Goto (Table.States (1232), 288, 142);
+ Add_Goto (Table.States (1232), 289, 143);
+ Add_Goto (Table.States (1232), 290, 144);
+ Add_Goto (Table.States (1232), 296, 98);
+ Add_Goto (Table.States (1232), 304, 145);
+ Add_Goto (Table.States (1232), 323, 146);
+ Add_Goto (Table.States (1232), 324, 147);
+ Add_Goto (Table.States (1232), 333, 148);
+ Table.States (1232).Kernel := To_Vector ((0 => ((149, 0), 85, 1,
(2147483647, 0), 0)));
+ Table.States (1232).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
+ Table.States (1233).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1233), 99, (149, 1), 1267);
+ Table.States (1233).Kernel := To_Vector ((0 => ((149, 1), 125,
1, (2147483647, 0), 0)));
+ Table.States (1233).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (149, 1), 99, 1267)));
+ Table.States (1234).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1234), 10, (230, 0), 1026);
+ Add_Action (Table.States (1234), 74, Reduce, (122, 0), 2, null,
null);
+ Add_Action (Table.States (1234), 99, Reduce, (122, 0), 2, null,
null);
+ Table.States (1234).Kernel := To_Vector ((((122, 0), 230, 0,
(122, 0), 2), ((230, 0), 230, 2,
+ (2147483647, 0), 0)));
+ Table.States (1234).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (122, 0), 2)));
+ Table.States (1235).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1235), 49, (262, 0), 1268);
+ Table.States (1235).Kernel := To_Vector ((0 => ((262, 0), 74, 2,
(2147483647, 0), 0)));
+ Table.States (1235).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (262, 0), 49, 1268)));
+ Table.States (1236).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1236), 41, (283, 1), 719);
+ Add_Action (Table.States (1236), 54, (283, 0), 722);
+ Table.States (1236).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1236), 283, 1269);
+ Table.States (1236).Kernel := To_Vector ((0 => ((165, 0), 74, 2,
(2147483647, 0), 0)));
+ Table.States (1236).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (283, 1), 41, 719)));
+ Table.States (1237).Action_List.Set_Capacity (25);
+ Add_Action (Table.States (1237), 4, (116, 0), 1);
+ Add_Action (Table.States (1237), 5, (306, 8), 2);
+ Add_Action (Table.States (1237), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1237), 15, (142, 0), 3);
+ Add_Action (Table.States (1237), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1237), 18, (164, 0), 4);
+ Add_Action (Table.States (1237), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (1237), 27, (193, 0), 5);
+ Add_Action (Table.States (1237), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1237), 31, (306, 3), 9);
+ Add_Action (Table.States (1237), 32, (225, 0), 10);
+ Add_Action (Table.States (1237), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1237), 41, (306, 0), 13);
+ Add_Action (Table.States (1237), 48, (260, 0), 16);
+ Add_Action (Table.States (1237), 52, (279, 0), 20);
+ Add_Action (Table.States (1237), 57, (293, 0), 21);
+ Add_Action (Table.States (1237), 58, (199, 0), 22);
+ Add_Action (Table.States (1237), 61, (129, 0), 24);
+ Add_Action (Table.States (1237), 72, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (1237), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1237), 81, (242, 8), 31);
+ Add_Action (Table.States (1237), 96, (220, 0), 32);
+ Add_Action (Table.States (1237), 107, (134, 0), 363);
+ Add_Action (Table.States (1237), 108, (242, 7), 34);
+ Add_Action (Table.States (1237), 109, (242, 6), 35);
+ Table.States (1237).Goto_List.Set_Capacity (31);
+ Add_Goto (Table.States (1237), 116, 37);
+ Add_Goto (Table.States (1237), 126, 39);
+ Add_Goto (Table.States (1237), 129, 40);
+ Add_Goto (Table.States (1237), 131, 42);
+ Add_Goto (Table.States (1237), 134, 43);
+ Add_Goto (Table.States (1237), 135, 44);
+ Add_Goto (Table.States (1237), 136, 45);
+ Add_Goto (Table.States (1237), 142, 48);
+ Add_Goto (Table.States (1237), 154, 51);
+ Add_Goto (Table.States (1237), 155, 52);
+ Add_Goto (Table.States (1237), 164, 54);
+ Add_Goto (Table.States (1237), 193, 58);
+ Add_Goto (Table.States (1237), 199, 60);
+ Add_Goto (Table.States (1237), 220, 69);
+ Add_Goto (Table.States (1237), 225, 71);
+ Add_Goto (Table.States (1237), 235, 73);
+ Add_Goto (Table.States (1237), 242, 74);
+ Add_Goto (Table.States (1237), 260, 84);
+ Add_Goto (Table.States (1237), 264, 87);
+ Add_Goto (Table.States (1237), 275, 93);
+ Add_Goto (Table.States (1237), 279, 94);
+ Add_Goto (Table.States (1237), 293, 97);
+ Add_Goto (Table.States (1237), 296, 98);
+ Add_Goto (Table.States (1237), 297, 99);
+ Add_Goto (Table.States (1237), 301, 100);
+ Add_Goto (Table.States (1237), 302, 364);
+ Add_Goto (Table.States (1237), 303, 1270);
+ Add_Goto (Table.States (1237), 305, 101);
+ Add_Goto (Table.States (1237), 306, 102);
+ Add_Goto (Table.States (1237), 309, 366);
+ Add_Goto (Table.States (1237), 326, 115);
+ Table.States (1237).Kernel := To_Vector ((0 => ((190, 0), 90, 0,
(303, 1), 0)));
+ Table.States (1237).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (303, 1), 0)));
+ Table.States (1238).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1238), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (247, 1), 9,
object_declaration_1'Access, null);
- Table.States (1228).Kernel := To_Vector ((0 => (245, 97, 0,
False)));
- Table.States (1228).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 245, 9)));
- Table.States (1229).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1229), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (245, 2), 9,
+ Table.States (1238).Kernel := To_Vector ((0 => ((247, 1), 99, 0,
(247, 1), 9)));
+ Table.States (1238).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (247, 1), 9)));
+ Table.States (1239).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1239), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (247, 2), 9,
object_declaration_2'Access, null);
- Table.States (1229).Kernel := To_Vector ((0 => (245, 97, 0,
False)));
- Table.States (1229).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 245, 9)));
- Table.States (1230).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1230), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (245, 0), 9,
+ Table.States (1239).Kernel := To_Vector ((0 => ((247, 2), 99, 0,
(247, 2), 9)));
+ Table.States (1239).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (247, 2), 9)));
+ Table.States (1240).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1240), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (247, 0), 9,
object_declaration_0'Access, null);
- Table.States (1230).Kernel := To_Vector ((0 => (245, 97, 0,
False)));
- Table.States (1230).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 245, 9)));
- Table.States (1231).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1231), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (180, 0), 9,
+ Table.States (1240).Kernel := To_Vector ((0 => ((247, 0), 99, 0,
(247, 0), 9)));
+ Table.States (1240).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (247, 0), 9)));
+ Table.States (1241).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1241), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (182, 0), 9,
entry_declaration_0'Access, null);
- Table.States (1231).Kernel := To_Vector ((0 => (180, 97, 0,
False)));
- Table.States (1231).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 180, 9)));
- Table.States (1232).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1232), 97, 1261);
- Table.States (1232).Kernel := To_Vector ((0 => (308, 241, 1,
False)));
- Table.States (1232).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1261)));
- Table.States (1233).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1233), (22, 23, 77), (173, 0), 4,
elsif_expression_item_0'Access, null);
- Table.States (1233).Kernel := To_Vector ((0 => (173, 193, 0,
False)));
- Table.States (1233).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 173, 4)));
- Table.States (1234).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1234), 86, 1262);
- Table.States (1234).Kernel := To_Vector ((0 => (145, 302, 3,
False)));
- Table.States (1234).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 86, 1262)));
- Table.States (1235).Action_List.Set_Capacity (15);
- Add_Action (Table.States (1235), 3, 122);
- Add_Action (Table.States (1235), 39, 123);
- Add_Action (Table.States (1235), 40, 124);
- Add_Action (Table.States (1235), 41, 125);
- Add_Action (Table.States (1235), 52, 126);
- Add_Action (Table.States (1235), 76, 127);
- Add_Action (Table.States (1235), 77, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1235), 79, 31);
- Add_Action (Table.States (1235), 95, 128);
- Add_Action (Table.States (1235), 96, 129);
- Add_Action (Table.States (1235), 97, Reduce, (193, 1), 0, null,
null);
- Add_Action (Table.States (1235), 104, 130);
- Add_Action (Table.States (1235), 105, 120);
- Add_Action (Table.States (1235), 106, 34);
- Add_Action (Table.States (1235), 107, 35);
- Table.States (1235).Goto_List.Set_Capacity (20);
- Add_Goto (Table.States (1235), 118, 131);
- Add_Goto (Table.States (1235), 129, 42);
- Add_Goto (Table.States (1235), 192, 132);
- Add_Goto (Table.States (1235), 193, 1263);
- Add_Goto (Table.States (1235), 198, 134);
- Add_Goto (Table.States (1235), 240, 135);
- Add_Goto (Table.States (1235), 259, 136);
- Add_Goto (Table.States (1235), 273, 93);
- Add_Goto (Table.States (1235), 276, 137);
- Add_Goto (Table.States (1235), 283, 138);
- Add_Goto (Table.States (1235), 284, 139);
- Add_Goto (Table.States (1235), 285, 140);
- Add_Goto (Table.States (1235), 286, 141);
- Add_Goto (Table.States (1235), 287, 142);
- Add_Goto (Table.States (1235), 288, 143);
- Add_Goto (Table.States (1235), 294, 98);
- Add_Goto (Table.States (1235), 302, 144);
- Add_Goto (Table.States (1235), 321, 145);
- Add_Goto (Table.States (1235), 322, 146);
- Add_Goto (Table.States (1235), 331, 147);
- Table.States (1235).Kernel := To_Vector ((0 => (255, 83, 0,
False)));
- Table.States (1235).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 193, 0)));
- Table.States (1236).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1236), 49, 1264);
- Table.States (1236).Kernel := To_Vector ((0 => (204, 74, 1,
False)));
- Table.States (1236).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 49, 1264)));
- Table.States (1237).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1237), (74, 97), (206, 0), 3, null,
null);
- Table.States (1237).Kernel := To_Vector ((0 => (206, 77, 0,
False)));
- Table.States (1237).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 206, 3)));
- Table.States (1238).Action_List.Set_Capacity (8);
- Add_Action (Table.States (1238), (29, 47, 48, 50, 69, 71, 74,
105), (205, 0), 9,
- formal_package_declaration_0'Access, null);
- Table.States (1238).Kernel := To_Vector ((0 => (205, 97, 0,
False)));
- Table.States (1238).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 205, 9)));
- Table.States (1239).Action_List.Set_Capacity (8);
- Add_Action (Table.States (1239), (29, 47, 48, 50, 69, 71, 74,
105), (199, 0), 9,
- formal_object_declaration_0'Access, null);
- Table.States (1239).Kernel := To_Vector ((0 => (199, 97, 0,
False)));
- Table.States (1239).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 199, 9)));
- Table.States (1240).Action_List.Set_Capacity (47);
- Add_Action (Table.States (1240), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
- 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 79, 94, 105, 106,
- 107, 108), (223, 0), 10, if_statement_0'Access, null);
- Table.States (1240).Kernel := To_Vector ((0 => (223, 97, 0,
False)));
- Table.States (1240).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 223, 10)));
- Table.States (1241).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1241), 97, 1265);
- Table.States (1241).Kernel := To_Vector ((0 => (248, 241, 1,
False)));
- Table.States (1241).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1265)));
+ Table.States (1241).Kernel := To_Vector ((0 => ((182, 0), 99, 0,
(182, 0), 9)));
+ Table.States (1241).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (182, 0), 9)));
Table.States (1242).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1242), 33, 1266);
- Table.States (1242).Kernel := To_Vector ((0 => (178, 105, 3,
False)));
- Table.States (1242).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 33, 1266)));
- Table.States (1243).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1243), 35, 1267);
- Table.States (1243).Kernel := To_Vector ((0 => (177, 193, 4,
False)));
- Table.States (1243).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 35, 1267)));
+ Add_Action (Table.States (1242), 99, (310, 0), 1271);
+ Table.States (1242).Kernel := To_Vector ((0 => ((310, 0), 243,
1, (2147483647, 0), 0)));
+ Table.States (1242).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (310, 0), 99, 1271)));
+ Table.States (1243).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1243), (22, 23, 78), (175, 0), 4,
elsif_expression_item_0'Access, null);
+ Table.States (1243).Kernel := To_Vector ((0 => ((175, 0), 195,
0, (175, 0), 4)));
+ Table.States (1243).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (175, 0), 4)));
Table.States (1244).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1244), 97, 1268);
- Table.States (1244).Kernel := To_Vector ((0 => (272, 267, 1,
False)));
- Table.States (1244).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1268)));
- Table.States (1245).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1245), 97, 1269);
- Table.States (1245).Kernel := To_Vector ((0 => (317, 221, 1,
False)));
- Table.States (1245).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1269)));
+ Add_Action (Table.States (1244), 88, (147, 0), 1272);
+ Table.States (1244).Kernel := To_Vector ((0 => ((147, 0), 304,
3, (2147483647, 0), 0)));
+ Table.States (1244).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (147, 0), 88, 1272)));
+ Table.States (1245).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (1245), 3, (200, 2), 122);
+ Add_Action (Table.States (1245), 39, (261, 4), 123);
+ Add_Action (Table.States (1245), 40, (200, 3), 124);
+ Add_Action (Table.States (1245), 41, (261, 1), 125);
+ Add_Action (Table.States (1245), 52, (278, 0), 126);
+ Add_Action (Table.States (1245), 76, (120, 0), 127);
+ Add_Action (Table.States (1245), 77, (120, 5), 128);
+ Add_Action (Table.States (1245), 78, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1245), 81, (242, 8), 31);
+ Add_Action (Table.States (1245), 97, (333, 1), 129);
+ Add_Action (Table.States (1245), 98, (333, 0), 130);
+ Add_Action (Table.States (1245), 99, Reduce, (195, 1), 0, null,
null);
+ Add_Action (Table.States (1245), 106, (261, 0), 131);
+ Add_Action (Table.States (1245), 107, (242, 5), 120);
+ Add_Action (Table.States (1245), 108, (242, 7), 34);
+ Add_Action (Table.States (1245), 109, (242, 6), 35);
+ Table.States (1245).Goto_List.Set_Capacity (20);
+ Add_Goto (Table.States (1245), 120, 132);
+ Add_Goto (Table.States (1245), 131, 42);
+ Add_Goto (Table.States (1245), 194, 133);
+ Add_Goto (Table.States (1245), 195, 1273);
+ Add_Goto (Table.States (1245), 200, 135);
+ Add_Goto (Table.States (1245), 242, 136);
+ Add_Goto (Table.States (1245), 261, 137);
+ Add_Goto (Table.States (1245), 275, 93);
+ Add_Goto (Table.States (1245), 278, 138);
+ Add_Goto (Table.States (1245), 285, 139);
+ Add_Goto (Table.States (1245), 286, 140);
+ Add_Goto (Table.States (1245), 287, 141);
+ Add_Goto (Table.States (1245), 288, 142);
+ Add_Goto (Table.States (1245), 289, 143);
+ Add_Goto (Table.States (1245), 290, 144);
+ Add_Goto (Table.States (1245), 296, 98);
+ Add_Goto (Table.States (1245), 304, 145);
+ Add_Goto (Table.States (1245), 323, 146);
+ Add_Goto (Table.States (1245), 324, 147);
+ Add_Goto (Table.States (1245), 333, 148);
+ Table.States (1245).Kernel := To_Vector ((0 => ((257, 0), 85, 0,
(195, 1), 0)));
+ Table.States (1245).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (195, 1), 0)));
Table.States (1246).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1246), 24, 1270);
- Table.States (1246).Kernel := To_Vector ((0 => (320, 319, 2,
False)));
- Table.States (1246).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 1270)));
- Table.States (1247).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1247), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (320, 1), 10,
- task_type_declaration_1'Access,
task_type_declaration_1_check'Access);
- Table.States (1247).Kernel := To_Vector ((0 => (320, 97, 0,
False)));
- Table.States (1247).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 320, 10)));
- Table.States (1248).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1248), 97, 1271);
- Table.States (1248).Kernel := To_Vector ((0 => (306, 221, 1,
False)));
- Table.States (1248).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1271)));
- Table.States (1249).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1249), (74, 83, 97), (121, 1), 6,
array_type_definition_1'Access, null);
- Table.States (1249).Kernel := To_Vector ((0 => (121, 148, 0,
False)));
- Table.States (1249).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 121, 6)));
- Table.States (1250).Action_List.Set_Capacity (3);
- Add_Action (Table.States (1250), (74, 83, 97), (121, 0), 6,
array_type_definition_0'Access, null);
- Table.States (1250).Kernel := To_Vector ((0 => (121, 148, 0,
False)));
- Table.States (1250).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 121, 6)));
+ Add_Action (Table.States (1246), 49, (206, 0), 1274);
+ Table.States (1246).Kernel := To_Vector ((0 => ((206, 0), 74, 1,
(2147483647, 0), 0)));
+ Table.States (1246).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (206, 0), 49, 1274)));
+ Table.States (1247).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1247), (74, 99), (208, 0), 3, null,
null);
+ Table.States (1247).Kernel := To_Vector ((0 => ((208, 0), 78, 0,
(208, 0), 3)));
+ Table.States (1247).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (208, 0), 3)));
+ Table.States (1248).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (1248), (29, 47, 48, 50, 69, 71, 74,
107), (207, 0), 9,
+ formal_package_declaration_0'Access, null);
+ Table.States (1248).Kernel := To_Vector ((0 => ((207, 0), 99, 0,
(207, 0), 9)));
+ Table.States (1248).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (207, 0), 9)));
+ Table.States (1249).Action_List.Set_Capacity (8);
+ Add_Action (Table.States (1249), (29, 47, 48, 50, 69, 71, 74,
107), (201, 0), 9,
+ formal_object_declaration_0'Access, null);
+ Table.States (1249).Kernel := To_Vector ((0 => ((201, 0), 99, 0,
(201, 0), 9)));
+ Table.States (1249).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (201, 0), 9)));
+ Table.States (1250).Action_List.Set_Capacity (47);
+ Add_Action (Table.States (1250), (4, 5, 13, 15, 17, 18, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
+ 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66,
68, 69, 71, 72, 73, 74, 81, 96, 107, 108,
+ 109, 110), (225, 0), 10, if_statement_0'Access, null);
+ Table.States (1250).Kernel := To_Vector ((0 => ((225, 0), 99, 0,
(225, 0), 10)));
+ Table.States (1250).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (225, 0), 10)));
Table.States (1251).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1251), 81, 1214);
- Table.States (1251).Kernel := To_Vector ((0 => (226, 53, 1,
False)));
- Table.States (1251).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 81, 1214)));
- Table.States (1252).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1252), (74, 97), (280, 0), 4, null,
null);
- Table.States (1252).Kernel := To_Vector ((0 => (280, 302, 0,
False)));
- Table.States (1252).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 280, 4)));
- Table.States (1253).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1253), 80, 447);
- Add_Action (Table.States (1253), 88, 1272);
- Table.States (1253).Kernel := To_Vector (((167, 167, 2, True),
(330, 167, 1, False)));
- Table.States (1253).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 88, 1272)));
+ Add_Action (Table.States (1251), 99, (250, 0), 1275);
+ Table.States (1251).Kernel := To_Vector ((0 => ((250, 0), 243,
1, (2147483647, 0), 0)));
+ Table.States (1251).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (250, 0), 99, 1275)));
+ Table.States (1252).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1252), 33, (180, 0), 1276);
+ Table.States (1252).Kernel := To_Vector ((0 => ((180, 0), 107,
3, (2147483647, 0), 0)));
+ Table.States (1252).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (180, 0), 33, 1276)));
+ Table.States (1253).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1253), 35, (179, 0), 1277);
+ Table.States (1253).Kernel := To_Vector ((0 => ((179, 0), 195,
4, (2147483647, 0), 0)));
+ Table.States (1253).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (179, 0), 35, 1277)));
Table.States (1254).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1254), 15, 1273);
- Table.States (1254).Kernel := To_Vector ((0 => (328, 24, 2,
False)));
- Table.States (1254).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 15, 1273)));
- Table.States (1255).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1255), (24, 72), (329, 0), 2,
variant_list_0'Access, null);
- Table.States (1255).Kernel := To_Vector ((0 => (329, 330, 0,
True)));
- Table.States (1255).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 329, 2)));
- Table.States (1255).Minimal_Complete_Actions_Recursive := True;
- Table.States (1256).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1256), 74, 338);
- Add_Action (Table.States (1256), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (1256).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1256), 123, 1274);
- Table.States (1256).Kernel := To_Vector ((0 => (147, 193, 1,
False)));
- Table.States (1256).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (1257).Action_List.Set_Capacity (5);
- Add_Action (Table.States (1257), (15, 24, 28, 72, 105), (147, 1),
5, component_declaration_1'Access, null);
- Table.States (1257).Kernel := To_Vector ((0 => (147, 97, 0,
False)));
- Table.States (1257).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 147, 5)));
- Table.States (1258).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1258), 74, 338);
- Add_Action (Table.States (1258), 97, Reduce, (123, 1), 0, null,
null);
- Table.States (1258).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1258), 123, 1275);
- Table.States (1258).Kernel := To_Vector ((0 => (260, 49, 1,
False)));
- Table.States (1258).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 123, 0)));
- Table.States (1259).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1259), (74, 97), (163, 0), 6,
derived_type_definition_0'Access, null);
- Table.States (1259).Kernel := To_Vector ((0 => (163, 281, 0,
False)));
- Table.States (1259).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 163, 6)));
- Table.States (1260).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1260), (24, 72), (188, 0), 6,
exception_handler_0'Access, null);
- Table.States (1260).Kernel := To_Vector ((0 => (188, 301, 0,
False)));
- Table.States (1260).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 188, 6)));
- Table.States (1261).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1261), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (308, 0), 10,
- subprogram_body_0'Access, subprogram_body_0_check'Access);
- Table.States (1261).Kernel := To_Vector ((0 => (308, 97, 0,
False)));
- Table.States (1261).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 308, 10)));
- Table.States (1262).Action_List.Set_Capacity (12);
- Add_Action (Table.States (1262), 3, 122);
- Add_Action (Table.States (1262), 39, 123);
- Add_Action (Table.States (1262), 40, 124);
- Add_Action (Table.States (1262), 41, 125);
- Add_Action (Table.States (1262), 76, 127);
- Add_Action (Table.States (1262), 79, 31);
- Add_Action (Table.States (1262), 95, 128);
- Add_Action (Table.States (1262), 96, 129);
- Add_Action (Table.States (1262), 104, 130);
- Add_Action (Table.States (1262), 105, 120);
- Add_Action (Table.States (1262), 106, 34);
- Add_Action (Table.States (1262), 107, 35);
- Table.States (1262).Goto_List.Set_Capacity (11);
- Add_Goto (Table.States (1262), 118, 131);
- Add_Goto (Table.States (1262), 129, 42);
- Add_Goto (Table.States (1262), 198, 134);
- Add_Goto (Table.States (1262), 240, 135);
- Add_Goto (Table.States (1262), 259, 136);
- Add_Goto (Table.States (1262), 273, 93);
- Add_Goto (Table.States (1262), 294, 98);
- Add_Goto (Table.States (1262), 302, 1276);
- Add_Goto (Table.States (1262), 321, 145);
- Add_Goto (Table.States (1262), 322, 146);
- Add_Goto (Table.States (1262), 331, 147);
- Table.States (1262).Kernel := To_Vector ((0 => (145, 86, 2,
False)));
- Table.States (1262).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 104, 130)));
+ Add_Action (Table.States (1254), 99, (274, 0), 1278);
+ Table.States (1254).Kernel := To_Vector ((0 => ((274, 0), 269,
1, (2147483647, 0), 0)));
+ Table.States (1254).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (274, 0), 99, 1278)));
+ Table.States (1255).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1255), 99, (319, 0), 1279);
+ Table.States (1255).Kernel := To_Vector ((0 => ((319, 0), 223,
1, (2147483647, 0), 0)));
+ Table.States (1255).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (319, 0), 99, 1279)));
+ Table.States (1256).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1256), 24, (322, 0), 1280);
+ Table.States (1256).Kernel := To_Vector ((0 => ((322, 0), 321,
2, (2147483647, 0), 0)));
+ Table.States (1256).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (322, 0), 24, 1280)));
+ Table.States (1257).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1257), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (322, 1), 10,
+ task_type_declaration_1'Access,
task_type_declaration_1_check'Access);
+ Table.States (1257).Kernel := To_Vector ((0 => ((322, 1), 99, 0,
(322, 1), 10)));
+ Table.States (1257).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (322, 1), 10)));
+ Table.States (1258).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1258), 99, (308, 0), 1281);
+ Table.States (1258).Kernel := To_Vector ((0 => ((308, 0), 223,
1, (2147483647, 0), 0)));
+ Table.States (1258).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (308, 0), 99, 1281)));
+ Table.States (1259).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1259), (74, 85, 99), (123, 1), 6,
array_type_definition_1'Access, null);
+ Table.States (1259).Kernel := To_Vector ((0 => ((123, 1), 150,
0, (123, 1), 6)));
+ Table.States (1259).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (123, 1), 6)));
+ Table.States (1260).Action_List.Set_Capacity (3);
+ Add_Action (Table.States (1260), (74, 85, 99), (123, 0), 6,
array_type_definition_0'Access, null);
+ Table.States (1260).Kernel := To_Vector ((0 => ((123, 0), 150,
0, (123, 0), 6)));
+ Table.States (1260).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (123, 0), 6)));
+ Table.States (1261).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1261), 83, (228, 0), 1224);
+ Table.States (1261).Kernel := To_Vector ((0 => ((228, 0), 53, 1,
(2147483647, 0), 0)));
+ Table.States (1261).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (228, 0), 83, 1224)));
+ Table.States (1262).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1262), (74, 99), (282, 0), 4, null,
null);
+ Table.States (1262).Kernel := To_Vector ((0 => ((282, 0), 304,
0, (282, 0), 4)));
+ Table.States (1262).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (282, 0), 4)));
Table.States (1263).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1263), (77, 97), (255, 0), 8,
parameter_specification_0'Access, null);
- Table.States (1263).Kernel := To_Vector ((0 => (255, 193, 0,
False)));
- Table.States (1263).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 255, 8)));
- Table.States (1264).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1264), (74, 97), (204, 0), 6,
formal_derived_type_definition_0'Access, null);
- Table.States (1264).Kernel := To_Vector ((0 => (204, 49, 0,
False)));
- Table.States (1264).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 204, 6)));
- Table.States (1265).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1265), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (248, 0), 11,
- package_body_0'Access, package_body_0_check'Access);
- Table.States (1265).Kernel := To_Vector ((0 => (248, 97, 0,
False)));
- Table.States (1265).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 248, 11)));
- Table.States (1266).Action_List.Set_Capacity (12);
- Add_Action (Table.States (1266), 3, 122);
- Add_Action (Table.States (1266), 39, 123);
- Add_Action (Table.States (1266), 40, 477);
- Add_Action (Table.States (1266), 41, 125);
- Add_Action (Table.States (1266), 76, 127);
- Add_Action (Table.States (1266), 79, 31);
- Add_Action (Table.States (1266), 95, 128);
- Add_Action (Table.States (1266), 96, 129);
- Add_Action (Table.States (1266), 104, 130);
- Add_Action (Table.States (1266), 105, 120);
- Add_Action (Table.States (1266), 106, 34);
- Add_Action (Table.States (1266), 107, 35);
- Table.States (1266).Goto_List.Set_Capacity (14);
- Add_Goto (Table.States (1266), 118, 131);
- Add_Goto (Table.States (1266), 129, 42);
- Add_Goto (Table.States (1266), 168, 1277);
- Add_Goto (Table.States (1266), 198, 134);
- Add_Goto (Table.States (1266), 240, 480);
- Add_Goto (Table.States (1266), 259, 136);
- Add_Goto (Table.States (1266), 273, 93);
- Add_Goto (Table.States (1266), 278, 481);
- Add_Goto (Table.States (1266), 294, 98);
- Add_Goto (Table.States (1266), 302, 482);
- Add_Goto (Table.States (1266), 315, 483);
- Add_Goto (Table.States (1266), 321, 145);
- Add_Goto (Table.States (1266), 322, 146);
- Add_Goto (Table.States (1266), 331, 147);
- Table.States (1266).Kernel := To_Vector ((0 => (178, 33, 2,
False)));
- Table.States (1266).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 105, 120)));
- Table.States (1267).Action_List.Set_Capacity (16);
- Add_Action (Table.States (1267), 13, Reduce, (160, 1), 0, null,
null);
- Add_Action (Table.States (1267), 25, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (1267), 28, 184);
- Add_Action (Table.States (1267), 29, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (1267), 30, 8);
- Add_Action (Table.States (1267), 40, 12);
- Add_Action (Table.States (1267), 46, 14);
- Add_Action (Table.States (1267), 47, 15);
- Add_Action (Table.States (1267), 48, 16);
- Add_Action (Table.States (1267), 50, Reduce, (247, 2), 0, null,
null);
- Add_Action (Table.States (1267), 51, 19);
- Add_Action (Table.States (1267), 63, 25);
- Add_Action (Table.States (1267), 66, 26);
- Add_Action (Table.States (1267), 69, 27);
- Add_Action (Table.States (1267), 71, 28);
- Add_Action (Table.States (1267), 105, 186);
- Table.States (1267).Goto_List.Set_Capacity (53);
- Add_Goto (Table.States (1267), 113, 36);
- Add_Goto (Table.States (1267), 122, 38);
- Add_Goto (Table.States (1267), 128, 41);
- Add_Goto (Table.States (1267), 135, 46);
- Add_Goto (Table.States (1267), 136, 47);
- Add_Goto (Table.States (1267), 158, 392);
- Add_Goto (Table.States (1267), 159, 393);
- Add_Goto (Table.States (1267), 160, 1278);
- Add_Goto (Table.States (1267), 180, 55);
- Add_Goto (Table.States (1267), 183, 56);
- Add_Goto (Table.States (1267), 187, 57);
- Add_Goto (Table.States (1267), 194, 59);
- Add_Goto (Table.States (1267), 207, 61);
- Add_Goto (Table.States (1267), 208, 62);
- Add_Goto (Table.States (1267), 210, 63);
- Add_Goto (Table.States (1267), 211, 64);
- Add_Goto (Table.States (1267), 214, 65);
- Add_Goto (Table.States (1267), 215, 66);
- Add_Goto (Table.States (1267), 216, 67);
- Add_Goto (Table.States (1267), 217, 68);
- Add_Goto (Table.States (1267), 220, 70);
- Add_Goto (Table.States (1267), 224, 72);
- Add_Goto (Table.States (1267), 244, 75);
- Add_Goto (Table.States (1267), 245, 76);
- Add_Goto (Table.States (1267), 246, 77);
- Add_Goto (Table.States (1267), 247, 78);
- Add_Goto (Table.States (1267), 248, 79);
- Add_Goto (Table.States (1267), 249, 80);
- Add_Goto (Table.States (1267), 250, 81);
- Add_Goto (Table.States (1267), 251, 82);
- Add_Goto (Table.States (1267), 252, 83);
- Add_Goto (Table.States (1267), 258, 395);
- Add_Goto (Table.States (1267), 260, 85);
- Add_Goto (Table.States (1267), 261, 86);
- Add_Goto (Table.States (1267), 263, 88);
- Add_Goto (Table.States (1267), 264, 89);
- Add_Goto (Table.States (1267), 265, 90);
- Add_Goto (Table.States (1267), 266, 91);
- Add_Goto (Table.States (1267), 272, 92);
- Add_Goto (Table.States (1267), 282, 95);
- Add_Goto (Table.States (1267), 290, 96);
- Add_Goto (Table.States (1267), 305, 103);
- Add_Goto (Table.States (1267), 306, 104);
- Add_Goto (Table.States (1267), 308, 106);
- Add_Goto (Table.States (1267), 309, 107);
- Add_Goto (Table.States (1267), 310, 108);
- Add_Goto (Table.States (1267), 312, 109);
- Add_Goto (Table.States (1267), 314, 110);
- Add_Goto (Table.States (1267), 317, 112);
- Add_Goto (Table.States (1267), 318, 113);
- Add_Goto (Table.States (1267), 320, 114);
- Add_Goto (Table.States (1267), 326, 116);
- Add_Goto (Table.States (1267), 332, 117);
- Table.States (1267).Kernel := To_Vector ((0 => (177, 35, 3,
False)));
- Table.States (1267).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 160, 0)));
- Table.States (1268).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1268), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (272, 0), 11,
- protected_type_declaration_0'Access,
protected_type_declaration_0_check'Access);
- Table.States (1268).Kernel := To_Vector ((0 => (272, 97, 0,
False)));
- Table.States (1268).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 272, 11)));
- Table.States (1269).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1269), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (317, 0), 11,
- task_body_0'Access, task_body_0_check'Access);
- Table.States (1269).Kernel := To_Vector ((0 => (317, 97, 0,
False)));
- Table.States (1269).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 317, 11)));
+ Add_Action (Table.States (1263), 82, (169, 0), 450);
+ Add_Action (Table.States (1263), 90, (332, 0), 1282);
+ Table.States (1263).Kernel := To_Vector ((((169, 0), 169, 2,
(2147483647, 0), 0), ((332, 0), 169, 1,
+ (2147483647, 0), 0)));
+ Table.States (1263).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (332, 0), 90, 1282)));
+ Table.States (1264).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1264), 15, (330, 0), 1283);
+ Table.States (1264).Kernel := To_Vector ((0 => ((330, 0), 24, 2,
(2147483647, 0), 0)));
+ Table.States (1264).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (330, 0), 15, 1283)));
+ Table.States (1265).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1265), (24, 72), (331, 0), 2,
variant_list_0'Access, null);
+ Table.States (1265).Kernel := To_Vector ((0 => ((331, 0), 332,
0, (331, 0), 2)));
+ Table.States (1265).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (331, 0), 2)));
+ Table.States (1266).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1266), 74, (125, 0), 340);
+ Add_Action (Table.States (1266), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (1266).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1266), 125, 1284);
+ Table.States (1266).Kernel := To_Vector ((0 => ((149, 0), 195,
1, (2147483647, 0), 0)));
+ Table.States (1266).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (1267).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (1267), (15, 24, 28, 72, 107), (149, 1),
5, component_declaration_1'Access,
+ null);
+ Table.States (1267).Kernel := To_Vector ((0 => ((149, 1), 99, 0,
(149, 1), 5)));
+ Table.States (1267).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (149, 1), 5)));
+ Table.States (1268).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1268), 74, (125, 0), 340);
+ Add_Action (Table.States (1268), 99, Reduce, (125, 1), 0, null,
null);
+ Table.States (1268).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1268), 125, 1285);
+ Table.States (1268).Kernel := To_Vector ((0 => ((262, 0), 49, 1,
(2147483647, 0), 0)));
+ Table.States (1268).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (125, 1), 0)));
+ Table.States (1269).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1269), (74, 99), (165, 0), 6,
derived_type_definition_0'Access, null);
+ Table.States (1269).Kernel := To_Vector ((0 => ((165, 0), 283,
0, (165, 0), 6)));
+ Table.States (1269).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (165, 0), 6)));
Table.States (1270).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1270), 97, Reduce, (221, 1), 0, null,
null);
- Add_Action (Table.States (1270), 105, 150);
- Table.States (1270).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1270), 221, 1279);
- Table.States (1270).Kernel := To_Vector ((0 => (320, 24, 1,
False)));
- Table.States (1270).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 0)));
+ Add_Action (Table.States (1270), (24, 72), (190, 0), 6,
exception_handler_0'Access, null);
+ Table.States (1270).Kernel := To_Vector ((0 => ((190, 0), 303,
0, (190, 0), 6)));
+ Table.States (1270).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (190, 0), 6)));
Table.States (1271).Action_List.Set_Capacity (41);
Add_Action (Table.States (1271), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (306, 0), 11,
- single_task_declaration_0'Access,
single_task_declaration_0_check'Access);
- Table.States (1271).Kernel := To_Vector ((0 => (306, 97, 0,
False)));
- Table.States (1271).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 306, 11)));
- Table.States (1272).Action_List.Set_Capacity (6);
- Add_Action (Table.States (1272), 15, 894);
- Add_Action (Table.States (1272), 24, Reduce, (151, 1), 0, null,
null);
- Add_Action (Table.States (1272), 28, 184);
- Add_Action (Table.States (1272), 41, 895);
- Add_Action (Table.States (1272), 72, Reduce, (151, 1), 0, null,
null);
- Add_Action (Table.States (1272), 105, 165);
- Table.States (1272).Goto_List.Set_Capacity (10);
- Add_Goto (Table.States (1272), 122, 896);
- Add_Goto (Table.States (1272), 128, 41);
- Add_Goto (Table.States (1272), 147, 897);
- Add_Goto (Table.States (1272), 149, 898);
- Add_Goto (Table.States (1272), 150, 899);
- Add_Goto (Table.States (1272), 151, 1280);
- Add_Goto (Table.States (1272), 183, 56);
- Add_Goto (Table.States (1272), 220, 901);
- Add_Goto (Table.States (1272), 282, 95);
- Add_Goto (Table.States (1272), 328, 902);
- Table.States (1272).Kernel := To_Vector ((0 => (330, 88, 0,
False)));
- Table.States (1272).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 151, 0)));
- Table.States (1273).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1273), 97, 1281);
- Table.States (1273).Kernel := To_Vector ((0 => (328, 15, 1,
False)));
- Table.States (1273).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1281)));
- Table.States (1274).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1274), 97, 1282);
- Table.States (1274).Kernel := To_Vector ((0 => (147, 123, 1,
False)));
- Table.States (1274).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1282)));
- Table.States (1275).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1275), 97, 1283);
- Table.States (1275).Kernel := To_Vector ((0 => (260, 123, 1,
False)));
- Table.States (1275).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1283)));
- Table.States (1276).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1276), 97, 1284);
- Table.States (1276).Kernel := To_Vector ((0 => (145, 302, 1,
False)));
- Table.States (1276).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1284)));
- Table.States (1277).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1277), 77, 1285);
- Table.States (1277).Kernel := To_Vector ((0 => (178, 168, 1,
False)));
- Table.States (1277).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 77, 1285)));
- Table.States (1278).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1278), 13, 1286);
- Table.States (1278).Kernel := To_Vector ((0 => (177, 160, 3,
False)));
- Table.States (1278).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 13, 1286)));
- Table.States (1279).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1279), 97, 1287);
- Table.States (1279).Kernel := To_Vector ((0 => (320, 221, 1,
False)));
- Table.States (1279).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1287)));
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (310, 0), 10,
+ subprogram_body_0'Access, subprogram_body_0_check'Access);
+ Table.States (1271).Kernel := To_Vector ((0 => ((310, 0), 99, 0,
(310, 0), 10)));
+ Table.States (1271).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (310, 0), 10)));
+ Table.States (1272).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (1272), 3, (200, 2), 122);
+ Add_Action (Table.States (1272), 39, (261, 4), 123);
+ Add_Action (Table.States (1272), 40, (200, 3), 124);
+ Add_Action (Table.States (1272), 41, (261, 1), 125);
+ Add_Action (Table.States (1272), 76, (120, 0), 127);
+ Add_Action (Table.States (1272), 77, (120, 5), 128);
+ Add_Action (Table.States (1272), 81, (242, 8), 31);
+ Add_Action (Table.States (1272), 97, (333, 1), 129);
+ Add_Action (Table.States (1272), 98, (333, 0), 130);
+ Add_Action (Table.States (1272), 106, (261, 0), 131);
+ Add_Action (Table.States (1272), 107, (242, 5), 120);
+ Add_Action (Table.States (1272), 108, (242, 7), 34);
+ Add_Action (Table.States (1272), 109, (242, 6), 35);
+ Table.States (1272).Goto_List.Set_Capacity (11);
+ Add_Goto (Table.States (1272), 120, 132);
+ Add_Goto (Table.States (1272), 131, 42);
+ Add_Goto (Table.States (1272), 200, 135);
+ Add_Goto (Table.States (1272), 242, 136);
+ Add_Goto (Table.States (1272), 261, 137);
+ Add_Goto (Table.States (1272), 275, 93);
+ Add_Goto (Table.States (1272), 296, 98);
+ Add_Goto (Table.States (1272), 304, 1286);
+ Add_Goto (Table.States (1272), 323, 146);
+ Add_Goto (Table.States (1272), 324, 147);
+ Add_Goto (Table.States (1272), 333, 148);
+ Table.States (1272).Kernel := To_Vector ((0 => ((147, 0), 88, 2,
(2147483647, 0), 0)));
+ Table.States (1272).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (261, 0), 106, 131)));
+ Table.States (1273).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1273), (78, 99), (257, 0), 8,
parameter_specification_0'Access, null);
+ Table.States (1273).Kernel := To_Vector ((0 => ((257, 0), 195,
0, (257, 0), 8)));
+ Table.States (1273).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (257, 0), 8)));
+ Table.States (1274).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1274), (74, 99), (206, 0), 6,
formal_derived_type_definition_0'Access, null);
+ Table.States (1274).Kernel := To_Vector ((0 => ((206, 0), 49, 0,
(206, 0), 6)));
+ Table.States (1274).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (206, 0), 6)));
+ Table.States (1275).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1275), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (250, 0), 11,
+ package_body_0'Access, package_body_0_check'Access);
+ Table.States (1275).Kernel := To_Vector ((0 => ((250, 0), 99, 0,
(250, 0), 11)));
+ Table.States (1275).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (250, 0), 11)));
+ Table.States (1276).Action_List.Set_Capacity (13);
+ Add_Action (Table.States (1276), 3, (200, 2), 122);
+ Add_Action (Table.States (1276), 39, (261, 4), 123);
+ Add_Action (Table.States (1276), 40, (200, 3), 481);
+ Add_Action (Table.States (1276), 41, (261, 1), 125);
+ Add_Action (Table.States (1276), 76, (120, 0), 127);
+ Add_Action (Table.States (1276), 77, (120, 5), 128);
+ Add_Action (Table.States (1276), 81, (242, 8), 31);
+ Add_Action (Table.States (1276), 97, (333, 1), 129);
+ Add_Action (Table.States (1276), 98, (333, 0), 130);
+ Add_Action (Table.States (1276), 106, (261, 0), 131);
+ Add_Action (Table.States (1276), 107, (242, 5), 120);
+ Add_Action (Table.States (1276), 108, (242, 7), 34);
+ Add_Action (Table.States (1276), 109, (242, 6), 35);
+ Table.States (1276).Goto_List.Set_Capacity (14);
+ Add_Goto (Table.States (1276), 120, 132);
+ Add_Goto (Table.States (1276), 131, 42);
+ Add_Goto (Table.States (1276), 170, 1287);
+ Add_Goto (Table.States (1276), 200, 135);
+ Add_Goto (Table.States (1276), 242, 484);
+ Add_Goto (Table.States (1276), 261, 137);
+ Add_Goto (Table.States (1276), 275, 93);
+ Add_Goto (Table.States (1276), 280, 485);
+ Add_Goto (Table.States (1276), 296, 98);
+ Add_Goto (Table.States (1276), 304, 486);
+ Add_Goto (Table.States (1276), 317, 487);
+ Add_Goto (Table.States (1276), 323, 146);
+ Add_Goto (Table.States (1276), 324, 147);
+ Add_Goto (Table.States (1276), 333, 148);
+ Table.States (1276).Kernel := To_Vector ((0 => ((180, 0), 33, 2,
(2147483647, 0), 0)));
+ Table.States (1276).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (242, 5), 107, 120)));
+ Table.States (1277).Action_List.Set_Capacity (16);
+ Add_Action (Table.States (1277), 13, Reduce, (162, 1), 0, null,
null);
+ Add_Action (Table.States (1277), 25, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (1277), 28, (124, 0), 185);
+ Add_Action (Table.States (1277), 29, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (1277), 30, (213, 0), 8);
+ Add_Action (Table.States (1277), 40, (249, 0), 12);
+ Add_Action (Table.States (1277), 46, (249, 1), 14);
+ Add_Action (Table.States (1277), 47, (216, 0), 15);
+ Add_Action (Table.States (1277), 48, (260, 0), 16);
+ Add_Action (Table.States (1277), 50, Reduce, (249, 2), 0, null,
null);
+ Add_Action (Table.States (1277), 51, (267, 0), 19);
+ Add_Action (Table.States (1277), 63, (316, 0), 25);
+ Add_Action (Table.States (1277), 66, (308, 0), 26);
+ Add_Action (Table.States (1277), 69, (209, 0), 27);
+ Add_Action (Table.States (1277), 71, (334, 0), 28);
+ Add_Action (Table.States (1277), 107, (222, 1), 187);
+ Table.States (1277).Goto_List.Set_Capacity (53);
+ Add_Goto (Table.States (1277), 115, 36);
+ Add_Goto (Table.States (1277), 124, 38);
+ Add_Goto (Table.States (1277), 130, 41);
+ Add_Goto (Table.States (1277), 137, 46);
+ Add_Goto (Table.States (1277), 138, 47);
+ Add_Goto (Table.States (1277), 160, 394);
+ Add_Goto (Table.States (1277), 161, 395);
+ Add_Goto (Table.States (1277), 162, 1288);
+ Add_Goto (Table.States (1277), 182, 55);
+ Add_Goto (Table.States (1277), 185, 56);
+ Add_Goto (Table.States (1277), 189, 57);
+ Add_Goto (Table.States (1277), 196, 59);
+ Add_Goto (Table.States (1277), 209, 61);
+ Add_Goto (Table.States (1277), 210, 62);
+ Add_Goto (Table.States (1277), 212, 63);
+ Add_Goto (Table.States (1277), 213, 64);
+ Add_Goto (Table.States (1277), 216, 65);
+ Add_Goto (Table.States (1277), 217, 66);
+ Add_Goto (Table.States (1277), 218, 67);
+ Add_Goto (Table.States (1277), 219, 68);
+ Add_Goto (Table.States (1277), 222, 70);
+ Add_Goto (Table.States (1277), 226, 72);
+ Add_Goto (Table.States (1277), 246, 75);
+ Add_Goto (Table.States (1277), 247, 76);
+ Add_Goto (Table.States (1277), 248, 77);
+ Add_Goto (Table.States (1277), 249, 78);
+ Add_Goto (Table.States (1277), 250, 79);
+ Add_Goto (Table.States (1277), 251, 80);
+ Add_Goto (Table.States (1277), 252, 81);
+ Add_Goto (Table.States (1277), 253, 82);
+ Add_Goto (Table.States (1277), 254, 83);
+ Add_Goto (Table.States (1277), 260, 397);
+ Add_Goto (Table.States (1277), 262, 85);
+ Add_Goto (Table.States (1277), 263, 86);
+ Add_Goto (Table.States (1277), 265, 88);
+ Add_Goto (Table.States (1277), 266, 89);
+ Add_Goto (Table.States (1277), 267, 90);
+ Add_Goto (Table.States (1277), 268, 91);
+ Add_Goto (Table.States (1277), 274, 92);
+ Add_Goto (Table.States (1277), 284, 95);
+ Add_Goto (Table.States (1277), 292, 96);
+ Add_Goto (Table.States (1277), 307, 103);
+ Add_Goto (Table.States (1277), 308, 104);
+ Add_Goto (Table.States (1277), 310, 106);
+ Add_Goto (Table.States (1277), 311, 107);
+ Add_Goto (Table.States (1277), 312, 108);
+ Add_Goto (Table.States (1277), 314, 109);
+ Add_Goto (Table.States (1277), 316, 110);
+ Add_Goto (Table.States (1277), 319, 112);
+ Add_Goto (Table.States (1277), 320, 113);
+ Add_Goto (Table.States (1277), 322, 114);
+ Add_Goto (Table.States (1277), 328, 116);
+ Add_Goto (Table.States (1277), 334, 117);
+ Table.States (1277).Kernel := To_Vector ((0 => ((179, 0), 35, 3,
(2147483647, 0), 0)));
+ Table.States (1277).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (162, 1), 0)));
+ Table.States (1278).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1278), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (274, 0), 11,
+ protected_type_declaration_0'Access,
protected_type_declaration_0_check'Access);
+ Table.States (1278).Kernel := To_Vector ((0 => ((274, 0), 99, 0,
(274, 0), 11)));
+ Table.States (1278).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (274, 0), 11)));
+ Table.States (1279).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1279), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (319, 0), 11,
+ task_body_0'Access, task_body_0_check'Access);
+ Table.States (1279).Kernel := To_Vector ((0 => ((319, 0), 99, 0,
(319, 0), 11)));
+ Table.States (1279).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (319, 0), 11)));
Table.States (1280).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1280), (24, 72), (330, 0), 4,
variant_0'Access, null);
- Table.States (1280).Kernel := To_Vector ((0 => (330, 151, 0,
False)));
- Table.States (1280).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 330, 4)));
- Table.States (1281).Action_List.Set_Capacity (5);
- Add_Action (Table.States (1281), (15, 24, 28, 72, 105), (328, 0),
7, variant_part_0'Access, null);
- Table.States (1281).Kernel := To_Vector ((0 => (328, 97, 0,
False)));
- Table.States (1281).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 328, 7)));
- Table.States (1282).Action_List.Set_Capacity (5);
- Add_Action (Table.States (1282), (15, 24, 28, 72, 105), (147, 0),
7, component_declaration_0'Access, null);
- Table.States (1282).Kernel := To_Vector ((0 => (147, 97, 0,
False)));
- Table.States (1282).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 147, 7)));
- Table.States (1283).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1283), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (260, 0), 12,
- private_extension_declaration_0'Access, null);
- Table.States (1283).Kernel := To_Vector ((0 => (260, 97, 0,
False)));
- Table.States (1283).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 260, 12)));
- Table.States (1284).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1284), (24, 105), (145, 0), 8,
component_clause_0'Access, null);
- Table.States (1284).Kernel := To_Vector ((0 => (145, 97, 0,
False)));
- Table.States (1284).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 145, 8)));
- Table.States (1285).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1285), 72, Reduce, (254, 1), 0, null,
null);
- Add_Action (Table.States (1285), 76, 432);
- Table.States (1285).Goto_List.Set_Capacity (2);
- Add_Goto (Table.States (1285), 200, 345);
- Add_Goto (Table.States (1285), 254, 1288);
- Table.States (1285).Kernel := To_Vector ((0 => (178, 77, 0,
False)));
- Table.States (1285).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 254, 0)));
- Table.States (1286).Action_List.Set_Capacity (25);
- Add_Action (Table.States (1286), 4, 1);
- Add_Action (Table.States (1286), 5, 2);
- Add_Action (Table.States (1286), 13, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1286), 15, 3);
- Add_Action (Table.States (1286), 17, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1286), 18, 4);
- Add_Action (Table.States (1286), 24, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (1286), 26, Reduce, (301, 1), 0, null,
null);
- Add_Action (Table.States (1286), 27, 5);
- Add_Action (Table.States (1286), 28, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1286), 31, 9);
- Add_Action (Table.States (1286), 32, 10);
- Add_Action (Table.States (1286), 37, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1286), 41, 13);
- Add_Action (Table.States (1286), 48, 16);
- Add_Action (Table.States (1286), 52, 20);
- Add_Action (Table.States (1286), 57, 21);
- Add_Action (Table.States (1286), 58, 22);
- Add_Action (Table.States (1286), 61, 24);
- Add_Action (Table.States (1286), 73, Reduce, (133, 1), 0, null,
null);
- Add_Action (Table.States (1286), 79, 31);
- Add_Action (Table.States (1286), 94, 32);
- Add_Action (Table.States (1286), 105, 361);
- Add_Action (Table.States (1286), 106, 34);
- Add_Action (Table.States (1286), 107, 35);
- Table.States (1286).Goto_List.Set_Capacity (32);
- Add_Goto (Table.States (1286), 114, 37);
- Add_Goto (Table.States (1286), 124, 39);
- Add_Goto (Table.States (1286), 127, 40);
- Add_Goto (Table.States (1286), 129, 42);
- Add_Goto (Table.States (1286), 132, 43);
- Add_Goto (Table.States (1286), 133, 44);
- Add_Goto (Table.States (1286), 134, 45);
- Add_Goto (Table.States (1286), 140, 48);
- Add_Goto (Table.States (1286), 152, 51);
- Add_Goto (Table.States (1286), 153, 52);
- Add_Goto (Table.States (1286), 162, 54);
- Add_Goto (Table.States (1286), 191, 58);
- Add_Goto (Table.States (1286), 197, 60);
- Add_Goto (Table.States (1286), 218, 69);
- Add_Goto (Table.States (1286), 219, 1289);
- Add_Goto (Table.States (1286), 223, 71);
- Add_Goto (Table.States (1286), 233, 73);
- Add_Goto (Table.States (1286), 240, 74);
- Add_Goto (Table.States (1286), 258, 84);
- Add_Goto (Table.States (1286), 262, 87);
- Add_Goto (Table.States (1286), 273, 93);
- Add_Goto (Table.States (1286), 277, 94);
- Add_Goto (Table.States (1286), 291, 97);
- Add_Goto (Table.States (1286), 294, 98);
- Add_Goto (Table.States (1286), 295, 99);
- Add_Goto (Table.States (1286), 299, 100);
- Add_Goto (Table.States (1286), 300, 362);
- Add_Goto (Table.States (1286), 301, 391);
- Add_Goto (Table.States (1286), 303, 101);
- Add_Goto (Table.States (1286), 304, 102);
- Add_Goto (Table.States (1286), 307, 364);
- Add_Goto (Table.States (1286), 324, 115);
- Table.States (1286).Kernel := To_Vector ((0 => (177, 13, 2,
False)));
- Table.States (1286).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 219, 0)));
- Table.States (1287).Action_List.Set_Capacity (41);
- Add_Action (Table.States (1287), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
- 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
79, 94, 105, 106, 107, 108), (320, 0), 13,
- task_type_declaration_0'Access,
task_type_declaration_0_check'Access);
- Table.States (1287).Kernel := To_Vector ((0 => (320, 97, 0,
False)));
- Table.States (1287).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 320, 13)));
+ Add_Action (Table.States (1280), 99, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (1280), 107, (223, 0), 151);
+ Table.States (1280).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1280), 223, 1289);
+ Table.States (1280).Kernel := To_Vector ((0 => ((322, 0), 24, 1,
(2147483647, 0), 0)));
+ Table.States (1280).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 1), 0)));
+ Table.States (1281).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1281), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (308, 0), 11,
+ single_task_declaration_0'Access,
single_task_declaration_0_check'Access);
+ Table.States (1281).Kernel := To_Vector ((0 => ((308, 0), 99, 0,
(308, 0), 11)));
+ Table.States (1281).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (308, 0), 11)));
+ Table.States (1282).Action_List.Set_Capacity (6);
+ Add_Action (Table.States (1282), 15, (330, 0), 903);
+ Add_Action (Table.States (1282), 24, Reduce, (153, 1), 0, null,
null);
+ Add_Action (Table.States (1282), 28, (124, 0), 185);
+ Add_Action (Table.States (1282), 41, (152, 4), 904);
+ Add_Action (Table.States (1282), 72, Reduce, (153, 1), 0, null,
null);
+ Add_Action (Table.States (1282), 107, (222, 1), 166);
+ Table.States (1282).Goto_List.Set_Capacity (10);
+ Add_Goto (Table.States (1282), 124, 905);
+ Add_Goto (Table.States (1282), 130, 41);
+ Add_Goto (Table.States (1282), 149, 906);
+ Add_Goto (Table.States (1282), 151, 907);
+ Add_Goto (Table.States (1282), 152, 908);
+ Add_Goto (Table.States (1282), 153, 1290);
+ Add_Goto (Table.States (1282), 185, 56);
+ Add_Goto (Table.States (1282), 222, 910);
+ Add_Goto (Table.States (1282), 284, 95);
+ Add_Goto (Table.States (1282), 330, 911);
+ Table.States (1282).Kernel := To_Vector ((0 => ((332, 0), 90, 0,
(153, 1), 0)));
+ Table.States (1282).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (153, 1), 0)));
+ Table.States (1283).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1283), 99, (330, 0), 1291);
+ Table.States (1283).Kernel := To_Vector ((0 => ((330, 0), 15, 1,
(2147483647, 0), 0)));
+ Table.States (1283).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (330, 0), 99, 1291)));
+ Table.States (1284).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1284), 99, (149, 0), 1292);
+ Table.States (1284).Kernel := To_Vector ((0 => ((149, 0), 125,
1, (2147483647, 0), 0)));
+ Table.States (1284).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (149, 0), 99, 1292)));
+ Table.States (1285).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1285), 99, (262, 0), 1293);
+ Table.States (1285).Kernel := To_Vector ((0 => ((262, 0), 125,
1, (2147483647, 0), 0)));
+ Table.States (1285).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (262, 0), 99, 1293)));
+ Table.States (1286).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1286), 99, (147, 0), 1294);
+ Table.States (1286).Kernel := To_Vector ((0 => ((147, 0), 304,
1, (2147483647, 0), 0)));
+ Table.States (1286).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (147, 0), 99, 1294)));
+ Table.States (1287).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1287), 78, (180, 0), 1295);
+ Table.States (1287).Kernel := To_Vector ((0 => ((180, 0), 170,
1, (2147483647, 0), 0)));
+ Table.States (1287).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (180, 0), 78, 1295)));
Table.States (1288).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1288), (1 => 72), (178, 0), 7,
entry_body_formal_part_0'Access, null);
- Table.States (1288).Kernel := To_Vector ((0 => (178, 254, 0,
False)));
- Table.States (1288).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 178, 7)));
+ Add_Action (Table.States (1288), 13, (179, 0), 1296);
+ Table.States (1288).Kernel := To_Vector ((0 => ((179, 0), 162,
3, (2147483647, 0), 0)));
+ Table.States (1288).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (179, 0), 13, 1296)));
Table.States (1289).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1289), 24, 1290);
- Table.States (1289).Kernel := To_Vector ((0 => (177, 219, 2,
False)));
- Table.States (1289).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 1290)));
+ Add_Action (Table.States (1289), 99, (322, 0), 1297);
+ Table.States (1289).Kernel := To_Vector ((0 => ((322, 0), 223,
1, (2147483647, 0), 0)));
+ Table.States (1289).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (322, 0), 99, 1297)));
Table.States (1290).Action_List.Set_Capacity (2);
- Add_Action (Table.States (1290), 97, Reduce, (221, 1), 0, null,
null);
- Add_Action (Table.States (1290), 105, 150);
- Table.States (1290).Goto_List.Set_Capacity (1);
- Add_Goto (Table.States (1290), 221, 1291);
- Table.States (1290).Kernel := To_Vector ((0 => (177, 24, 1,
False)));
- Table.States (1290).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 221, 0)));
- Table.States (1291).Action_List.Set_Capacity (1);
- Add_Action (Table.States (1291), 97, 1292);
- Table.States (1291).Kernel := To_Vector ((0 => (177, 221, 1,
False)));
- Table.States (1291).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 97, 1292)));
- Table.States (1292).Action_List.Set_Capacity (7);
- Add_Action (Table.States (1292), (24, 25, 28, 29, 40, 46, 50),
(177, 0), 12, entry_body_0'Access,
+ Add_Action (Table.States (1290), (24, 72), (332, 0), 4,
variant_0'Access, null);
+ Table.States (1290).Kernel := To_Vector ((0 => ((332, 0), 153,
0, (332, 0), 4)));
+ Table.States (1290).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (332, 0), 4)));
+ Table.States (1291).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (1291), (15, 24, 28, 72, 107), (330, 0),
7, variant_part_0'Access, null);
+ Table.States (1291).Kernel := To_Vector ((0 => ((330, 0), 99, 0,
(330, 0), 7)));
+ Table.States (1291).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (330, 0), 7)));
+ Table.States (1292).Action_List.Set_Capacity (5);
+ Add_Action (Table.States (1292), (15, 24, 28, 72, 107), (149, 0),
7, component_declaration_0'Access,
+ null);
+ Table.States (1292).Kernel := To_Vector ((0 => ((149, 0), 99, 0,
(149, 0), 7)));
+ Table.States (1292).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (149, 0), 7)));
+ Table.States (1293).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1293), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (262, 0), 12,
+ private_extension_declaration_0'Access, null);
+ Table.States (1293).Kernel := To_Vector ((0 => ((262, 0), 99, 0,
(262, 0), 12)));
+ Table.States (1293).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (262, 0), 12)));
+ Table.States (1294).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1294), (24, 107), (147, 0), 8,
component_clause_0'Access, null);
+ Table.States (1294).Kernel := To_Vector ((0 => ((147, 0), 99, 0,
(147, 0), 8)));
+ Table.States (1294).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (147, 0), 8)));
+ Table.States (1295).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1295), 72, Reduce, (256, 1), 0, null,
null);
+ Add_Action (Table.States (1295), 76, (202, 0), 434);
+ Table.States (1295).Goto_List.Set_Capacity (2);
+ Add_Goto (Table.States (1295), 202, 347);
+ Add_Goto (Table.States (1295), 256, 1298);
+ Table.States (1295).Kernel := To_Vector ((0 => ((180, 0), 78, 0,
(256, 1), 0)));
+ Table.States (1295).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (256, 1), 0)));
+ Table.States (1296).Action_List.Set_Capacity (25);
+ Add_Action (Table.States (1296), 4, (116, 0), 1);
+ Add_Action (Table.States (1296), 5, (306, 8), 2);
+ Add_Action (Table.States (1296), 13, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1296), 15, (142, 0), 3);
+ Add_Action (Table.States (1296), 17, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1296), 18, (164, 0), 4);
+ Add_Action (Table.States (1296), 24, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (1296), 26, Reduce, (303, 1), 0, null,
null);
+ Add_Action (Table.States (1296), 27, (193, 0), 5);
+ Add_Action (Table.States (1296), 28, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1296), 31, (306, 3), 9);
+ Add_Action (Table.States (1296), 32, (225, 0), 10);
+ Add_Action (Table.States (1296), 37, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1296), 41, (306, 0), 13);
+ Add_Action (Table.States (1296), 48, (260, 0), 16);
+ Add_Action (Table.States (1296), 52, (279, 0), 20);
+ Add_Action (Table.States (1296), 57, (293, 0), 21);
+ Add_Action (Table.States (1296), 58, (199, 0), 22);
+ Add_Action (Table.States (1296), 61, (129, 0), 24);
+ Add_Action (Table.States (1296), 73, Reduce, (135, 1), 0, null,
null);
+ Add_Action (Table.States (1296), 81, (242, 8), 31);
+ Add_Action (Table.States (1296), 96, (220, 0), 32);
+ Add_Action (Table.States (1296), 107, (134, 0), 363);
+ Add_Action (Table.States (1296), 108, (242, 7), 34);
+ Add_Action (Table.States (1296), 109, (242, 6), 35);
+ Table.States (1296).Goto_List.Set_Capacity (32);
+ Add_Goto (Table.States (1296), 116, 37);
+ Add_Goto (Table.States (1296), 126, 39);
+ Add_Goto (Table.States (1296), 129, 40);
+ Add_Goto (Table.States (1296), 131, 42);
+ Add_Goto (Table.States (1296), 134, 43);
+ Add_Goto (Table.States (1296), 135, 44);
+ Add_Goto (Table.States (1296), 136, 45);
+ Add_Goto (Table.States (1296), 142, 48);
+ Add_Goto (Table.States (1296), 154, 51);
+ Add_Goto (Table.States (1296), 155, 52);
+ Add_Goto (Table.States (1296), 164, 54);
+ Add_Goto (Table.States (1296), 193, 58);
+ Add_Goto (Table.States (1296), 199, 60);
+ Add_Goto (Table.States (1296), 220, 69);
+ Add_Goto (Table.States (1296), 221, 1299);
+ Add_Goto (Table.States (1296), 225, 71);
+ Add_Goto (Table.States (1296), 235, 73);
+ Add_Goto (Table.States (1296), 242, 74);
+ Add_Goto (Table.States (1296), 260, 84);
+ Add_Goto (Table.States (1296), 264, 87);
+ Add_Goto (Table.States (1296), 275, 93);
+ Add_Goto (Table.States (1296), 279, 94);
+ Add_Goto (Table.States (1296), 293, 97);
+ Add_Goto (Table.States (1296), 296, 98);
+ Add_Goto (Table.States (1296), 297, 99);
+ Add_Goto (Table.States (1296), 301, 100);
+ Add_Goto (Table.States (1296), 302, 364);
+ Add_Goto (Table.States (1296), 303, 393);
+ Add_Goto (Table.States (1296), 305, 101);
+ Add_Goto (Table.States (1296), 306, 102);
+ Add_Goto (Table.States (1296), 309, 366);
+ Add_Goto (Table.States (1296), 326, 115);
+ Table.States (1296).Kernel := To_Vector ((0 => ((179, 0), 13, 2,
(2147483647, 0), 0)));
+ Table.States (1296).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (221, 1), 0)));
+ Table.States (1297).Action_List.Set_Capacity (41);
+ Add_Action (Table.States (1297), (4, 5, 13, 15, 17, 18, 24, 25,
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
+ 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74,
81, 96, 107, 108, 109, 110), (322, 0), 13,
+ task_type_declaration_0'Access,
task_type_declaration_0_check'Access);
+ Table.States (1297).Kernel := To_Vector ((0 => ((322, 0), 99, 0,
(322, 0), 13)));
+ Table.States (1297).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (322, 0), 13)));
+ Table.States (1298).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1298), (1 => 72), (180, 0), 7,
entry_body_formal_part_0'Access, null);
+ Table.States (1298).Kernel := To_Vector ((0 => ((180, 0), 256,
0, (180, 0), 7)));
+ Table.States (1298).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (180, 0), 7)));
+ Table.States (1299).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1299), 24, (179, 0), 1300);
+ Table.States (1299).Kernel := To_Vector ((0 => ((179, 0), 221,
2, (2147483647, 0), 0)));
+ Table.States (1299).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (179, 0), 24, 1300)));
+ Table.States (1300).Action_List.Set_Capacity (2);
+ Add_Action (Table.States (1300), 99, Reduce, (223, 1), 0, null,
null);
+ Add_Action (Table.States (1300), 107, (223, 0), 151);
+ Table.States (1300).Goto_List.Set_Capacity (1);
+ Add_Goto (Table.States (1300), 223, 1301);
+ Table.States (1300).Kernel := To_Vector ((0 => ((179, 0), 24, 1,
(2147483647, 0), 0)));
+ Table.States (1300).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (223, 1), 0)));
+ Table.States (1301).Action_List.Set_Capacity (1);
+ Add_Action (Table.States (1301), 99, (179, 0), 1302);
+ Table.States (1301).Kernel := To_Vector ((0 => ((179, 0), 223,
1, (2147483647, 0), 0)));
+ Table.States (1301).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (179, 0), 99, 1302)));
+ Table.States (1302).Action_List.Set_Capacity (7);
+ Add_Action (Table.States (1302), (24, 25, 28, 29, 40, 46, 50),
(179, 0), 12, entry_body_0'Access,
entry_body_0_check'Access);
- Table.States (1292).Kernel := To_Vector ((0 => (177, 97, 0,
False)));
- Table.States (1292).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 177, 12)));
- end Subr_21;
+ Table.States (1302).Kernel := To_Vector ((0 => ((179, 0), 99, 0,
(179, 0), 12)));
+ Table.States (1302).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (179, 0), 12)));
+ end Subr_22;
begin
Subr_1;
Subr_2;
@@ -15790,7 +16468,8 @@ package body Ada_Process_LALR_Main is
Subr_19;
Subr_20;
Subr_21;
- Table.Error_Action := new Parse_Action_Node'((Verb => Error), null);
+ Subr_22;
+ Table.Error_Action := new Parse_Action_Node'((Verb => Error, others
=> <>), null);
end;
WisiToken.Parse.LR.Parser.New_Parser
diff --git a/packages/ada-mode/ada_process_lr1_main.adb
b/packages/ada-mode/ada_process_lr1_main.adb
index f9829fb..a4a7f22 100644
--- a/packages/ada-mode/ada_process_lr1_main.adb
+++ b/packages/ada-mode/ada_process_lr1_main.adb
@@ -40,17 +40,17 @@ package body Ada_Process_LR1_Main is
use WisiToken.Parse.LR;
McKenzie_Param : constant McKenzie_Param_Type :=
(First_Terminal => 3,
- Last_Terminal => 108,
- First_Nonterminal => 109,
- Last_Nonterminal => 333,
+ Last_Terminal => 110,
+ First_Nonterminal => 111,
+ Last_Nonterminal => 335,
Insert =>
(4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 3,
4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4),
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4),
Delete =>
(4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4),
+ 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4),
Push_Back =>
(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -61,7 +61,7 @@ package body Ada_Process_LR1_Main is
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2),
+ 2, 2, 2, 2, 2, 2, 2, 2, 2),
Undo_Reduce =>
(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -82,384 +82,386 @@ package body Ada_Process_LR1_Main is
function Actions return
WisiToken.Parse.LR.Semantic_Action_Array_Arrays.Vector
is begin
return Acts : WisiToken.Parse.LR.Semantic_Action_Array_Arrays.Vector
do
- Acts.Set_First_Last (109, 333);
- Acts (113).Set_First_Last (0, 0);
- Acts (113)(0) := (abstract_subprogram_declaration_0'Access, null);
- Acts (114).Set_First_Last (0, 1);
- Acts (114)(0) := (accept_statement_0'Access,
accept_statement_0_check'Access);
- Acts (114)(1) := (accept_statement_1'Access, null);
- Acts (115).Set_First_Last (0, 2);
- Acts (115)(0) := (access_definition_0'Access, null);
- Acts (115)(1) := (access_definition_1'Access, null);
- Acts (115)(2) := (access_definition_2'Access, null);
+ Acts.Set_First_Last (111, 335);
+ Acts (115).Set_First_Last (0, 0);
+ Acts (115)(0) := (abstract_subprogram_declaration_0'Access, null);
Acts (116).Set_First_Last (0, 1);
- Acts (116)(0) := (actual_parameter_part_0'Access, null);
- Acts (116)(1) := (actual_parameter_part_1'Access, null);
- Acts (118).Set_First_Last (0, 5);
- Acts (118)(0) := (aggregate_0'Access, null);
- Acts (118)(1) := (aggregate_1'Access, null);
- Acts (118)(3) := (aggregate_3'Access, null);
- Acts (118)(4) := (aggregate_4'Access, null);
- Acts (118)(5) := (aggregate_5'Access, null);
- Acts (121).Set_First_Last (0, 1);
- Acts (121)(0) := (array_type_definition_0'Access, null);
- Acts (121)(1) := (array_type_definition_1'Access, null);
- Acts (122).Set_First_Last (0, 3);
- Acts (122)(0) := (aspect_clause_0'Access, null);
+ Acts (116)(0) := (accept_statement_0'Access,
accept_statement_0_check'Access);
+ Acts (116)(1) := (accept_statement_1'Access, null);
+ Acts (117).Set_First_Last (0, 2);
+ Acts (117)(0) := (access_definition_0'Access, null);
+ Acts (117)(1) := (access_definition_1'Access, null);
+ Acts (117)(2) := (access_definition_2'Access, null);
+ Acts (118).Set_First_Last (0, 1);
+ Acts (118)(0) := (actual_parameter_part_0'Access, null);
+ Acts (118)(1) := (actual_parameter_part_1'Access, null);
+ Acts (120).Set_First_Last (0, 6);
+ Acts (120)(0) := (aggregate_0'Access, null);
+ Acts (120)(2) := (aggregate_2'Access, null);
+ Acts (120)(3) := (aggregate_3'Access, null);
+ Acts (120)(4) := (aggregate_4'Access, null);
+ Acts (120)(5) := (aggregate_5'Access, null);
+ Acts (120)(6) := (aggregate_6'Access, null);
Acts (123).Set_First_Last (0, 1);
- Acts (123)(0) := (aspect_specification_opt_0'Access, null);
- Acts (124).Set_First_Last (0, 0);
- Acts (124)(0) := (assignment_statement_0'Access, null);
- Acts (125).Set_First_Last (0, 6);
- Acts (125)(0) := (association_opt_0'Access, null);
- Acts (125)(2) := (association_opt_2'Access, null);
- Acts (125)(3) := (association_opt_3'Access, null);
- Acts (125)(4) := (association_opt_4'Access, null);
- Acts (125)(5) := (association_opt_5'Access, null);
- Acts (127).Set_First_Last (0, 0);
- Acts (127)(0) := (asynchronous_select_0'Access, null);
- Acts (128).Set_First_Last (0, 0);
- Acts (128)(0) := (at_clause_0'Access, null);
- Acts (132).Set_First_Last (0, 0);
- Acts (132)(0) := (block_label_0'Access,
block_label_0_check'Access);
- Acts (133).Set_First_Last (0, 1);
- Acts (133)(0) := (null, block_label_opt_0_check'Access);
- Acts (133)(1) := (null, null);
- Acts (134).Set_First_Last (0, 1);
- Acts (134)(0) := (block_statement_0'Access,
block_statement_0_check'Access);
- Acts (134)(1) := (block_statement_1'Access,
block_statement_1_check'Access);
- Acts (137).Set_First_Last (0, 0);
- Acts (137)(0) := (case_expression_0'Access, null);
- Acts (138).Set_First_Last (0, 0);
- Acts (138)(0) := (case_expression_alternative_0'Access, null);
- Acts (139).Set_First_Last (0, 1);
- Acts (139)(0) := (case_expression_alternative_list_0'Access, null);
+ Acts (123)(0) := (array_type_definition_0'Access, null);
+ Acts (123)(1) := (array_type_definition_1'Access, null);
+ Acts (124).Set_First_Last (0, 3);
+ Acts (124)(0) := (aspect_clause_0'Access, null);
+ Acts (125).Set_First_Last (0, 1);
+ Acts (125)(0) := (aspect_specification_opt_0'Access, null);
+ Acts (126).Set_First_Last (0, 0);
+ Acts (126)(0) := (assignment_statement_0'Access, null);
+ Acts (127).Set_First_Last (0, 7);
+ Acts (127)(0) := (association_opt_0'Access, null);
+ Acts (127)(2) := (association_opt_2'Access, null);
+ Acts (127)(3) := (association_opt_3'Access, null);
+ Acts (127)(4) := (association_opt_4'Access, null);
+ Acts (127)(6) := (association_opt_6'Access, null);
+ Acts (127)(7) := (association_opt_7'Access, null);
+ Acts (129).Set_First_Last (0, 0);
+ Acts (129)(0) := (asynchronous_select_0'Access, null);
+ Acts (130).Set_First_Last (0, 0);
+ Acts (130)(0) := (at_clause_0'Access, null);
+ Acts (134).Set_First_Last (0, 0);
+ Acts (134)(0) := (block_label_0'Access,
block_label_0_check'Access);
+ Acts (135).Set_First_Last (0, 1);
+ Acts (135)(0) := (null, block_label_opt_0_check'Access);
+ Acts (135)(1) := (null, null);
+ Acts (136).Set_First_Last (0, 1);
+ Acts (136)(0) := (block_statement_0'Access,
block_statement_0_check'Access);
+ Acts (136)(1) := (block_statement_1'Access,
block_statement_1_check'Access);
+ Acts (139).Set_First_Last (0, 0);
+ Acts (139)(0) := (case_expression_0'Access, null);
Acts (140).Set_First_Last (0, 0);
- Acts (140)(0) := (case_statement_0'Access, null);
- Acts (141).Set_First_Last (0, 0);
- Acts (141)(0) := (case_statement_alternative_0'Access, null);
- Acts (142).Set_First_Last (0, 1);
- Acts (142)(0) := (case_statement_alternative_list_0'Access, null);
- Acts (143).Set_First_Last (0, 4);
- Acts (143)(2) := (compilation_unit_2'Access, null);
+ Acts (140)(0) := (case_expression_alternative_0'Access, null);
+ Acts (141).Set_First_Last (0, 1);
+ Acts (141)(0) := (case_expression_alternative_list_0'Access, null);
+ Acts (142).Set_First_Last (0, 0);
+ Acts (142)(0) := (case_statement_0'Access, null);
+ Acts (143).Set_First_Last (0, 0);
+ Acts (143)(0) := (case_statement_alternative_0'Access, null);
Acts (144).Set_First_Last (0, 1);
- Acts (144)(0) := (compilation_unit_list_0'Access, null);
- Acts (144)(1) := (compilation_unit_list_1'Access,
compilation_unit_list_1_check'Access);
- Acts (145).Set_First_Last (0, 0);
- Acts (145)(0) := (component_clause_0'Access, null);
- Acts (147).Set_First_Last (0, 1);
- Acts (147)(0) := (component_declaration_0'Access, null);
- Acts (147)(1) := (component_declaration_1'Access, null);
- Acts (150).Set_First_Last (0, 4);
- Acts (150)(4) := (component_list_4'Access, null);
- Acts (153).Set_First_Last (0, 0);
- Acts (153)(0) := (conditional_entry_call_0'Access, null);
- Acts (158).Set_First_Last (0, 16);
- Acts (158)(9) := (declaration_9'Access, null);
- Acts (162).Set_First_Last (0, 1);
- Acts (162)(0) := (delay_statement_0'Access, null);
- Acts (162)(1) := (delay_statement_1'Access, null);
- Acts (163).Set_First_Last (0, 1);
- Acts (163)(0) := (derived_type_definition_0'Access, null);
- Acts (163)(1) := (derived_type_definition_1'Access, null);
- Acts (170).Set_First_Last (0, 2);
- Acts (170)(1) := (discriminant_part_opt_1'Access, null);
- Acts (173).Set_First_Last (0, 0);
- Acts (173)(0) := (elsif_expression_item_0'Access, null);
- Acts (174).Set_First_Last (0, 1);
- Acts (174)(0) := (elsif_expression_list_0'Access, null);
+ Acts (144)(0) := (case_statement_alternative_list_0'Access, null);
+ Acts (145).Set_First_Last (0, 4);
+ Acts (145)(2) := (compilation_unit_2'Access, null);
+ Acts (146).Set_First_Last (0, 1);
+ Acts (146)(0) := (compilation_unit_list_0'Access, null);
+ Acts (146)(1) := (compilation_unit_list_1'Access,
compilation_unit_list_1_check'Access);
+ Acts (147).Set_First_Last (0, 0);
+ Acts (147)(0) := (component_clause_0'Access, null);
+ Acts (149).Set_First_Last (0, 1);
+ Acts (149)(0) := (component_declaration_0'Access, null);
+ Acts (149)(1) := (component_declaration_1'Access, null);
+ Acts (152).Set_First_Last (0, 4);
+ Acts (152)(4) := (component_list_4'Access, null);
+ Acts (155).Set_First_Last (0, 0);
+ Acts (155)(0) := (conditional_entry_call_0'Access, null);
+ Acts (160).Set_First_Last (0, 16);
+ Acts (160)(9) := (declaration_9'Access, null);
+ Acts (164).Set_First_Last (0, 1);
+ Acts (164)(0) := (delay_statement_0'Access, null);
+ Acts (164)(1) := (delay_statement_1'Access, null);
+ Acts (165).Set_First_Last (0, 1);
+ Acts (165)(0) := (derived_type_definition_0'Access, null);
+ Acts (165)(1) := (derived_type_definition_1'Access, null);
+ Acts (172).Set_First_Last (0, 2);
+ Acts (172)(1) := (discriminant_part_opt_1'Access, null);
Acts (175).Set_First_Last (0, 0);
- Acts (175)(0) := (elsif_statement_item_0'Access, null);
+ Acts (175)(0) := (elsif_expression_item_0'Access, null);
Acts (176).Set_First_Last (0, 1);
- Acts (176)(0) := (elsif_statement_list_0'Access, null);
+ Acts (176)(0) := (elsif_expression_list_0'Access, null);
Acts (177).Set_First_Last (0, 0);
- Acts (177)(0) := (entry_body_0'Access, entry_body_0_check'Access);
+ Acts (177)(0) := (elsif_statement_item_0'Access, null);
Acts (178).Set_First_Last (0, 1);
- Acts (178)(0) := (entry_body_formal_part_0'Access, null);
+ Acts (178)(0) := (elsif_statement_list_0'Access, null);
+ Acts (179).Set_First_Last (0, 0);
+ Acts (179)(0) := (entry_body_0'Access, entry_body_0_check'Access);
Acts (180).Set_First_Last (0, 1);
- Acts (180)(0) := (entry_declaration_0'Access, null);
- Acts (180)(1) := (entry_declaration_1'Access, null);
- Acts (183).Set_First_Last (0, 0);
- Acts (183)(0) := (enumeration_representation_clause_0'Access,
null);
- Acts (184).Set_First_Last (0, 0);
- Acts (184)(0) := (enumeration_type_definition_0'Access, null);
- Acts (187).Set_First_Last (0, 0);
- Acts (187)(0) := (exception_declaration_0'Access, null);
- Acts (188).Set_First_Last (0, 1);
- Acts (188)(0) := (exception_handler_0'Access, null);
- Acts (188)(1) := (exception_handler_1'Access, null);
- Acts (189).Set_First_Last (0, 2);
- Acts (189)(0) := (exception_handler_list_0'Access, null);
- Acts (191).Set_First_Last (0, 1);
- Acts (191)(0) := (exit_statement_0'Access, null);
- Acts (191)(1) := (exit_statement_1'Access, null);
- Acts (194).Set_First_Last (0, 0);
- Acts (194)(0) := (expression_function_declaration_0'Access, null);
- Acts (195).Set_First_Last (0, 1);
- Acts (195)(0) := (extended_return_object_declaration_0'Access,
null);
- Acts (195)(1) := (extended_return_object_declaration_1'Access,
null);
+ Acts (180)(0) := (entry_body_formal_part_0'Access, null);
+ Acts (182).Set_First_Last (0, 1);
+ Acts (182)(0) := (entry_declaration_0'Access, null);
+ Acts (182)(1) := (entry_declaration_1'Access, null);
+ Acts (185).Set_First_Last (0, 0);
+ Acts (185)(0) := (enumeration_representation_clause_0'Access,
null);
+ Acts (186).Set_First_Last (0, 0);
+ Acts (186)(0) := (enumeration_type_definition_0'Access, null);
+ Acts (189).Set_First_Last (0, 0);
+ Acts (189)(0) := (exception_declaration_0'Access, null);
+ Acts (190).Set_First_Last (0, 1);
+ Acts (190)(0) := (exception_handler_0'Access, null);
+ Acts (190)(1) := (exception_handler_1'Access, null);
+ Acts (191).Set_First_Last (0, 2);
+ Acts (191)(0) := (exception_handler_list_0'Access, null);
+ Acts (193).Set_First_Last (0, 1);
+ Acts (193)(0) := (exit_statement_0'Access, null);
+ Acts (193)(1) := (exit_statement_1'Access, null);
+ Acts (196).Set_First_Last (0, 0);
+ Acts (196)(0) := (expression_function_declaration_0'Access, null);
Acts (197).Set_First_Last (0, 1);
- Acts (197)(0) := (extended_return_statement_0'Access, null);
- Acts (197)(1) := (extended_return_statement_1'Access, null);
- Acts (199).Set_First_Last (0, 3);
- Acts (199)(0) := (formal_object_declaration_0'Access, null);
- Acts (199)(1) := (formal_object_declaration_1'Access, null);
- Acts (199)(2) := (formal_object_declaration_2'Access, null);
- Acts (199)(3) := (formal_object_declaration_3'Access, null);
- Acts (200).Set_First_Last (0, 0);
- Acts (200)(0) := (formal_part_0'Access, null);
+ Acts (197)(0) := (extended_return_object_declaration_0'Access,
null);
+ Acts (197)(1) := (extended_return_object_declaration_1'Access,
null);
+ Acts (199).Set_First_Last (0, 1);
+ Acts (199)(0) := (extended_return_statement_0'Access, null);
+ Acts (199)(1) := (extended_return_statement_1'Access, null);
Acts (201).Set_First_Last (0, 3);
- Acts (201)(0) := (formal_subprogram_declaration_0'Access, null);
- Acts (201)(1) := (formal_subprogram_declaration_1'Access, null);
- Acts (201)(2) := (formal_subprogram_declaration_2'Access, null);
- Acts (201)(3) := (formal_subprogram_declaration_3'Access, null);
- Acts (202).Set_First_Last (0, 2);
- Acts (202)(0) := (formal_type_declaration_0'Access, null);
- Acts (202)(1) := (formal_type_declaration_1'Access, null);
- Acts (202)(2) := (formal_type_declaration_2'Access, null);
- Acts (204).Set_First_Last (0, 1);
- Acts (204)(0) := (formal_derived_type_definition_0'Access, null);
- Acts (204)(1) := (formal_derived_type_definition_1'Access, null);
- Acts (205).Set_First_Last (0, 0);
- Acts (205)(0) := (formal_package_declaration_0'Access, null);
- Acts (207).Set_First_Last (0, 2);
- Acts (207)(0) := (full_type_declaration_0'Access, null);
- Acts (208).Set_First_Last (0, 0);
- Acts (208)(0) := (function_specification_0'Access,
function_specification_0_check'Access);
- Acts (211).Set_First_Last (0, 1);
- Acts (211)(0) := (generic_formal_part_0'Access, null);
- Acts (211)(1) := (generic_formal_part_1'Access, null);
- Acts (214).Set_First_Last (0, 2);
- Acts (214)(0) := (generic_instantiation_0'Access, null);
- Acts (214)(1) := (generic_instantiation_1'Access, null);
- Acts (214)(2) := (generic_instantiation_2'Access, null);
- Acts (215).Set_First_Last (0, 0);
- Acts (215)(0) := (generic_package_declaration_0'Access, null);
+ Acts (201)(0) := (formal_object_declaration_0'Access, null);
+ Acts (201)(1) := (formal_object_declaration_1'Access, null);
+ Acts (201)(2) := (formal_object_declaration_2'Access, null);
+ Acts (201)(3) := (formal_object_declaration_3'Access, null);
+ Acts (202).Set_First_Last (0, 0);
+ Acts (202)(0) := (formal_part_0'Access, null);
+ Acts (203).Set_First_Last (0, 3);
+ Acts (203)(0) := (formal_subprogram_declaration_0'Access, null);
+ Acts (203)(1) := (formal_subprogram_declaration_1'Access, null);
+ Acts (203)(2) := (formal_subprogram_declaration_2'Access, null);
+ Acts (203)(3) := (formal_subprogram_declaration_3'Access, null);
+ Acts (204).Set_First_Last (0, 2);
+ Acts (204)(0) := (formal_type_declaration_0'Access, null);
+ Acts (204)(1) := (formal_type_declaration_1'Access, null);
+ Acts (204)(2) := (formal_type_declaration_2'Access, null);
+ Acts (206).Set_First_Last (0, 1);
+ Acts (206)(0) := (formal_derived_type_definition_0'Access, null);
+ Acts (206)(1) := (formal_derived_type_definition_1'Access, null);
+ Acts (207).Set_First_Last (0, 0);
+ Acts (207)(0) := (formal_package_declaration_0'Access, null);
+ Acts (209).Set_First_Last (0, 2);
+ Acts (209)(0) := (full_type_declaration_0'Access, null);
+ Acts (210).Set_First_Last (0, 0);
+ Acts (210)(0) := (function_specification_0'Access,
function_specification_0_check'Access);
+ Acts (213).Set_First_Last (0, 1);
+ Acts (213)(0) := (generic_formal_part_0'Access, null);
+ Acts (213)(1) := (generic_formal_part_1'Access, null);
Acts (216).Set_First_Last (0, 2);
- Acts (216)(0) := (generic_renaming_declaration_0'Access, null);
- Acts (216)(1) := (generic_renaming_declaration_1'Access, null);
- Acts (216)(2) := (generic_renaming_declaration_2'Access, null);
+ Acts (216)(0) := (generic_instantiation_0'Access, null);
+ Acts (216)(1) := (generic_instantiation_1'Access, null);
+ Acts (216)(2) := (generic_instantiation_2'Access, null);
Acts (217).Set_First_Last (0, 0);
- Acts (217)(0) := (generic_subprogram_declaration_0'Access, null);
- Acts (218).Set_First_Last (0, 0);
- Acts (218)(0) := (goto_label_0'Access, null);
- Acts (219).Set_First_Last (0, 1);
- Acts (219)(0) := (handled_sequence_of_statements_0'Access, null);
- Acts (220).Set_First_Last (0, 1);
- Acts (220)(0) := (identifier_list_0'Access, null);
- Acts (220)(1) := (identifier_list_1'Access, null);
+ Acts (217)(0) := (generic_package_declaration_0'Access, null);
+ Acts (218).Set_First_Last (0, 2);
+ Acts (218)(0) := (generic_renaming_declaration_0'Access, null);
+ Acts (218)(1) := (generic_renaming_declaration_1'Access, null);
+ Acts (218)(2) := (generic_renaming_declaration_2'Access, null);
+ Acts (219).Set_First_Last (0, 0);
+ Acts (219)(0) := (generic_subprogram_declaration_0'Access, null);
+ Acts (220).Set_First_Last (0, 0);
+ Acts (220)(0) := (goto_label_0'Access, null);
Acts (221).Set_First_Last (0, 1);
- Acts (221)(0) := (null, identifier_opt_0_check'Access);
- Acts (221)(1) := (null, null);
- Acts (222).Set_First_Last (0, 3);
- Acts (222)(0) := (if_expression_0'Access, null);
- Acts (222)(1) := (if_expression_1'Access, null);
- Acts (222)(2) := (if_expression_2'Access, null);
- Acts (222)(3) := (if_expression_3'Access, null);
- Acts (223).Set_First_Last (0, 3);
- Acts (223)(0) := (if_statement_0'Access, null);
- Acts (223)(1) := (if_statement_1'Access, null);
- Acts (223)(2) := (if_statement_2'Access, null);
- Acts (223)(3) := (if_statement_3'Access, null);
- Acts (224).Set_First_Last (0, 1);
- Acts (224)(0) := (incomplete_type_declaration_0'Access, null);
- Acts (224)(1) := (incomplete_type_declaration_1'Access, null);
- Acts (225).Set_First_Last (0, 0);
- Acts (225)(0) := (index_constraint_0'Access, null);
- Acts (228).Set_First_Last (0, 1);
- Acts (228)(0) := (interface_list_0'Access, null);
- Acts (228)(1) := (interface_list_1'Access, null);
+ Acts (221)(0) := (handled_sequence_of_statements_0'Access, null);
+ Acts (222).Set_First_Last (0, 1);
+ Acts (222)(0) := (identifier_list_0'Access, null);
+ Acts (222)(1) := (identifier_list_1'Access, null);
+ Acts (223).Set_First_Last (0, 1);
+ Acts (223)(0) := (null, identifier_opt_0_check'Access);
+ Acts (223)(1) := (null, null);
+ Acts (224).Set_First_Last (0, 3);
+ Acts (224)(0) := (if_expression_0'Access, null);
+ Acts (224)(1) := (if_expression_1'Access, null);
+ Acts (224)(2) := (if_expression_2'Access, null);
+ Acts (224)(3) := (if_expression_3'Access, null);
+ Acts (225).Set_First_Last (0, 3);
+ Acts (225)(0) := (if_statement_0'Access, null);
+ Acts (225)(1) := (if_statement_1'Access, null);
+ Acts (225)(2) := (if_statement_2'Access, null);
+ Acts (225)(3) := (if_statement_3'Access, null);
+ Acts (226).Set_First_Last (0, 1);
+ Acts (226)(0) := (incomplete_type_declaration_0'Access, null);
+ Acts (226)(1) := (incomplete_type_declaration_1'Access, null);
+ Acts (227).Set_First_Last (0, 0);
+ Acts (227)(0) := (index_constraint_0'Access, null);
Acts (230).Set_First_Last (0, 1);
- Acts (230)(0) := (iteration_scheme_0'Access, null);
- Acts (230)(1) := (iteration_scheme_1'Access, null);
- Acts (231).Set_First_Last (0, 5);
- Acts (231)(2) := (iterator_specification_2'Access, null);
- Acts (231)(5) := (iterator_specification_5'Access, null);
- Acts (233).Set_First_Last (0, 1);
- Acts (233)(0) := (loop_statement_0'Access,
loop_statement_0_check'Access);
- Acts (233)(1) := (loop_statement_1'Access,
loop_statement_1_check'Access);
- Acts (240).Set_First_Last (0, 8);
- Acts (240)(0) := (name_0'Access, null);
- Acts (240)(1) := (name_1'Access, null);
- Acts (240)(2) := (null, name_2_check'Access);
- Acts (240)(3) := (null, null);
- Acts (240)(4) := (null, null);
- Acts (240)(5) := (name_5'Access, name_5_check'Access);
- Acts (240)(6) := (null, null);
- Acts (240)(7) := (null, name_7_check'Access);
- Acts (240)(8) := (null, null);
- Acts (241).Set_First_Last (0, 1);
- Acts (241)(0) := (null, name_opt_0_check'Access);
- Acts (241)(1) := (null, null);
- Acts (243).Set_First_Last (0, 3);
- Acts (243)(0) := (null_exclusion_opt_name_type_0'Access, null);
- Acts (243)(1) := (null_exclusion_opt_name_type_1'Access, null);
- Acts (243)(2) := (null_exclusion_opt_name_type_2'Access, null);
- Acts (243)(3) := (null_exclusion_opt_name_type_3'Access, null);
- Acts (244).Set_First_Last (0, 0);
- Acts (244)(0) := (null_procedure_declaration_0'Access, null);
- Acts (245).Set_First_Last (0, 7);
- Acts (245)(0) := (object_declaration_0'Access, null);
- Acts (245)(1) := (object_declaration_1'Access, null);
- Acts (245)(2) := (object_declaration_2'Access, null);
- Acts (245)(3) := (object_declaration_3'Access, null);
- Acts (245)(4) := (object_declaration_4'Access, null);
- Acts (245)(5) := (object_declaration_5'Access, null);
- Acts (246).Set_First_Last (0, 2);
- Acts (246)(0) := (object_renaming_declaration_0'Access, null);
- Acts (246)(1) := (object_renaming_declaration_1'Access, null);
- Acts (246)(2) := (object_renaming_declaration_2'Access, null);
- Acts (247).Set_First_Last (0, 2);
- Acts (247)(0) := (overriding_indicator_opt_0'Access, null);
- Acts (247)(1) := (overriding_indicator_opt_1'Access, null);
- Acts (248).Set_First_Last (0, 1);
- Acts (248)(0) := (package_body_0'Access,
package_body_0_check'Access);
- Acts (248)(1) := (package_body_1'Access,
package_body_1_check'Access);
- Acts (249).Set_First_Last (0, 0);
- Acts (249)(0) := (package_body_stub_0'Access, null);
- Acts (250).Set_First_Last (0, 0);
- Acts (250)(0) := (package_declaration_0'Access, null);
+ Acts (230)(0) := (interface_list_0'Access, null);
+ Acts (230)(1) := (interface_list_1'Access, null);
+ Acts (232).Set_First_Last (0, 1);
+ Acts (232)(0) := (iteration_scheme_0'Access, null);
+ Acts (232)(1) := (iteration_scheme_1'Access, null);
+ Acts (233).Set_First_Last (0, 5);
+ Acts (233)(2) := (iterator_specification_2'Access, null);
+ Acts (233)(5) := (iterator_specification_5'Access, null);
+ Acts (235).Set_First_Last (0, 1);
+ Acts (235)(0) := (loop_statement_0'Access,
loop_statement_0_check'Access);
+ Acts (235)(1) := (loop_statement_1'Access,
loop_statement_1_check'Access);
+ Acts (242).Set_First_Last (0, 8);
+ Acts (242)(0) := (name_0'Access, null);
+ Acts (242)(1) := (name_1'Access, null);
+ Acts (242)(2) := (null, name_2_check'Access);
+ Acts (242)(3) := (null, null);
+ Acts (242)(4) := (null, null);
+ Acts (242)(5) := (name_5'Access, name_5_check'Access);
+ Acts (242)(6) := (null, null);
+ Acts (242)(7) := (null, name_7_check'Access);
+ Acts (242)(8) := (null, null);
+ Acts (243).Set_First_Last (0, 1);
+ Acts (243)(0) := (null, name_opt_0_check'Access);
+ Acts (243)(1) := (null, null);
+ Acts (245).Set_First_Last (0, 3);
+ Acts (245)(0) := (null_exclusion_opt_name_type_0'Access, null);
+ Acts (245)(1) := (null_exclusion_opt_name_type_1'Access, null);
+ Acts (245)(2) := (null_exclusion_opt_name_type_2'Access, null);
+ Acts (245)(3) := (null_exclusion_opt_name_type_3'Access, null);
+ Acts (246).Set_First_Last (0, 0);
+ Acts (246)(0) := (null_procedure_declaration_0'Access, null);
+ Acts (247).Set_First_Last (0, 7);
+ Acts (247)(0) := (object_declaration_0'Access, null);
+ Acts (247)(1) := (object_declaration_1'Access, null);
+ Acts (247)(2) := (object_declaration_2'Access, null);
+ Acts (247)(3) := (object_declaration_3'Access, null);
+ Acts (247)(4) := (object_declaration_4'Access, null);
+ Acts (247)(5) := (object_declaration_5'Access, null);
+ Acts (248).Set_First_Last (0, 2);
+ Acts (248)(0) := (object_renaming_declaration_0'Access, null);
+ Acts (248)(1) := (object_renaming_declaration_1'Access, null);
+ Acts (248)(2) := (object_renaming_declaration_2'Access, null);
+ Acts (249).Set_First_Last (0, 2);
+ Acts (249)(0) := (overriding_indicator_opt_0'Access, null);
+ Acts (249)(1) := (overriding_indicator_opt_1'Access, null);
+ Acts (250).Set_First_Last (0, 1);
+ Acts (250)(0) := (package_body_0'Access,
package_body_0_check'Access);
+ Acts (250)(1) := (package_body_1'Access,
package_body_1_check'Access);
Acts (251).Set_First_Last (0, 0);
- Acts (251)(0) := (package_renaming_declaration_0'Access, null);
- Acts (252).Set_First_Last (0, 1);
- Acts (252)(0) := (package_specification_0'Access,
package_specification_0_check'Access);
- Acts (252)(1) := (package_specification_1'Access,
package_specification_1_check'Access);
- Acts (253).Set_First_Last (0, 1);
- Acts (253)(0) := (parameter_and_result_profile_0'Access, null);
- Acts (255).Set_First_Last (0, 4);
- Acts (255)(0) := (parameter_specification_0'Access, null);
- Acts (255)(1) := (parameter_specification_1'Access, null);
- Acts (255)(2) := (parameter_specification_2'Access, null);
- Acts (255)(3) := (parameter_specification_3'Access, null);
- Acts (257).Set_First_Last (0, 1);
- Acts (257)(0) := (paren_expression_0'Access, null);
- Acts (258).Set_First_Last (0, 2);
- Acts (258)(0) := (pragma_g_0'Access, null);
- Acts (258)(1) := (pragma_g_1'Access, null);
- Acts (258)(2) := (pragma_g_2'Access, null);
- Acts (259).Set_First_Last (0, 4);
- Acts (259)(0) := (primary_0'Access, null);
- Acts (259)(2) := (primary_2'Access, null);
- Acts (259)(4) := (primary_4'Access, null);
- Acts (260).Set_First_Last (0, 0);
- Acts (260)(0) := (private_extension_declaration_0'Access, null);
- Acts (261).Set_First_Last (0, 0);
- Acts (261)(0) := (private_type_declaration_0'Access, null);
+ Acts (251)(0) := (package_body_stub_0'Access, null);
+ Acts (252).Set_First_Last (0, 0);
+ Acts (252)(0) := (package_declaration_0'Access, null);
+ Acts (253).Set_First_Last (0, 0);
+ Acts (253)(0) := (package_renaming_declaration_0'Access, null);
+ Acts (254).Set_First_Last (0, 1);
+ Acts (254)(0) := (package_specification_0'Access,
package_specification_0_check'Access);
+ Acts (254)(1) := (package_specification_1'Access,
package_specification_1_check'Access);
+ Acts (255).Set_First_Last (0, 1);
+ Acts (255)(0) := (parameter_and_result_profile_0'Access, null);
+ Acts (257).Set_First_Last (0, 4);
+ Acts (257)(0) := (parameter_specification_0'Access, null);
+ Acts (257)(1) := (parameter_specification_1'Access, null);
+ Acts (257)(2) := (parameter_specification_2'Access, null);
+ Acts (257)(3) := (parameter_specification_3'Access, null);
+ Acts (259).Set_First_Last (0, 1);
+ Acts (259)(0) := (paren_expression_0'Access, null);
+ Acts (260).Set_First_Last (0, 2);
+ Acts (260)(0) := (pragma_g_0'Access, null);
+ Acts (260)(1) := (pragma_g_1'Access, null);
+ Acts (260)(2) := (pragma_g_2'Access, null);
+ Acts (261).Set_First_Last (0, 4);
+ Acts (261)(0) := (primary_0'Access, null);
+ Acts (261)(2) := (primary_2'Access, null);
+ Acts (261)(4) := (primary_4'Access, null);
Acts (262).Set_First_Last (0, 0);
- Acts (262)(0) := (procedure_call_statement_0'Access, null);
+ Acts (262)(0) := (private_extension_declaration_0'Access, null);
Acts (263).Set_First_Last (0, 0);
- Acts (263)(0) := (procedure_specification_0'Access,
procedure_specification_0_check'Access);
+ Acts (263)(0) := (private_type_declaration_0'Access, null);
+ Acts (264).Set_First_Last (0, 0);
+ Acts (264)(0) := (procedure_call_statement_0'Access, null);
Acts (265).Set_First_Last (0, 0);
- Acts (265)(0) := (protected_body_0'Access,
protected_body_0_check'Access);
- Acts (266).Set_First_Last (0, 0);
- Acts (266)(0) := (protected_body_stub_0'Access, null);
- Acts (267).Set_First_Last (0, 1);
- Acts (267)(0) := (protected_definition_0'Access,
protected_definition_0_check'Access);
- Acts (267)(1) := (protected_definition_1'Access,
protected_definition_1_check'Access);
- Acts (272).Set_First_Last (0, 1);
- Acts (272)(0) := (protected_type_declaration_0'Access,
protected_type_declaration_0_check'Access);
- Acts (272)(1) := (protected_type_declaration_1'Access,
protected_type_declaration_1_check'Access);
- Acts (273).Set_First_Last (0, 0);
- Acts (273)(0) := (qualified_expression_0'Access, null);
- Acts (274).Set_First_Last (0, 0);
- Acts (274)(0) := (quantified_expression_0'Access, null);
- Acts (276).Set_First_Last (0, 1);
- Acts (276)(0) := (raise_expression_0'Access, null);
- Acts (277).Set_First_Last (0, 2);
- Acts (277)(0) := (raise_statement_0'Access, null);
- Acts (277)(1) := (raise_statement_1'Access, null);
- Acts (277)(2) := (raise_statement_2'Access, null);
- Acts (278).Set_First_Last (0, 2);
- Acts (278)(0) := (range_g_0'Access, null);
- Acts (281).Set_First_Last (0, 1);
- Acts (281)(0) := (record_definition_0'Access, null);
- Acts (282).Set_First_Last (0, 0);
- Acts (282)(0) := (record_representation_clause_0'Access, null);
- Acts (291).Set_First_Last (0, 1);
- Acts (291)(0) := (requeue_statement_0'Access, null);
- Acts (291)(1) := (requeue_statement_1'Access, null);
- Acts (292).Set_First_Last (0, 1);
- Acts (292)(0) := (result_profile_0'Access, null);
- Acts (292)(1) := (result_profile_1'Access, null);
- Acts (294).Set_First_Last (0, 3);
- Acts (294)(0) := (selected_component_0'Access,
selected_component_0_check'Access);
- Acts (294)(1) := (selected_component_1'Access, null);
- Acts (294)(2) := (selected_component_2'Access,
selected_component_2_check'Access);
- Acts (294)(3) := (selected_component_3'Access, null);
- Acts (295).Set_First_Last (0, 1);
- Acts (295)(0) := (selective_accept_0'Access, null);
- Acts (295)(1) := (selective_accept_1'Access, null);
- Acts (296).Set_First_Last (0, 5);
- Acts (296)(0) := (select_alternative_0'Access, null);
- Acts (296)(1) := (select_alternative_1'Access, null);
- Acts (296)(2) := (select_alternative_2'Access, null);
- Acts (296)(4) := (select_alternative_4'Access, null);
+ Acts (265)(0) := (procedure_specification_0'Access,
procedure_specification_0_check'Access);
+ Acts (267).Set_First_Last (0, 0);
+ Acts (267)(0) := (protected_body_0'Access,
protected_body_0_check'Access);
+ Acts (268).Set_First_Last (0, 0);
+ Acts (268)(0) := (protected_body_stub_0'Access, null);
+ Acts (269).Set_First_Last (0, 1);
+ Acts (269)(0) := (protected_definition_0'Access,
protected_definition_0_check'Access);
+ Acts (269)(1) := (protected_definition_1'Access,
protected_definition_1_check'Access);
+ Acts (274).Set_First_Last (0, 1);
+ Acts (274)(0) := (protected_type_declaration_0'Access,
protected_type_declaration_0_check'Access);
+ Acts (274)(1) := (protected_type_declaration_1'Access,
protected_type_declaration_1_check'Access);
+ Acts (275).Set_First_Last (0, 0);
+ Acts (275)(0) := (qualified_expression_0'Access, null);
+ Acts (276).Set_First_Last (0, 0);
+ Acts (276)(0) := (quantified_expression_0'Access, null);
+ Acts (278).Set_First_Last (0, 1);
+ Acts (278)(0) := (raise_expression_0'Access, null);
+ Acts (279).Set_First_Last (0, 2);
+ Acts (279)(0) := (raise_statement_0'Access, null);
+ Acts (279)(1) := (raise_statement_1'Access, null);
+ Acts (279)(2) := (raise_statement_2'Access, null);
+ Acts (280).Set_First_Last (0, 2);
+ Acts (280)(0) := (range_g_0'Access, null);
+ Acts (283).Set_First_Last (0, 1);
+ Acts (283)(0) := (record_definition_0'Access, null);
+ Acts (284).Set_First_Last (0, 0);
+ Acts (284)(0) := (record_representation_clause_0'Access, null);
+ Acts (293).Set_First_Last (0, 1);
+ Acts (293)(0) := (requeue_statement_0'Access, null);
+ Acts (293)(1) := (requeue_statement_1'Access, null);
+ Acts (294).Set_First_Last (0, 1);
+ Acts (294)(0) := (result_profile_0'Access, null);
+ Acts (294)(1) := (result_profile_1'Access, null);
+ Acts (296).Set_First_Last (0, 3);
+ Acts (296)(0) := (selected_component_0'Access,
selected_component_0_check'Access);
+ Acts (296)(1) := (selected_component_1'Access, null);
+ Acts (296)(2) := (selected_component_2'Access,
selected_component_2_check'Access);
+ Acts (296)(3) := (selected_component_3'Access, null);
Acts (297).Set_First_Last (0, 1);
- Acts (297)(0) := (select_alternative_list_0'Access, null);
- Acts (297)(1) := (select_alternative_list_1'Access, null);
- Acts (303).Set_First_Last (0, 0);
- Acts (303)(0) := (simple_return_statement_0'Access, null);
- Acts (304).Set_First_Last (0, 10);
- Acts (304)(0) := (simple_statement_0'Access, null);
- Acts (304)(3) := (simple_statement_3'Access, null);
- Acts (304)(8) := (simple_statement_8'Access, null);
- Acts (305).Set_First_Last (0, 1);
- Acts (305)(0) := (single_protected_declaration_0'Access,
single_protected_declaration_0_check'Access);
- Acts (305)(1) := (single_protected_declaration_1'Access,
single_protected_declaration_1_check'Access);
- Acts (306).Set_First_Last (0, 2);
- Acts (306)(0) := (single_task_declaration_0'Access,
single_task_declaration_0_check'Access);
- Acts (306)(1) := (single_task_declaration_1'Access,
single_task_declaration_1_check'Access);
- Acts (306)(2) := (single_task_declaration_2'Access, null);
- Acts (308).Set_First_Last (0, 0);
- Acts (308)(0) := (subprogram_body_0'Access,
subprogram_body_0_check'Access);
- Acts (309).Set_First_Last (0, 0);
- Acts (309)(0) := (subprogram_body_stub_0'Access, null);
+ Acts (297)(0) := (selective_accept_0'Access, null);
+ Acts (297)(1) := (selective_accept_1'Access, null);
+ Acts (298).Set_First_Last (0, 5);
+ Acts (298)(0) := (select_alternative_0'Access, null);
+ Acts (298)(1) := (select_alternative_1'Access, null);
+ Acts (298)(2) := (select_alternative_2'Access, null);
+ Acts (298)(4) := (select_alternative_4'Access, null);
+ Acts (299).Set_First_Last (0, 1);
+ Acts (299)(0) := (select_alternative_list_0'Access, null);
+ Acts (299)(1) := (select_alternative_list_1'Access, null);
+ Acts (305).Set_First_Last (0, 0);
+ Acts (305)(0) := (simple_return_statement_0'Access, null);
+ Acts (306).Set_First_Last (0, 10);
+ Acts (306)(0) := (simple_statement_0'Access, null);
+ Acts (306)(3) := (simple_statement_3'Access, null);
+ Acts (306)(8) := (simple_statement_8'Access, null);
+ Acts (307).Set_First_Last (0, 1);
+ Acts (307)(0) := (single_protected_declaration_0'Access,
single_protected_declaration_0_check'Access);
+ Acts (307)(1) := (single_protected_declaration_1'Access,
single_protected_declaration_1_check'Access);
+ Acts (308).Set_First_Last (0, 2);
+ Acts (308)(0) := (single_task_declaration_0'Access,
single_task_declaration_0_check'Access);
+ Acts (308)(1) := (single_task_declaration_1'Access,
single_task_declaration_1_check'Access);
+ Acts (308)(2) := (single_task_declaration_2'Access, null);
Acts (310).Set_First_Last (0, 0);
- Acts (310)(0) := (subprogram_declaration_0'Access, null);
- Acts (311).Set_First_Last (0, 2);
- Acts (311)(0) := (subprogram_default_0'Access, null);
+ Acts (310)(0) := (subprogram_body_0'Access,
subprogram_body_0_check'Access);
+ Acts (311).Set_First_Last (0, 0);
+ Acts (311)(0) := (subprogram_body_stub_0'Access, null);
Acts (312).Set_First_Last (0, 0);
- Acts (312)(0) := (subprogram_renaming_declaration_0'Access, null);
- Acts (313).Set_First_Last (0, 1);
- Acts (313)(0) := (null, subprogram_specification_0_check'Access);
- Acts (313)(1) := (null, subprogram_specification_1_check'Access);
+ Acts (312)(0) := (subprogram_declaration_0'Access, null);
+ Acts (313).Set_First_Last (0, 2);
+ Acts (313)(0) := (subprogram_default_0'Access, null);
Acts (314).Set_First_Last (0, 0);
- Acts (314)(0) := (subtype_declaration_0'Access, null);
- Acts (315).Set_First_Last (0, 3);
- Acts (315)(0) := (subtype_indication_0'Access, null);
- Acts (315)(1) := (subtype_indication_1'Access, null);
- Acts (315)(2) := (subtype_indication_2'Access, null);
- Acts (315)(3) := (subtype_indication_3'Access, null);
+ Acts (314)(0) := (subprogram_renaming_declaration_0'Access, null);
+ Acts (315).Set_First_Last (0, 1);
+ Acts (315)(0) := (null, subprogram_specification_0_check'Access);
+ Acts (315)(1) := (null, subprogram_specification_1_check'Access);
Acts (316).Set_First_Last (0, 0);
- Acts (316)(0) := (subunit_0'Access, null);
- Acts (317).Set_First_Last (0, 0);
- Acts (317)(0) := (task_body_0'Access, task_body_0_check'Access);
+ Acts (316)(0) := (subtype_declaration_0'Access, null);
+ Acts (317).Set_First_Last (0, 3);
+ Acts (317)(0) := (subtype_indication_0'Access, null);
+ Acts (317)(1) := (subtype_indication_1'Access, null);
+ Acts (317)(2) := (subtype_indication_2'Access, null);
+ Acts (317)(3) := (subtype_indication_3'Access, null);
Acts (318).Set_First_Last (0, 0);
- Acts (318)(0) := (task_body_stub_0'Access, null);
- Acts (319).Set_First_Last (0, 1);
- Acts (319)(0) := (task_definition_0'Access, null);
- Acts (319)(1) := (task_definition_1'Access, null);
- Acts (320).Set_First_Last (0, 2);
- Acts (320)(0) := (task_type_declaration_0'Access,
task_type_declaration_0_check'Access);
- Acts (320)(1) := (task_type_declaration_1'Access,
task_type_declaration_1_check'Access);
- Acts (320)(2) := (task_type_declaration_2'Access, null);
- Acts (324).Set_First_Last (0, 0);
- Acts (324)(0) := (timed_entry_call_0'Access, null);
- Acts (328).Set_First_Last (0, 0);
- Acts (328)(0) := (variant_part_0'Access, null);
- Acts (329).Set_First_Last (0, 1);
- Acts (329)(0) := (variant_list_0'Access, null);
+ Acts (318)(0) := (subunit_0'Access, null);
+ Acts (319).Set_First_Last (0, 0);
+ Acts (319)(0) := (task_body_0'Access, task_body_0_check'Access);
+ Acts (320).Set_First_Last (0, 0);
+ Acts (320)(0) := (task_body_stub_0'Access, null);
+ Acts (321).Set_First_Last (0, 1);
+ Acts (321)(0) := (task_definition_0'Access, null);
+ Acts (321)(1) := (task_definition_1'Access, null);
+ Acts (322).Set_First_Last (0, 2);
+ Acts (322)(0) := (task_type_declaration_0'Access,
task_type_declaration_0_check'Access);
+ Acts (322)(1) := (task_type_declaration_1'Access,
task_type_declaration_1_check'Access);
+ Acts (322)(2) := (task_type_declaration_2'Access, null);
+ Acts (326).Set_First_Last (0, 0);
+ Acts (326)(0) := (timed_entry_call_0'Access, null);
Acts (330).Set_First_Last (0, 0);
- Acts (330)(0) := (variant_0'Access, null);
- Acts (332).Set_First_Last (0, 2);
- Acts (332)(0) := (use_clause_0'Access, null);
- Acts (332)(1) := (use_clause_1'Access, null);
- Acts (332)(2) := (use_clause_2'Access, null);
- Acts (333).Set_First_Last (0, 3);
- Acts (333)(0) := (with_clause_0'Access, null);
- Acts (333)(1) := (with_clause_1'Access, null);
- Acts (333)(2) := (with_clause_2'Access, null);
- Acts (333)(3) := (with_clause_3'Access, null);
+ Acts (330)(0) := (variant_part_0'Access, null);
+ Acts (331).Set_First_Last (0, 1);
+ Acts (331)(0) := (variant_list_0'Access, null);
+ Acts (332).Set_First_Last (0, 0);
+ Acts (332)(0) := (variant_0'Access, null);
+ Acts (334).Set_First_Last (0, 2);
+ Acts (334)(0) := (use_clause_0'Access, null);
+ Acts (334)(1) := (use_clause_1'Access, null);
+ Acts (334)(2) := (use_clause_2'Access, null);
+ Acts (335).Set_First_Last (0, 3);
+ Acts (335)(0) := (with_clause_0'Access, null);
+ Acts (335)(1) := (with_clause_1'Access, null);
+ Acts (335)(2) := (with_clause_2'Access, null);
+ Acts (335)(3) := (with_clause_3'Access, null);
end return;
end Actions;
diff --git a/packages/ada-mode/ada_re2c.c b/packages/ada-mode/ada_re2c.c
index 6c79343..18da94a 100644
--- a/packages/ada-mode/ada_re2c.c
+++ b/packages/ada-mode/ada_re2c.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 1.0.3 */
+/* Generated by re2c 1.3 */
#line 1 "../ada.re2c"
// generated parser support file. -*- mode: C -*-
// command line: wisitoken-bnf-generate.exe --generate LALR Ada_Emacs re2c
PROCESS ada.wy
@@ -130,7 +130,7 @@ int ada_next_token
*id = -1;
if (lexer->cursor > lexer->buffer_last)
{
- *id = 108;
+ *id = 110;
*byte_position = lexer->buffer_last - lexer->buffer + 1;
*byte_length = 0;
*char_position = lexer->char_token_start;
@@ -243,8 +243,9 @@ int ada_next_token
case 'X':
case 'x': goto yy70;
case '[': goto yy71;
- case '{': goto yy72;
- case '|': goto yy73;
+ case ']': goto yy73;
+ case '{': goto yy75;
+ case '|': goto yy78;
case 0xC2:
case 0xC3:
case 0xC4:
@@ -274,8 +275,8 @@ int ada_next_token
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:
@@ -290,12 +291,12 @@ int ada_next_token
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;
+ case 0xF3: goto yy84;
+ case 0xF4: goto yy85;
default: goto yy2;
}
yy2:
@@ -303,16 +304,16 @@ yy2:
YYSKIP ();
yy3:
YYDEBUG(3, YYPEEK ());
-#line 377 "../ada.re2c"
+#line 382 "../ada.re2c"
{status = ERROR_unrecognized_character; continue;}
-#line 309 "../ada_re2c.c"
+#line 310 "../ada_re2c.c"
yy4:
YYDEBUG(4, YYPEEK ());
YYSKIP ();
YYDEBUG(5, YYPEEK ());
-#line 375 "../ada.re2c"
- {*id = 108; continue;}
-#line 316 "../ada_re2c.c"
+#line 380 "../ada.re2c"
+ {*id = 110; continue;}
+#line 317 "../ada_re2c.c"
yy6:
YYDEBUG(6, YYPEEK ());
YYSKIP ();
@@ -325,7 +326,7 @@ yy6:
}
yy8:
YYDEBUG(8, YYPEEK ());
-#line 261 "../ada.re2c"
+#line 264 "../ada.re2c"
{ lexer->byte_token_start = lexer->cursor;
lexer->char_token_start = lexer->char_pos;
if (*lexer->cursor == 0x0A)
@@ -333,14 +334,14 @@ yy8:
else
lexer->line_token_start = lexer->line;
continue; }
-#line 337 "../ada_re2c.c"
+#line 338 "../ada_re2c.c"
yy9:
YYDEBUG(9, YYPEEK ());
YYSKIP ();
YYDEBUG(10, YYPEEK ());
-#line 268 "../ada.re2c"
+#line 271 "../ada.re2c"
{*id = 1; continue;}
-#line 344 "../ada_re2c.c"
+#line 345 "../ada_re2c.c"
yy11:
YYDEBUG(11, YYPEEK ());
YYSKIP ();
@@ -502,7 +503,7 @@ yy12:
case 0xF1:
case 0xF2:
case 0xF3:
- case 0xF4: goto yy82;
+ case 0xF4: goto yy87;
default: goto yy3;
}
yy13:
@@ -512,8 +513,8 @@ yy13:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'e': goto yy94;
- case 'i': goto yy95;
+ case 'e': goto yy99;
+ case 'i': goto yy100;
default: goto yy3;
}
yy14:
@@ -588,7 +589,7 @@ yy15:
case 'x':
case 'y':
case 'z': goto yy14;
- case '[': goto yy96;
+ case '[': goto yy101;
case 0xC2:
case 0xC3:
case 0xC4:
@@ -618,8 +619,8 @@ yy15:
case 0xDC:
case 0xDD:
case 0xDE:
- case 0xDF: goto yy97;
- case 0xE0: goto yy98;
+ case 0xDF: goto yy102;
+ case 0xE0: goto yy103;
case 0xE1:
case 0xE2:
case 0xE3:
@@ -634,26 +635,26 @@ yy15:
case 0xEC:
case 0xED:
case 0xEE:
- case 0xEF: goto yy99;
- case 0xF0: goto yy100;
+ case 0xEF: goto yy104;
+ case 0xF0: goto yy105;
case 0xF1:
case 0xF2:
- case 0xF3: goto yy101;
- case 0xF4: goto yy102;
+ case 0xF3: goto yy106;
+ case 0xF4: goto yy107;
default: goto yy16;
}
yy16:
YYDEBUG(16, YYPEEK ());
-#line 372 "../ada.re2c"
- {*id = 105; continue;}
-#line 650 "../ada_re2c.c"
+#line 377 "../ada.re2c"
+ {*id = 107; continue;}
+#line 651 "../ada_re2c.c"
yy17:
YYDEBUG(17, YYPEEK ());
YYSKIP ();
YYDEBUG(18, YYPEEK ());
-#line 345 "../ada.re2c"
- {*id = 78; continue;}
-#line 657 "../ada_re2c.c"
+#line 350 "../ada.re2c"
+ {*id = 80; continue;}
+#line 658 "../ada_re2c.c"
yy19:
YYDEBUG(19, YYPEEK ());
yyaccept = 2;
@@ -754,11 +755,11 @@ yy19:
case '|':
case '}':
case '~':
- case 0x7F: goto yy103;
+ case 0x7F: goto yy108;
case '(':
YYBACKUPCTX ();
- goto yy104;
- case '[': goto yy105;
+ goto yy109;
+ case '[': goto yy110;
case 0xC2:
case 0xC3:
case 0xC4:
@@ -788,8 +789,8 @@ yy19:
case 0xDC:
case 0xDD:
case 0xDE:
- case 0xDF: goto yy106;
- case 0xE0: goto yy107;
+ case 0xDF: goto yy111;
+ case 0xE0: goto yy112;
case 0xE1:
case 0xE2:
case 0xE3:
@@ -804,99 +805,99 @@ yy19:
case 0xEC:
case 0xED:
case 0xEE:
- case 0xEF: goto yy108;
- case 0xF0: goto yy109;
+ case 0xEF: goto yy113;
+ case 0xF0: goto yy114;
case 0xF1:
case 0xF2:
- case 0xF3: goto yy110;
- case 0xF4: goto yy111;
+ case 0xF3: goto yy115;
+ case 0xF4: goto yy116;
default: goto yy20;
}
yy20:
YYDEBUG(20, YYPEEK ());
-#line 369 "../ada.re2c"
- {*id = 102; continue;}
-#line 820 "../ada_re2c.c"
+#line 374 "../ada.re2c"
+ {*id = 104; continue;}
+#line 821 "../ada_re2c.c"
yy21:
YYDEBUG(21, YYPEEK ());
YYSKIP ();
YYDEBUG(22, YYPEEK ());
-#line 343 "../ada.re2c"
+#line 346 "../ada.re2c"
{*id = 76; continue;}
-#line 827 "../ada_re2c.c"
+#line 828 "../ada_re2c.c"
yy23:
YYDEBUG(23, YYPEEK ());
YYSKIP ();
YYDEBUG(24, YYPEEK ());
-#line 344 "../ada.re2c"
- {*id = 77; continue;}
-#line 834 "../ada_re2c.c"
+#line 348 "../ada.re2c"
+ {*id = 78; continue;}
+#line 835 "../ada_re2c.c"
yy25:
YYDEBUG(25, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '*': goto yy112;
+ case '*': goto yy117;
default: goto yy26;
}
yy26:
YYDEBUG(26, YYPEEK ());
-#line 367 "../ada.re2c"
- {*id = 100; continue;}
-#line 847 "../ada_re2c.c"
+#line 372 "../ada.re2c"
+ {*id = 102; continue;}
+#line 848 "../ada_re2c.c"
yy27:
YYDEBUG(27, YYPEEK ());
YYSKIP ();
YYDEBUG(28, YYPEEK ());
-#line 363 "../ada.re2c"
- {*id = 96; continue;}
-#line 854 "../ada_re2c.c"
+#line 368 "../ada.re2c"
+ {*id = 98; continue;}
+#line 855 "../ada_re2c.c"
yy29:
YYDEBUG(29, YYPEEK ());
YYSKIP ();
YYDEBUG(30, YYPEEK ());
-#line 351 "../ada.re2c"
- {*id = 84; continue;}
-#line 861 "../ada_re2c.c"
+#line 356 "../ada.re2c"
+ {*id = 86; continue;}
+#line 862 "../ada_re2c.c"
yy31:
YYDEBUG(31, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '-': goto yy114;
+ case '-': goto yy119;
default: goto yy32;
}
yy32:
YYDEBUG(32, YYPEEK ());
-#line 362 "../ada.re2c"
- {*id = 95; continue;}
-#line 874 "../ada_re2c.c"
+#line 367 "../ada.re2c"
+ {*id = 97; continue;}
+#line 875 "../ada_re2c.c"
yy33:
YYDEBUG(33, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '.': goto yy117;
+ case '.': goto yy121;
default: goto yy34;
}
yy34:
YYDEBUG(34, YYPEEK ());
-#line 352 "../ada.re2c"
- {*id = 85; continue;}
-#line 887 "../ada_re2c.c"
+#line 357 "../ada.re2c"
+ {*id = 87; continue;}
+#line 888 "../ada_re2c.c"
yy35:
YYDEBUG(35, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '=': goto yy119;
+ case '=': goto yy123;
default: goto yy36;
}
yy36:
YYDEBUG(36, YYPEEK ());
-#line 365 "../ada.re2c"
- {*id = 98; continue;}
-#line 900 "../ada_re2c.c"
+#line 370 "../ada.re2c"
+ {*id = 100; continue;}
+#line 901 "../ada_re2c.c"
yy37:
YYDEBUG(37, YYPEEK ());
yyaccept = 3;
@@ -905,12 +906,12 @@ yy37:
yych = YYPEEK ();
YYDEBUG(38, YYPEEK ());
switch (yych) {
- case '#': goto yy121;
+ case '#': goto yy125;
case '-':
case '.':
case 'E':
case '_':
- case 'e': goto yy122;
+ case 'e': goto yy126;
case '0':
case '1':
case '2':
@@ -925,78 +926,78 @@ yy37:
}
yy39:
YYDEBUG(39, YYPEEK ());
-#line 371 "../ada.re2c"
- {*id = 104; continue;}
-#line 931 "../ada_re2c.c"
+#line 376 "../ada.re2c"
+ {*id = 106; continue;}
+#line 932 "../ada_re2c.c"
yy40:
YYDEBUG(40, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '=': goto yy124;
+ case '=': goto yy128;
default: goto yy41;
}
yy41:
YYDEBUG(41, YYPEEK ());
-#line 349 "../ada.re2c"
- {*id = 82; continue;}
-#line 944 "../ada_re2c.c"
+#line 354 "../ada.re2c"
+ {*id = 84; continue;}
+#line 945 "../ada_re2c.c"
yy42:
YYDEBUG(42, YYPEEK ());
YYSKIP ();
YYDEBUG(43, YYPEEK ());
-#line 364 "../ada.re2c"
- {*id = 97; continue;}
-#line 951 "../ada_re2c.c"
+#line 369 "../ada.re2c"
+ {*id = 99; continue;}
+#line 952 "../ada_re2c.c"
yy44:
YYDEBUG(44, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '<': goto yy126;
- case '=': goto yy128;
- case '>': goto yy130;
+ case '<': goto yy130;
+ case '=': goto yy132;
+ case '>': goto yy134;
default: goto yy45;
}
yy45:
YYDEBUG(45, YYPEEK ());
-#line 359 "../ada.re2c"
- {*id = 92; continue;}
-#line 966 "../ada_re2c.c"
+#line 364 "../ada.re2c"
+ {*id = 94; continue;}
+#line 967 "../ada_re2c.c"
yy46:
YYDEBUG(46, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '>': goto yy132;
+ case '>': goto yy136;
default: goto yy47;
}
yy47:
YYDEBUG(47, YYPEEK ());
-#line 354 "../ada.re2c"
- {*id = 87; continue;}
-#line 979 "../ada_re2c.c"
+#line 359 "../ada.re2c"
+ {*id = 89; continue;}
+#line 980 "../ada_re2c.c"
yy48:
YYDEBUG(48, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '=': goto yy134;
- case '>': goto yy136;
+ case '=': goto yy138;
+ case '>': goto yy140;
default: goto yy49;
}
yy49:
YYDEBUG(49, YYPEEK ());
-#line 356 "../ada.re2c"
- {*id = 89; continue;}
-#line 993 "../ada_re2c.c"
+#line 361 "../ada.re2c"
+ {*id = 91; continue;}
+#line 994 "../ada_re2c.c"
yy50:
YYDEBUG(50, YYPEEK ());
YYSKIP ();
YYDEBUG(51, YYPEEK ());
-#line 346 "../ada.re2c"
- {*id = 79; continue;}
-#line 1000 "../ada_re2c.c"
+#line 351 "../ada.re2c"
+ {*id = 81; continue;}
+#line 1001 "../ada_re2c.c"
yy52:
YYDEBUG(52, YYPEEK ());
yyaccept = 1;
@@ -1005,17 +1006,17 @@ yy52:
yych = YYPEEK ();
switch (yych) {
case 'B':
- case 'b': goto yy138;
+ case 'b': goto yy142;
case 'C':
- case 'c': goto yy139;
+ case 'c': goto yy143;
case 'L':
- case 'l': goto yy140;
+ case 'l': goto yy144;
case 'N':
- case 'n': goto yy141;
+ case 'n': goto yy145;
case 'R':
- case 'r': goto yy142;
+ case 'r': goto yy146;
case 'T':
- case 't': goto yy143;
+ case 't': goto yy147;
default: goto yy15;
}
yy53:
@@ -1026,9 +1027,9 @@ yy53:
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy145;
+ case 'e': goto yy149;
case 'O':
- case 'o': goto yy146;
+ case 'o': goto yy150;
default: goto yy15;
}
yy54:
@@ -1039,9 +1040,9 @@ yy54:
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy147;
+ case 'a': goto yy151;
case 'O':
- case 'o': goto yy148;
+ case 'o': goto yy152;
default: goto yy15;
}
yy55:
@@ -1052,11 +1053,11 @@ yy55:
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy149;
+ case 'e': goto yy153;
case 'I':
- case 'i': goto yy150;
+ case 'i': goto yy154;
case 'O':
- case 'o': goto yy151;
+ case 'o': goto yy155;
default: goto yy15;
}
yy56:
@@ -1067,11 +1068,11 @@ yy56:
yych = YYPEEK ();
switch (yych) {
case 'L':
- case 'l': goto yy153;
+ case 'l': goto yy157;
case 'N':
- case 'n': goto yy154;
+ case 'n': goto yy158;
case 'X':
- case 'x': goto yy155;
+ case 'x': goto yy159;
default: goto yy15;
}
yy57:
@@ -1082,9 +1083,9 @@ yy57:
yych = YYPEEK ();
switch (yych) {
case 'O':
- case 'o': goto yy156;
+ case 'o': goto yy160;
case 'U':
- case 'u': goto yy157;
+ case 'u': goto yy161;
default: goto yy15;
}
yy58:
@@ -1095,9 +1096,9 @@ yy58:
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy158;
+ case 'e': goto yy162;
case 'O':
- case 'o': goto yy159;
+ case 'o': goto yy163;
default: goto yy15;
}
yy59:
@@ -1108,11 +1109,11 @@ yy59:
yych = YYPEEK ();
switch (yych) {
case 'F':
- case 'f': goto yy160;
+ case 'f': goto yy164;
case 'N':
- case 'n': goto yy162;
+ case 'n': goto yy166;
case 'S':
- case 's': goto yy164;
+ case 's': goto yy168;
default: goto yy15;
}
yy60:
@@ -1123,9 +1124,9 @@ yy60:
yych = YYPEEK ();
switch (yych) {
case 'I':
- case 'i': goto yy166;
+ case 'i': goto yy170;
case 'O':
- case 'o': goto yy167;
+ case 'o': goto yy171;
default: goto yy15;
}
yy61:
@@ -1136,7 +1137,7 @@ yy61:
yych = YYPEEK ();
switch (yych) {
case 'O':
- case 'o': goto yy168;
+ case 'o': goto yy172;
default: goto yy15;
}
yy62:
@@ -1147,11 +1148,11 @@ yy62:
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy169;
+ case 'e': goto yy173;
case 'O':
- case 'o': goto yy170;
+ case 'o': goto yy174;
case 'U':
- case 'u': goto yy171;
+ case 'u': goto yy175;
default: goto yy15;
}
yy63:
@@ -1162,15 +1163,15 @@ yy63:
yych = YYPEEK ();
switch (yych) {
case 'F':
- case 'f': goto yy172;
+ case 'f': goto yy176;
case 'R':
- case 'r': goto yy174;
+ case 'r': goto yy178;
case 'T':
- case 't': goto yy176;
+ case 't': goto yy180;
case 'U':
- case 'u': goto yy177;
+ case 'u': goto yy181;
case 'V':
- case 'v': goto yy178;
+ case 'v': goto yy182;
default: goto yy15;
}
yy64:
@@ -1181,9 +1182,9 @@ yy64:
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy179;
+ case 'a': goto yy183;
case 'R':
- case 'r': goto yy180;
+ case 'r': goto yy184;
default: goto yy15;
}
yy65:
@@ -1194,9 +1195,9 @@ yy65:
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy181;
+ case 'a': goto yy185;
case 'E':
- case 'e': goto yy182;
+ case 'e': goto yy186;
default: goto yy15;
}
yy66:
@@ -1207,13 +1208,13 @@ yy66:
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy183;
+ case 'e': goto yy187;
case 'O':
- case 'o': goto yy184;
+ case 'o': goto yy188;
case 'U':
- case 'u': goto yy185;
+ case 'u': goto yy189;
case 'Y':
- case 'y': goto yy186;
+ case 'y': goto yy190;
default: goto yy15;
}
yy67:
@@ -1224,13 +1225,13 @@ yy67:
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy187;
+ case 'a': goto yy191;
case 'E':
- case 'e': goto yy188;
+ case 'e': goto yy192;
case 'H':
- case 'h': goto yy189;
+ case 'h': goto yy193;
case 'Y':
- case 'y': goto yy190;
+ case 'y': goto yy194;
default: goto yy15;
}
yy68:
@@ -1241,9 +1242,9 @@ yy68:
yych = YYPEEK ();
switch (yych) {
case 'N':
- case 'n': goto yy191;
+ case 'n': goto yy195;
case 'S':
- case 's': goto yy192;
+ case 's': goto yy196;
default: goto yy15;
}
yy69:
@@ -1254,9 +1255,9 @@ yy69:
yych = YYPEEK ();
switch (yych) {
case 'H':
- case 'h': goto yy193;
+ case 'h': goto yy197;
case 'I':
- case 'i': goto yy194;
+ case 'i': goto yy198;
default: goto yy15;
}
yy70:
@@ -1267,37 +1268,48 @@ yy70:
yych = YYPEEK ();
switch (yych) {
case 'O':
- case 'o': goto yy195;
+ case 'o': goto yy199;
default: goto yy15;
}
yy71:
YYDEBUG(71, YYPEEK ());
- yyaccept = 0;
+ yyaccept = 4;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case '"': goto yy196;
- default: goto yy3;
+ case '"': goto yy200;
+ default: goto yy72;
}
yy72:
YYDEBUG(72, YYPEEK ());
- yyaccept = 0;
+#line 347 "../ada.re2c"
+ {*id = 77; continue;}
+#line 1289 "../ada_re2c.c"
+yy73:
+ YYDEBUG(73, YYPEEK ());
+ YYSKIP ();
+ YYDEBUG(74, YYPEEK ());
+#line 349 "../ada.re2c"
+ {*id = 79; continue;}
+#line 1296 "../ada_re2c.c"
+yy75:
+ YYDEBUG(75, YYPEEK ());
+ yyaccept = 5;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
+ YYDEBUG(76, YYPEEK ());
switch (yych) {
case 0x00:
case 0x01:
case 0x02:
case 0x03:
- case 0x04:
case 0x05:
case 0x06:
case 0x07:
case 0x08:
case '\t':
- case '\n':
case '\v':
case '\f':
case '\r':
@@ -1412,9 +1424,8 @@ yy72:
case 'z':
case '{':
case '|':
- case '}':
case '~':
- case 0x7F:
+ case 0x7F: goto yy75;
case 0xC2:
case 0xC3:
case 0xC4:
@@ -1444,8 +1455,8 @@ yy72:
case 0xDC:
case 0xDD:
case 0xDE:
- case 0xDF:
- case 0xE0:
+ case 0xDF: goto yy201;
+ case 0xE0: goto yy202;
case 0xE1:
case 0xE2:
case 0xE3:
@@ -1460,23 +1471,28 @@ yy72:
case 0xEC:
case 0xED:
case 0xEE:
- case 0xEF:
- case 0xF0:
+ case 0xEF: goto yy203;
+ case 0xF0: goto yy204;
case 0xF1:
case 0xF2:
- case 0xF3:
- case 0xF4: goto yy198;
- default: goto yy3;
+ case 0xF3: goto yy205;
+ case 0xF4: goto yy206;
+ default: goto yy77;
}
-yy73:
- YYDEBUG(73, YYPEEK ());
+yy77:
+ YYDEBUG(77, YYPEEK ());
+#line 272 "../ada.re2c"
+ {*id = 2; continue;}
+#line 1487 "../ada_re2c.c"
+yy78:
+ YYDEBUG(78, YYPEEK ());
YYSKIP ();
- YYDEBUG(74, YYPEEK ());
-#line 347 "../ada.re2c"
- {*id = 80; continue;}
-#line 1478 "../ada_re2c.c"
-yy75:
- YYDEBUG(75, YYPEEK ());
+ YYDEBUG(79, YYPEEK ());
+#line 352 "../ada.re2c"
+ {*id = 82; continue;}
+#line 1494 "../ada_re2c.c"
+yy80:
+ YYDEBUG(80, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -1546,8 +1562,8 @@ yy75:
case 0xBF: goto yy14;
default: goto yy3;
}
-yy76:
- YYDEBUG(76, YYPEEK ());
+yy81:
+ YYDEBUG(81, YYPEEK ());
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
@@ -1584,11 +1600,11 @@ yy76:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy97;
+ case 0xBF: goto yy102;
default: goto yy3;
}
-yy77:
- YYDEBUG(77, YYPEEK ());
+yy82:
+ YYDEBUG(82, YYPEEK ());
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
@@ -1657,11 +1673,11 @@ yy77:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy97;
+ case 0xBF: goto yy102;
default: goto yy3;
}
-yy78:
- YYDEBUG(78, YYPEEK ());
+yy83:
+ YYDEBUG(83, YYPEEK ());
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
@@ -1714,11 +1730,11 @@ yy78:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy99;
+ case 0xBF: goto yy104;
default: goto yy3;
}
-yy79:
- YYDEBUG(79, YYPEEK ());
+yy84:
+ YYDEBUG(84, YYPEEK ());
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
@@ -1787,11 +1803,11 @@ yy79:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy99;
+ case 0xBF: goto yy104;
default: goto yy3;
}
-yy80:
- YYDEBUG(80, YYPEEK ());
+yy85:
+ YYDEBUG(85, YYPEEK ());
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
@@ -1812,15 +1828,15 @@ yy80:
case 0x8C:
case 0x8D:
case 0x8E:
- case 0x8F: goto yy99;
+ case 0x8F: goto yy104;
default: goto yy3;
}
-yy81:
- YYDEBUG(81, YYPEEK ());
+yy86:
+ YYDEBUG(86, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
-yy82:
- YYDEBUG(82, YYPEEK ());
+yy87:
+ YYDEBUG(87, YYPEEK ());
switch (yych) {
case ' ':
case '!':
@@ -1915,9 +1931,9 @@ yy82:
case '|':
case '}':
case '~':
- case 0x7F: goto yy81;
- case '"': goto yy84;
- case '[': goto yy86;
+ case 0x7F: goto yy86;
+ case '"': goto yy89;
+ case '[': goto yy91;
case 0xC2:
case 0xC3:
case 0xC4:
@@ -1947,8 +1963,8 @@ yy82:
case 0xDC:
case 0xDD:
case 0xDE:
- case 0xDF: goto yy88;
- case 0xE0: goto yy89;
+ case 0xDF: goto yy93;
+ case 0xE0: goto yy94;
case 0xE1:
case 0xE2:
case 0xE3:
@@ -1963,119 +1979,120 @@ yy82:
case 0xEC:
case 0xED:
case 0xEE:
- case 0xEF: goto yy90;
- case 0xF0: goto yy91;
+ case 0xEF: goto yy95;
+ case 0xF0: goto yy96;
case 0xF1:
case 0xF2:
- case 0xF3: goto yy92;
- case 0xF4: goto yy93;
- default: goto yy83;
+ case 0xF3: goto yy97;
+ case 0xF4: goto yy98;
+ default: goto yy88;
}
-yy83:
- YYDEBUG(83, YYPEEK ());
+yy88:
+ YYDEBUG(88, YYPEEK ());
YYRESTORE ();
switch (yyaccept) {
case 0: goto yy3;
case 1: goto yy16;
case 2: goto yy20;
case 3: goto yy39;
- case 4: goto yy85;
- case 5: goto yy116;
- case 6: goto yy144;
- case 7: goto yy152;
- case 8: goto yy161;
- case 9: goto yy163;
- case 10: goto yy165;
- case 11: goto yy173;
- case 12: goto yy175;
- case 13: goto yy210;
- case 14: goto yy225;
- case 15: goto yy229;
- case 16: goto yy231;
- case 17: goto yy242;
- case 18: goto yy247;
- case 19: goto yy255;
- case 20: goto yy257;
- case 21: goto yy259;
- case 22: goto yy263;
- case 23: goto yy273;
- case 24: goto yy290;
- case 25: goto yy295;
- case 26: goto yy319;
- case 27: goto yy321;
- case 28: goto yy328;
- case 29: goto yy333;
- case 30: goto yy337;
- case 31: goto yy341;
- case 32: goto yy343;
- case 33: goto yy361;
- case 34: goto yy366;
- case 35: goto yy369;
- case 36: goto yy371;
- case 37: goto yy374;
- case 38: goto yy377;
- case 39: goto yy385;
- case 40: goto yy391;
- case 41: goto yy393;
- case 42: goto yy397;
- case 43: goto yy399;
- case 44: goto yy402;
- case 45: goto yy404;
- case 46: goto yy418;
- case 47: goto yy420;
- case 48: goto yy433;
- case 49: goto yy435;
- case 50: goto yy440;
- case 51: goto yy442;
- case 52: goto yy447;
- case 53: goto yy454;
- case 54: goto yy458;
- case 55: goto yy463;
- case 56: goto yy467;
- case 57: goto yy470;
- case 58: goto yy475;
- case 59: goto yy480;
- case 60: goto yy483;
- case 61: goto yy487;
- case 62: goto yy490;
- case 63: goto yy493;
- case 64: goto yy495;
- case 65: goto yy499;
- case 66: goto yy501;
- case 67: goto yy503;
- case 68: goto yy506;
- case 69: goto yy510;
- case 70: goto yy512;
- case 71: goto yy515;
- case 72: goto yy521;
- case 73: goto yy525;
- case 74: goto yy527;
- case 75: goto yy530;
- case 76: goto yy532;
- case 77: goto yy535;
- case 78: goto yy537;
- default: goto yy541;
+ case 4: goto yy72;
+ case 5: goto yy77;
+ case 6: goto yy90;
+ case 7: goto yy148;
+ case 8: goto yy156;
+ case 9: goto yy165;
+ case 10: goto yy167;
+ case 11: goto yy169;
+ case 12: goto yy177;
+ case 13: goto yy179;
+ case 14: goto yy211;
+ case 15: goto yy226;
+ case 16: goto yy230;
+ case 17: goto yy232;
+ case 18: goto yy243;
+ case 19: goto yy248;
+ case 20: goto yy256;
+ case 21: goto yy258;
+ case 22: goto yy260;
+ case 23: goto yy264;
+ case 24: goto yy274;
+ case 25: goto yy291;
+ case 26: goto yy296;
+ case 27: goto yy320;
+ case 28: goto yy322;
+ case 29: goto yy329;
+ case 30: goto yy334;
+ case 31: goto yy338;
+ case 32: goto yy342;
+ case 33: goto yy344;
+ case 34: goto yy362;
+ case 35: goto yy367;
+ case 36: goto yy370;
+ case 37: goto yy372;
+ case 38: goto yy375;
+ case 39: goto yy378;
+ case 40: goto yy386;
+ case 41: goto yy392;
+ case 42: goto yy394;
+ case 43: goto yy398;
+ case 44: goto yy400;
+ case 45: goto yy403;
+ case 46: goto yy405;
+ case 47: goto yy419;
+ case 48: goto yy421;
+ case 49: goto yy434;
+ case 50: goto yy436;
+ case 51: goto yy441;
+ case 52: goto yy443;
+ case 53: goto yy448;
+ case 54: goto yy455;
+ case 55: goto yy459;
+ case 56: goto yy464;
+ case 57: goto yy468;
+ case 58: goto yy471;
+ case 59: goto yy476;
+ case 60: goto yy481;
+ case 61: goto yy484;
+ case 62: goto yy488;
+ case 63: goto yy491;
+ case 64: goto yy494;
+ case 65: goto yy496;
+ case 66: goto yy500;
+ case 67: goto yy502;
+ case 68: goto yy504;
+ case 69: goto yy507;
+ case 70: goto yy511;
+ case 71: goto yy513;
+ case 72: goto yy516;
+ case 73: goto yy522;
+ case 74: goto yy526;
+ case 75: goto yy528;
+ case 76: goto yy531;
+ case 77: goto yy533;
+ case 78: goto yy536;
+ case 79: goto yy538;
+ default: goto yy542;
}
-yy84:
- YYDEBUG(84, YYPEEK ());
- yyaccept = 4;
+yy89:
+ YYDEBUG(89, YYPEEK ());
+ yyaccept = 6;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case '"': goto yy81;
- default: goto yy85;
+ case '"': goto yy86;
+ default: goto yy90;
}
-yy85:
- YYDEBUG(85, YYPEEK ());
-#line 373 "../ada.re2c"
- {*id = 106; continue;}
-#line 2074 "../ada_re2c.c"
-yy86:
- YYDEBUG(86, YYPEEK ());
+yy90:
+ YYDEBUG(90, YYPEEK ());
+#line 378 "../ada.re2c"
+ {*id = 108; continue;}
+#line 2091 "../ada_re2c.c"
+yy91:
+ YYDEBUG(91, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
- YYDEBUG(87, YYPEEK ());
+ YYDEBUG(92, YYPEEK ());
switch (yych) {
case ' ':
case '!':
@@ -2170,9 +2187,9 @@ yy86:
case '|':
case '}':
case '~':
- case 0x7F: goto yy81;
- case '"': goto yy206;
- case '[': goto yy86;
+ case 0x7F: goto yy86;
+ case '"': goto yy207;
+ case '[': goto yy91;
case 0xC2:
case 0xC3:
case 0xC4:
@@ -2202,8 +2219,8 @@ yy86:
case 0xDC:
case 0xDD:
case 0xDE:
- case 0xDF: goto yy88;
- case 0xE0: goto yy89;
+ case 0xDF: goto yy93;
+ case 0xE0: goto yy94;
case 0xE1:
case 0xE2:
case 0xE3:
@@ -2218,16 +2235,16 @@ yy86:
case 0xEC:
case 0xED:
case 0xEE:
- case 0xEF: goto yy90;
- case 0xF0: goto yy91;
+ case 0xEF: goto yy95;
+ case 0xF0: goto yy96;
case 0xF1:
case 0xF2:
- case 0xF3: goto yy92;
- case 0xF4: goto yy93;
- default: goto yy83;
+ case 0xF3: goto yy97;
+ case 0xF4: goto yy98;
+ default: goto yy88;
}
-yy88:
- YYDEBUG(88, YYPEEK ());
+yy93:
+ YYDEBUG(93, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -2294,11 +2311,11 @@ yy88:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy81;
- default: goto yy83;
+ case 0xBF: goto yy86;
+ default: goto yy88;
}
-yy89:
- YYDEBUG(89, YYPEEK ());
+yy94:
+ YYDEBUG(94, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -2333,11 +2350,11 @@ yy89:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy88;
- default: goto yy83;
+ case 0xBF: goto yy93;
+ default: goto yy88;
}
-yy90:
- YYDEBUG(90, YYPEEK ());
+yy95:
+ YYDEBUG(95, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -2404,11 +2421,11 @@ yy90:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy88;
- default: goto yy83;
+ case 0xBF: goto yy93;
+ default: goto yy88;
}
-yy91:
- YYDEBUG(91, YYPEEK ());
+yy96:
+ YYDEBUG(96, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -2459,11 +2476,11 @@ yy91:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy90;
- default: goto yy83;
+ case 0xBF: goto yy95;
+ default: goto yy88;
}
-yy92:
- YYDEBUG(92, YYPEEK ());
+yy97:
+ YYDEBUG(97, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -2530,11 +2547,11 @@ yy92:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy90;
- default: goto yy83;
+ case 0xBF: goto yy95;
+ default: goto yy88;
}
-yy93:
- YYDEBUG(93, YYPEEK ());
+yy98:
+ YYDEBUG(98, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -2553,36 +2570,36 @@ yy93:
case 0x8C:
case 0x8D:
case 0x8E:
- case 0x8F: goto yy90;
- default: goto yy83;
+ case 0x8F: goto yy95;
+ default: goto yy88;
}
-yy94:
- YYDEBUG(94, YYPEEK ());
+yy99:
+ YYDEBUG(99, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case 'l': goto yy207;
- case 'n': goto yy208;
- default: goto yy83;
+ case 'l': goto yy208;
+ case 'n': goto yy209;
+ default: goto yy88;
}
-yy95:
- YYDEBUG(95, YYPEEK ());
+yy100:
+ YYDEBUG(100, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case 'f': goto yy114;
- default: goto yy83;
+ case 'f': goto yy119;
+ default: goto yy88;
}
-yy96:
- YYDEBUG(96, YYPEEK ());
+yy101:
+ YYDEBUG(101, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '"': goto yy196;
- default: goto yy83;
+ case '"': goto yy200;
+ default: goto yy88;
}
-yy97:
- YYDEBUG(97, YYPEEK ());
+yy102:
+ YYDEBUG(102, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -2650,10 +2667,10 @@ yy97:
case 0xBD:
case 0xBE:
case 0xBF: goto yy14;
- default: goto yy83;
+ default: goto yy88;
}
-yy98:
- YYDEBUG(98, YYPEEK ());
+yy103:
+ YYDEBUG(103, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -2688,11 +2705,11 @@ yy98:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy97;
- default: goto yy83;
+ case 0xBF: goto yy102;
+ default: goto yy88;
}
-yy99:
- YYDEBUG(99, YYPEEK ());
+yy104:
+ YYDEBUG(104, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -2759,11 +2776,11 @@ yy99:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy97;
- default: goto yy83;
+ case 0xBF: goto yy102;
+ default: goto yy88;
}
-yy100:
- YYDEBUG(100, YYPEEK ());
+yy105:
+ YYDEBUG(105, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -2814,11 +2831,11 @@ yy100:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy99;
- default: goto yy83;
+ case 0xBF: goto yy104;
+ default: goto yy88;
}
-yy101:
- YYDEBUG(101, YYPEEK ());
+yy106:
+ YYDEBUG(106, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -2885,11 +2902,11 @@ yy101:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy99;
- default: goto yy83;
+ case 0xBF: goto yy104;
+ default: goto yy88;
}
-yy102:
- YYDEBUG(102, YYPEEK ());
+yy107:
+ YYDEBUG(107, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -2908,36 +2925,36 @@ yy102:
case 0x8C:
case 0x8D:
case 0x8E:
- case 0x8F: goto yy99;
- default: goto yy83;
+ case 0x8F: goto yy104;
+ default: goto yy88;
}
-yy103:
- YYDEBUG(103, YYPEEK ());
+yy108:
+ YYDEBUG(108, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '\'': goto yy209;
- default: goto yy83;
+ case '\'': goto yy210;
+ default: goto yy88;
}
-yy104:
- YYDEBUG(104, YYPEEK ());
+yy109:
+ YYDEBUG(109, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '\'': goto yy211;
- default: goto yy83;
+ case '\'': goto yy212;
+ default: goto yy88;
}
-yy105:
- YYDEBUG(105, YYPEEK ());
+yy110:
+ YYDEBUG(110, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '"': goto yy212;
- case '\'': goto yy209;
- default: goto yy83;
+ case '"': goto yy213;
+ case '\'': goto yy210;
+ default: goto yy88;
}
-yy106:
- YYDEBUG(106, YYPEEK ());
+yy111:
+ YYDEBUG(111, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -3004,11 +3021,11 @@ yy106:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy103;
- default: goto yy83;
+ case 0xBF: goto yy108;
+ default: goto yy88;
}
-yy107:
- YYDEBUG(107, YYPEEK ());
+yy112:
+ YYDEBUG(112, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -3043,11 +3060,11 @@ yy107:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy106;
- default: goto yy83;
+ case 0xBF: goto yy111;
+ default: goto yy88;
}
-yy108:
- YYDEBUG(108, YYPEEK ());
+yy113:
+ YYDEBUG(113, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -3114,11 +3131,11 @@ yy108:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy106;
- default: goto yy83;
+ case 0xBF: goto yy111;
+ default: goto yy88;
}
-yy109:
- YYDEBUG(109, YYPEEK ());
+yy114:
+ YYDEBUG(114, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -3169,11 +3186,11 @@ yy109:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy108;
- default: goto yy83;
+ case 0xBF: goto yy113;
+ default: goto yy88;
}
-yy110:
- YYDEBUG(110, YYPEEK ());
+yy115:
+ YYDEBUG(115, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -3240,11 +3257,11 @@ yy110:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy108;
- default: goto yy83;
+ case 0xBF: goto yy113;
+ default: goto yy88;
}
-yy111:
- YYDEBUG(111, YYPEEK ());
+yy116:
+ YYDEBUG(116, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -3263,23 +3280,23 @@ yy111:
case 0x8C:
case 0x8D:
case 0x8E:
- case 0x8F: goto yy108;
- default: goto yy83;
+ case 0x8F: goto yy113;
+ default: goto yy88;
}
-yy112:
- YYDEBUG(112, YYPEEK ());
+yy117:
+ YYDEBUG(117, YYPEEK ());
YYSKIP ();
- YYDEBUG(113, YYPEEK ());
-#line 368 "../ada.re2c"
- {*id = 101; continue;}
-#line 3276 "../ada_re2c.c"
-yy114:
- YYDEBUG(114, YYPEEK ());
+ YYDEBUG(118, YYPEEK ());
+#line 373 "../ada.re2c"
+ {*id = 103; continue;}
+#line 3293 "../ada_re2c.c"
+yy119:
+ YYDEBUG(119, YYPEEK ());
yyaccept = 5;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
- YYDEBUG(115, YYPEEK ());
+ YYDEBUG(120, YYPEEK ());
switch (yych) {
case 0x00:
case 0x01:
@@ -3406,7 +3423,7 @@ yy114:
case '|':
case '}':
case '~':
- case 0x7F: goto yy114;
+ case 0x7F: goto yy119;
case 0xC2:
case 0xC3:
case 0xC4:
@@ -3436,8 +3453,8 @@ yy114:
case 0xDC:
case 0xDD:
case 0xDE:
- case 0xDF: goto yy213;
- case 0xE0: goto yy214;
+ case 0xDF: goto yy214;
+ case 0xE0: goto yy215;
case 0xE1:
case 0xE2:
case 0xE3:
@@ -3452,52 +3469,47 @@ yy114:
case 0xEC:
case 0xED:
case 0xEE:
- case 0xEF: goto yy215;
- case 0xF0: goto yy216;
+ case 0xEF: goto yy216;
+ case 0xF0: goto yy217;
case 0xF1:
case 0xF2:
- case 0xF3: goto yy217;
- case 0xF4: goto yy218;
- default: goto yy116;
+ case 0xF3: goto yy218;
+ case 0xF4: goto yy219;
+ default: goto yy77;
}
-yy116:
- YYDEBUG(116, YYPEEK ());
-#line 269 "../ada.re2c"
- {*id = 2; continue;}
-#line 3468 "../ada_re2c.c"
-yy117:
- YYDEBUG(117, YYPEEK ());
- YYSKIP ();
- YYDEBUG(118, YYPEEK ());
-#line 353 "../ada.re2c"
- {*id = 86; continue;}
-#line 3475 "../ada_re2c.c"
-yy119:
- YYDEBUG(119, YYPEEK ());
- YYSKIP ();
- YYDEBUG(120, YYPEEK ());
-#line 366 "../ada.re2c"
- {*id = 99; continue;}
-#line 3482 "../ada_re2c.c"
yy121:
YYDEBUG(121, YYPEEK ());
YYSKIP ();
+ YYDEBUG(122, YYPEEK ());
+#line 358 "../ada.re2c"
+ {*id = 88; continue;}
+#line 3487 "../ada_re2c.c"
+yy123:
+ YYDEBUG(123, YYPEEK ());
+ YYSKIP ();
+ YYDEBUG(124, YYPEEK ());
+#line 371 "../ada.re2c"
+ {*id = 101; continue;}
+#line 3494 "../ada_re2c.c"
+yy125:
+ YYDEBUG(125, YYPEEK ());
+ YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '#': goto yy83;
- default: goto yy220;
+ case '#': goto yy88;
+ default: goto yy221;
}
-yy122:
- YYDEBUG(122, YYPEEK ());
+yy126:
+ YYDEBUG(126, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
- YYDEBUG(123, YYPEEK ());
+ YYDEBUG(127, YYPEEK ());
switch (yych) {
case '-':
case '.':
case 'E':
case '_':
- case 'e': goto yy122;
+ case 'e': goto yy126;
case '0':
case '1':
case '2':
@@ -3507,120 +3519,120 @@ yy122:
case '6':
case '7':
case '8':
- case '9': goto yy221;
- default: goto yy83;
+ case '9': goto yy222;
+ default: goto yy88;
}
-yy124:
- YYDEBUG(124, YYPEEK ());
- YYSKIP ();
- YYDEBUG(125, YYPEEK ());
-#line 350 "../ada.re2c"
- {*id = 83; continue;}
-#line 3520 "../ada_re2c.c"
-yy126:
- YYDEBUG(126, YYPEEK ());
- YYSKIP ();
- YYDEBUG(127, YYPEEK ());
-#line 361 "../ada.re2c"
- {*id = 94; continue;}
-#line 3527 "../ada_re2c.c"
yy128:
YYDEBUG(128, YYPEEK ());
YYSKIP ();
YYDEBUG(129, YYPEEK ());
-#line 360 "../ada.re2c"
- {*id = 93; continue;}
-#line 3534 "../ada_re2c.c"
+#line 355 "../ada.re2c"
+ {*id = 85; continue;}
+#line 3532 "../ada_re2c.c"
yy130:
YYDEBUG(130, YYPEEK ());
YYSKIP ();
YYDEBUG(131, YYPEEK ());
-#line 348 "../ada.re2c"
- {*id = 81; continue;}
-#line 3541 "../ada_re2c.c"
+#line 366 "../ada.re2c"
+ {*id = 96; continue;}
+#line 3539 "../ada_re2c.c"
yy132:
YYDEBUG(132, YYPEEK ());
YYSKIP ();
YYDEBUG(133, YYPEEK ());
-#line 355 "../ada.re2c"
- {*id = 88; continue;}
-#line 3548 "../ada_re2c.c"
+#line 365 "../ada.re2c"
+ {*id = 95; continue;}
+#line 3546 "../ada_re2c.c"
yy134:
YYDEBUG(134, YYPEEK ());
YYSKIP ();
YYDEBUG(135, YYPEEK ());
-#line 357 "../ada.re2c"
- {*id = 90; continue;}
-#line 3555 "../ada_re2c.c"
+#line 353 "../ada.re2c"
+ {*id = 83; continue;}
+#line 3553 "../ada_re2c.c"
yy136:
YYDEBUG(136, YYPEEK ());
YYSKIP ();
YYDEBUG(137, YYPEEK ());
-#line 358 "../ada.re2c"
- {*id = 91; continue;}
-#line 3562 "../ada_re2c.c"
+#line 360 "../ada.re2c"
+ {*id = 90; continue;}
+#line 3560 "../ada_re2c.c"
yy138:
YYDEBUG(138, YYPEEK ());
+ YYSKIP ();
+ YYDEBUG(139, YYPEEK ());
+#line 362 "../ada.re2c"
+ {*id = 92; continue;}
+#line 3567 "../ada_re2c.c"
+yy140:
+ YYDEBUG(140, YYPEEK ());
+ YYSKIP ();
+ YYDEBUG(141, YYPEEK ());
+#line 363 "../ada.re2c"
+ {*id = 93; continue;}
+#line 3574 "../ada_re2c.c"
+yy142:
+ YYDEBUG(142, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'O':
- case 'o': goto yy223;
+ case 'o': goto yy224;
case 'S':
- case 's': goto yy224;
+ case 's': goto yy225;
default: goto yy15;
}
-yy139:
- YYDEBUG(139, YYPEEK ());
+yy143:
+ YYDEBUG(143, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'C':
- case 'c': goto yy226;
+ case 'c': goto yy227;
default: goto yy15;
}
-yy140:
- YYDEBUG(140, YYPEEK ());
+yy144:
+ YYDEBUG(144, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'I':
- case 'i': goto yy227;
+ case 'i': goto yy228;
case 'L':
- case 'l': goto yy228;
+ case 'l': goto yy229;
default: goto yy15;
}
-yy141:
- YYDEBUG(141, YYPEEK ());
+yy145:
+ YYDEBUG(145, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'D':
- case 'd': goto yy230;
+ case 'd': goto yy231;
default: goto yy15;
}
-yy142:
- YYDEBUG(142, YYPEEK ());
+yy146:
+ YYDEBUG(146, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'R':
- case 'r': goto yy232;
+ case 'r': goto yy233;
default: goto yy15;
}
-yy143:
- YYDEBUG(143, YYPEEK ());
- yyaccept = 6;
+yy147:
+ YYDEBUG(147, YYPEEK ());
+ yyaccept = 7;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -3740,84 +3752,84 @@ yy143:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy144;
+ default: goto yy148;
}
-yy144:
- YYDEBUG(144, YYPEEK ());
-#line 279 "../ada.re2c"
+yy148:
+ YYDEBUG(148, YYPEEK ());
+#line 282 "../ada.re2c"
{*id = 12; continue;}
-#line 3750 "../ada_re2c.c"
-yy145:
- YYDEBUG(145, YYPEEK ());
+#line 3762 "../ada_re2c.c"
+yy149:
+ YYDEBUG(149, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'G':
- case 'g': goto yy233;
+ case 'g': goto yy234;
default: goto yy15;
}
-yy146:
- YYDEBUG(146, YYPEEK ());
+yy150:
+ YYDEBUG(150, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'D':
- case 'd': goto yy234;
+ case 'd': goto yy235;
default: goto yy15;
}
-yy147:
- YYDEBUG(147, YYPEEK ());
+yy151:
+ YYDEBUG(151, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'S':
- case 's': goto yy235;
+ case 's': goto yy236;
default: goto yy15;
}
-yy148:
- YYDEBUG(148, YYPEEK ());
+yy152:
+ YYDEBUG(152, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'N':
- case 'n': goto yy236;
+ case 'n': goto yy237;
default: goto yy15;
}
-yy149:
- YYDEBUG(149, YYPEEK ());
+yy153:
+ YYDEBUG(153, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'C':
- case 'c': goto yy237;
+ case 'c': goto yy238;
case 'L':
- case 'l': goto yy238;
+ case 'l': goto yy239;
default: goto yy15;
}
-yy150:
- YYDEBUG(150, YYPEEK ());
+yy154:
+ YYDEBUG(154, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'G':
- case 'g': goto yy239;
+ case 'g': goto yy240;
default: goto yy15;
}
-yy151:
- YYDEBUG(151, YYPEEK ());
- yyaccept = 7;
+yy155:
+ YYDEBUG(155, YYPEEK ());
+ yyaccept = 8;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -3937,97 +3949,97 @@ yy151:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy152;
+ default: goto yy156;
}
-yy152:
- YYDEBUG(152, YYPEEK ());
-#line 288 "../ada.re2c"
+yy156:
+ YYDEBUG(156, YYPEEK ());
+#line 291 "../ada.re2c"
{*id = 21; continue;}
-#line 3947 "../ada_re2c.c"
-yy153:
- YYDEBUG(153, YYPEEK ());
+#line 3959 "../ada_re2c.c"
+yy157:
+ YYDEBUG(157, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'S':
- case 's': goto yy240;
+ case 's': goto yy241;
default: goto yy15;
}
-yy154:
- YYDEBUG(154, YYPEEK ());
+yy158:
+ YYDEBUG(158, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'D':
- case 'd': goto yy241;
+ case 'd': goto yy242;
case 'T':
- case 't': goto yy243;
+ case 't': goto yy244;
default: goto yy15;
}
-yy155:
- YYDEBUG(155, YYPEEK ());
+yy159:
+ YYDEBUG(159, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'C':
- case 'c': goto yy244;
+ case 'c': goto yy245;
case 'I':
- case 'i': goto yy245;
+ case 'i': goto yy246;
default: goto yy15;
}
-yy156:
- YYDEBUG(156, YYPEEK ());
+yy160:
+ YYDEBUG(160, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'R':
- case 'r': goto yy246;
+ case 'r': goto yy247;
default: goto yy15;
}
-yy157:
- YYDEBUG(157, YYPEEK ());
+yy161:
+ YYDEBUG(161, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'N':
- case 'n': goto yy248;
+ case 'n': goto yy249;
default: goto yy15;
}
-yy158:
- YYDEBUG(158, YYPEEK ());
+yy162:
+ YYDEBUG(162, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'N':
- case 'n': goto yy249;
+ case 'n': goto yy250;
default: goto yy15;
}
-yy159:
- YYDEBUG(159, YYPEEK ());
+yy163:
+ YYDEBUG(163, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy250;
+ case 't': goto yy251;
default: goto yy15;
}
-yy160:
- YYDEBUG(160, YYPEEK ());
- yyaccept = 8;
+yy164:
+ YYDEBUG(164, YYPEEK ());
+ yyaccept = 9;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -4147,16 +4159,16 @@ yy160:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy161;
+ default: goto yy165;
}
-yy161:
- YYDEBUG(161, YYPEEK ());
-#line 299 "../ada.re2c"
+yy165:
+ YYDEBUG(165, YYPEEK ());
+#line 302 "../ada.re2c"
{*id = 32; continue;}
-#line 4157 "../ada_re2c.c"
-yy162:
- YYDEBUG(162, YYPEEK ());
- yyaccept = 9;
+#line 4169 "../ada_re2c.c"
+yy166:
+ YYDEBUG(166, YYPEEK ());
+ yyaccept = 10;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -4275,17 +4287,17 @@ yy162:
case 0xF3:
case 0xF4: goto yy15;
case 'T':
- case 't': goto yy251;
- default: goto yy163;
+ case 't': goto yy252;
+ default: goto yy167;
}
-yy163:
- YYDEBUG(163, YYPEEK ());
-#line 300 "../ada.re2c"
+yy167:
+ YYDEBUG(167, YYPEEK ());
+#line 303 "../ada.re2c"
{*id = 33; continue;}
-#line 4286 "../ada_re2c.c"
-yy164:
- YYDEBUG(164, YYPEEK ());
- yyaccept = 10;
+#line 4298 "../ada_re2c.c"
+yy168:
+ YYDEBUG(168, YYPEEK ());
+ yyaccept = 11;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -4405,82 +4417,82 @@ yy164:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy165;
+ default: goto yy169;
}
-yy165:
- YYDEBUG(165, YYPEEK ());
-#line 302 "../ada.re2c"
+yy169:
+ YYDEBUG(169, YYPEEK ());
+#line 305 "../ada.re2c"
{*id = 35; continue;}
-#line 4415 "../ada_re2c.c"
-yy166:
- YYDEBUG(166, YYPEEK ());
+#line 4427 "../ada_re2c.c"
+yy170:
+ YYDEBUG(170, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'M':
- case 'm': goto yy252;
+ case 'm': goto yy253;
default: goto yy15;
}
-yy167:
- YYDEBUG(167, YYPEEK ());
+yy171:
+ YYDEBUG(171, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'O':
- case 'o': goto yy253;
+ case 'o': goto yy254;
default: goto yy15;
}
-yy168:
- YYDEBUG(168, YYPEEK ());
+yy172:
+ YYDEBUG(172, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'D':
- case 'd': goto yy254;
+ case 'd': goto yy255;
default: goto yy15;
}
-yy169:
- YYDEBUG(169, YYPEEK ());
+yy173:
+ YYDEBUG(173, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'W':
- case 'w': goto yy256;
+ case 'w': goto yy257;
default: goto yy15;
}
-yy170:
- YYDEBUG(170, YYPEEK ());
+yy174:
+ YYDEBUG(174, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy258;
+ case 't': goto yy259;
default: goto yy15;
}
-yy171:
- YYDEBUG(171, YYPEEK ());
+yy175:
+ YYDEBUG(175, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'L':
- case 'l': goto yy260;
+ case 'l': goto yy261;
default: goto yy15;
}
-yy172:
- YYDEBUG(172, YYPEEK ());
- yyaccept = 11;
+yy176:
+ YYDEBUG(176, YYPEEK ());
+ yyaccept = 12;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -4600,16 +4612,16 @@ yy172:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy173;
+ default: goto yy177;
}
-yy173:
- YYDEBUG(173, YYPEEK ());
-#line 309 "../ada.re2c"
+yy177:
+ YYDEBUG(177, YYPEEK ());
+#line 312 "../ada.re2c"
{*id = 42; continue;}
-#line 4610 "../ada_re2c.c"
-yy174:
- YYDEBUG(174, YYPEEK ());
- yyaccept = 12;
+#line 4622 "../ada_re2c.c"
+yy178:
+ YYDEBUG(178, YYPEEK ());
+ yyaccept = 13;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -4729,337 +4741,260 @@ yy174:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy175;
+ default: goto yy179;
}
-yy175:
- YYDEBUG(175, YYPEEK ());
-#line 310 "../ada.re2c"
+yy179:
+ YYDEBUG(179, YYPEEK ());
+#line 313 "../ada.re2c"
{*id = 43; continue;}
-#line 4739 "../ada_re2c.c"
-yy176:
- YYDEBUG(176, YYPEEK ());
+#line 4751 "../ada_re2c.c"
+yy180:
+ YYDEBUG(180, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'H':
- case 'h': goto yy261;
+ case 'h': goto yy262;
default: goto yy15;
}
-yy177:
- YYDEBUG(177, YYPEEK ());
+yy181:
+ YYDEBUG(181, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy262;
+ case 't': goto yy263;
default: goto yy15;
}
-yy178:
- YYDEBUG(178, YYPEEK ());
+yy182:
+ YYDEBUG(182, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy264;
+ case 'e': goto yy265;
default: goto yy15;
}
-yy179:
- YYDEBUG(179, YYPEEK ());
+yy183:
+ YYDEBUG(183, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'C':
- case 'c': goto yy265;
+ case 'c': goto yy266;
default: goto yy15;
}
-yy180:
- YYDEBUG(180, YYPEEK ());
+yy184:
+ YYDEBUG(184, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy266;
+ case 'a': goto yy267;
case 'I':
- case 'i': goto yy267;
+ case 'i': goto yy268;
case 'O':
- case 'o': goto yy268;
+ case 'o': goto yy269;
default: goto yy15;
}
-yy181:
- YYDEBUG(181, YYPEEK ());
+yy185:
+ YYDEBUG(185, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'I':
- case 'i': goto yy269;
+ case 'i': goto yy270;
case 'N':
- case 'n': goto yy270;
+ case 'n': goto yy271;
default: goto yy15;
}
-yy182:
- YYDEBUG(182, YYPEEK ());
+yy186:
+ YYDEBUG(186, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'C':
- case 'c': goto yy271;
+ case 'c': goto yy272;
case 'M':
- case 'm': goto yy272;
+ case 'm': goto yy273;
case 'N':
- case 'n': goto yy274;
+ case 'n': goto yy275;
case 'Q':
- case 'q': goto yy275;
+ case 'q': goto yy276;
case 'T':
- case 't': goto yy276;
+ case 't': goto yy277;
case 'V':
- case 'v': goto yy277;
+ case 'v': goto yy278;
default: goto yy15;
}
-yy183:
- YYDEBUG(183, YYPEEK ());
+yy187:
+ YYDEBUG(187, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'L':
- case 'l': goto yy278;
+ case 'l': goto yy279;
case 'P':
- case 'p': goto yy279;
+ case 'p': goto yy280;
default: goto yy15;
}
-yy184:
- YYDEBUG(184, YYPEEK ());
+yy188:
+ YYDEBUG(188, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'M':
- case 'm': goto yy280;
+ case 'm': goto yy281;
default: goto yy15;
}
-yy185:
- YYDEBUG(185, YYPEEK ());
+yy189:
+ YYDEBUG(189, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'B':
- case 'b': goto yy281;
+ case 'b': goto yy282;
default: goto yy15;
}
-yy186:
- YYDEBUG(186, YYPEEK ());
+yy190:
+ YYDEBUG(190, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'N':
- case 'n': goto yy282;
+ case 'n': goto yy283;
default: goto yy15;
}
-yy187:
- YYDEBUG(187, YYPEEK ());
+yy191:
+ YYDEBUG(191, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'G':
- case 'g': goto yy283;
+ case 'g': goto yy284;
case 'S':
- case 's': goto yy284;
+ case 's': goto yy285;
default: goto yy15;
}
-yy188:
- YYDEBUG(188, YYPEEK ());
+yy192:
+ YYDEBUG(192, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'R':
- case 'r': goto yy285;
+ case 'r': goto yy286;
default: goto yy15;
}
-yy189:
- YYDEBUG(189, YYPEEK ());
+yy193:
+ YYDEBUG(193, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy286;
+ case 'e': goto yy287;
default: goto yy15;
}
-yy190:
- YYDEBUG(190, YYPEEK ());
+yy194:
+ YYDEBUG(194, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'P':
- case 'p': goto yy287;
+ case 'p': goto yy288;
default: goto yy15;
}
-yy191:
- YYDEBUG(191, YYPEEK ());
+yy195:
+ YYDEBUG(195, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy288;
+ case 't': goto yy289;
default: goto yy15;
}
-yy192:
- YYDEBUG(192, YYPEEK ());
+yy196:
+ YYDEBUG(196, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy289;
+ case 'e': goto yy290;
default: goto yy15;
}
-yy193:
- YYDEBUG(193, YYPEEK ());
+yy197:
+ YYDEBUG(197, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy291;
+ case 'e': goto yy292;
case 'I':
- case 'i': goto yy292;
+ case 'i': goto yy293;
default: goto yy15;
}
-yy194:
- YYDEBUG(194, YYPEEK ());
+yy198:
+ YYDEBUG(198, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy293;
+ case 't': goto yy294;
default: goto yy15;
}
-yy195:
- YYDEBUG(195, YYPEEK ());
+yy199:
+ YYDEBUG(199, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'R':
- case 'r': goto yy294;
+ case 'r': goto yy295;
default: goto yy15;
- }
-yy196:
- YYDEBUG(196, YYPEEK ());
- YYSKIP ();
- yych = YYPEEK ();
- switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f': goto yy296;
- default: goto yy83;
- }
-yy197:
- YYDEBUG(197, YYPEEK ());
- YYSKIP ();
- yych = YYPEEK ();
-yy198:
- YYDEBUG(198, YYPEEK ());
- switch (yych) {
- case 0x00:
- case 0x01:
- case 0x02:
- case 0x03:
- case 0x05:
- case 0x06:
- case 0x07:
- case 0x08:
- case '\t':
- case '\v':
- case '\f':
- case '\r':
- case 0x0E:
- case 0x0F:
- case 0x10:
- case 0x11:
- case 0x12:
- case 0x13:
- case 0x14:
- case 0x15:
- case 0x16:
- case 0x17:
- case 0x18:
- case 0x19:
- case 0x1A:
- case 0x1B:
- case 0x1C:
- case 0x1D:
- case 0x1E:
- case 0x1F:
- case ' ':
- case '!':
- case '"':
- case '#':
- case '$':
- case '%':
- case '&':
- case '\'':
- case '(':
- case ')':
- case '*':
- case '+':
- case ',':
- case '-':
- case '.':
- case '/':
+ }
+yy200:
+ YYDEBUG(200, YYPEEK ());
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -5070,137 +5005,22 @@ yy198:
case '7':
case '8':
case '9':
- case ':':
- case ';':
- case '<':
- case '=':
- case '>':
- case '?':
- case '@':
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
- case 'G':
- case 'H':
- case 'I':
- case 'J':
- case 'K':
- case 'L':
- case 'M':
- case 'N':
- case 'O':
- case 'P':
- case 'Q':
- case 'R':
- case 'S':
- case 'T':
- case 'U':
- case 'V':
- case 'W':
- case 'X':
- case 'Y':
- case 'Z':
- case '[':
- case '\\':
- case ']':
- case '^':
- case '_':
- case '`':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z':
- case '{':
- case '|':
- case '~':
- case 0x7F: goto yy197;
- case 0x04:
- case '\n':
- case '}': goto yy199;
- case 0xC2:
- case 0xC3:
- case 0xC4:
- case 0xC5:
- case 0xC6:
- case 0xC7:
- case 0xC8:
- case 0xC9:
- case 0xCA:
- case 0xCB:
- case 0xCC:
- case 0xCD:
- case 0xCE:
- case 0xCF:
- case 0xD0:
- case 0xD1:
- case 0xD2:
- case 0xD3:
- case 0xD4:
- case 0xD5:
- case 0xD6:
- case 0xD7:
- case 0xD8:
- case 0xD9:
- case 0xDA:
- case 0xDB:
- case 0xDC:
- case 0xDD:
- case 0xDE:
- case 0xDF: goto yy200;
- case 0xE0: goto yy201;
- case 0xE1:
- case 0xE2:
- case 0xE3:
- case 0xE4:
- case 0xE5:
- case 0xE6:
- case 0xE7:
- case 0xE8:
- case 0xE9:
- case 0xEA:
- case 0xEB:
- case 0xEC:
- case 0xED:
- case 0xEE:
- case 0xEF: goto yy202;
- case 0xF0: goto yy203;
- case 0xF1:
- case 0xF2:
- case 0xF3: goto yy204;
- case 0xF4: goto yy205;
- default: goto yy83;
+ case 'f': goto yy297;
+ default: goto yy88;
}
-yy199:
- YYDEBUG(199, YYPEEK ());
- YYSKIP ();
- goto yy116;
-yy200:
- YYDEBUG(200, YYPEEK ());
+yy201:
+ YYDEBUG(201, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -5267,11 +5087,11 @@ yy200:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy197;
- default: goto yy83;
+ case 0xBF: goto yy75;
+ default: goto yy88;
}
-yy201:
- YYDEBUG(201, YYPEEK ());
+yy202:
+ YYDEBUG(202, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -5306,11 +5126,11 @@ yy201:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy200;
- default: goto yy83;
+ case 0xBF: goto yy201;
+ default: goto yy88;
}
-yy202:
- YYDEBUG(202, YYPEEK ());
+yy203:
+ YYDEBUG(203, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -5377,11 +5197,11 @@ yy202:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy200;
- default: goto yy83;
+ case 0xBF: goto yy201;
+ default: goto yy88;
}
-yy203:
- YYDEBUG(203, YYPEEK ());
+yy204:
+ YYDEBUG(204, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -5432,11 +5252,11 @@ yy203:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy202;
- default: goto yy83;
+ case 0xBF: goto yy203;
+ default: goto yy88;
}
-yy204:
- YYDEBUG(204, YYPEEK ());
+yy205:
+ YYDEBUG(205, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -5503,11 +5323,11 @@ yy204:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy202;
- default: goto yy83;
+ case 0xBF: goto yy203;
+ default: goto yy88;
}
-yy205:
- YYDEBUG(205, YYPEEK ());
+yy206:
+ YYDEBUG(206, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -5526,17 +5346,17 @@ yy205:
case 0x8C:
case 0x8D:
case 0x8E:
- case 0x8F: goto yy202;
- default: goto yy83;
+ case 0x8F: goto yy203;
+ default: goto yy88;
}
-yy206:
- YYDEBUG(206, YYPEEK ());
- yyaccept = 4;
+yy207:
+ YYDEBUG(207, YYPEEK ());
+ yyaccept = 6;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case '"': goto yy81;
+ case '"': goto yy86;
case '0':
case '1':
case '2':
@@ -5558,36 +5378,36 @@ yy206:
case 'c':
case 'd':
case 'e':
- case 'f': goto yy298;
- default: goto yy85;
- }
-yy207:
- YYDEBUG(207, YYPEEK ());
- YYSKIP ();
- yych = YYPEEK ();
- switch (yych) {
- case 's': goto yy300;
- default: goto yy83;
+ case 'f': goto yy299;
+ default: goto yy90;
}
yy208:
YYDEBUG(208, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case 'd': goto yy114;
- default: goto yy83;
+ case 's': goto yy301;
+ default: goto yy88;
}
yy209:
YYDEBUG(209, YYPEEK ());
YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'd': goto yy119;
+ default: goto yy88;
+ }
yy210:
YYDEBUG(210, YYPEEK ());
-#line 374 "../ada.re2c"
- {*id = 107; continue;}
-#line 5588 "../ada_re2c.c"
+ YYSKIP ();
yy211:
YYDEBUG(211, YYPEEK ());
- yyaccept = 13;
+#line 379 "../ada.re2c"
+ {*id = 109; continue;}
+#line 5408 "../ada_re2c.c"
+yy212:
+ YYDEBUG(212, YYPEEK ());
+ yyaccept = 14;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -5686,8 +5506,8 @@ yy211:
case '|':
case '}':
case '~':
- case 0x7F: goto yy301;
- case '[': goto yy302;
+ case 0x7F: goto yy302;
+ case '[': goto yy303;
case 0xC2:
case 0xC3:
case 0xC4:
@@ -5717,8 +5537,8 @@ yy211:
case 0xDC:
case 0xDD:
case 0xDE:
- case 0xDF: goto yy303;
- case 0xE0: goto yy304;
+ case 0xDF: goto yy304;
+ case 0xE0: goto yy305;
case 0xE1:
case 0xE2:
case 0xE3:
@@ -5733,24 +5553,24 @@ yy211:
case 0xEC:
case 0xED:
case 0xEE:
- case 0xEF: goto yy305;
- case 0xF0: goto yy306;
+ case 0xEF: goto yy306;
+ case 0xF0: goto yy307;
case 0xF1:
case 0xF2:
- case 0xF3: goto yy307;
- case 0xF4: goto yy308;
- default: goto yy210;
+ case 0xF3: goto yy308;
+ case 0xF4: goto yy309;
+ default: goto yy211;
}
-yy212:
- YYDEBUG(212, YYPEEK ());
+yy213:
+ YYDEBUG(213, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '"': goto yy83;
- default: goto yy310;
+ case '"': goto yy88;
+ default: goto yy311;
}
-yy213:
- YYDEBUG(213, YYPEEK ());
+yy214:
+ YYDEBUG(214, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -5817,11 +5637,11 @@ yy213:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy114;
- default: goto yy83;
+ case 0xBF: goto yy119;
+ default: goto yy88;
}
-yy214:
- YYDEBUG(214, YYPEEK ());
+yy215:
+ YYDEBUG(215, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -5856,11 +5676,11 @@ yy214:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy213;
- default: goto yy83;
+ case 0xBF: goto yy214;
+ default: goto yy88;
}
-yy215:
- YYDEBUG(215, YYPEEK ());
+yy216:
+ YYDEBUG(216, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -5927,11 +5747,11 @@ yy215:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy213;
- default: goto yy83;
+ case 0xBF: goto yy214;
+ default: goto yy88;
}
-yy216:
- YYDEBUG(216, YYPEEK ());
+yy217:
+ YYDEBUG(217, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -5982,11 +5802,11 @@ yy216:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy215;
- default: goto yy83;
+ case 0xBF: goto yy216;
+ default: goto yy88;
}
-yy217:
- YYDEBUG(217, YYPEEK ());
+yy218:
+ YYDEBUG(218, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -6053,11 +5873,11 @@ yy217:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy215;
- default: goto yy83;
+ case 0xBF: goto yy216;
+ default: goto yy88;
}
-yy218:
- YYDEBUG(218, YYPEEK ());
+yy219:
+ YYDEBUG(219, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -6076,17 +5896,17 @@ yy218:
case 0x8C:
case 0x8D:
case 0x8E:
- case 0x8F: goto yy215;
- default: goto yy83;
+ case 0x8F: goto yy216;
+ default: goto yy88;
}
-yy219:
- YYDEBUG(219, YYPEEK ());
- YYSKIP ();
- yych = YYPEEK ();
yy220:
YYDEBUG(220, YYPEEK ());
+ YYSKIP ();
+ yych = YYPEEK ();
+yy221:
+ YYDEBUG(221, YYPEEK ());
switch (yych) {
- case '#': goto yy311;
+ case '#': goto yy312;
case '-':
case '.':
case '0':
@@ -6111,22 +5931,22 @@ yy220:
case 'c':
case 'd':
case 'e':
- case 'f': goto yy219;
- default: goto yy83;
+ case 'f': goto yy220;
+ default: goto yy88;
}
-yy221:
- YYDEBUG(221, YYPEEK ());
+yy222:
+ YYDEBUG(222, YYPEEK ());
yyaccept = 3;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
- YYDEBUG(222, YYPEEK ());
+ YYDEBUG(223, YYPEEK ());
switch (yych) {
case '-':
case '.':
case 'E':
case '_':
- case 'e': goto yy122;
+ case 'e': goto yy126;
case '0':
case '1':
case '2':
@@ -6136,23 +5956,23 @@ yy221:
case '6':
case '7':
case '8':
- case '9': goto yy221;
+ case '9': goto yy222;
default: goto yy39;
}
-yy223:
- YYDEBUG(223, YYPEEK ());
+yy224:
+ YYDEBUG(224, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'R':
- case 'r': goto yy312;
+ case 'r': goto yy313;
default: goto yy15;
}
-yy224:
- YYDEBUG(224, YYPEEK ());
- yyaccept = 14;
+yy225:
+ YYDEBUG(225, YYPEEK ());
+ yyaccept = 15;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -6271,39 +6091,39 @@ yy224:
case 0xF3:
case 0xF4: goto yy15;
case 'T':
- case 't': goto yy313;
- default: goto yy225;
+ case 't': goto yy314;
+ default: goto yy226;
}
-yy225:
- YYDEBUG(225, YYPEEK ());
-#line 270 "../ada.re2c"
- {*id = 3; continue;}
-#line 6282 "../ada_re2c.c"
yy226:
YYDEBUG(226, YYPEEK ());
+#line 273 "../ada.re2c"
+ {*id = 3; continue;}
+#line 6102 "../ada_re2c.c"
+yy227:
+ YYDEBUG(227, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy314;
+ case 'e': goto yy315;
default: goto yy15;
}
-yy227:
- YYDEBUG(227, YYPEEK ());
+yy228:
+ YYDEBUG(228, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy315;
+ case 'a': goto yy316;
default: goto yy15;
}
-yy228:
- YYDEBUG(228, YYPEEK ());
- yyaccept = 15;
+yy229:
+ YYDEBUG(229, YYPEEK ());
+ yyaccept = 16;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -6423,16 +6243,16 @@ yy228:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy229;
+ default: goto yy230;
}
-yy229:
- YYDEBUG(229, YYPEEK ());
-#line 276 "../ada.re2c"
- {*id = 9; continue;}
-#line 6433 "../ada_re2c.c"
yy230:
YYDEBUG(230, YYPEEK ());
- yyaccept = 16;
+#line 279 "../ada.re2c"
+ {*id = 9; continue;}
+#line 6253 "../ada_re2c.c"
+yy231:
+ YYDEBUG(231, YYPEEK ());
+ yyaccept = 17;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -6552,24 +6372,13 @@ yy230:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy231;
+ default: goto yy232;
}
-yy231:
- YYDEBUG(231, YYPEEK ());
-#line 277 "../ada.re2c"
- {*id = 10; continue;}
-#line 6562 "../ada_re2c.c"
yy232:
YYDEBUG(232, YYPEEK ());
- yyaccept = 1;
- YYSKIP ();
- YYBACKUP ();
- yych = YYPEEK ();
- switch (yych) {
- case 'A':
- case 'a': goto yy316;
- default: goto yy15;
- }
+#line 280 "../ada.re2c"
+ {*id = 10; continue;}
+#line 6382 "../ada_re2c.c"
yy233:
YYDEBUG(233, YYPEEK ());
yyaccept = 1;
@@ -6577,8 +6386,8 @@ yy233:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'I':
- case 'i': goto yy317;
+ case 'A':
+ case 'a': goto yy317;
default: goto yy15;
}
yy234:
@@ -6588,8 +6397,8 @@ yy234:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'Y':
- case 'y': goto yy318;
+ case 'I':
+ case 'i': goto yy318;
default: goto yy15;
}
yy235:
@@ -6599,8 +6408,8 @@ yy235:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'E':
- case 'e': goto yy320;
+ case 'Y':
+ case 'y': goto yy319;
default: goto yy15;
}
yy236:
@@ -6610,8 +6419,8 @@ yy236:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'S':
- case 's': goto yy322;
+ case 'E':
+ case 'e': goto yy321;
default: goto yy15;
}
yy237:
@@ -6621,8 +6430,8 @@ yy237:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'L':
- case 'l': goto yy323;
+ case 'S':
+ case 's': goto yy323;
default: goto yy15;
}
yy238:
@@ -6632,10 +6441,8 @@ yy238:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'A':
- case 'a': goto yy324;
- case 'T':
- case 't': goto yy325;
+ case 'L':
+ case 'l': goto yy324;
default: goto yy15;
}
yy239:
@@ -6645,8 +6452,10 @@ yy239:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'I':
- case 'i': goto yy326;
+ case 'A':
+ case 'a': goto yy325;
+ case 'T':
+ case 't': goto yy326;
default: goto yy15;
}
yy240:
@@ -6656,15 +6465,26 @@ yy240:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'E':
- case 'e': goto yy327;
case 'I':
- case 'i': goto yy329;
+ case 'i': goto yy327;
default: goto yy15;
}
yy241:
YYDEBUG(241, YYPEEK ());
- yyaccept = 17;
+ yyaccept = 1;
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'E':
+ case 'e': goto yy328;
+ case 'I':
+ case 'i': goto yy330;
+ default: goto yy15;
+ }
+yy242:
+ YYDEBUG(242, YYPEEK ());
+ yyaccept = 18;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -6784,49 +6604,49 @@ yy241:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy242;
+ default: goto yy243;
}
-yy242:
- YYDEBUG(242, YYPEEK ());
-#line 291 "../ada.re2c"
- {*id = 24; continue;}
-#line 6794 "../ada_re2c.c"
yy243:
YYDEBUG(243, YYPEEK ());
+#line 294 "../ada.re2c"
+ {*id = 24; continue;}
+#line 6614 "../ada_re2c.c"
+yy244:
+ YYDEBUG(244, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'R':
- case 'r': goto yy330;
+ case 'r': goto yy331;
default: goto yy15;
}
-yy244:
- YYDEBUG(244, YYPEEK ());
+yy245:
+ YYDEBUG(245, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy331;
+ case 'e': goto yy332;
default: goto yy15;
}
-yy245:
- YYDEBUG(245, YYPEEK ());
+yy246:
+ YYDEBUG(246, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy332;
+ case 't': goto yy333;
default: goto yy15;
}
-yy246:
- YYDEBUG(246, YYPEEK ());
- yyaccept = 18;
+yy247:
+ YYDEBUG(247, YYPEEK ());
+ yyaccept = 19;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -6946,82 +6766,82 @@ yy246:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy247;
+ default: goto yy248;
}
-yy247:
- YYDEBUG(247, YYPEEK ());
-#line 295 "../ada.re2c"
- {*id = 28; continue;}
-#line 6956 "../ada_re2c.c"
yy248:
YYDEBUG(248, YYPEEK ());
+#line 298 "../ada.re2c"
+ {*id = 28; continue;}
+#line 6776 "../ada_re2c.c"
+yy249:
+ YYDEBUG(249, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'C':
- case 'c': goto yy334;
+ case 'c': goto yy335;
default: goto yy15;
}
-yy249:
- YYDEBUG(249, YYPEEK ());
+yy250:
+ YYDEBUG(250, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy335;
+ case 'e': goto yy336;
default: goto yy15;
}
-yy250:
- YYDEBUG(250, YYPEEK ());
+yy251:
+ YYDEBUG(251, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'O':
- case 'o': goto yy336;
+ case 'o': goto yy337;
default: goto yy15;
}
-yy251:
- YYDEBUG(251, YYPEEK ());
+yy252:
+ YYDEBUG(252, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy338;
+ case 'e': goto yy339;
default: goto yy15;
}
-yy252:
- YYDEBUG(252, YYPEEK ());
+yy253:
+ YYDEBUG(253, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'I':
- case 'i': goto yy339;
+ case 'i': goto yy340;
default: goto yy15;
}
-yy253:
- YYDEBUG(253, YYPEEK ());
+yy254:
+ YYDEBUG(254, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'P':
- case 'p': goto yy340;
+ case 'p': goto yy341;
default: goto yy15;
}
-yy254:
- YYDEBUG(254, YYPEEK ());
- yyaccept = 19;
+yy255:
+ YYDEBUG(255, YYPEEK ());
+ yyaccept = 20;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -7141,16 +6961,16 @@ yy254:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy255;
+ default: goto yy256;
}
-yy255:
- YYDEBUG(255, YYPEEK ());
-#line 305 "../ada.re2c"
- {*id = 38; continue;}
-#line 7151 "../ada_re2c.c"
yy256:
YYDEBUG(256, YYPEEK ());
- yyaccept = 20;
+#line 308 "../ada.re2c"
+ {*id = 38; continue;}
+#line 6971 "../ada_re2c.c"
+yy257:
+ YYDEBUG(257, YYPEEK ());
+ yyaccept = 21;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -7270,16 +7090,16 @@ yy256:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy257;
+ default: goto yy258;
}
-yy257:
- YYDEBUG(257, YYPEEK ());
-#line 306 "../ada.re2c"
- {*id = 39; continue;}
-#line 7280 "../ada_re2c.c"
yy258:
YYDEBUG(258, YYPEEK ());
- yyaccept = 21;
+#line 309 "../ada.re2c"
+ {*id = 39; continue;}
+#line 7100 "../ada_re2c.c"
+yy259:
+ YYDEBUG(259, YYPEEK ());
+ yyaccept = 22;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -7399,38 +7219,38 @@ yy258:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy259;
+ default: goto yy260;
}
-yy259:
- YYDEBUG(259, YYPEEK ());
-#line 307 "../ada.re2c"
- {*id = 40; continue;}
-#line 7409 "../ada_re2c.c"
yy260:
YYDEBUG(260, YYPEEK ());
+#line 310 "../ada.re2c"
+ {*id = 40; continue;}
+#line 7229 "../ada_re2c.c"
+yy261:
+ YYDEBUG(261, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'L':
- case 'l': goto yy342;
+ case 'l': goto yy343;
default: goto yy15;
}
-yy261:
- YYDEBUG(261, YYPEEK ());
+yy262:
+ YYDEBUG(262, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy344;
+ case 'e': goto yy345;
default: goto yy15;
}
-yy262:
- YYDEBUG(262, YYPEEK ());
- yyaccept = 22;
+yy263:
+ YYDEBUG(263, YYPEEK ());
+ yyaccept = 23;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -7550,24 +7370,13 @@ yy262:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy263;
+ default: goto yy264;
}
-yy263:
- YYDEBUG(263, YYPEEK ());
-#line 312 "../ada.re2c"
- {*id = 45; continue;}
-#line 7560 "../ada_re2c.c"
yy264:
YYDEBUG(264, YYPEEK ());
- yyaccept = 1;
- YYSKIP ();
- YYBACKUP ();
- yych = YYPEEK ();
- switch (yych) {
- case 'R':
- case 'r': goto yy345;
- default: goto yy15;
- }
+#line 315 "../ada.re2c"
+ {*id = 45; continue;}
+#line 7380 "../ada_re2c.c"
yy265:
YYDEBUG(265, YYPEEK ());
yyaccept = 1;
@@ -7575,8 +7384,8 @@ yy265:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'K':
- case 'k': goto yy346;
+ case 'R':
+ case 'r': goto yy346;
default: goto yy15;
}
yy266:
@@ -7586,8 +7395,8 @@ yy266:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'G':
- case 'g': goto yy347;
+ case 'K':
+ case 'k': goto yy347;
default: goto yy15;
}
yy267:
@@ -7597,8 +7406,8 @@ yy267:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'V':
- case 'v': goto yy348;
+ case 'G':
+ case 'g': goto yy348;
default: goto yy15;
}
yy268:
@@ -7608,10 +7417,8 @@ yy268:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'C':
- case 'c': goto yy349;
- case 'T':
- case 't': goto yy350;
+ case 'V':
+ case 'v': goto yy349;
default: goto yy15;
}
yy269:
@@ -7621,8 +7428,10 @@ yy269:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'S':
- case 's': goto yy351;
+ case 'C':
+ case 'c': goto yy350;
+ case 'T':
+ case 't': goto yy351;
default: goto yy15;
}
yy270:
@@ -7632,8 +7441,8 @@ yy270:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'G':
- case 'g': goto yy352;
+ case 'S':
+ case 's': goto yy352;
default: goto yy15;
}
yy271:
@@ -7643,13 +7452,24 @@ yy271:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'O':
- case 'o': goto yy353;
+ case 'G':
+ case 'g': goto yy353;
default: goto yy15;
}
yy272:
YYDEBUG(272, YYPEEK ());
- yyaccept = 23;
+ yyaccept = 1;
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'O':
+ case 'o': goto yy354;
+ default: goto yy15;
+ }
+yy273:
+ YYDEBUG(273, YYPEEK ());
+ yyaccept = 24;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -7769,24 +7589,13 @@ yy272:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy273;
+ default: goto yy274;
}
-yy273:
- YYDEBUG(273, YYPEEK ());
-#line 322 "../ada.re2c"
- {*id = 55; continue;}
-#line 7779 "../ada_re2c.c"
yy274:
YYDEBUG(274, YYPEEK ());
- yyaccept = 1;
- YYSKIP ();
- YYBACKUP ();
- yych = YYPEEK ();
- switch (yych) {
- case 'A':
- case 'a': goto yy354;
- default: goto yy15;
- }
+#line 325 "../ada.re2c"
+ {*id = 55; continue;}
+#line 7599 "../ada_re2c.c"
yy275:
YYDEBUG(275, YYPEEK ());
yyaccept = 1;
@@ -7794,8 +7603,8 @@ yy275:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'U':
- case 'u': goto yy355;
+ case 'A':
+ case 'a': goto yy355;
default: goto yy15;
}
yy276:
@@ -7816,8 +7625,8 @@ yy277:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'E':
- case 'e': goto yy357;
+ case 'U':
+ case 'u': goto yy357;
default: goto yy15;
}
yy278:
@@ -7838,8 +7647,8 @@ yy279:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'A':
- case 'a': goto yy359;
+ case 'E':
+ case 'e': goto yy359;
default: goto yy15;
}
yy280:
@@ -7849,8 +7658,8 @@ yy280:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'E':
- case 'e': goto yy360;
+ case 'A':
+ case 'a': goto yy360;
default: goto yy15;
}
yy281:
@@ -7860,8 +7669,8 @@ yy281:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'T':
- case 't': goto yy362;
+ case 'E':
+ case 'e': goto yy361;
default: goto yy15;
}
yy282:
@@ -7871,8 +7680,8 @@ yy282:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'C':
- case 'c': goto yy363;
+ case 'T':
+ case 't': goto yy363;
default: goto yy15;
}
yy283:
@@ -7882,8 +7691,8 @@ yy283:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'G':
- case 'g': goto yy364;
+ case 'C':
+ case 'c': goto yy364;
default: goto yy15;
}
yy284:
@@ -7893,8 +7702,8 @@ yy284:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'K':
- case 'k': goto yy365;
+ case 'G':
+ case 'g': goto yy365;
default: goto yy15;
}
yy285:
@@ -7904,8 +7713,8 @@ yy285:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'M':
- case 'm': goto yy367;
+ case 'K':
+ case 'k': goto yy366;
default: goto yy15;
}
yy286:
@@ -7915,8 +7724,8 @@ yy286:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'N':
- case 'n': goto yy368;
+ case 'M':
+ case 'm': goto yy368;
default: goto yy15;
}
yy287:
@@ -7926,8 +7735,8 @@ yy287:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'E':
- case 'e': goto yy370;
+ case 'N':
+ case 'n': goto yy369;
default: goto yy15;
}
yy288:
@@ -7937,13 +7746,24 @@ yy288:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'I':
- case 'i': goto yy372;
+ case 'E':
+ case 'e': goto yy371;
default: goto yy15;
}
yy289:
YYDEBUG(289, YYPEEK ());
- yyaccept = 24;
+ yyaccept = 1;
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'I':
+ case 'i': goto yy373;
+ default: goto yy15;
+ }
+yy290:
+ YYDEBUG(290, YYPEEK ());
+ yyaccept = 25;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -8063,49 +7883,49 @@ yy289:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy290;
+ default: goto yy291;
}
-yy290:
- YYDEBUG(290, YYPEEK ());
-#line 338 "../ada.re2c"
- {*id = 71; continue;}
-#line 8073 "../ada_re2c.c"
yy291:
YYDEBUG(291, YYPEEK ());
+#line 341 "../ada.re2c"
+ {*id = 71; continue;}
+#line 7893 "../ada_re2c.c"
+yy292:
+ YYDEBUG(292, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'N':
- case 'n': goto yy373;
+ case 'n': goto yy374;
default: goto yy15;
}
-yy292:
- YYDEBUG(292, YYPEEK ());
+yy293:
+ YYDEBUG(293, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'L':
- case 'l': goto yy375;
+ case 'l': goto yy376;
default: goto yy15;
}
-yy293:
- YYDEBUG(293, YYPEEK ());
+yy294:
+ YYDEBUG(294, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'H':
- case 'h': goto yy376;
+ case 'h': goto yy377;
default: goto yy15;
}
-yy294:
- YYDEBUG(294, YYPEEK ());
- yyaccept = 25;
+yy295:
+ YYDEBUG(295, YYPEEK ());
+ yyaccept = 26;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -8225,20 +8045,20 @@ yy294:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy295;
+ default: goto yy296;
}
-yy295:
- YYDEBUG(295, YYPEEK ());
-#line 342 "../ada.re2c"
- {*id = 75; continue;}
-#line 8235 "../ada_re2c.c"
yy296:
YYDEBUG(296, YYPEEK ());
+#line 345 "../ada.re2c"
+ {*id = 75; continue;}
+#line 8055 "../ada_re2c.c"
+yy297:
+ YYDEBUG(297, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
- YYDEBUG(297, YYPEEK ());
+ YYDEBUG(298, YYPEEK ());
switch (yych) {
- case '"': goto yy378;
+ case '"': goto yy379;
case '0':
case '1':
case '2':
@@ -8260,16 +8080,16 @@ yy296:
case 'c':
case 'd':
case 'e':
- case 'f': goto yy296;
- default: goto yy83;
+ case 'f': goto yy297;
+ default: goto yy88;
}
-yy298:
- YYDEBUG(298, YYPEEK ());
+yy299:
+ YYDEBUG(299, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
- YYDEBUG(299, YYPEEK ());
+ YYDEBUG(300, YYPEEK ());
switch (yych) {
- case '"': goto yy379;
+ case '"': goto yy380;
case '0':
case '1':
case '2':
@@ -8291,40 +8111,40 @@ yy298:
case 'c':
case 'd':
case 'e':
- case 'f': goto yy298;
- default: goto yy83;
- }
-yy300:
- YYDEBUG(300, YYPEEK ());
- YYSKIP ();
- yych = YYPEEK ();
- switch (yych) {
- case 'e': goto yy114;
- case 'i': goto yy95;
- default: goto yy83;
+ case 'f': goto yy299;
+ default: goto yy88;
}
yy301:
YYDEBUG(301, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '\'': goto yy380;
- default: goto yy83;
+ case 'e': goto yy119;
+ case 'i': goto yy100;
+ default: goto yy88;
}
yy302:
YYDEBUG(302, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '"': goto yy382;
- case '\'': goto yy380;
- default: goto yy83;
+ case '\'': goto yy381;
+ default: goto yy88;
}
yy303:
YYDEBUG(303, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
+ case '"': goto yy383;
+ case '\'': goto yy381;
+ default: goto yy88;
+ }
+yy304:
+ YYDEBUG(304, YYPEEK ());
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -8388,11 +8208,11 @@ yy303:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy301;
- default: goto yy83;
+ case 0xBF: goto yy302;
+ default: goto yy88;
}
-yy304:
- YYDEBUG(304, YYPEEK ());
+yy305:
+ YYDEBUG(305, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -8427,11 +8247,11 @@ yy304:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy303;
- default: goto yy83;
+ case 0xBF: goto yy304;
+ default: goto yy88;
}
-yy305:
- YYDEBUG(305, YYPEEK ());
+yy306:
+ YYDEBUG(306, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -8498,11 +8318,11 @@ yy305:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy303;
- default: goto yy83;
+ case 0xBF: goto yy304;
+ default: goto yy88;
}
-yy306:
- YYDEBUG(306, YYPEEK ());
+yy307:
+ YYDEBUG(307, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -8553,11 +8373,11 @@ yy306:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy305;
- default: goto yy83;
+ case 0xBF: goto yy306;
+ default: goto yy88;
}
-yy307:
- YYDEBUG(307, YYPEEK ());
+yy308:
+ YYDEBUG(308, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -8624,11 +8444,11 @@ yy307:
case 0xBC:
case 0xBD:
case 0xBE:
- case 0xBF: goto yy305;
- default: goto yy83;
+ case 0xBF: goto yy306;
+ default: goto yy88;
}
-yy308:
- YYDEBUG(308, YYPEEK ());
+yy309:
+ YYDEBUG(309, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -8647,17 +8467,17 @@ yy308:
case 0x8C:
case 0x8D:
case 0x8E:
- case 0x8F: goto yy305;
- default: goto yy83;
+ case 0x8F: goto yy306;
+ default: goto yy88;
}
-yy309:
- YYDEBUG(309, YYPEEK ());
- YYSKIP ();
- yych = YYPEEK ();
yy310:
YYDEBUG(310, YYPEEK ());
+ YYSKIP ();
+ yych = YYPEEK ();
+yy311:
+ YYDEBUG(311, YYPEEK ());
switch (yych) {
- case '"': goto yy383;
+ case '"': goto yy384;
case '0':
case '1':
case '2':
@@ -8679,24 +8499,13 @@ yy310:
case 'c':
case 'd':
case 'e':
- case 'f': goto yy309;
- default: goto yy83;
+ case 'f': goto yy310;
+ default: goto yy88;
}
-yy311:
- YYDEBUG(311, YYPEEK ());
- YYSKIP ();
- goto yy39;
yy312:
YYDEBUG(312, YYPEEK ());
- yyaccept = 1;
YYSKIP ();
- YYBACKUP ();
- yych = YYPEEK ();
- switch (yych) {
- case 'T':
- case 't': goto yy384;
- default: goto yy15;
- }
+ goto yy39;
yy313:
YYDEBUG(313, YYPEEK ());
yyaccept = 1;
@@ -8704,8 +8513,8 @@ yy313:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'R':
- case 'r': goto yy386;
+ case 'T':
+ case 't': goto yy385;
default: goto yy15;
}
yy314:
@@ -8715,10 +8524,8 @@ yy314:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'P':
- case 'p': goto yy387;
- case 'S':
- case 's': goto yy388;
+ case 'R':
+ case 'r': goto yy387;
default: goto yy15;
}
yy315:
@@ -8728,6 +8535,8 @@ yy315:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
+ case 'P':
+ case 'p': goto yy388;
case 'S':
case 's': goto yy389;
default: goto yy15;
@@ -8739,8 +8548,8 @@ yy316:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'Y':
- case 'y': goto yy390;
+ case 'S':
+ case 's': goto yy390;
default: goto yy15;
}
yy317:
@@ -8750,13 +8559,24 @@ yy317:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'N':
- case 'n': goto yy392;
+ case 'Y':
+ case 'y': goto yy391;
default: goto yy15;
}
yy318:
YYDEBUG(318, YYPEEK ());
- yyaccept = 26;
+ yyaccept = 1;
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'N':
+ case 'n': goto yy393;
+ default: goto yy15;
+ }
+yy319:
+ YYDEBUG(319, YYPEEK ());
+ yyaccept = 27;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -8876,16 +8696,16 @@ yy318:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy319;
+ default: goto yy320;
}
-yy319:
- YYDEBUG(319, YYPEEK ());
-#line 281 "../ada.re2c"
- {*id = 14; continue;}
-#line 8886 "../ada_re2c.c"
yy320:
YYDEBUG(320, YYPEEK ());
- yyaccept = 27;
+#line 284 "../ada.re2c"
+ {*id = 14; continue;}
+#line 8706 "../ada_re2c.c"
+yy321:
+ YYDEBUG(321, YYPEEK ());
+ yyaccept = 28;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -9005,71 +8825,71 @@ yy320:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy321;
+ default: goto yy322;
}
-yy321:
- YYDEBUG(321, YYPEEK ());
-#line 282 "../ada.re2c"
- {*id = 15; continue;}
-#line 9015 "../ada_re2c.c"
yy322:
YYDEBUG(322, YYPEEK ());
+#line 285 "../ada.re2c"
+ {*id = 15; continue;}
+#line 8835 "../ada_re2c.c"
+yy323:
+ YYDEBUG(323, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy394;
+ case 't': goto yy395;
default: goto yy15;
}
-yy323:
- YYDEBUG(323, YYPEEK ());
+yy324:
+ YYDEBUG(324, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy395;
+ case 'a': goto yy396;
default: goto yy15;
}
-yy324:
- YYDEBUG(324, YYPEEK ());
+yy325:
+ YYDEBUG(325, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'Y':
- case 'y': goto yy396;
+ case 'y': goto yy397;
default: goto yy15;
}
-yy325:
- YYDEBUG(325, YYPEEK ());
+yy326:
+ YYDEBUG(326, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy398;
+ case 'a': goto yy399;
default: goto yy15;
}
-yy326:
- YYDEBUG(326, YYPEEK ());
+yy327:
+ YYDEBUG(327, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy400;
+ case 't': goto yy401;
default: goto yy15;
}
-yy327:
- YYDEBUG(327, YYPEEK ());
- yyaccept = 28;
+yy328:
+ YYDEBUG(328, YYPEEK ());
+ yyaccept = 29;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -9189,49 +9009,49 @@ yy327:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy328;
+ default: goto yy329;
}
-yy328:
- YYDEBUG(328, YYPEEK ());
-#line 289 "../ada.re2c"
- {*id = 22; continue;}
-#line 9199 "../ada_re2c.c"
yy329:
YYDEBUG(329, YYPEEK ());
+#line 292 "../ada.re2c"
+ {*id = 22; continue;}
+#line 9019 "../ada_re2c.c"
+yy330:
+ YYDEBUG(330, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'F':
- case 'f': goto yy401;
+ case 'f': goto yy402;
default: goto yy15;
}
-yy330:
- YYDEBUG(330, YYPEEK ());
+yy331:
+ YYDEBUG(331, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'Y':
- case 'y': goto yy403;
+ case 'y': goto yy404;
default: goto yy15;
}
-yy331:
- YYDEBUG(331, YYPEEK ());
+yy332:
+ YYDEBUG(332, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'P':
- case 'p': goto yy405;
+ case 'p': goto yy406;
default: goto yy15;
}
-yy332:
- YYDEBUG(332, YYPEEK ());
- yyaccept = 29;
+yy333:
+ YYDEBUG(333, YYPEEK ());
+ yyaccept = 30;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -9351,38 +9171,38 @@ yy332:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy333;
+ default: goto yy334;
}
-yy333:
- YYDEBUG(333, YYPEEK ());
-#line 294 "../ada.re2c"
- {*id = 27; continue;}
-#line 9361 "../ada_re2c.c"
yy334:
YYDEBUG(334, YYPEEK ());
+#line 297 "../ada.re2c"
+ {*id = 27; continue;}
+#line 9181 "../ada_re2c.c"
+yy335:
+ YYDEBUG(335, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy406;
+ case 't': goto yy407;
default: goto yy15;
}
-yy335:
- YYDEBUG(335, YYPEEK ());
+yy336:
+ YYDEBUG(336, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'R':
- case 'r': goto yy407;
+ case 'r': goto yy408;
default: goto yy15;
}
-yy336:
- YYDEBUG(336, YYPEEK ());
- yyaccept = 30;
+yy337:
+ YYDEBUG(337, YYPEEK ());
+ yyaccept = 31;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -9502,38 +9322,38 @@ yy336:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy337;
+ default: goto yy338;
}
-yy337:
- YYDEBUG(337, YYPEEK ());
-#line 298 "../ada.re2c"
- {*id = 31; continue;}
-#line 9512 "../ada_re2c.c"
yy338:
YYDEBUG(338, YYPEEK ());
+#line 301 "../ada.re2c"
+ {*id = 31; continue;}
+#line 9332 "../ada_re2c.c"
+yy339:
+ YYDEBUG(339, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'R':
- case 'r': goto yy408;
+ case 'r': goto yy409;
default: goto yy15;
}
-yy339:
- YYDEBUG(339, YYPEEK ());
+yy340:
+ YYDEBUG(340, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy409;
+ case 't': goto yy410;
default: goto yy15;
}
-yy340:
- YYDEBUG(340, YYPEEK ());
- yyaccept = 31;
+yy341:
+ YYDEBUG(341, YYPEEK ());
+ yyaccept = 32;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -9653,16 +9473,16 @@ yy340:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy341;
+ default: goto yy342;
}
-yy341:
- YYDEBUG(341, YYPEEK ());
-#line 304 "../ada.re2c"
- {*id = 37; continue;}
-#line 9663 "../ada_re2c.c"
yy342:
YYDEBUG(342, YYPEEK ());
- yyaccept = 32;
+#line 307 "../ada.re2c"
+ {*id = 37; continue;}
+#line 9483 "../ada_re2c.c"
+yy343:
+ YYDEBUG(343, YYPEEK ());
+ yyaccept = 33;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -9782,24 +9602,13 @@ yy342:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy343;
+ default: goto yy344;
}
-yy343:
- YYDEBUG(343, YYPEEK ());
-#line 308 "../ada.re2c"
- {*id = 41; continue;}
-#line 9792 "../ada_re2c.c"
yy344:
YYDEBUG(344, YYPEEK ());
- yyaccept = 1;
- YYSKIP ();
- YYBACKUP ();
- yych = YYPEEK ();
- switch (yych) {
- case 'R':
- case 'r': goto yy410;
- default: goto yy15;
- }
+#line 311 "../ada.re2c"
+ {*id = 41; continue;}
+#line 9612 "../ada_re2c.c"
yy345:
YYDEBUG(345, YYPEEK ());
yyaccept = 1;
@@ -9818,8 +9627,8 @@ yy346:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'A':
- case 'a': goto yy412;
+ case 'R':
+ case 'r': goto yy412;
default: goto yy15;
}
yy347:
@@ -9829,8 +9638,8 @@ yy347:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'M':
- case 'm': goto yy413;
+ case 'A':
+ case 'a': goto yy413;
default: goto yy15;
}
yy348:
@@ -9840,8 +9649,8 @@ yy348:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'A':
- case 'a': goto yy414;
+ case 'M':
+ case 'm': goto yy414;
default: goto yy15;
}
yy349:
@@ -9851,8 +9660,8 @@ yy349:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'E':
- case 'e': goto yy415;
+ case 'A':
+ case 'a': goto yy415;
default: goto yy15;
}
yy350:
@@ -9885,7 +9694,7 @@ yy352:
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy419;
+ case 'e': goto yy418;
default: goto yy15;
}
yy353:
@@ -9895,8 +9704,8 @@ yy353:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'R':
- case 'r': goto yy421;
+ case 'E':
+ case 'e': goto yy420;
default: goto yy15;
}
yy354:
@@ -9906,8 +9715,8 @@ yy354:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'M':
- case 'm': goto yy422;
+ case 'R':
+ case 'r': goto yy422;
default: goto yy15;
}
yy355:
@@ -9917,8 +9726,8 @@ yy355:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'E':
- case 'e': goto yy423;
+ case 'M':
+ case 'm': goto yy423;
default: goto yy15;
}
yy356:
@@ -9928,8 +9737,8 @@ yy356:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'R':
- case 'r': goto yy424;
+ case 'E':
+ case 'e': goto yy424;
default: goto yy15;
}
yy357:
@@ -9950,8 +9759,8 @@ yy358:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'C':
- case 'c': goto yy426;
+ case 'R':
+ case 'r': goto yy426;
default: goto yy15;
}
yy359:
@@ -9961,13 +9770,24 @@ yy359:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'R':
- case 'r': goto yy427;
+ case 'C':
+ case 'c': goto yy427;
default: goto yy15;
}
yy360:
YYDEBUG(360, YYPEEK ());
- yyaccept = 33;
+ yyaccept = 1;
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'R':
+ case 'r': goto yy428;
+ default: goto yy15;
+ }
+yy361:
+ YYDEBUG(361, YYPEEK ());
+ yyaccept = 34;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -10087,49 +9907,49 @@ yy360:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy361;
+ default: goto yy362;
}
-yy361:
- YYDEBUG(361, YYPEEK ());
-#line 329 "../ada.re2c"
- {*id = 62; continue;}
-#line 10097 "../ada_re2c.c"
yy362:
YYDEBUG(362, YYPEEK ());
+#line 332 "../ada.re2c"
+ {*id = 62; continue;}
+#line 9917 "../ada_re2c.c"
+yy363:
+ YYDEBUG(363, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'Y':
- case 'y': goto yy428;
+ case 'y': goto yy429;
default: goto yy15;
}
-yy363:
- YYDEBUG(363, YYPEEK ());
+yy364:
+ YYDEBUG(364, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'H':
- case 'h': goto yy429;
+ case 'h': goto yy430;
default: goto yy15;
}
-yy364:
- YYDEBUG(364, YYPEEK ());
+yy365:
+ YYDEBUG(365, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy430;
+ case 'e': goto yy431;
default: goto yy15;
}
-yy365:
- YYDEBUG(365, YYPEEK ());
- yyaccept = 34;
+yy366:
+ YYDEBUG(366, YYPEEK ());
+ yyaccept = 35;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -10249,27 +10069,27 @@ yy365:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy366;
+ default: goto yy367;
}
-yy366:
- YYDEBUG(366, YYPEEK ());
-#line 333 "../ada.re2c"
- {*id = 66; continue;}
-#line 10259 "../ada_re2c.c"
yy367:
YYDEBUG(367, YYPEEK ());
+#line 336 "../ada.re2c"
+ {*id = 66; continue;}
+#line 10079 "../ada_re2c.c"
+yy368:
+ YYDEBUG(368, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'I':
- case 'i': goto yy431;
+ case 'i': goto yy432;
default: goto yy15;
}
-yy368:
- YYDEBUG(368, YYPEEK ());
- yyaccept = 35;
+yy369:
+ YYDEBUG(369, YYPEEK ());
+ yyaccept = 36;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -10389,16 +10209,16 @@ yy368:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy369;
+ default: goto yy370;
}
-yy369:
- YYDEBUG(369, YYPEEK ());
-#line 335 "../ada.re2c"
- {*id = 68; continue;}
-#line 10399 "../ada_re2c.c"
yy370:
YYDEBUG(370, YYPEEK ());
- yyaccept = 36;
+#line 338 "../ada.re2c"
+ {*id = 68; continue;}
+#line 10219 "../ada_re2c.c"
+yy371:
+ YYDEBUG(371, YYPEEK ());
+ yyaccept = 37;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -10518,27 +10338,27 @@ yy370:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy371;
+ default: goto yy372;
}
-yy371:
- YYDEBUG(371, YYPEEK ());
-#line 336 "../ada.re2c"
- {*id = 69; continue;}
-#line 10528 "../ada_re2c.c"
yy372:
YYDEBUG(372, YYPEEK ());
+#line 339 "../ada.re2c"
+ {*id = 69; continue;}
+#line 10348 "../ada_re2c.c"
+yy373:
+ YYDEBUG(373, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'L':
- case 'l': goto yy432;
+ case 'l': goto yy433;
default: goto yy15;
}
-yy373:
- YYDEBUG(373, YYPEEK ());
- yyaccept = 37;
+yy374:
+ YYDEBUG(374, YYPEEK ());
+ yyaccept = 38;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -10658,27 +10478,27 @@ yy373:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy374;
+ default: goto yy375;
}
-yy374:
- YYDEBUG(374, YYPEEK ());
-#line 339 "../ada.re2c"
- {*id = 72; continue;}
-#line 10668 "../ada_re2c.c"
yy375:
YYDEBUG(375, YYPEEK ());
+#line 342 "../ada.re2c"
+ {*id = 72; continue;}
+#line 10488 "../ada_re2c.c"
+yy376:
+ YYDEBUG(376, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy434;
+ case 'e': goto yy435;
default: goto yy15;
}
-yy376:
- YYDEBUG(376, YYPEEK ());
- yyaccept = 38;
+yy377:
+ YYDEBUG(377, YYPEEK ());
+ yyaccept = 39;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -10798,56 +10618,56 @@ yy376:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy377;
+ default: goto yy378;
}
-yy377:
- YYDEBUG(377, YYPEEK ());
-#line 341 "../ada.re2c"
- {*id = 74; continue;}
-#line 10808 "../ada_re2c.c"
yy378:
YYDEBUG(378, YYPEEK ());
- YYSKIP ();
- yych = YYPEEK ();
- switch (yych) {
- case ']': goto yy14;
- default: goto yy83;
- }
+#line 344 "../ada.re2c"
+ {*id = 74; continue;}
+#line 10628 "../ada_re2c.c"
yy379:
YYDEBUG(379, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case ']': goto yy81;
- default: goto yy83;
+ case ']': goto yy14;
+ default: goto yy88;
}
yy380:
YYDEBUG(380, YYPEEK ());
YYSKIP ();
- YYDEBUG(381, YYPEEK ());
- YYRESTORECTX ();
-#line 370 "../ada.re2c"
- {*id = 103; continue;}
-#line 10832 "../ada_re2c.c"
-yy382:
- YYDEBUG(382, YYPEEK ());
- YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case '"': goto yy83;
- default: goto yy437;
+ case ']': goto yy86;
+ default: goto yy88;
}
+yy381:
+ YYDEBUG(381, YYPEEK ());
+ YYSKIP ();
+ YYDEBUG(382, YYPEEK ());
+ YYRESTORECTX ();
+#line 375 "../ada.re2c"
+ {*id = 105; continue;}
+#line 10652 "../ada_re2c.c"
yy383:
YYDEBUG(383, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case ']': goto yy103;
- default: goto yy83;
+ case '"': goto yy88;
+ default: goto yy438;
}
yy384:
YYDEBUG(384, YYPEEK ());
- yyaccept = 39;
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case ']': goto yy108;
+ default: goto yy88;
+ }
+yy385:
+ YYDEBUG(385, YYPEEK ());
+ yyaccept = 40;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -10967,60 +10787,60 @@ yy384:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy385;
+ default: goto yy386;
}
-yy385:
- YYDEBUG(385, YYPEEK ());
-#line 272 "../ada.re2c"
- {*id = 5; continue;}
-#line 10977 "../ada_re2c.c"
yy386:
YYDEBUG(386, YYPEEK ());
+#line 275 "../ada.re2c"
+ {*id = 5; continue;}
+#line 10797 "../ada_re2c.c"
+yy387:
+ YYDEBUG(387, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy438;
+ case 'a': goto yy439;
default: goto yy15;
}
-yy387:
- YYDEBUG(387, YYPEEK ());
+yy388:
+ YYDEBUG(388, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy439;
+ case 't': goto yy440;
default: goto yy15;
}
-yy388:
- YYDEBUG(388, YYPEEK ());
+yy389:
+ YYDEBUG(389, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'S':
- case 's': goto yy441;
+ case 's': goto yy442;
default: goto yy15;
}
-yy389:
- YYDEBUG(389, YYPEEK ());
+yy390:
+ YYDEBUG(390, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy443;
+ case 'e': goto yy444;
default: goto yy15;
}
-yy390:
- YYDEBUG(390, YYPEEK ());
- yyaccept = 40;
+yy391:
+ YYDEBUG(391, YYPEEK ());
+ yyaccept = 41;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -11140,16 +10960,16 @@ yy390:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy391;
+ default: goto yy392;
}
-yy391:
- YYDEBUG(391, YYPEEK ());
-#line 278 "../ada.re2c"
- {*id = 11; continue;}
-#line 11150 "../ada_re2c.c"
yy392:
YYDEBUG(392, YYPEEK ());
- yyaccept = 41;
+#line 281 "../ada.re2c"
+ {*id = 11; continue;}
+#line 10970 "../ada_re2c.c"
+yy393:
+ YYDEBUG(393, YYPEEK ());
+ yyaccept = 42;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -11269,38 +11089,38 @@ yy392:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy393;
+ default: goto yy394;
}
-yy393:
- YYDEBUG(393, YYPEEK ());
-#line 280 "../ada.re2c"
- {*id = 13; continue;}
-#line 11279 "../ada_re2c.c"
yy394:
YYDEBUG(394, YYPEEK ());
+#line 283 "../ada.re2c"
+ {*id = 13; continue;}
+#line 11099 "../ada_re2c.c"
+yy395:
+ YYDEBUG(395, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy444;
+ case 'a': goto yy445;
default: goto yy15;
}
-yy395:
- YYDEBUG(395, YYPEEK ());
+yy396:
+ YYDEBUG(396, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'R':
- case 'r': goto yy445;
+ case 'r': goto yy446;
default: goto yy15;
}
-yy396:
- YYDEBUG(396, YYPEEK ());
- yyaccept = 42;
+yy397:
+ YYDEBUG(397, YYPEEK ());
+ yyaccept = 43;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -11420,16 +11240,16 @@ yy396:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy397;
+ default: goto yy398;
}
-yy397:
- YYDEBUG(397, YYPEEK ());
-#line 285 "../ada.re2c"
- {*id = 18; continue;}
-#line 11430 "../ada_re2c.c"
yy398:
YYDEBUG(398, YYPEEK ());
- yyaccept = 43;
+#line 288 "../ada.re2c"
+ {*id = 18; continue;}
+#line 11250 "../ada_re2c.c"
+yy399:
+ YYDEBUG(399, YYPEEK ());
+ yyaccept = 44;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -11549,27 +11369,27 @@ yy398:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy399;
+ default: goto yy400;
}
-yy399:
- YYDEBUG(399, YYPEEK ());
-#line 286 "../ada.re2c"
- {*id = 19; continue;}
-#line 11559 "../ada_re2c.c"
yy400:
YYDEBUG(400, YYPEEK ());
+#line 289 "../ada.re2c"
+ {*id = 19; continue;}
+#line 11379 "../ada_re2c.c"
+yy401:
+ YYDEBUG(401, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'S':
- case 's': goto yy446;
+ case 's': goto yy447;
default: goto yy15;
}
-yy401:
- YYDEBUG(401, YYPEEK ());
- yyaccept = 44;
+yy402:
+ YYDEBUG(402, YYPEEK ());
+ yyaccept = 45;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -11689,16 +11509,16 @@ yy401:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy402;
+ default: goto yy403;
}
-yy402:
- YYDEBUG(402, YYPEEK ());
-#line 290 "../ada.re2c"
- {*id = 23; continue;}
-#line 11699 "../ada_re2c.c"
yy403:
YYDEBUG(403, YYPEEK ());
- yyaccept = 45;
+#line 293 "../ada.re2c"
+ {*id = 23; continue;}
+#line 11519 "../ada_re2c.c"
+yy404:
+ YYDEBUG(404, YYPEEK ());
+ yyaccept = 46;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -11818,24 +11638,13 @@ yy403:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy404;
+ default: goto yy405;
}
-yy404:
- YYDEBUG(404, YYPEEK ());
-#line 292 "../ada.re2c"
- {*id = 25; continue;}
-#line 11828 "../ada_re2c.c"
yy405:
YYDEBUG(405, YYPEEK ());
- yyaccept = 1;
- YYSKIP ();
- YYBACKUP ();
- yych = YYPEEK ();
- switch (yych) {
- case 'T':
- case 't': goto yy448;
- default: goto yy15;
- }
+#line 295 "../ada.re2c"
+ {*id = 25; continue;}
+#line 11648 "../ada_re2c.c"
yy406:
YYDEBUG(406, YYPEEK ());
yyaccept = 1;
@@ -11843,8 +11652,8 @@ yy406:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'I':
- case 'i': goto yy449;
+ case 'T':
+ case 't': goto yy449;
default: goto yy15;
}
yy407:
@@ -11865,8 +11674,8 @@ yy408:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'F':
- case 'f': goto yy451;
+ case 'I':
+ case 'i': goto yy451;
default: goto yy15;
}
yy409:
@@ -11876,8 +11685,8 @@ yy409:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'E':
- case 'e': goto yy452;
+ case 'F':
+ case 'f': goto yy452;
default: goto yy15;
}
yy410:
@@ -11887,8 +11696,8 @@ yy410:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'S':
- case 's': goto yy453;
+ case 'E':
+ case 'e': goto yy453;
default: goto yy15;
}
yy411:
@@ -11898,8 +11707,8 @@ yy411:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'I':
- case 'i': goto yy455;
+ case 'S':
+ case 's': goto yy454;
default: goto yy15;
}
yy412:
@@ -11909,8 +11718,8 @@ yy412:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'G':
- case 'g': goto yy456;
+ case 'I':
+ case 'i': goto yy456;
default: goto yy15;
}
yy413:
@@ -11920,8 +11729,8 @@ yy413:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'A':
- case 'a': goto yy457;
+ case 'G':
+ case 'g': goto yy457;
default: goto yy15;
}
yy414:
@@ -11931,8 +11740,8 @@ yy414:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'T':
- case 't': goto yy459;
+ case 'A':
+ case 'a': goto yy458;
default: goto yy15;
}
yy415:
@@ -11942,8 +11751,8 @@ yy415:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'D':
- case 'd': goto yy460;
+ case 'T':
+ case 't': goto yy460;
default: goto yy15;
}
yy416:
@@ -11953,13 +11762,24 @@ yy416:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'C':
- case 'c': goto yy461;
+ case 'D':
+ case 'd': goto yy461;
default: goto yy15;
}
yy417:
YYDEBUG(417, YYPEEK ());
- yyaccept = 46;
+ yyaccept = 1;
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'C':
+ case 'c': goto yy462;
+ default: goto yy15;
+ }
+yy418:
+ YYDEBUG(418, YYPEEK ());
+ yyaccept = 47;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -12079,16 +11899,16 @@ yy417:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy418;
+ default: goto yy419;
}
-yy418:
- YYDEBUG(418, YYPEEK ());
-#line 319 "../ada.re2c"
- {*id = 52; continue;}
-#line 12089 "../ada_re2c.c"
yy419:
YYDEBUG(419, YYPEEK ());
- yyaccept = 47;
+#line 322 "../ada.re2c"
+ {*id = 52; continue;}
+#line 11909 "../ada_re2c.c"
+yy420:
+ YYDEBUG(420, YYPEEK ());
+ yyaccept = 48;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -12208,24 +12028,13 @@ yy419:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy420;
+ default: goto yy421;
}
-yy420:
- YYDEBUG(420, YYPEEK ());
-#line 320 "../ada.re2c"
- {*id = 53; continue;}
-#line 12218 "../ada_re2c.c"
yy421:
YYDEBUG(421, YYPEEK ());
- yyaccept = 1;
- YYSKIP ();
- YYBACKUP ();
- yych = YYPEEK ();
- switch (yych) {
- case 'D':
- case 'd': goto yy462;
- default: goto yy15;
- }
+#line 323 "../ada.re2c"
+ {*id = 53; continue;}
+#line 12038 "../ada_re2c.c"
yy422:
YYDEBUG(422, YYPEEK ());
yyaccept = 1;
@@ -12233,8 +12042,8 @@ yy422:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'E':
- case 'e': goto yy464;
+ case 'D':
+ case 'd': goto yy463;
default: goto yy15;
}
yy423:
@@ -12244,8 +12053,8 @@ yy423:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'U':
- case 'u': goto yy465;
+ case 'E':
+ case 'e': goto yy465;
default: goto yy15;
}
yy424:
@@ -12255,8 +12064,8 @@ yy424:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'N':
- case 'n': goto yy466;
+ case 'U':
+ case 'u': goto yy466;
default: goto yy15;
}
yy425:
@@ -12266,8 +12075,8 @@ yy425:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'S':
- case 's': goto yy468;
+ case 'N':
+ case 'n': goto yy467;
default: goto yy15;
}
yy426:
@@ -12277,8 +12086,8 @@ yy426:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'T':
- case 't': goto yy469;
+ case 'S':
+ case 's': goto yy469;
default: goto yy15;
}
yy427:
@@ -12288,8 +12097,8 @@ yy427:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'A':
- case 'a': goto yy471;
+ case 'T':
+ case 't': goto yy470;
default: goto yy15;
}
yy428:
@@ -12299,8 +12108,8 @@ yy428:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'P':
- case 'p': goto yy472;
+ case 'A':
+ case 'a': goto yy472;
default: goto yy15;
}
yy429:
@@ -12310,8 +12119,8 @@ yy429:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'R':
- case 'r': goto yy473;
+ case 'P':
+ case 'p': goto yy473;
default: goto yy15;
}
yy430:
@@ -12321,8 +12130,8 @@ yy430:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
- case 'D':
- case 'd': goto yy474;
+ case 'R':
+ case 'r': goto yy474;
default: goto yy15;
}
yy431:
@@ -12332,13 +12141,24 @@ yy431:
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
+ case 'D':
+ case 'd': goto yy475;
+ default: goto yy15;
+ }
+yy432:
+ YYDEBUG(432, YYPEEK ());
+ yyaccept = 1;
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
case 'N':
- case 'n': goto yy476;
+ case 'n': goto yy477;
default: goto yy15;
}
-yy432:
- YYDEBUG(432, YYPEEK ());
- yyaccept = 48;
+yy433:
+ YYDEBUG(433, YYPEEK ());
+ yyaccept = 49;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -12458,16 +12278,16 @@ yy432:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy433;
+ default: goto yy434;
}
-yy433:
- YYDEBUG(433, YYPEEK ());
-#line 337 "../ada.re2c"
- {*id = 70; continue;}
-#line 12468 "../ada_re2c.c"
yy434:
YYDEBUG(434, YYPEEK ());
- yyaccept = 49;
+#line 340 "../ada.re2c"
+ {*id = 70; continue;}
+#line 12288 "../ada_re2c.c"
+yy435:
+ YYDEBUG(435, YYPEEK ());
+ yyaccept = 50;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -12587,21 +12407,21 @@ yy434:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy435;
+ default: goto yy436;
}
-yy435:
- YYDEBUG(435, YYPEEK ());
-#line 340 "../ada.re2c"
- {*id = 73; continue;}
-#line 12597 "../ada_re2c.c"
yy436:
YYDEBUG(436, YYPEEK ());
- YYSKIP ();
- yych = YYPEEK ();
+#line 343 "../ada.re2c"
+ {*id = 73; continue;}
+#line 12417 "../ada_re2c.c"
yy437:
YYDEBUG(437, YYPEEK ());
+ YYSKIP ();
+ yych = YYPEEK ();
+yy438:
+ YYDEBUG(438, YYPEEK ());
switch (yych) {
- case '"': goto yy477;
+ case '"': goto yy478;
case '0':
case '1':
case '2':
@@ -12623,23 +12443,23 @@ yy437:
case 'c':
case 'd':
case 'e':
- case 'f': goto yy436;
- default: goto yy83;
+ case 'f': goto yy437;
+ default: goto yy88;
}
-yy438:
- YYDEBUG(438, YYPEEK ());
+yy439:
+ YYDEBUG(439, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'C':
- case 'c': goto yy478;
+ case 'c': goto yy479;
default: goto yy15;
}
-yy439:
- YYDEBUG(439, YYPEEK ());
- yyaccept = 50;
+yy440:
+ YYDEBUG(440, YYPEEK ());
+ yyaccept = 51;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -12759,16 +12579,16 @@ yy439:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy440;
+ default: goto yy441;
}
-yy440:
- YYDEBUG(440, YYPEEK ());
-#line 271 "../ada.re2c"
- {*id = 4; continue;}
-#line 12769 "../ada_re2c.c"
yy441:
YYDEBUG(441, YYPEEK ());
- yyaccept = 51;
+#line 274 "../ada.re2c"
+ {*id = 4; continue;}
+#line 12589 "../ada_re2c.c"
+yy442:
+ YYDEBUG(442, YYPEEK ());
+ yyaccept = 52;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -12888,49 +12708,49 @@ yy441:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy442;
+ default: goto yy443;
}
-yy442:
- YYDEBUG(442, YYPEEK ());
-#line 274 "../ada.re2c"
- {*id = 7; continue;}
-#line 12898 "../ada_re2c.c"
yy443:
YYDEBUG(443, YYPEEK ());
+#line 277 "../ada.re2c"
+ {*id = 7; continue;}
+#line 12718 "../ada_re2c.c"
+yy444:
+ YYDEBUG(444, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'D':
- case 'd': goto yy479;
+ case 'd': goto yy480;
default: goto yy15;
}
-yy444:
- YYDEBUG(444, YYPEEK ());
+yy445:
+ YYDEBUG(445, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'N':
- case 'n': goto yy481;
+ case 'n': goto yy482;
default: goto yy15;
}
-yy445:
- YYDEBUG(445, YYPEEK ());
+yy446:
+ YYDEBUG(446, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy482;
+ case 'e': goto yy483;
default: goto yy15;
}
-yy446:
- YYDEBUG(446, YYPEEK ());
- yyaccept = 52;
+yy447:
+ YYDEBUG(447, YYPEEK ());
+ yyaccept = 53;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -13050,71 +12870,71 @@ yy446:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy447;
+ default: goto yy448;
}
-yy447:
- YYDEBUG(447, YYPEEK ());
-#line 287 "../ada.re2c"
- {*id = 20; continue;}
-#line 13060 "../ada_re2c.c"
yy448:
YYDEBUG(448, YYPEEK ());
+#line 290 "../ada.re2c"
+ {*id = 20; continue;}
+#line 12880 "../ada_re2c.c"
+yy449:
+ YYDEBUG(449, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'I':
- case 'i': goto yy484;
+ case 'i': goto yy485;
default: goto yy15;
}
-yy449:
- YYDEBUG(449, YYPEEK ());
+yy450:
+ YYDEBUG(450, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'O':
- case 'o': goto yy485;
+ case 'o': goto yy486;
default: goto yy15;
}
-yy450:
- YYDEBUG(450, YYPEEK ());
+yy451:
+ YYDEBUG(451, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'C':
- case 'c': goto yy486;
+ case 'c': goto yy487;
default: goto yy15;
}
-yy451:
- YYDEBUG(451, YYPEEK ());
+yy452:
+ YYDEBUG(452, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy488;
+ case 'a': goto yy489;
default: goto yy15;
}
-yy452:
- YYDEBUG(452, YYPEEK ());
+yy453:
+ YYDEBUG(453, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'D':
- case 'd': goto yy489;
+ case 'd': goto yy490;
default: goto yy15;
}
-yy453:
- YYDEBUG(453, YYPEEK ());
- yyaccept = 53;
+yy454:
+ YYDEBUG(454, YYPEEK ());
+ yyaccept = 54;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -13234,38 +13054,38 @@ yy453:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy454;
+ default: goto yy455;
}
-yy454:
- YYDEBUG(454, YYPEEK ());
-#line 311 "../ada.re2c"
- {*id = 44; continue;}
-#line 13244 "../ada_re2c.c"
yy455:
YYDEBUG(455, YYPEEK ());
+#line 314 "../ada.re2c"
+ {*id = 44; continue;}
+#line 13064 "../ada_re2c.c"
+yy456:
+ YYDEBUG(456, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'D':
- case 'd': goto yy491;
+ case 'd': goto yy492;
default: goto yy15;
}
-yy456:
- YYDEBUG(456, YYPEEK ());
+yy457:
+ YYDEBUG(457, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy492;
+ case 'e': goto yy493;
default: goto yy15;
}
-yy457:
- YYDEBUG(457, YYPEEK ());
- yyaccept = 54;
+yy458:
+ YYDEBUG(458, YYPEEK ());
+ yyaccept = 55;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -13385,49 +13205,49 @@ yy457:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy458;
+ default: goto yy459;
}
-yy458:
- YYDEBUG(458, YYPEEK ());
-#line 315 "../ada.re2c"
- {*id = 48; continue;}
-#line 13395 "../ada_re2c.c"
yy459:
YYDEBUG(459, YYPEEK ());
+#line 318 "../ada.re2c"
+ {*id = 48; continue;}
+#line 13215 "../ada_re2c.c"
+yy460:
+ YYDEBUG(460, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy494;
+ case 'e': goto yy495;
default: goto yy15;
}
-yy460:
- YYDEBUG(460, YYPEEK ());
+yy461:
+ YYDEBUG(461, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'U':
- case 'u': goto yy496;
+ case 'u': goto yy497;
default: goto yy15;
}
-yy461:
- YYDEBUG(461, YYPEEK ());
+yy462:
+ YYDEBUG(462, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy497;
+ case 't': goto yy498;
default: goto yy15;
}
-yy462:
- YYDEBUG(462, YYPEEK ());
- yyaccept = 55;
+yy463:
+ YYDEBUG(463, YYPEEK ());
+ yyaccept = 56;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -13547,38 +13367,38 @@ yy462:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy463;
+ default: goto yy464;
}
-yy463:
- YYDEBUG(463, YYPEEK ());
-#line 321 "../ada.re2c"
- {*id = 54; continue;}
-#line 13557 "../ada_re2c.c"
yy464:
YYDEBUG(464, YYPEEK ());
+#line 324 "../ada.re2c"
+ {*id = 54; continue;}
+#line 13377 "../ada_re2c.c"
+yy465:
+ YYDEBUG(465, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'S':
- case 's': goto yy498;
+ case 's': goto yy499;
default: goto yy15;
}
-yy465:
- YYDEBUG(465, YYPEEK ());
+yy466:
+ YYDEBUG(466, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy500;
+ case 'e': goto yy501;
default: goto yy15;
}
-yy466:
- YYDEBUG(466, YYPEEK ());
- yyaccept = 56;
+yy467:
+ YYDEBUG(467, YYPEEK ());
+ yyaccept = 57;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -13698,27 +13518,27 @@ yy466:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy467;
+ default: goto yy468;
}
-yy467:
- YYDEBUG(467, YYPEEK ());
-#line 325 "../ada.re2c"
- {*id = 58; continue;}
-#line 13708 "../ada_re2c.c"
yy468:
YYDEBUG(468, YYPEEK ());
+#line 328 "../ada.re2c"
+ {*id = 58; continue;}
+#line 13528 "../ada_re2c.c"
+yy469:
+ YYDEBUG(469, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy502;
+ case 'e': goto yy503;
default: goto yy15;
}
-yy469:
- YYDEBUG(469, YYPEEK ());
- yyaccept = 57;
+yy470:
+ YYDEBUG(470, YYPEEK ());
+ yyaccept = 58;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -13838,49 +13658,49 @@ yy469:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy470;
+ default: goto yy471;
}
-yy470:
- YYDEBUG(470, YYPEEK ());
-#line 328 "../ada.re2c"
- {*id = 61; continue;}
-#line 13848 "../ada_re2c.c"
yy471:
YYDEBUG(471, YYPEEK ());
+#line 331 "../ada.re2c"
+ {*id = 61; continue;}
+#line 13668 "../ada_re2c.c"
+yy472:
+ YYDEBUG(472, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy504;
+ case 't': goto yy505;
default: goto yy15;
}
-yy472:
- YYDEBUG(472, YYPEEK ());
+yy473:
+ YYDEBUG(473, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy505;
+ case 'e': goto yy506;
default: goto yy15;
}
-yy473:
- YYDEBUG(473, YYPEEK ());
+yy474:
+ YYDEBUG(474, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'O':
- case 'o': goto yy507;
+ case 'o': goto yy508;
default: goto yy15;
}
-yy474:
- YYDEBUG(474, YYPEEK ());
- yyaccept = 58;
+yy475:
+ YYDEBUG(475, YYPEEK ());
+ yyaccept = 59;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -14000,46 +13820,46 @@ yy474:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy475;
+ default: goto yy476;
}
-yy475:
- YYDEBUG(475, YYPEEK ());
-#line 332 "../ada.re2c"
- {*id = 65; continue;}
-#line 14010 "../ada_re2c.c"
yy476:
YYDEBUG(476, YYPEEK ());
+#line 335 "../ada.re2c"
+ {*id = 65; continue;}
+#line 13830 "../ada_re2c.c"
+yy477:
+ YYDEBUG(477, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy508;
+ case 'a': goto yy509;
default: goto yy15;
}
-yy477:
- YYDEBUG(477, YYPEEK ());
+yy478:
+ YYDEBUG(478, YYPEEK ());
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
- case ']': goto yy301;
- default: goto yy83;
+ case ']': goto yy302;
+ default: goto yy88;
}
-yy478:
- YYDEBUG(478, YYPEEK ());
+yy479:
+ YYDEBUG(479, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy509;
+ case 't': goto yy510;
default: goto yy15;
}
-yy479:
- YYDEBUG(479, YYPEEK ());
- yyaccept = 59;
+yy480:
+ YYDEBUG(480, YYPEEK ());
+ yyaccept = 60;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -14159,27 +13979,27 @@ yy479:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy480;
+ default: goto yy481;
}
-yy480:
- YYDEBUG(480, YYPEEK ());
-#line 275 "../ada.re2c"
- {*id = 8; continue;}
-#line 14169 "../ada_re2c.c"
yy481:
YYDEBUG(481, YYPEEK ());
+#line 278 "../ada.re2c"
+ {*id = 8; continue;}
+#line 13989 "../ada_re2c.c"
+yy482:
+ YYDEBUG(482, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy511;
+ case 't': goto yy512;
default: goto yy15;
}
-yy482:
- YYDEBUG(482, YYPEEK ());
- yyaccept = 60;
+yy483:
+ YYDEBUG(483, YYPEEK ());
+ yyaccept = 61;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -14299,38 +14119,38 @@ yy482:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy483;
+ default: goto yy484;
}
-yy483:
- YYDEBUG(483, YYPEEK ());
-#line 284 "../ada.re2c"
- {*id = 17; continue;}
-#line 14309 "../ada_re2c.c"
yy484:
YYDEBUG(484, YYPEEK ());
+#line 287 "../ada.re2c"
+ {*id = 17; continue;}
+#line 14129 "../ada_re2c.c"
+yy485:
+ YYDEBUG(485, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'O':
- case 'o': goto yy513;
+ case 'o': goto yy514;
default: goto yy15;
}
-yy485:
- YYDEBUG(485, YYPEEK ());
+yy486:
+ YYDEBUG(486, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'N':
- case 'n': goto yy514;
+ case 'n': goto yy515;
default: goto yy15;
}
-yy486:
- YYDEBUG(486, YYPEEK ());
- yyaccept = 61;
+yy487:
+ YYDEBUG(487, YYPEEK ());
+ yyaccept = 62;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -14449,28 +14269,28 @@ yy486:
case 0xF1:
case 0xF2:
case 0xF3:
- case 0xF4: goto yy15;
- default: goto yy487;
- }
-yy487:
- YYDEBUG(487, YYPEEK ());
-#line 297 "../ada.re2c"
- {*id = 30; continue;}
-#line 14460 "../ada_re2c.c"
+ case 0xF4: goto yy15;
+ default: goto yy488;
+ }
yy488:
YYDEBUG(488, YYPEEK ());
+#line 300 "../ada.re2c"
+ {*id = 30; continue;}
+#line 14280 "../ada_re2c.c"
+yy489:
+ YYDEBUG(489, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'C':
- case 'c': goto yy516;
+ case 'c': goto yy517;
default: goto yy15;
}
-yy489:
- YYDEBUG(489, YYPEEK ());
- yyaccept = 62;
+yy490:
+ YYDEBUG(490, YYPEEK ());
+ yyaccept = 63;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -14590,27 +14410,27 @@ yy489:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy490;
+ default: goto yy491;
}
-yy490:
- YYDEBUG(490, YYPEEK ());
-#line 303 "../ada.re2c"
- {*id = 36; continue;}
-#line 14600 "../ada_re2c.c"
yy491:
YYDEBUG(491, YYPEEK ());
+#line 306 "../ada.re2c"
+ {*id = 36; continue;}
+#line 14420 "../ada_re2c.c"
+yy492:
+ YYDEBUG(492, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'I':
- case 'i': goto yy517;
+ case 'i': goto yy518;
default: goto yy15;
}
-yy492:
- YYDEBUG(492, YYPEEK ());
- yyaccept = 63;
+yy493:
+ YYDEBUG(493, YYPEEK ());
+ yyaccept = 64;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -14730,16 +14550,16 @@ yy492:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy493;
+ default: goto yy494;
}
-yy493:
- YYDEBUG(493, YYPEEK ());
-#line 314 "../ada.re2c"
- {*id = 47; continue;}
-#line 14740 "../ada_re2c.c"
yy494:
YYDEBUG(494, YYPEEK ());
- yyaccept = 64;
+#line 317 "../ada.re2c"
+ {*id = 47; continue;}
+#line 14560 "../ada_re2c.c"
+yy495:
+ YYDEBUG(495, YYPEEK ());
+ yyaccept = 65;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -14859,38 +14679,38 @@ yy494:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy495;
+ default: goto yy496;
}
-yy495:
- YYDEBUG(495, YYPEEK ());
-#line 316 "../ada.re2c"
- {*id = 49; continue;}
-#line 14869 "../ada_re2c.c"
yy496:
YYDEBUG(496, YYPEEK ());
+#line 319 "../ada.re2c"
+ {*id = 49; continue;}
+#line 14689 "../ada_re2c.c"
+yy497:
+ YYDEBUG(497, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'R':
- case 'r': goto yy518;
+ case 'r': goto yy519;
default: goto yy15;
}
-yy497:
- YYDEBUG(497, YYPEEK ());
+yy498:
+ YYDEBUG(498, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy519;
+ case 'e': goto yy520;
default: goto yy15;
}
-yy498:
- YYDEBUG(498, YYPEEK ());
- yyaccept = 65;
+yy499:
+ YYDEBUG(499, YYPEEK ());
+ yyaccept = 66;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -15010,16 +14830,16 @@ yy498:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy499;
+ default: goto yy500;
}
-yy499:
- YYDEBUG(499, YYPEEK ());
-#line 323 "../ada.re2c"
- {*id = 56; continue;}
-#line 15020 "../ada_re2c.c"
yy500:
YYDEBUG(500, YYPEEK ());
- yyaccept = 66;
+#line 326 "../ada.re2c"
+ {*id = 56; continue;}
+#line 14840 "../ada_re2c.c"
+yy501:
+ YYDEBUG(501, YYPEEK ());
+ yyaccept = 67;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -15139,16 +14959,16 @@ yy500:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy501;
+ default: goto yy502;
}
-yy501:
- YYDEBUG(501, YYPEEK ());
-#line 324 "../ada.re2c"
- {*id = 57; continue;}
-#line 15149 "../ada_re2c.c"
yy502:
YYDEBUG(502, YYPEEK ());
- yyaccept = 67;
+#line 327 "../ada.re2c"
+ {*id = 57; continue;}
+#line 14969 "../ada_re2c.c"
+yy503:
+ YYDEBUG(503, YYPEEK ());
+ yyaccept = 68;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -15268,27 +15088,27 @@ yy502:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy503;
+ default: goto yy504;
}
-yy503:
- YYDEBUG(503, YYPEEK ());
-#line 326 "../ada.re2c"
- {*id = 59; continue;}
-#line 15278 "../ada_re2c.c"
yy504:
YYDEBUG(504, YYPEEK ());
+#line 329 "../ada.re2c"
+ {*id = 59; continue;}
+#line 15098 "../ada_re2c.c"
+yy505:
+ YYDEBUG(505, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy520;
+ case 'e': goto yy521;
default: goto yy15;
}
-yy505:
- YYDEBUG(505, YYPEEK ());
- yyaccept = 68;
+yy506:
+ YYDEBUG(506, YYPEEK ());
+ yyaccept = 69;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -15408,38 +15228,38 @@ yy505:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy506;
+ default: goto yy507;
}
-yy506:
- YYDEBUG(506, YYPEEK ());
-#line 330 "../ada.re2c"
- {*id = 63; continue;}
-#line 15418 "../ada_re2c.c"
yy507:
YYDEBUG(507, YYPEEK ());
+#line 333 "../ada.re2c"
+ {*id = 63; continue;}
+#line 15238 "../ada_re2c.c"
+yy508:
+ YYDEBUG(508, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'N':
- case 'n': goto yy522;
+ case 'n': goto yy523;
default: goto yy15;
}
-yy508:
- YYDEBUG(508, YYPEEK ());
+yy509:
+ YYDEBUG(509, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
- case 't': goto yy523;
+ case 't': goto yy524;
default: goto yy15;
}
-yy509:
- YYDEBUG(509, YYPEEK ());
- yyaccept = 69;
+yy510:
+ YYDEBUG(510, YYPEEK ());
+ yyaccept = 70;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -15559,16 +15379,16 @@ yy509:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy510;
+ default: goto yy511;
}
-yy510:
- YYDEBUG(510, YYPEEK ());
-#line 273 "../ada.re2c"
- {*id = 6; continue;}
-#line 15569 "../ada_re2c.c"
yy511:
YYDEBUG(511, YYPEEK ());
- yyaccept = 70;
+#line 276 "../ada.re2c"
+ {*id = 6; continue;}
+#line 15389 "../ada_re2c.c"
+yy512:
+ YYDEBUG(512, YYPEEK ());
+ yyaccept = 71;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -15688,27 +15508,27 @@ yy511:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy512;
+ default: goto yy513;
}
-yy512:
- YYDEBUG(512, YYPEEK ());
-#line 283 "../ada.re2c"
- {*id = 16; continue;}
-#line 15698 "../ada_re2c.c"
yy513:
YYDEBUG(513, YYPEEK ());
+#line 286 "../ada.re2c"
+ {*id = 16; continue;}
+#line 15518 "../ada_re2c.c"
+yy514:
+ YYDEBUG(514, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'N':
- case 'n': goto yy524;
+ case 'n': goto yy525;
default: goto yy15;
}
-yy514:
- YYDEBUG(514, YYPEEK ());
- yyaccept = 71;
+yy515:
+ YYDEBUG(515, YYPEEK ());
+ yyaccept = 72;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -15828,60 +15648,60 @@ yy514:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy515;
+ default: goto yy516;
}
-yy515:
- YYDEBUG(515, YYPEEK ());
-#line 296 "../ada.re2c"
- {*id = 29; continue;}
-#line 15838 "../ada_re2c.c"
yy516:
YYDEBUG(516, YYPEEK ());
+#line 299 "../ada.re2c"
+ {*id = 29; continue;}
+#line 15658 "../ada_re2c.c"
+yy517:
+ YYDEBUG(517, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy526;
+ case 'e': goto yy527;
default: goto yy15;
}
-yy517:
- YYDEBUG(517, YYPEEK ());
+yy518:
+ YYDEBUG(518, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'N':
- case 'n': goto yy528;
+ case 'n': goto yy529;
default: goto yy15;
}
-yy518:
- YYDEBUG(518, YYPEEK ());
+yy519:
+ YYDEBUG(519, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy529;
+ case 'e': goto yy530;
default: goto yy15;
}
-yy519:
- YYDEBUG(519, YYPEEK ());
+yy520:
+ YYDEBUG(520, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'D':
- case 'd': goto yy531;
+ case 'd': goto yy532;
default: goto yy15;
}
-yy520:
- YYDEBUG(520, YYPEEK ());
- yyaccept = 72;
+yy521:
+ YYDEBUG(521, YYPEEK ());
+ yyaccept = 73;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -16001,38 +15821,38 @@ yy520:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy521;
+ default: goto yy522;
}
-yy521:
- YYDEBUG(521, YYPEEK ());
-#line 327 "../ada.re2c"
- {*id = 60; continue;}
-#line 16011 "../ada_re2c.c"
yy522:
YYDEBUG(522, YYPEEK ());
+#line 330 "../ada.re2c"
+ {*id = 60; continue;}
+#line 15831 "../ada_re2c.c"
+yy523:
+ YYDEBUG(523, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'I':
- case 'i': goto yy533;
+ case 'i': goto yy534;
default: goto yy15;
}
-yy523:
- YYDEBUG(523, YYPEEK ());
+yy524:
+ YYDEBUG(524, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy534;
+ case 'e': goto yy535;
default: goto yy15;
}
-yy524:
- YYDEBUG(524, YYPEEK ());
- yyaccept = 73;
+yy525:
+ YYDEBUG(525, YYPEEK ());
+ yyaccept = 74;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -16152,16 +15972,16 @@ yy524:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy525;
+ default: goto yy526;
}
-yy525:
- YYDEBUG(525, YYPEEK ());
-#line 293 "../ada.re2c"
- {*id = 26; continue;}
-#line 16162 "../ada_re2c.c"
yy526:
YYDEBUG(526, YYPEEK ());
- yyaccept = 74;
+#line 296 "../ada.re2c"
+ {*id = 26; continue;}
+#line 15982 "../ada_re2c.c"
+yy527:
+ YYDEBUG(527, YYPEEK ());
+ yyaccept = 75;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -16281,27 +16101,27 @@ yy526:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy527;
+ default: goto yy528;
}
-yy527:
- YYDEBUG(527, YYPEEK ());
-#line 301 "../ada.re2c"
- {*id = 34; continue;}
-#line 16291 "../ada_re2c.c"
yy528:
YYDEBUG(528, YYPEEK ());
+#line 304 "../ada.re2c"
+ {*id = 34; continue;}
+#line 16111 "../ada_re2c.c"
+yy529:
+ YYDEBUG(529, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'G':
- case 'g': goto yy536;
+ case 'g': goto yy537;
default: goto yy15;
}
-yy529:
- YYDEBUG(529, YYPEEK ());
- yyaccept = 75;
+yy530:
+ YYDEBUG(530, YYPEEK ());
+ yyaccept = 76;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -16421,16 +16241,16 @@ yy529:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy530;
+ default: goto yy531;
}
-yy530:
- YYDEBUG(530, YYPEEK ());
-#line 317 "../ada.re2c"
- {*id = 50; continue;}
-#line 16431 "../ada_re2c.c"
yy531:
YYDEBUG(531, YYPEEK ());
- yyaccept = 76;
+#line 320 "../ada.re2c"
+ {*id = 50; continue;}
+#line 16251 "../ada_re2c.c"
+yy532:
+ YYDEBUG(532, YYPEEK ());
+ yyaccept = 77;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -16550,27 +16370,27 @@ yy531:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy532;
+ default: goto yy533;
}
-yy532:
- YYDEBUG(532, YYPEEK ());
-#line 318 "../ada.re2c"
- {*id = 51; continue;}
-#line 16560 "../ada_re2c.c"
yy533:
YYDEBUG(533, YYPEEK ());
+#line 321 "../ada.re2c"
+ {*id = 51; continue;}
+#line 16380 "../ada_re2c.c"
+yy534:
+ YYDEBUG(534, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'Z':
- case 'z': goto yy538;
+ case 'z': goto yy539;
default: goto yy15;
}
-yy534:
- YYDEBUG(534, YYPEEK ());
- yyaccept = 77;
+yy535:
+ YYDEBUG(535, YYPEEK ());
+ yyaccept = 78;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -16690,16 +16510,16 @@ yy534:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy535;
+ default: goto yy536;
}
-yy535:
- YYDEBUG(535, YYPEEK ());
-#line 334 "../ada.re2c"
- {*id = 67; continue;}
-#line 16700 "../ada_re2c.c"
yy536:
YYDEBUG(536, YYPEEK ());
- yyaccept = 78;
+#line 337 "../ada.re2c"
+ {*id = 67; continue;}
+#line 16520 "../ada_re2c.c"
+yy537:
+ YYDEBUG(537, YYPEEK ());
+ yyaccept = 79;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -16819,38 +16639,38 @@ yy536:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy537;
+ default: goto yy538;
}
-yy537:
- YYDEBUG(537, YYPEEK ());
-#line 313 "../ada.re2c"
- {*id = 46; continue;}
-#line 16829 "../ada_re2c.c"
yy538:
YYDEBUG(538, YYPEEK ());
+#line 316 "../ada.re2c"
+ {*id = 46; continue;}
+#line 16649 "../ada_re2c.c"
+yy539:
+ YYDEBUG(539, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy539;
+ case 'e': goto yy540;
default: goto yy15;
}
-yy539:
- YYDEBUG(539, YYPEEK ());
+yy540:
+ YYDEBUG(540, YYPEEK ());
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 'D':
- case 'd': goto yy540;
+ case 'd': goto yy541;
default: goto yy15;
}
-yy540:
- YYDEBUG(540, YYPEEK ());
- yyaccept = 79;
+yy541:
+ YYDEBUG(541, YYPEEK ());
+ yyaccept = 80;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -16970,15 +16790,15 @@ yy540:
case 0xF2:
case 0xF3:
case 0xF4: goto yy15;
- default: goto yy541;
+ default: goto yy542;
}
-yy541:
- YYDEBUG(541, YYPEEK ());
-#line 331 "../ada.re2c"
+yy542:
+ YYDEBUG(542, YYPEEK ());
+#line 334 "../ada.re2c"
{*id = 64; continue;}
-#line 16980 "../ada_re2c.c"
+#line 16800 "../ada_re2c.c"
}
-#line 378 "../ada.re2c"
+#line 383 "../ada.re2c"
}
/* lexer->cursor and lexer ->char_pos are one char past end of token */
diff --git a/packages/ada-mode/build.sh b/packages/ada-mode/build.sh
index ced5c37..426e961 100755
--- a/packages/ada-mode/build.sh
+++ b/packages/ada-mode/build.sh
@@ -1,29 +1,39 @@
#!/bin/sh
# Build executables for Ada mode.
+# build.sh <other gprbuild options>
+# e.g. 'build.sh -j0' : use all available processors to compile
+# 'build.sh -wn' : treat warnings as warnings.
+# 'build.sh -vh' : Verbose output (high verbosity)
#
# See install.sh for install
-# In December 2016, GNATCOLL changed its Xref interface. First, the
-# GPR was split out; and second, one of the subprogram
-# interfaces.changed.
-#
-# Determine whether the split-out gnatcoll_xref.gpr is available.
-echo 'with "gnatcoll_xref"; abstract project check_xref is end check_xref;' >
check_xref.gpr;
-gprbuild -P check_xref.gpr > /dev/null 2>&1;
-if test $? -eq 0 ; then HAVE_GNATCOLL_XREF="yes"; else
HAVE_GNATCOLL_XREF="no"; fi
+# As of gnat pro 21, gnat_util is no longer provided or required
+echo 'with "gnat_util"; abstract project check is end check;' > check.gpr
+gprbuild -P check.gpr > /dev/null 2>&1
+if test $? -eq 0 ; then
+ HAVE_GNAT_UTIL=yes
+else
+ HAVE_GNAT_UTIL=no
+fi
-echo "HAVE_GNATCOLL_XREF=$HAVE_GNATCOLL_XREF"
+# support for libadalang is still experimental
+gnatprep -DHAVE_LIBADALANG="no" -DELPA="yes" -DHAVE_GNAT_UTIL=$HAVE_GNAT_UTIL
ada_mode_wisi_parse.gpr.gp ada_mode_wisi_parse.gpr
-gnatprep -DHAVE_GNATCOLL_XREF=$HAVE_GNATCOLL_XREF
gpr_query-process_refresh.adb.gp gpr_query-process_refresh.adb
+WISI_DIR="../wisi-3.1.0"
-# support for libadalang is still experimental
-gnatprep -DHAVE_GNATCOLL_XREF=$HAVE_GNATCOLL_XREF -DHAVE_LIBADALANG="no"
-DELPA="yes" ada_mode_wisi_parse.gpr.gp ada_mode_wisi_parse.gpr
+gnatprep -DELPA="yes" $WISI_DIR/wisi.gpr.gp $WISI_DIR/wisi.gpr
+
+# We don't add WISI_DIR to GPR_PROJECT_PATH because the user may have
+# already set GPR_PROJECT_PATH.
+
+# Allow running build.sh again, since it often fails the first time.
+# - Run gprclean, to allow changing compilers and other drastic things
+# - Don't delete ada_lr1_parse_table.txt
-export GPR_PROJECT_PATH="../wisi-3.0.1"
+gprclean -r -P ada_mode_wisi_parse.gpr -aP$WISI_DIR
-gnatprep -DELPA="yes" $GPR_PROJECT_PATH/wisi.gpr.gp $GPR_PROJECT_PATH/wisi.gpr
+gprbuild -p -j8 -P ada_mode_wisi_parse.gpr -aP $WISI_DIR "$@"
-gprbuild -p -j8 -P ada_mode_wisi_parse.gpr
-gzip -d -q ada_lr1_parse_table.txt.gz
+gzip -c -d -q ada_lr1_parse_table.txt.gz > ada_lr1_parse_table.txt
# end of file
diff --git a/packages/ada-mode/gnat-core.el b/packages/ada-mode/gnat-core.el
index 798c993..5901b22 100644
--- a/packages/ada-mode/gnat-core.el
+++ b/packages/ada-mode/gnat-core.el
@@ -3,7 +3,7 @@
;;
;; GNAT is provided by AdaCore; see http://libre.adacore.com/
;;
-;;; Copyright (C) 2012 - 2019 Free Software Foundation, Inc.
+;;; Copyright (C) 2012 - 2020 Free Software Foundation, Inc.
;;
;; Author: Stephen Leake <address@hidden>
;; Maintainer: Stephen Leake <address@hidden>
@@ -81,13 +81,12 @@ Throw an error if current project does not have a
gnat-compiler."
compiler
(error "no gnat-compiler in current project"))))
-(defun gnat-prj-add-prj-dir (project dir)
- "Add DIR to compiler.project_path, and to GPR_PROJECT_PATH in
project.environment."
+(defun gnat-prj-add-prj-dir (project compiler dir)
+ "Add DIR to COMPILER.project_path, and to GPR_PROJECT_PATH in
PROJECT.file-env"
;; We maintain two project values for this;
;; project-path - a list of directories, for elisp find file
;; GPR_PROJECT_PATH in environment, for gnat-run
- (let ((process-environment (copy-sequence (wisi-prj-file-env project)))
- (compiler (wisi-prj-compiler project)))
+ (let ((process-environment (copy-sequence (wisi-prj-file-env project))))
(cl-pushnew dir (gnat-compiler-project-path compiler) :test #'string-equal)
(setenv "GPR_PROJECT_PATH"
@@ -96,10 +95,9 @@ Throw an error if current project does not have a
gnat-compiler."
(setf (wisi-prj-file-env project) (copy-sequence process-environment))
))
-(defun gnat-get-paths (project)
- "Add project and/or compiler source, project paths to PROJECT source-path
and project-path."
- (let* ((compiler (wisi-prj-compiler project))
- (src-dirs (wisi-prj-source-path project))
+(defun gnat-get-paths (project compiler)
+ "Add project and/or compiler source, project paths to PROJECT source-path"
+ (let* ((src-dirs (wisi-prj-source-path project))
(prj-dirs (cl-copy-list (gnat-compiler-project-path compiler))))
;; Don't need project plist obj_dirs if using a project file, so
@@ -165,32 +163,32 @@ Throw an error if current project does not have a
gnat-compiler."
;; reverse prj-dirs so project file dirs precede gnat library dirs
(setf (wisi-prj-source-path project) (nreverse (delete-dups src-dirs)))
(setf (gnat-compiler-project-path compiler) nil)
- (mapc (lambda (dir) (gnat-prj-add-prj-dir project dir))
+ (mapc (lambda (dir) (gnat-prj-add-prj-dir project compiler dir))
prj-dirs)
))
-(defun gnat-parse-gpr (gpr-file project)
+(defun gnat-parse-gpr (gpr-file project compiler)
"Append to source-path and project-path in PROJECT (a `wisi-prj' object) by
parsing GPR-FILE.
GPR-FILE must be absolute file name.
source-path will include compiler runtime."
;; this can take a long time; let the user know what's up
- (let ((compiler (wisi-prj-compiler project)))
- (if (gnat-compiler-gpr-file compiler)
- ;; gpr-file previously set; new one must match
- (when (not (string-equal gpr-file (gnat-compiler-gpr-file compiler)))
- (error "project file %s defines a different GNAT project file than %s"
- (gnat-compiler-gpr-file compiler)
- gpr-file))
+ (if (gnat-compiler-gpr-file compiler)
+ ;; gpr-file previously set; new one must match
+ (when (not (string-equal gpr-file (gnat-compiler-gpr-file compiler)))
+ (error "project file %s defines a different GNAT project file than %s"
+ (gnat-compiler-gpr-file compiler)
+ gpr-file))
- (setf (gnat-compiler-gpr-file compiler) gpr-file)
- ))
+ (setf (gnat-compiler-gpr-file compiler) gpr-file))
- (gnat-get-paths project))
+ (gnat-get-paths project compiler))
(defun gnat-parse-gpr-1 (gpr-file project)
"For `wisi-prj-parser-alist'."
- (setf (gnat-compiler-run-buffer-name (wisi-prj-compiler project)) gpr-file)
- (gnat-parse-gpr gpr-file project))
+ (let ((compiler (wisi-prj-compiler project)))
+ ;; FIXME: need to pass in compiler for gpr-query?
+ (setf (gnat-compiler-run-buffer-name compiler) gpr-file)
+ (gnat-parse-gpr gpr-file project compiler)))
;;;; command line tool interface
@@ -315,7 +313,7 @@ which is displayed on error."
(append
(wisi-prj-compile-env project)
(wisi-prj-file-env project))));; reference, for
substitute-in-file-name
- (gnat-prj-add-prj-dir project (expand-file-name (substitute-in-file-name
value)))))
+ (gnat-prj-add-prj-dir project compiler (expand-file-name
(substitute-in-file-name value)))))
((string= name "gnat-stub-cargs")
(setf (gnat-compiler-gnat-stub-cargs compiler) value))
@@ -352,10 +350,10 @@ which is displayed on error."
(setf (gnat-compiler-run-buffer-name compiler) (gnat-run-buffer-name
prj-file-name))
(if (gnat-compiler-gpr-file compiler)
- (gnat-parse-gpr (gnat-compiler-gpr-file compiler) project)
+ (gnat-parse-gpr (gnat-compiler-gpr-file compiler) project compiler)
;; add the compiler libraries to project.source-path
- (gnat-get-paths project)
+ (gnat-get-paths project compiler)
))
(cl-defmethod wisi-compiler-select-prj ((_compiler gnat-compiler) _project)
diff --git a/packages/ada-mode/gpr-mode.el b/packages/ada-mode/gpr-mode.el
index bd524ad..1ee03ee 100644
--- a/packages/ada-mode/gpr-mode.el
+++ b/packages/ada-mode/gpr-mode.el
@@ -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, 2019 Free Software
Foundation, Inc.
+;; Copyright (C) 2004, 2007, 2008, 2012-2015, 2017 - 2020 Free Software
Foundation, Inc.
;; Author: Stephen Leake <address@hidden>
;; Maintainer: Stephen Leake <address@hidden>
@@ -347,7 +347,7 @@ Otherwise, allow UPPERCASE for identifiers."
"Defines language-specific parser parameters.
Must match wisi-gpr.ads Language_Protocol_Version.")
-(defcustom gpr-process-parse-exec "gpr_mode_wisi_parse.exe"
+(defcustom gpr-process-parse-exec "gpr_mode_wisi_parse"
"Name of executable to use for external process gpr parser,"
:type 'string
:group 'gpr)
diff --git a/packages/ada-mode/gpr-mode.info b/packages/ada-mode/gpr-mode.info
index 816c661..73dc37f 100644
--- a/packages/ada-mode/gpr-mode.info
+++ b/packages/ada-mode/gpr-mode.info
@@ -1,4 +1,4 @@
-This is gpr-mode.info, produced by makeinfo version 6.3 from
+This is gpr-mode.info, produced by makeinfo version 6.7 from
gpr-mode.texi.
Copyright (C) 2013, 2019 Free Software Foundation, Inc.
@@ -730,3 +730,8 @@ Node: GNU Free Documentation License7269
Node: Index32431
End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git a/packages/ada-mode/gpr-process.el b/packages/ada-mode/gpr-process.el
index 54257a5..aa9db63 100644
--- a/packages/ada-mode/gpr-process.el
+++ b/packages/ada-mode/gpr-process.el
@@ -1,7 +1,7 @@
;;; gpr-process.el --- Generated parser support file -*- lexical-binding:t -*-
;; command line: wisitoken-bnf-generate.exe --generate LR1 Ada_Emacs re2c
PROCESS gpr.wy
-;; Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
+;; Copyright (C) 2013 - 2020 Free Software Foundation, Inc.
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU General Public License as
diff --git a/packages/ada-mode/gpr-query.el b/packages/ada-mode/gpr-query.el
index 55d4827..47967bf 100644
--- a/packages/ada-mode/gpr-query.el
+++ b/packages/ada-mode/gpr-query.el
@@ -7,7 +7,6 @@
;; Author: Stephen Leake <address@hidden>
;; Maintainer: Stephen Leake <address@hidden>
-;; Version: 1.0
;; This file is part of GNU Emacs.
@@ -44,13 +43,13 @@
(defcustom gpr-query-env nil
"Environment variables needed by the gpr_query executable.
-Value must be alist where each element is \"<name>=<value>\""
+Value must be a list where each element is \"<name>=<value>\""
;; This could also be provided as a project file setting, But it is
;; intended for LD_LIBRARY_PATH (info "(ada-mode)Ada executables"),
;; which must be set for all projects on the system.
:type 'string)
-(defconst gpr-query-protocol-version "2"
+(defconst gpr-query-protocol-version "3"
"Defines data exchanged between this package and the background process.
Must match gpr_query.adb Version.")
@@ -65,85 +64,223 @@ Must match gpr_query.adb Version.")
;; We maintain a cache of active sessions, one per gnat project.
(cl-defstruct (gpr-query--session)
- (process nil) ;; running gpr_query
- (buffer nil)) ;; receives output of gpr_query; default-directory gives
location of db
+ gpr-file ;; string absolute file name
+ process-env ;; copy of process-environment used to start a process
+ (xref-process nil) ;; running gpr_query, for xrefs; default-directory gives
location of db
+ (symbols-process nil);; runs 'complete' gpr_query command to get
symbol-locs, symbols; then dies.
+
+ symbol-locs ;; alist completion table, with locations; see
gpr-query--read-symbols
+ symbols ;; just symbols compeltion table; see gpr-query--read-symbols
+ symbols-count-total
+ symbols-count-current
+ symbols-percent-last-update
+ )
;; Starting the buffer name with a space hides it from some lists, and
;; also disables font-lock. We sometimes use it to display xref
;; locations in compilation-mode, so we want font-lock enabled.
-;;
-;; IMPROVEME: copy the xref info to a true user buffer, optionally an
-;; *xref* buffer.
(defconst gpr-query-buffer-name-prefix "*gpr_query-")
-(defvar gpr-query--debug-start nil)
-
-(defun gpr-query--start-process (project session)
- "Start the session process running gpr_query."
- (unless (buffer-live-p (gpr-query--session-buffer session))
- ;; user may have killed buffer
- (setf (gpr-query--session-buffer session)
- (gnat-run-buffer project (gnat-compiler-run-buffer-name
(wisi-prj-xref project))))
- (with-current-buffer (gpr-query--session-buffer session)
- (compilation-mode)
- (setq buffer-read-only nil)))
-
- (with-current-buffer (gpr-query--session-buffer session)
- (let ((process-environment
- (append
- (wisi-prj-compile-env project)
- (wisi-prj-file-env project)
- gpr-query-env
- (copy-sequence process-environment)))
- (gpr-file (file-name-nondirectory (gnat-compiler-gpr-file
(wisi-prj-xref project)))))
+(defconst gpr-query-prompt "^>>> $"
+ ;; gpr_query output ends with this
+ "Regexp matching gpr_query prompt; indicates previous command is complete.")
+
+(defvar gpr-query--debug nil)
+
+(defvar-local gpr-query--local-session nil
+ "Buffer-local in gpr-query process buffer; the current session.")
+
+(defun gpr-query--check-startup ()
+ ;; current buffer is process output buffer
+ (goto-char (point-min))
+ (if (search-forward-regexp "version: \\([0-9]+\\)$" nil t)
+ (unless (string-equal (match-string 1) gpr-query-protocol-version)
+ (user-error "gpr-query version mismatch: elisp %s process %s"
+ gpr-query-protocol-version
+ (match-string 1)))
+ (user-error "'%s' is an old version (did not output version); expecting %s"
+ gpr-query-exec
+ gpr-query-protocol-version))
+
+ ;; Check for warnings about invalid directories etc. But some
+ ;; warnings are tolerable, so only abort if process actually
+ ;; died.
+ (goto-char (point-min))
+ (when (search-forward "warning:" nil t)
+ (if debug-on-error
+ (error "gpr_query warnings")
+ (beep)
+ (message "gpr_query warnings"))))
+
+(defun gpr-query--xref-filter (process text)
+ "Process filter for xref-process."
+ ;; First, wait for startup to complete, indicated by receiving the
+ ;; first prompt. Then start the symbols process; it does the same
+ ;; startup, which is faster after the xref startup due to disk
+ ;; caching. Then unregister the filter; it is not needed any more.
+ (when (buffer-name (process-buffer process))
+ ;; process buffer is not dead
+ (with-current-buffer (process-buffer process)
+ (let ((search-start (marker-position (process-mark process))))
+ (save-excursion
+ (goto-char (process-mark process))
+ (insert text)
+ (set-marker (process-mark process) (point)))
+
+ ;; Wait for current command (or startup) to finish, do next
+ ;; action.
+ (goto-char search-start)
+ ;; back up a line in case we got part of the prompt previously.
+ (forward-line -1)
+ (when (re-search-forward gpr-query-prompt (point-max) 1)
+ ;; startup completed
+ (gpr-query--check-startup)
+ (set-process-filter process nil)
+
+ ;; start the symbols process to get the symbols
+ (gpr-query--start-process gpr-query--local-session 'symbols)
+ )))))
+
+(defvar gpr-query--symbols-progress ""
+ ;; We assume only one gpr-query symbols process is active at a time
+ "For `mode-line-misc-info'.")
+
+(defun gpr-query--update-progress ()
+ ;; separate for debugging
+ (setf (gpr-query--session-symbols-count-current gpr-query--local-session)
+ (+ (gpr-query--session-symbols-count-current gpr-query--local-session)
+ (count-lines (point) (point-max))))
+ (let ((percent
+ (/
+ (* 100 (gpr-query--session-symbols-count-current
gpr-query--local-session))
+ (gpr-query--session-symbols-count-total
gpr-query--local-session))))
+ (when (< (+ 5 (gpr-query--session-symbols-percent-last-update
gpr-query--local-session))
+ percent)
+ (setf (gpr-query--session-symbols-percent-last-update
gpr-query--local-session) percent)
+ (setq gpr-query--symbols-progress (format "symbols %d%%" percent))
+ (force-mode-line-update)
+ (redisplay t)
+ )))
+(defun gpr-query--symbols-filter (process text)
+ "Process filter for symbols process."
+ (when (buffer-name (process-buffer process))
+ ;; process buffer is not dead
+ (with-current-buffer (process-buffer process)
+ (let ((search-start (marker-position (process-mark process))))
+ (save-excursion
+ (goto-char (process-mark process))
+ (insert text)
+ (set-marker (process-mark process) (point)))
+
+ ;; Update session progress slots
+ (when (eq (gpr-query--session-symbols gpr-query--local-session)
'sent-complete)
+ (cond
+ ((null (gpr-query--session-symbols-count-total
gpr-query--local-session))
+ (goto-char search-start)
+ ;; back up a line in case we got part of the line previously.
+ (forward-line -1)
+
+ (when (re-search-forward "element count \\([0-9]+\\)" (point-max) t)
+ (setf (gpr-query--session-symbols-count-total
gpr-query--local-session)
+ (string-to-number (match-string 1)))
+ (setf (gpr-query--session-symbols-count-current
gpr-query--local-session) 0)
+ (setf (gpr-query--session-symbols-percent-last-update
gpr-query--local-session) 0)
+ ))
+ (t
+ (gpr-query--update-progress)
+ )
+ ))
+
+ ;; Wait for last command to finish.
+ (goto-char search-start)
+ (forward-line -1)
+ (when (re-search-forward gpr-query-prompt (point-max) t)
+ (cond
+ ((null (gpr-query--session-symbols gpr-query--local-session))
+ ;; startup complete; get symbols
+ (gpr-query--check-startup)
+ (erase-buffer)
+ (set-marker (process-mark process) (point-min))
+ (setf (gpr-query--session-symbols-count-total
gpr-query--local-session) nil)
+ (process-send-string process "complete \"\"\n")
+ (setf (gpr-query--session-symbols gpr-query--local-session)
'sent-complete))
+
+ ((eq (gpr-query--session-symbols gpr-query--local-session)
'sent-complete)
+ (gpr-query--read-symbols gpr-query--local-session)
+ (set-process-filter process nil)
+ (process-send-string process "exit\n"))
+
+ ))
+ ))))
+
+(defun gpr-query--start-process (session command-type)
+ "Start a session process running gpr_query. COMMAND-TYPE is 'xref or
'symbols."
+ (unless (locate-file gpr-query-exec exec-path '("" ".exe"))
+ (user-error "'%s' not found on PATH" gpr-query-exec))
+
+ (when gpr-query--debug
+ (message "gpr-query-start %s" command-type))
+
+ ;; Reuse existing buffer if possible
+ (let* ((gpr-file (gpr-query--session-gpr-file session))
+ (process
+ (cl-ecase command-type
+ (xref (gpr-query--session-xref-process session))
+ (symbols (gpr-query--session-symbols-process session))))
+ (buffer (and process (process-buffer process)))
+ (process-environment (gpr-query--session-process-env session)))
+
+ (unless (buffer-live-p buffer)
+ ;; User may have killed buffer, which kills process
+ (let ((name (concat "*gpr-query-" (symbol-name command-type) "*-"
gpr-file)))
+ (setq buffer (get-buffer-create name))
+ (with-current-buffer buffer
+ (setq default-directory (file-name-directory gpr-file))
+ (compilation-mode) ;; kills all local variables, requires
default-directory
+ (setq gpr-query--local-session session)
+ (setq buffer-read-only nil))))
+
+ (with-current-buffer buffer
(erase-buffer); delete any previous messages, prompt
- (setf (gpr-query--session-process session)
+ (setf (gpr-query--session-symbol-locs session) nil)
+ (setf (gpr-query--session-symbols session) nil)
+ (setq process
(apply #'start-process
- (concat "gpr_query " (buffer-name))
- (gpr-query--session-buffer session)
+ (buffer-name)
+ buffer
gpr-query-exec
(cl-delete-if
'null
(list
- (concat "--project=" gpr-file)
- (when gpr-query--debug-start
- (concat "--tracefile=gpr_query.trace")
+ (concat "--project=" (file-name-nondirectory gpr-file))
+ (when gpr-query--debug
+ "--tracefile=gpr_query.trace"
;; The file gpr_query.trace should contain: gpr_query=yes
)))))
- (set-process-query-on-exit-flag (gpr-query--session-process session) nil)
- (gpr-query-session-wait session)
-
- (if (process-live-p (gpr-query--session-process session))
- (progn
- (goto-char (point-min))
- (if (search-forward-regexp "version: \\([0-9]+\\)$")
- (unless (string-equal (match-string 1)
gpr-query-protocol-version)
- (user-error "gpr-query version mismatch: elisp %s process %s"
- gpr-query-protocol-version
- (match-string 1)))
- (user-error "gpr-query is an old version; expecting %s"
gpr-query-protocol-version))
-
- ;; Check for warnings about invalid directories etc. But some
- ;; warnings are tolerable, so only abort if process actually
- ;; died.
- (goto-char (point-min))
- (when (search-forward "warning:" nil t)
- (if debug-on-error
- (error "gpr_query warnings")
- (beep)
- (message "gpr_query warnings"))))
-
- (error "gpr-query process failed to start"))
+ (cl-ecase command-type
+ (xref
+ (setf (gpr-query--session-xref-process session) process)
+ (set-process-filter process #'gpr-query--xref-filter))
+ (symbols
+ (setf (gpr-query--session-symbols-process session) process)
+ (set-process-filter process #'gpr-query--symbols-filter)))
+
+ (set-process-query-on-exit-flag process nil)
)))
(defun gpr-query--make-session (project)
"Create and return a session for the current project file."
(let ((session
(make-gpr-query--session
- :buffer nil
- :process nil)))
- (gpr-query--start-process project session)
+ :gpr-file (gnat-compiler-gpr-file (wisi-prj-xref project))
+ :process-env (copy-sequence
+ (append
+ (wisi-prj-compile-env project)
+ (wisi-prj-file-env project)
+ gpr-query-env
+ process-environment)))))
+ (gpr-query--start-process session 'xref)
session))
(defvar gpr-query--sessions '()
@@ -155,8 +292,8 @@ Must match gpr_query.adb Version.")
(session (cdr (assoc gpr-file gpr-query--sessions))))
(if session
(progn
- (unless (process-live-p (gpr-query--session-process session))
- (gpr-query--start-process project session))
+ (unless (process-live-p (gpr-query--session-xref-process session))
+ (gpr-query--start-process session 'xref))
session)
;; else
(prog1
@@ -164,76 +301,114 @@ Must match gpr_query.adb Version.")
(push (cons gpr-file session) gpr-query--sessions)))
))
-(defconst gpr-query-prompt "^>>> $"
- ;; gpr_query output ends with this
- "Regexp matching gpr_query prompt; indicates previous command is complete.")
-
-(defun gpr-query-session-wait (session)
- "Wait for the current command to complete."
- (unless (process-live-p (gpr-query--session-process session))
- (gpr-query-show-buffer session)
- (error "gpr-query process died"))
+(defun gpr-query-session-wait (session command-type)
+ "Wait for the current COMMAND-TYPE (one of 'xref or 'symbols) command to
complete."
+ (when (and
+ (eq command-type 'symbols)
+ (null (gpr-query--session-symbols-process session)))
+ ;; The symbols process is not started until the xref process
+ ;; returns its first prompt.
+ (gpr-query-session-wait session 'xref))
+
+ (let ((process
+ (cl-ecase command-type
+ (xref (gpr-query--session-xref-process session))
+ (symbols (gpr-query--session-symbols-process session))))
+ search-start
+ (done nil)
+ (wait-count 0))
+
+ (unless (process-live-p process)
+ (gpr-query--show-buffer session command-type)
+ (error "gpr-query process died"))
+
+ (with-current-buffer (process-buffer process)
+ (setq search-start (point-min))
+ (when (eq command-type 'symbols)
+ ;; show progress in mode line
+ (setq gpr-query--symbols-progress "")
+ (add-to-list 'mode-line-misc-info '("" gpr-query--symbols-progress " "))
+ (force-mode-line-update)
+ (redisplay))
- (with-current-buffer (gpr-query--session-buffer session)
- (let ((process (gpr-query--session-process session))
- (search-start (point-min))
- (wait-count 0))
(while (and (process-live-p process)
- (progn
- ;; process output is inserted before point, so move back
over it to search it
- (goto-char search-start)
- (not (re-search-forward gpr-query-prompt (point-max) 1))))
- (setq search-start (point));; don't search same text again
+ (not done))
(message (concat "running gpr_query ..." (make-string wait-count ?.)))
- ;; IMPROVEME: use --display-progress
- (accept-process-output process 1.0)
- (setq wait-count (1+ wait-count)))
- (if (process-live-p process)
- (message (concat "running gpr_query ... done"))
- (gpr-query-show-buffer session)
- (error "gpr_query process died"))
- )))
-(defun gpr-query-session-send (session cmd wait)
- "Send CMD to gpr_query session for GPR-FILE.
+ ;; process output is inserted before point, so move back over it to
search it
+ (goto-char search-start)
+ (if (re-search-forward gpr-query-prompt (point-max) 1)
+ (setq done t)
+ ;; else wait for more input
+ (unless (accept-process-output process 1.0)
+ ;; accept-process returns non-nil when we got output, so we
+ ;; did not wait for timeout.
+ (setq wait-count (1+ wait-count))
+ ))
+ ))
+
+ (when (eq command-type 'symbols)
+ (setq mode-line-misc-info (delete '("" gpr-query--symbols-progress " ")
mode-line-misc-info)))
+
+ (if (or (eq command-type 'symbols);; symbols process is supposed to die
+ (process-live-p process))
+ (message (concat "running gpr_query ... done"))
+ (gpr-query--show-buffer session command-type)
+ (error "gpr_query process died"))
+ ))
+
+(defun gpr-query--session-send (session cmd wait)
+ "Send CMD to SESSION gpr_query xref process.
If WAIT is non-nil, wait for command to complete.
Return buffer that holds output."
- ;; always wait for previous command to complete; also checks for
+ ;; Always wait for previous command to complete; also checks for
;; dead process.
- (gpr-query-session-wait session)
- (with-current-buffer (gpr-query--session-buffer session)
+ (gpr-query-session-wait session 'xref)
+ (when gpr-query--debug
+ (message "gpr-query-send: %s" cmd))
+ (with-current-buffer (process-buffer (gpr-query--session-xref-process
session))
(erase-buffer)
- (process-send-string (gpr-query--session-process session)
+ (process-send-string (gpr-query--session-xref-process session)
(concat cmd "\n"))
(when wait
- (gpr-query-session-wait session))
+ (gpr-query-session-wait session 'xref))
(current-buffer)
))
+(defun gpr-query--kill-process (process)
+ "Kill a gpr-query process nicely.
+Returns t if the process was live."
+ (when (process-live-p process)
+ (process-send-string process "exit\n")
+ (while (process-live-p process)
+ (accept-process-output process 1.0))
+ t))
+
(defun gpr-query-kill-session (session)
- (let ((process (gpr-query--session-process session)))
- (when (process-live-p process)
- (process-send-string (gpr-query--session-process session) "exit\n")
- (while (process-live-p process)
- (accept-process-output process 1.0)))
- ))
+ "Kill the background process of SESSION.
+Return t if the process was live."
+ (setf (gpr-query--session-symbol-locs session) nil)
+ (setf (gpr-query--session-symbols session) nil)
+ (let (result)
+ (setq result (gpr-query--kill-process (gpr-query--session-xref-process
session)))
+ (setq result (or result
+ (gpr-query--kill-process
(gpr-query--session-symbols-process session))))
+ result))
(defun gpr-query-kill-all-sessions ()
(interactive)
(let ((count 0))
(mapc (lambda (assoc)
- (let ((session (cdr assoc)))
- (when (process-live-p (gpr-query--session-process session))
- (setq count (1+ count))
- (process-send-string (gpr-query--session-process session)
"exit\n")
- )))
- gpr-query--sessions)
+ (when (gpr-query-kill-session (cdr assoc))
+ (setq count (1+ count))))
+ gpr-query--sessions)
(message "Killed %d sessions" count)
))
-(defun gpr-query-show-buffer (session)
- (interactive)
- (pop-to-buffer (gpr-query--session-buffer session)))
+(defun gpr-query--show-buffer (session command-type)
+ (cl-ecase command-type
+ (xref (pop-to-buffer (process-buffer (gpr-query--session-xref-process
session))))
+ (symbols (pop-to-buffer (process-buffer
(gpr-query--session-symbols-process session))))))
;;;;; utils
@@ -242,7 +417,7 @@ Return buffer that holds output."
Uses `gpr_query'. Returns new list."
(let ((session (gpr-query-cached-session project)))
- (with-current-buffer (gpr-query-session-send session "source_dirs" t)
+ (with-current-buffer (gpr-query--session-send session "source_dirs" t)
(goto-char (point-min))
(while (not (looking-at gpr-query-prompt))
(cl-pushnew
@@ -259,7 +434,7 @@ Uses `gpr_query'. Returns new list."
Uses `gpr_query'. Returns new list."
(let ((session (gpr-query-cached-session project)))
- (with-current-buffer (gpr-query-session-send session "project_path" t)
+ (with-current-buffer (gpr-query--session-send session "project_path" t)
(goto-char (point-min))
(while (not (looking-at gpr-query-prompt))
(cl-pushnew
@@ -273,22 +448,71 @@ Uses `gpr_query'. Returns new list."
))
prj-dirs)
-(defconst gpr-query-ident-file-regexp
- ;;
C:\Projects\GDS\work_dscovr_release\common\1553\gds-mil_std_1553-utf.ads:252:25
- ;;
/Projects/GDS/work_dscovr_release/common/1553/gds-mil_std_1553-utf.ads:252:25
- ;; gds-mil_std_1553-utf.ads:252:25 - when wisi-xref-full-path is nil
- "\\(\\(?:.:\\\\\\|/\\)?[^:]*\\):\\([0-9]+\\):\\([0-9]+\\)"
- ;; 1 2 3
- "Regexp matching <file>:<line>:<column> where <file> is an absolute file
name or basename.")
-
(defconst gpr-query-ident-file-regexp-alist
- (list (concat "^" gpr-query-ident-file-regexp) 1 2 3)
+ (list (concat "^" wisi-file-line-col-regexp) 1 2 3)
"For compilation-error-regexp-alist, matching gpr_query output")
(defconst gpr-query-ident-file-type-regexp
- (concat gpr-query-ident-file-regexp " (\\(.*\\))")
+ (concat wisi-file-line-col-regexp " (\\(.*\\))")
"Regexp matching <file>:<line>:<column> (<type>)")
+(defconst gpr-query--symbol-char "[-+*/=<>&[:alnum:]_.]")
+
+(defconst gpr-query-completion-regexp
+ (concat "\\(" gpr-query--symbol-char "+\\)\\((.*)\\)?<.*<[0-9]+>>")
+ "Regexp matching completion item from gpr-query--read-symbols.")
+
+(defun gpr-query--read-symbols (session)
+ "Read result of gpr_query 'complete' command, store completion table in
SESSION."
+ (let ((symbol-locs nil)
+ (symbols nil))
+ ;; The gpr_query 'complete' command returns a fully qualified name
+ ;; and declaration location for each name:
+ ;;
+ ;; Wisi.Ada.Ada_Indent_Aggregate.Args
C:\Projects\org.emacs.ada-mode\wisi-ada.ads:102:7
+ ;;
+ ;; For subprograms it includes the parameters (but not a function result):
+ ;;
+ ;; Gpr_Query.Process_Command_Single(Args)
C:\Projects\org.emacs.ada-mode\gpr_query.adb:109:14
+ ;;
+ ;; Build a completion table as an alist of:
+ ;;
+ ;; (simple_name(args)<prefix<line>> . location).
+ ;;
+ ;; The car matches wisi-xref-completion-regexp.
+ ;;
+ ;; We include the line number to make each name unique. This
+ ;; doesn't work for one-line parameter lists, variable
+ ;; declaration lists and similar, but they should be
+ ;; unique names anyway.
+ (goto-char (point-min))
+
+ (while (not (eobp))
+ (cond
+ ;; FIXME: dispatch on language
+ ((looking-at (concat "\\(" gpr-query--symbol-char "+\\)" ;; 1: prefix
+ "\\.\\(" gpr-query--symbol-char "+\\)" ;; 2: simple
name
+ "\\((.*)\\)? " ;; 3: args,
+ wisi-file-line-col-regexp)) ;; 4, 5, 6
file:line:col
+ ;; process line
+ (push (match-string-no-properties 2) symbols)
+ (push
+ (cons (concat (match-string-no-properties 2)
+ (match-string-no-properties 3)
+ "<" (match-string-no-properties 1) "<"
(match-string-no-properties 5) ">>")
+ (list (gpr-query--normalize-filename (match-string-no-properties
4))
+ (string-to-number (match-string 5))
+ (1- (string-to-number (match-string 6)))))
+ symbol-locs))
+
+ (t ;; ignore line
+ )
+ )
+ (forward-line 1))
+
+ (setf (gpr-query--session-symbol-locs session) symbol-locs)
+ (setf (gpr-query--session-symbols session) (delete-dups symbols))))
+
(defun gpr-query-compilation (project identifier file line col cmd comp-err
&optional local_only append)
"Run gpr_query CMD IDENTIFIER:FILE:LINE:COL,
with compilation-error-regexp-alist set to COMP-ERR."
@@ -308,13 +532,13 @@ with compilation-error-regexp-alist set to COMP-ERR."
target-file target-line target-col)
(when append
- (with-current-buffer (gpr-query--session-buffer session)
+ (with-current-buffer (process-buffer (gpr-query--session-xref-process
session))
;; don't include trailing prompt in `prev-content'
(goto-char (point-max))
(forward-line 0)
(setq prev-content (buffer-substring (point-min) (point)))))
- (with-current-buffer (gpr-query-session-send session cmd-1 t)
+ (with-current-buffer (gpr-query--session-send session cmd-1 t)
;; point is at EOB. gpr_query returns one line per result plus prompt,
warnings
(setq result-count (- (line-number-at-pos) 1))
(setq start-pos (point-min))
@@ -338,7 +562,7 @@ with compilation-error-regexp-alist set to COMP-ERR."
(setq result-count (1- result-count))
(forward-line 1))
((looking-at "^Error: entity not found")
- (error (buffer-substring-no-properties (line-beginning-position)
(line-end-position))))
+ (user-error (buffer-substring-no-properties (line-beginning-position)
(line-end-position))))
)
(cond
@@ -360,7 +584,7 @@ with compilation-error-regexp-alist set to COMP-ERR."
))
((= result-count 0)
- (error "gpr_query returned no results"))
+ (user-error "gpr_query returned no results"))
(t
;; for next-error, below
@@ -406,7 +630,6 @@ with compilation-error-regexp-alist set to COMP-ERR."
(defvar gpr-query-menu (make-sparse-keymap "gpr-query"))
(easy-menu-define gpr-query-menu gpr-query-map "Menu keymap for gpr-query
minor mode"
'("gpr-query"
- ["Show gpr-query buffer" gpr-query-show-buffer t]
["Next xref" next-error t]
["Goto declaration/body" xref-find-definitions t]
["Show parent declarations" wisi-show-declaration-parents t]
@@ -432,14 +655,13 @@ FILE is from gpr-query."
(cond
((eq system-type 'windows-nt)
;; 'expand-file-name' converts Windows directory
- ;; separators to normal Emacs. Since Windows file
- ;; system is case insensitive, GNAT and Emacs can
- ;; disagree on the case, so convert all to lowercase.
- (downcase (expand-file-name file)))
+ ;; separators to normal Emacs.
+ ;; FIXME: we used to downcase here; need use case. Counter use case:
+ ;; completion table matching (buffer-file-name) in wisi-filter-table
+ (expand-file-name file))
((eq system-type 'darwin)
- ;; case-insensitive case-preserving; so just downcase
- (downcase file))
+ file)
(t ;; linux
file))
@@ -452,36 +674,25 @@ FILE is from gpr-query."
)
;;;###autoload
-(cl-defun create-gpr_query-xref
- (&key
- gpr-file
- run-buffer-name
- project-path
- target
- runtime
- gnat-stub-opts
- gnat-stub-cargs)
+(cl-defun create-gpr_query-xref (&key gpr-file)
;; See note on `create-ada-prj' for why this is not a defalias.
- (make-gpr-query-xref
- :gpr-file gpr-file
- :run-buffer-name run-buffer-name
- :project-path project-path
- :target target
- :runtime runtime
- :gnat-stub-opts gnat-stub-opts
- :gnat-stub-cargs gnat-stub-cargs
- ))
+ (make-gpr-query-xref :gpr-file gpr-file))
(cl-defmethod wisi-xref-parse-one ((xref gpr-query-xref) project name value)
(wisi-compiler-parse-one xref project name value))
(cl-defmethod wisi-xref-parse-final ((xref gpr-query-xref) _project
prj-file-name)
- (setf (gnat-compiler-run-buffer-name xref) (gnat-run-buffer-name
prj-file-name gpr-query-buffer-name-prefix))
(unless (gnat-compiler-gpr-file xref)
(if (string= "gpr" (file-name-extension prj-file-name))
(setf (gnat-compiler-gpr-file xref) prj-file-name)
(user-error "using gpr-query xref, but no gpr file provided"))))
+(cl-defmethod wisi-xref-select-prj ((_xref gpr-query-xref) project)
+ ;; Start the process if needed; it will read the db and return the
+ ;; symbols in the background.
+ (gpr-query-cached-session project)
+ nil)
+
(cl-defmethod wisi-xref-refresh-cache ((_xref gpr-query-xref) project no-full)
;; Kill the current session and delete the database, to get changed
;; env vars etc when it restarts.
@@ -492,18 +703,19 @@ FILE is from gpr-query."
;; that is a lot slower, so we only do that with permission.
(let* ((session (gpr-query-cached-session project))
(db-filename
- (with-current-buffer (gpr-query-session-send session "db_name" t)
+ (with-current-buffer (gpr-query--session-send session "db_name" t)
(goto-char (point-min))
(buffer-substring-no-properties (line-beginning-position)
(line-end-position)))))
+ ;; We have to kill the process to delete the database. If we are
+ ;; not deleting the db, this is an easy way to refresh everything
+ ;; else.
(gpr-query-kill-session session)
- (unless no-full
+ (when (and (not no-full)
+ (file-exists-p db-filename))
(delete-file db-filename))
- ;; We do this here because the user expects to see the "running
- ;; gpr_query ..." message now, not later when a gpr-query command
- ;; is run.
- (gpr-query--start-process project session)
+ (gpr-query--start-process session 'xref)
))
(defun gpr-query-tree-refs (project item op)
@@ -526,7 +738,7 @@ FILE is from gpr-query."
(result nil)
(session (gpr-query-cached-session project)))
- (with-current-buffer (gpr-query-session-send session cmd t)
+ (with-current-buffer (gpr-query--session-send session cmd t)
;; 'gpr_query tree_*' returns a list containing the declarations,
;; bodies, and references (classwide), in no particular order.
;;
@@ -541,11 +753,11 @@ FILE is from gpr-query."
(cond
((looking-at gpr-query-ident-file-type-regexp)
;; process line
- (let* ((found-file (match-string 1))
- (found-line (string-to-number (match-string 2)))
- (found-col (1- (string-to-number (match-string 3))))
- (found-type (match-string 4))
- )
+ (let ((found-file (match-string 1))
+ (found-line (string-to-number (match-string 2)))
+ (found-col (1- (string-to-number (match-string 3))))
+ (found-type (match-string 4))
+ )
(unless found-file
;; Can be nil if actual file is renamed but gpr-query
@@ -590,6 +802,20 @@ FILE is from gpr-query."
(nreverse result) ;; root of tree first.
))))))
+(cl-defmethod wisi-xref-completion-table ((_xref gpr-query-xref) project)
+ (let ((session (gpr-query-cached-session project)))
+ (unless (consp (gpr-query--session-symbol-locs session))
+ (gpr-query-session-wait session 'symbols));; ensure symbol-locs is ready
+ (gpr-query--session-symbol-locs session)))
+
+(cl-defmethod wisi-xref-completion-regexp ((_xref gpr-query-xref))
+ gpr-query-completion-regexp)
+
+(cl-defmethod wisi-xref-completion-at-point-table ((_xref gpr-query-xref)
project)
+ (let ((session (gpr-query-cached-session project)))
+ ;; no wait for symbols to be ready; this is supposed to be fast
+ (gpr-query--session-symbols session)))
+
(cl-defmethod wisi-xref-definitions ((_xref gpr-query-xref) project item)
(gpr-query-tree-refs project item "tree_defs"))
@@ -626,7 +852,7 @@ FILE is from gpr-query."
(result nil)
(session (gpr-query-cached-session project)))
- (with-current-buffer (gpr-query-session-send session cmd t)
+ (with-current-buffer (gpr-query--session-send session cmd t)
;; 'gpr_query refs' returns a list containing the declaration,
;; the body, and all the references, in no particular order.
;;
@@ -668,7 +894,7 @@ FILE is from gpr-query."
(unless found-file
;; can be nil if actual file is renamed but gpr-query database
not updated
- (error "file '%s' not found; refresh?" (match-string 1)))
+ (user-error "file '%s' not found; refresh?" (match-string 1)))
(setq found-file (gpr-query--normalize-filename found-file))
@@ -741,7 +967,7 @@ FILE is from gpr-query."
)
(when (null result)
- (error "gpr_query did not return other item; refresh?"))
+ (user-error "gpr_query did not return other item; refresh?"))
(message "parsing result ... done")
result)))
@@ -767,18 +993,25 @@ FILE is from gpr-query."
(if wisi-xref-full-path "full_file_names"
"short_file_names")))
(session (gpr-query-cached-session project))
result)
- (with-current-buffer (gpr-query-session-send session cmd t)
+ (with-current-buffer (gpr-query--session-send session cmd t)
(goto-char (point-min))
- (when (looking-at gpr-query-ident-file-regexp)
- (setq result
+ (while (and (not result)
+ (not (eobp)))
+ (cond
+ ((looking-at wisi-file-line-col-regexp)
+ (setq result
(list
(match-string 1)
(string-to-number (match-string 2))
(string-to-number (match-string 3)))))
+ (t
+ (forward-line))
+ ))
+
(when (null result)
- (error "gpr_query did not return a result; refresh?"))
+ (user-error "gpr_query did not return a result; refresh?"))
(message "parsing result ... done")
result)))
diff --git a/packages/ada-mode/gpr.wy b/packages/ada-mode/gpr.wy
index 5fd7d3a..bb7d5a7 100644
--- a/packages/ada-mode/gpr.wy
+++ b/packages/ada-mode/gpr.wy
@@ -6,7 +6,7 @@
;; Keywords: syntax
%code copyright_license %{
-;; Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
+;; Copyright (C) 2013 - 2020 Free Software Foundation, Inc.
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU General Public License as
@@ -81,7 +81,7 @@
;; handle DOS or Unix newline
%non_grammar <new-line> NEW_LINE %[ [\x0a]|[\x0d][\x0a] ]%
-%non_grammar <comment> COMMENT %[ "--"[^\n]* ]%
+%non_grammar <comment> COMMENT %[ "--"[^\x04\n]* ]%
%token <number> NUMERIC_LITERAL
%[ [0-9]+ ]%
diff --git a/packages/ada-mode/gpr_process_actions.adb
b/packages/ada-mode/gpr_process_actions.adb
index ddace40..d1e5248 100644
--- a/packages/ada-mode/gpr_process_actions.adb
+++ b/packages/ada-mode/gpr_process_actions.adb
@@ -2,7 +2,7 @@
-- command line: wisitoken-bnf-generate.exe --generate LR1 Ada_Emacs re2c
PROCESS gpr.wy
--
--- Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2013 - 2020 Free Software Foundation, Inc.
-- This program is free software; you can redistribute it and/or
-- modify it under the terms of the GNU General Public License as
@@ -26,8 +26,8 @@ package body Gpr_Process_Actions is
procedure aggregate_g_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -45,8 +45,8 @@ package body Gpr_Process_Actions is
procedure attribute_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -66,8 +66,8 @@ package body Gpr_Process_Actions is
procedure attribute_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -88,8 +88,8 @@ package body Gpr_Process_Actions is
procedure attribute_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -111,8 +111,8 @@ package body Gpr_Process_Actions is
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)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -132,8 +132,8 @@ package body Gpr_Process_Actions is
procedure case_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -152,8 +152,8 @@ package body Gpr_Process_Actions is
procedure case_item_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -171,8 +171,8 @@ package body Gpr_Process_Actions is
procedure compilation_unit_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -202,8 +202,8 @@ package body Gpr_Process_Actions is
procedure package_spec_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -235,8 +235,8 @@ package body Gpr_Process_Actions is
procedure package_extension_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -269,8 +269,8 @@ package body Gpr_Process_Actions is
procedure package_renaming_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -287,8 +287,8 @@ package body Gpr_Process_Actions is
procedure project_extension_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -321,8 +321,8 @@ package body Gpr_Process_Actions is
procedure simple_declarative_item_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -340,8 +340,8 @@ package body Gpr_Process_Actions is
procedure simple_declarative_item_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -360,8 +360,8 @@ package body Gpr_Process_Actions is
procedure simple_declarative_item_4
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -378,8 +378,8 @@ package body Gpr_Process_Actions is
procedure simple_project_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
@@ -411,8 +411,8 @@ package body Gpr_Process_Actions is
procedure typed_string_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type
(User_Data);
begin
diff --git a/packages/ada-mode/gpr_process_actions.ads
b/packages/ada-mode/gpr_process_actions.ads
index 853c7e2..61bf195 100644
--- a/packages/ada-mode/gpr_process_actions.ads
+++ b/packages/ada-mode/gpr_process_actions.ads
@@ -2,7 +2,7 @@
-- command line: wisitoken-bnf-generate.exe --generate LR1 Ada_Emacs re2c
PROCESS gpr.wy
--
--- Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2013 - 2020 Free Software Foundation, Inc.
-- This program is free software; you can redistribute it and/or
-- modify it under the terms of the GNU General Public License as
@@ -199,88 +199,88 @@ package Gpr_Process_Actions is
procedure aggregate_g_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure attribute_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure attribute_declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure attribute_declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure attribute_declaration_3
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure case_statement_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure case_item_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure compilation_unit_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure package_spec_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure package_extension_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure package_renaming_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure project_extension_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure simple_declarative_item_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure simple_declarative_item_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure simple_declarative_item_4
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure simple_project_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure typed_string_declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
function identifier_opt_1_check
(Lexer : access constant WisiToken.Lexer.Instance'Class;
Nonterm : in out WisiToken.Recover_Token;
diff --git a/packages/ada-mode/gpr_process_main.adb
b/packages/ada-mode/gpr_process_main.adb
index b25a523..02eb679 100644
--- a/packages/ada-mode/gpr_process_main.adb
+++ b/packages/ada-mode/gpr_process_main.adb
@@ -2,7 +2,7 @@
-- command line: wisitoken-bnf-generate.exe --generate LR1 Ada_Emacs re2c
PROCESS gpr.wy
--
--- Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2013 - 2020 Free Software Foundation, Inc.
-- This program is free software; you can redistribute it and/or
-- modify it under the terms of the GNU General Public License as
@@ -75,32 +75,31 @@ package body Gpr_Process_Main is
procedure Subr_1
is begin
Table.States (0).Action_List.Set_Capacity (8);
- Add_Action (Table.States (0), 3, Reduce, (50, 0), 0, null, null);
- Add_Action (Table.States (0), 5, Reduce, (50, 0), 0, null, null);
- Add_Action (Table.States (0), 7, Reduce, (50, 0), 0, null, null);
- Add_Action (Table.States (0), 15, Reduce, (50, 0), 0, null, null);
- Add_Action (Table.States (0), 19, Reduce, (50, 0), 0, null, null);
- Add_Action (Table.States (0), 22, Reduce, (50, 0), 0, null, null);
- Add_Action (Table.States (0), 26, 1);
- Add_Action (Table.States (0), 39, Reduce, (50, 0), 0, null, null);
+ Add_Action (Table.States (0), 3, Reduce, (50, 0), 0, null, null);
+ Add_Action (Table.States (0), 5, Reduce, (50, 0), 0, null, null);
+ Add_Action (Table.States (0), 7, Reduce, (50, 0), 0, null, null);
+ Add_Action (Table.States (0), 15, Reduce, (50, 0), 0, null, null);
+ Add_Action (Table.States (0), 19, Reduce, (50, 0), 0, null, null);
+ Add_Action (Table.States (0), 22, Reduce, (50, 0), 0, null, null);
+ Add_Action (Table.States (0), 26, (73, 0), 1);
+ Add_Action (Table.States (0), 39, Reduce, (50, 0), 0, null, null);
Table.States (0).Goto_List.Set_Capacity (4);
Add_Goto (Table.States (0), 48, 2);
Add_Goto (Table.States (0), 49, 3);
Add_Goto (Table.States (0), 50, 4);
Add_Goto (Table.States (0), 73, 5);
- Table.States (0).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 48, 0)));
Table.States (1).Action_List.Set_Capacity (11);
- 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_Action (Table.States (1), 10, (57, 0), 6);
+ Add_Action (Table.States (1), 11, (57, 1), 7);
+ Add_Action (Table.States (1), 14, (41, 0), 8);
+ Add_Action (Table.States (1), 19, (43, 0), 9);
+ Add_Action (Table.States (1), 27, Reduce, (58, 0), 0, null, null);
+ Add_Action (Table.States (1), 30, Reduce, (58, 0), 0, null, null);
+ Add_Action (Table.States (1), 31, Reduce, (58, 0), 0, null, null);
+ Add_Action (Table.States (1), 33, Reduce, (58, 0), 0, null, null);
+ Add_Action (Table.States (1), 34, Reduce, (58, 0), 0, null, null);
+ Add_Action (Table.States (1), 37, (58, 1), 10);
+ Add_Action (Table.States (1), 38, (69, 0), 11);
Table.States (1).Goto_List.Set_Capacity (10);
Add_Goto (Table.States (1), 41, 12);
Add_Goto (Table.States (1), 43, 13);
@@ -112,65 +111,65 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (1), 69, 19);
Add_Goto (Table.States (1), 70, 20);
Add_Goto (Table.States (1), 71, 21);
- Table.States (1).Kernel := To_Vector ((0 => (73, 26, 1, False)));
- Table.States (1).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 70, 0)));
+ Table.States (1).Kernel := To_Vector ((0 => ((73, 0), 26, 1,
(2147483647, 0), 0)));
+ Table.States (1).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (70, 0), 0)));
Table.States (2).Action_List.Set_Capacity (1);
- Add_Action (Table.States (2), 39, Accept_It, (40, 0), 1, null,
null);
- Table.States (2).Kernel := To_Vector ((0 => (40, 48, 1, False)));
+ Add_Action (Table.States (2), 39, Accept_It, (40, 0), 1, null,
null);
Table.States (3).Action_List.Set_Capacity (8);
- Add_Action (Table.States (3), 3, Reduce, (50, 1), 1, null, null);
- Add_Action (Table.States (3), 5, Reduce, (50, 1), 1, null, null);
- Add_Action (Table.States (3), 7, Reduce, (50, 1), 1, null, null);
- Add_Action (Table.States (3), 15, Reduce, (50, 1), 1, null, null);
- Add_Action (Table.States (3), 19, Reduce, (50, 1), 1, null, null);
- Add_Action (Table.States (3), 22, Reduce, (50, 1), 1, null, null);
- Add_Action (Table.States (3), 26, 1);
- Add_Action (Table.States (3), 39, Reduce, (50, 1), 1, null, null);
+ Add_Action (Table.States (3), 3, Reduce, (50, 1), 1, null, null);
+ Add_Action (Table.States (3), 5, Reduce, (50, 1), 1, null, null);
+ Add_Action (Table.States (3), 7, Reduce, (50, 1), 1, null, null);
+ Add_Action (Table.States (3), 15, Reduce, (50, 1), 1, null, null);
+ Add_Action (Table.States (3), 19, Reduce, (50, 1), 1, null, null);
+ Add_Action (Table.States (3), 22, Reduce, (50, 1), 1, null, null);
+ Add_Action (Table.States (3), 26, (73, 0), 1);
+ Add_Action (Table.States (3), 39, Reduce, (50, 1), 1, null, null);
Table.States (3).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (3), 73, 22);
- Table.States (3).Kernel := To_Vector (((49, 49, 2, True), (50, 49,
0, False)));
- Table.States (3).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 50, 1)));
+ Table.States (3).Kernel := To_Vector ((((49, 1), 49, 2,
(2147483647, 0), 0), ((50, 1), 49, 0, (50, 1),
+ 1)));
+ Table.States (3).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (50, 1), 1)));
Table.States (4).Action_List.Set_Capacity (7);
- Add_Action (Table.States (4), 3, 23);
- 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_Action (Table.States (4), 3, (66, 1), 23);
+ Add_Action (Table.States (4), 5, (66, 3), 24);
+ Add_Action (Table.States (4), 7, (66, 6), 25);
+ Add_Action (Table.States (4), 15, (66, 5), 26);
+ Add_Action (Table.States (4), 19, Reduce, (66, 0), 0, null, null);
+ Add_Action (Table.States (4), 22, (66, 2), 27);
+ Add_Action (Table.States (4), 39, Reduce, (66, 0), 0, null, null);
Table.States (4).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (4), 66, 28);
- Table.States (4).Kernel := To_Vector ((0 => (48, 50, 0, False)));
- Table.States (4).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 66, 0)));
+ Table.States (4).Kernel := To_Vector ((0 => ((48, 0), 50, 0,
(66, 0), 0)));
+ Table.States (4).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (66, 0), 0)));
Table.States (5).Action_List.Set_Capacity (8);
- Add_Action (Table.States (5), (3, 5, 7, 15, 19, 22, 26, 39), (49,
0), 1, null, null);
- Table.States (5).Kernel := To_Vector ((0 => (49, 73, 0, False)));
- Table.States (5).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 49, 1)));
+ Add_Action (Table.States (5), (3, 5, 7, 15, 19, 22, 26, 39), (49,
0), 1, null, null);
+ Table.States (5).Kernel := To_Vector ((0 => ((49, 0), 73, 0,
(49, 0), 1)));
+ Table.States (5).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (49, 0), 1)));
Table.States (6).Action_List.Set_Capacity (1);
- Add_Action (Table.States (6), 14, 29);
+ Add_Action (Table.States (6), 14, (41, 0), 29);
Table.States (6).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (6), 41, 30);
- Table.States (6).Kernel := To_Vector ((0 => (57, 10, 2, False)));
- Table.States (6).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 14, 29)));
+ Table.States (6).Kernel := To_Vector ((0 => ((57, 0), 10, 2,
(2147483647, 0), 0)));
+ Table.States (6).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (41, 0), 14, 29)));
Table.States (7).Action_List.Set_Capacity (1);
- Add_Action (Table.States (7), 14, 29);
+ Add_Action (Table.States (7), 14, (41, 0), 29);
Table.States (7).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (7), 41, 31);
- Table.States (7).Kernel := To_Vector ((0 => (57, 11, 2, False)));
- Table.States (7).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 14, 29)));
+ Table.States (7).Kernel := To_Vector ((0 => ((57, 1), 11, 2,
(2147483647, 0), 0)));
+ Table.States (7).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (41, 0), 14, 29)));
Table.States (8).Action_List.Set_Capacity (11);
- Add_Action (Table.States (8), 10, 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_Action (Table.States (8), 10, (57, 0), 32);
+ Add_Action (Table.States (8), 11, (57, 1), 33);
+ Add_Action (Table.States (8), 14, (41, 0), 34);
+ Add_Action (Table.States (8), 19, (43, 0), 9);
+ Add_Action (Table.States (8), 21, (71, 1), 35);
+ Add_Conflict (Table.States (8), 21, (58, 0), 0, null, null);
+ Add_Action (Table.States (8), 27, Reduce, (58, 0), 0, null, null);
+ Add_Action (Table.States (8), 30, Reduce, (58, 0), 0, null, null);
+ Add_Action (Table.States (8), 31, Reduce, (58, 0), 0, null, null);
+ Add_Action (Table.States (8), 33, Reduce, (58, 0), 0, null, null);
+ Add_Action (Table.States (8), 37, (58, 1), 36);
+ Add_Action (Table.States (8), 38, (69, 0), 37);
Table.States (8).Goto_List.Set_Capacity (10);
Add_Goto (Table.States (8), 41, 38);
Add_Goto (Table.States (8), 43, 39);
@@ -182,115 +181,122 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (8), 69, 45);
Add_Goto (Table.States (8), 70, 46);
Add_Goto (Table.States (8), 71, 47);
- Table.States (8).Kernel := To_Vector (((41, 14, 1, False), (71,
14, 1, False)));
- Table.States (8).Minimal_Complete_Actions := To_Vector (((Reduce,
70, 0), (Shift, 21, 35)));
+ Table.States (8).Kernel := To_Vector ((((41, 0), 14, 1,
(2147483647, 0), 0), ((71, 1), 14, 1,
+ (2147483647, 0), 0)));
+ Table.States (8).Minimal_Complete_Actions := To_Vector (((Reduce,
(70, 0), 0), (Shift, (71, 1), 21,
+ 35)));
Table.States (9).Action_List.Set_Capacity (1);
- Add_Action (Table.States (9), (1 => 33), (43, 0), 1, null, null);
- Table.States (9).Kernel := To_Vector ((0 => (43, 19, 0, False)));
- Table.States (9).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 43, 1)));
+ Add_Action (Table.States (9), (1 => 33), (43, 0), 1, null, null);
+ Table.States (9).Kernel := To_Vector ((0 => ((43, 0), 19, 0,
(43, 0), 1)));
+ Table.States (9).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (43, 0), 1)));
Table.States (10).Action_List.Set_Capacity (5);
- Add_Action (Table.States (10), (27, 30, 31, 33, 34), (58, 1), 1,
null, identifier_opt_1_check'Access);
- Table.States (10).Kernel := To_Vector ((0 => (58, 37, 0, False)));
- Table.States (10).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 1)));
+ Add_Action (Table.States (10), (27, 30, 31, 33, 34), (58, 1), 1,
null, identifier_opt_1_check'Access);
+ Table.States (10).Kernel := To_Vector ((0 => ((58, 1), 37, 0,
(58, 1), 1)));
+ Table.States (10).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 1), 1)));
Table.States (11).Action_List.Set_Capacity (3);
- Add_Action (Table.States (11), (27, 30, 34), (69, 0), 1, null,
null);
- Table.States (11).Kernel := To_Vector ((0 => (69, 38, 0, False)));
- Table.States (11).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 69, 1)));
+ Add_Action (Table.States (11), (27, 30, 34), (69, 0), 1, null,
null);
+ Table.States (11).Kernel := To_Vector ((0 => ((69, 0), 38, 0,
(69, 0), 1)));
+ Table.States (11).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (69, 0), 1)));
Table.States (12).Action_List.Set_Capacity (3);
- Add_Action (Table.States (12), (27, 30, 34), (71, 2), 1, null,
null);
- Table.States (12).Kernel := To_Vector ((0 => (71, 41, 0, False)));
- Table.States (12).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 1)));
+ Add_Action (Table.States (12), (27, 30, 34), (71, 2), 1, null,
null);
+ Table.States (12).Kernel := To_Vector ((0 => ((71, 2), 41, 0,
(71, 2), 1)));
+ Table.States (12).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 2), 1)));
Table.States (13).Action_List.Set_Capacity (1);
- Add_Action (Table.States (13), 33, 48);
- Table.States (13).Kernel := To_Vector (((44, 43, 2, False), (44,
43, 5, False)));
- Table.States (13).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 33, 48)));
+ Add_Action (Table.States (13), 33, (44, 0), 48);
+ Table.States (13).Kernel := To_Vector ((((44, 0), 43, 2,
(2147483647, 0), 0), ((44, 1), 43, 5,
+ (2147483647, 0), 0)));
+ Table.States (13).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 0), 33, 48)));
Table.States (14).Action_List.Set_Capacity (3);
- Add_Action (Table.States (14), (27, 30, 34), (69, 3), 1, null,
null);
- Table.States (14).Kernel := To_Vector ((0 => (69, 44, 0, False)));
- Table.States (14).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 69, 1)));
+ Add_Action (Table.States (14), (27, 30, 34), (69, 3), 1, null,
null);
+ Table.States (14).Kernel := To_Vector ((0 => ((69, 3), 44, 0,
(69, 3), 1)));
+ Table.States (14).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (69, 3), 1)));
Table.States (15).Action_List.Set_Capacity (3);
- Add_Action (Table.States (15), 27, 49);
- Add_Action (Table.States (15), 30, Reduce, (70, 0), 1, null, null);
- Add_Action (Table.States (15), 34, Reduce, (70, 0), 1, null, null);
- Table.States (15).Kernel := To_Vector (((56, 56, 1, True), (70,
56, 0, False)));
- Table.States (15).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 70, 1)));
+ Add_Action (Table.States (15), 27, (56, 1), 49);
+ Add_Action (Table.States (15), 30, Reduce, (70, 0), 1, null,
null);
+ Add_Action (Table.States (15), 34, Reduce, (70, 0), 1, null,
null);
+ Table.States (15).Kernel := To_Vector ((((56, 1), 56, 1,
(2147483647, 0), 0), ((70, 0), 56, 0, (70,
+ 0), 1)));
+ Table.States (15).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (70, 0), 1)));
Table.States (16).Action_List.Set_Capacity (3);
- Add_Action (Table.States (16), (27, 30, 34), (69, 2), 1, null,
null);
- Table.States (16).Kernel := To_Vector ((0 => (69, 57, 0, False)));
- Table.States (16).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 69, 1)));
+ Add_Action (Table.States (16), (27, 30, 34), (69, 2), 1, null,
null);
+ Table.States (16).Kernel := To_Vector ((0 => ((69, 2), 57, 0,
(69, 2), 1)));
+ Table.States (16).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (69, 2), 1)));
Table.States (17).Action_List.Set_Capacity (5);
- Add_Action (Table.States (17), (27, 30, 31, 33, 34), (59, 0), 1,
null, null);
- Table.States (17).Kernel := To_Vector ((0 => (59, 58, 0, False)));
- Table.States (17).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 1)));
+ Add_Action (Table.States (17), (27, 30, 31, 33, 34), (59, 0), 1,
null, null);
+ Table.States (17).Kernel := To_Vector ((0 => ((59, 0), 58, 0,
(59, 0), 1)));
+ Table.States (17).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 0), 1)));
Table.States (18).Action_List.Set_Capacity (5);
- Add_Action (Table.States (18), 27, Reduce, (69, 1), 1, null, null);
- Add_Action (Table.States (18), 30, Reduce, (69, 1), 1, null, null);
- Add_Action (Table.States (18), 31, 50);
- Add_Action (Table.States (18), 33, Reduce, (43, 1), 1, null, null);
- Add_Action (Table.States (18), 34, Reduce, (69, 1), 1, null, null);
- Table.States (18).Kernel := To_Vector (((43, 59, 0, False), (59,
59, 2, True), (69, 59, 0, False)));
- Table.States (18).Minimal_Complete_Actions := To_Vector (((Reduce,
43, 1), (Reduce, 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, (59, 1), 50);
+ Add_Action (Table.States (18), 33, Reduce, (43, 1), 1, null,
null);
+ Add_Action (Table.States (18), 34, Reduce, (69, 1), 1, null,
null);
+ Table.States (18).Kernel := To_Vector ((((43, 1), 59, 0, (43,
1), 1), ((59, 1), 59, 2, (2147483647,
+ 0), 0), ((69, 1), 59, 0, (69, 1), 1)));
+ Table.States (18).Minimal_Complete_Actions := To_Vector (((Reduce,
(43, 1), 1), (Reduce, (69, 1), 1)));
Table.States (19).Action_List.Set_Capacity (3);
- Add_Action (Table.States (19), (27, 30, 34), (71, 0), 1, null,
null);
- Table.States (19).Kernel := To_Vector ((0 => (71, 69, 0, False)));
- Table.States (19).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 1)));
+ Add_Action (Table.States (19), (27, 30, 34), (71, 0), 1, null,
null);
+ Table.States (19).Kernel := To_Vector ((0 => ((71, 0), 69, 0,
(71, 0), 1)));
+ Table.States (19).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 0), 1)));
Table.States (20).Action_List.Set_Capacity (2);
- Add_Action (Table.States (20), 30, 51);
- Add_Action (Table.States (20), 34, 52);
- Table.States (20).Kernel := To_Vector (((70, 70, 1, True), (73,
70, 1, False)));
- Table.States (20).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 52)));
+ Add_Action (Table.States (20), 30, (70, 1), 51);
+ Add_Action (Table.States (20), 34, (73, 0), 52);
+ Table.States (20).Kernel := To_Vector ((((70, 1), 70, 1,
(2147483647, 0), 0), ((73, 0), 70, 1,
+ (2147483647, 0), 0)));
+ Table.States (20).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (73, 0), 34, 52)));
Table.States (21).Action_List.Set_Capacity (3);
- Add_Action (Table.States (21), (27, 30, 34), (56, 0), 1, null,
null);
- Table.States (21).Kernel := To_Vector ((0 => (56, 71, 0, False)));
- Table.States (21).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 1)));
+ Add_Action (Table.States (21), (27, 30, 34), (56, 0), 1, null,
null);
+ Table.States (21).Kernel := To_Vector ((0 => ((56, 0), 71, 0,
(56, 0), 1)));
+ Table.States (21).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 0), 1)));
Table.States (22).Action_List.Set_Capacity (8);
- Add_Action (Table.States (22), (3, 5, 7, 15, 19, 22, 26, 39), (49,
1), 2, null, null);
- Table.States (22).Kernel := To_Vector ((0 => (49, 73, 0, True)));
- Table.States (22).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 49, 2)));
- Table.States (22).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (22), (3, 5, 7, 15, 19, 22, 26, 39), (49,
1), 2, null, null);
+ Table.States (22).Kernel := To_Vector ((0 => ((49, 1), 73, 0,
(49, 1), 2)));
+ Table.States (22).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (49, 1), 2)));
Table.States (23).Action_List.Set_Capacity (2);
- Add_Action (Table.States (23), (19, 39), (66, 1), 1, null, null);
- Table.States (23).Kernel := To_Vector ((0 => (66, 3, 0, False)));
- Table.States (23).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 66, 1)));
+ Add_Action (Table.States (23), (19, 39), (66, 1), 1, null, null);
+ Table.States (23).Kernel := To_Vector ((0 => ((66, 1), 3, 0,
(66, 1), 1)));
+ Table.States (23).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (66, 1), 1)));
Table.States (24).Action_List.Set_Capacity (3);
- Add_Action (Table.States (24), 15, 53);
- Add_Action (Table.States (24), 19, Reduce, (66, 3), 1, null, null);
- Add_Action (Table.States (24), 39, Reduce, (66, 3), 1, null, null);
- Table.States (24).Kernel := To_Vector (((66, 5, 0, False), (66, 5,
1, False)));
- Table.States (24).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 66, 1)));
+ Add_Action (Table.States (24), 15, (66, 4), 53);
+ Add_Action (Table.States (24), 19, Reduce, (66, 3), 1, null,
null);
+ Add_Action (Table.States (24), 39, Reduce, (66, 3), 1, null,
null);
+ Table.States (24).Kernel := To_Vector ((((66, 3), 5, 0, (66, 3),
1), ((66, 4), 5, 1, (2147483647, 0),
+ 0)));
+ Table.States (24).Minimal_Complete_Actions := To_Vector (((Reduce,
(66, 3), 1), (Shift, (66, 4), 15,
+ 53)));
Table.States (25).Action_List.Set_Capacity (2);
- Add_Action (Table.States (25), (19, 39), (66, 6), 1, null, null);
- Table.States (25).Kernel := To_Vector ((0 => (66, 7, 0, False)));
- Table.States (25).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 66, 1)));
+ Add_Action (Table.States (25), (19, 39), (66, 6), 1, null, null);
+ Table.States (25).Kernel := To_Vector ((0 => ((66, 6), 7, 0,
(66, 6), 1)));
+ Table.States (25).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (66, 6), 1)));
Table.States (26).Action_List.Set_Capacity (2);
- Add_Action (Table.States (26), (19, 39), (66, 5), 1, null, null);
- Table.States (26).Kernel := To_Vector ((0 => (66, 15, 0, False)));
- Table.States (26).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 66, 1)));
+ Add_Action (Table.States (26), (19, 39), (66, 5), 1, null, null);
+ Table.States (26).Kernel := To_Vector ((0 => ((66, 5), 15, 0,
(66, 5), 1)));
+ Table.States (26).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (66, 5), 1)));
Table.States (27).Action_List.Set_Capacity (2);
- Add_Action (Table.States (27), (19, 39), (66, 2), 1, null, null);
- Table.States (27).Kernel := To_Vector ((0 => (66, 22, 0, False)));
- Table.States (27).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 66, 1)));
+ Add_Action (Table.States (27), (19, 39), (66, 2), 1, null, null);
+ Table.States (27).Kernel := To_Vector ((0 => ((66, 2), 22, 0,
(66, 2), 1)));
+ Table.States (27).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (66, 2), 1)));
Table.States (28).Action_List.Set_Capacity (2);
- Add_Action (Table.States (28), 19, 54);
- Add_Action (Table.States (28), 39, Reduce, (64, 0), 0, null, null);
+ Add_Action (Table.States (28), 19, (65, 0), 54);
+ Add_Action (Table.States (28), 39, Reduce, (64, 0), 0, null,
null);
Table.States (28).Goto_List.Set_Capacity (3);
Add_Goto (Table.States (28), 64, 55);
Add_Goto (Table.States (28), 65, 56);
Add_Goto (Table.States (28), 68, 57);
- Table.States (28).Kernel := To_Vector ((0 => (48, 66, 0, False)));
- Table.States (28).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 64, 0)));
+ Table.States (28).Kernel := To_Vector ((0 => ((48, 0), 66, 0,
(64, 0), 0)));
+ Table.States (28).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (64, 0), 0)));
Table.States (29).Action_List.Set_Capacity (11);
- Add_Action (Table.States (29), 10, 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_Action (Table.States (29), 10, (57, 0), 32);
+ Add_Action (Table.States (29), 11, (57, 1), 33);
+ Add_Action (Table.States (29), 14, (41, 0), 34);
+ Add_Action (Table.States (29), 19, (43, 0), 9);
+ Add_Action (Table.States (29), 21, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (29), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (29), 30, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (29), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (29), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (29), 37, (58, 1), 36);
+ Add_Action (Table.States (29), 38, (69, 0), 37);
Table.States (29).Goto_List.Set_Capacity (10);
Add_Goto (Table.States (29), 41, 38);
Add_Goto (Table.States (29), 43, 39);
@@ -302,41 +308,41 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (29), 69, 45);
Add_Goto (Table.States (29), 70, 46);
Add_Goto (Table.States (29), 71, 47);
- Table.States (29).Kernel := To_Vector ((0 => (41, 14, 1, False)));
- Table.States (29).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 70, 0)));
+ Table.States (29).Kernel := To_Vector ((0 => ((41, 0), 14, 1,
(2147483647, 0), 0)));
+ Table.States (29).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (70, 0), 0)));
Table.States (30).Action_List.Set_Capacity (3);
- Add_Action (Table.States (30), (27, 30, 34), (57, 0), 2, null,
null);
- Table.States (30).Kernel := To_Vector ((0 => (57, 41, 0, False)));
- Table.States (30).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 57, 2)));
+ Add_Action (Table.States (30), (27, 30, 34), (57, 0), 2, null,
null);
+ Table.States (30).Kernel := To_Vector ((0 => ((57, 0), 41, 0,
(57, 0), 2)));
+ Table.States (30).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (57, 0), 2)));
Table.States (31).Action_List.Set_Capacity (3);
- Add_Action (Table.States (31), (27, 30, 34), (57, 1), 2, null,
null);
- Table.States (31).Kernel := To_Vector ((0 => (57, 41, 0, False)));
- Table.States (31).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 57, 2)));
+ Add_Action (Table.States (31), (27, 30, 34), (57, 1), 2, null,
null);
+ Table.States (31).Kernel := To_Vector ((0 => ((57, 1), 41, 0,
(57, 1), 2)));
+ Table.States (31).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (57, 1), 2)));
Table.States (32).Action_List.Set_Capacity (1);
- Add_Action (Table.States (32), 14, 58);
+ Add_Action (Table.States (32), 14, (41, 0), 58);
Table.States (32).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (32), 41, 59);
- Table.States (32).Kernel := To_Vector ((0 => (57, 10, 2, False)));
- Table.States (32).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 14, 58)));
+ Table.States (32).Kernel := To_Vector ((0 => ((57, 0), 10, 2,
(2147483647, 0), 0)));
+ Table.States (32).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (41, 0), 14, 58)));
Table.States (33).Action_List.Set_Capacity (1);
- Add_Action (Table.States (33), 14, 58);
+ Add_Action (Table.States (33), 14, (41, 0), 58);
Table.States (33).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (33), 41, 60);
- Table.States (33).Kernel := To_Vector ((0 => (57, 11, 2, False)));
- Table.States (33).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 14, 58)));
+ Table.States (33).Kernel := To_Vector ((0 => ((57, 1), 11, 2,
(2147483647, 0), 0)));
+ Table.States (33).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (41, 0), 14, 58)));
Table.States (34).Action_List.Set_Capacity (11);
- Add_Action (Table.States (34), 10, 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_Action (Table.States (34), 10, (57, 0), 32);
+ Add_Action (Table.States (34), 11, (57, 1), 33);
+ Add_Action (Table.States (34), 14, (41, 0), 34);
+ Add_Action (Table.States (34), 19, (43, 0), 9);
+ Add_Action (Table.States (34), 21, (71, 1), 61);
+ Add_Conflict (Table.States (34), 21, (58, 0), 0, null, null);
+ Add_Action (Table.States (34), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (34), 30, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (34), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (34), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (34), 37, (58, 1), 36);
+ Add_Action (Table.States (34), 38, (69, 0), 37);
Table.States (34).Goto_List.Set_Capacity (10);
Add_Goto (Table.States (34), 41, 38);
Add_Goto (Table.States (34), 43, 39);
@@ -348,83 +354,90 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (34), 69, 45);
Add_Goto (Table.States (34), 70, 62);
Add_Goto (Table.States (34), 71, 47);
- Table.States (34).Kernel := To_Vector (((41, 14, 1, False), (71,
14, 1, False)));
- Table.States (34).Minimal_Complete_Actions := To_Vector (((Reduce,
70, 0), (Shift, 21, 61)));
+ Table.States (34).Kernel := To_Vector ((((41, 0), 14, 1,
(2147483647, 0), 0), ((71, 1), 14, 1,
+ (2147483647, 0), 0)));
+ Table.States (34).Minimal_Complete_Actions := To_Vector (((Reduce,
(70, 0), 0), (Shift, (71, 1), 21,
+ 61)));
Table.States (35).Action_List.Set_Capacity (3);
- Add_Action (Table.States (35), (27, 30, 34), (71, 1), 2, null,
null);
- Table.States (35).Kernel := To_Vector ((0 => (71, 21, 0, False)));
- Table.States (35).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 2)));
+ Add_Action (Table.States (35), (27, 30, 34), (71, 1), 2, null,
null);
+ Table.States (35).Kernel := To_Vector ((0 => ((71, 1), 21, 0,
(71, 1), 2)));
+ Table.States (35).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 1), 2)));
Table.States (36).Action_List.Set_Capacity (5);
- Add_Action (Table.States (36), (21, 27, 30, 31, 33), (58, 1), 1,
null, identifier_opt_1_check'Access);
- Table.States (36).Kernel := To_Vector ((0 => (58, 37, 0, False)));
- Table.States (36).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 1)));
+ Add_Action (Table.States (36), (21, 27, 30, 31, 33), (58, 1), 1,
null, identifier_opt_1_check'Access);
+ Table.States (36).Kernel := To_Vector ((0 => ((58, 1), 37, 0,
(58, 1), 1)));
+ Table.States (36).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 1), 1)));
Table.States (37).Action_List.Set_Capacity (3);
- Add_Action (Table.States (37), (21, 27, 30), (69, 0), 1, null,
null);
- Table.States (37).Kernel := To_Vector ((0 => (69, 38, 0, False)));
- Table.States (37).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 69, 1)));
+ Add_Action (Table.States (37), (21, 27, 30), (69, 0), 1, null,
null);
+ Table.States (37).Kernel := To_Vector ((0 => ((69, 0), 38, 0,
(69, 0), 1)));
+ Table.States (37).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (69, 0), 1)));
Table.States (38).Action_List.Set_Capacity (3);
- Add_Action (Table.States (38), (21, 27, 30), (71, 2), 1, null,
null);
- Table.States (38).Kernel := To_Vector ((0 => (71, 41, 0, False)));
- Table.States (38).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 1)));
+ Add_Action (Table.States (38), (21, 27, 30), (71, 2), 1, null,
null);
+ Table.States (38).Kernel := To_Vector ((0 => ((71, 2), 41, 0,
(71, 2), 1)));
+ Table.States (38).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 2), 1)));
Table.States (39).Action_List.Set_Capacity (1);
- Add_Action (Table.States (39), 33, 63);
- Table.States (39).Kernel := To_Vector (((44, 43, 2, False), (44,
43, 5, False)));
- Table.States (39).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 33, 63)));
+ Add_Action (Table.States (39), 33, (44, 0), 63);
+ Table.States (39).Kernel := To_Vector ((((44, 0), 43, 2,
(2147483647, 0), 0), ((44, 1), 43, 5,
+ (2147483647, 0), 0)));
+ Table.States (39).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 0), 33, 63)));
Table.States (40).Action_List.Set_Capacity (3);
- Add_Action (Table.States (40), (21, 27, 30), (69, 3), 1, null,
null);
- Table.States (40).Kernel := To_Vector ((0 => (69, 44, 0, False)));
- Table.States (40).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 69, 1)));
+ Add_Action (Table.States (40), (21, 27, 30), (69, 3), 1, null,
null);
+ Table.States (40).Kernel := To_Vector ((0 => ((69, 3), 44, 0,
(69, 3), 1)));
+ Table.States (40).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (69, 3), 1)));
Table.States (41).Action_List.Set_Capacity (3);
- Add_Action (Table.States (41), 21, Reduce, (70, 0), 1, null, null);
- Add_Action (Table.States (41), 27, 64);
- Add_Action (Table.States (41), 30, Reduce, (70, 0), 1, null, null);
- Table.States (41).Kernel := To_Vector (((56, 56, 1, True), (70,
56, 0, False)));
- Table.States (41).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 70, 1)));
+ Add_Action (Table.States (41), 21, Reduce, (70, 0), 1, null,
null);
+ Add_Action (Table.States (41), 27, (56, 1), 64);
+ Add_Action (Table.States (41), 30, Reduce, (70, 0), 1, null,
null);
+ Table.States (41).Kernel := To_Vector ((((56, 1), 56, 1,
(2147483647, 0), 0), ((70, 0), 56, 0, (70,
+ 0), 1)));
+ Table.States (41).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (70, 0), 1)));
Table.States (42).Action_List.Set_Capacity (3);
- Add_Action (Table.States (42), (21, 27, 30), (69, 2), 1, null,
null);
- Table.States (42).Kernel := To_Vector ((0 => (69, 57, 0, False)));
- Table.States (42).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 69, 1)));
+ Add_Action (Table.States (42), (21, 27, 30), (69, 2), 1, null,
null);
+ Table.States (42).Kernel := To_Vector ((0 => ((69, 2), 57, 0,
(69, 2), 1)));
+ Table.States (42).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (69, 2), 1)));
Table.States (43).Action_List.Set_Capacity (5);
- Add_Action (Table.States (43), (21, 27, 30, 31, 33), (59, 0), 1,
null, null);
- Table.States (43).Kernel := To_Vector ((0 => (59, 58, 0, False)));
- Table.States (43).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 1)));
+ Add_Action (Table.States (43), (21, 27, 30, 31, 33), (59, 0), 1,
null, null);
+ Table.States (43).Kernel := To_Vector ((0 => ((59, 0), 58, 0,
(59, 0), 1)));
+ Table.States (43).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 0), 1)));
Table.States (44).Action_List.Set_Capacity (5);
- Add_Action (Table.States (44), 21, Reduce, (69, 1), 1, null, null);
- Add_Action (Table.States (44), 27, Reduce, (69, 1), 1, null, null);
- Add_Action (Table.States (44), 30, Reduce, (69, 1), 1, null, null);
- Add_Action (Table.States (44), 31, 65);
- Add_Action (Table.States (44), 33, Reduce, (43, 1), 1, null, null);
- Table.States (44).Kernel := To_Vector (((43, 59, 0, False), (59,
59, 2, True), (69, 59, 0, False)));
- Table.States (44).Minimal_Complete_Actions := To_Vector (((Reduce,
43, 1), (Reduce, 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, (59, 1), 65);
+ Add_Action (Table.States (44), 33, Reduce, (43, 1), 1, null,
null);
+ Table.States (44).Kernel := To_Vector ((((43, 1), 59, 0, (43,
1), 1), ((59, 1), 59, 2, (2147483647,
+ 0), 0), ((69, 1), 59, 0, (69, 1), 1)));
+ Table.States (44).Minimal_Complete_Actions := To_Vector (((Reduce,
(43, 1), 1), (Reduce, (69, 1), 1)));
Table.States (45).Action_List.Set_Capacity (3);
- Add_Action (Table.States (45), (21, 27, 30), (71, 0), 1, null,
null);
- Table.States (45).Kernel := To_Vector ((0 => (71, 69, 0, False)));
- Table.States (45).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 1)));
+ Add_Action (Table.States (45), (21, 27, 30), (71, 0), 1, null,
null);
+ Table.States (45).Kernel := To_Vector ((0 => ((71, 0), 69, 0,
(71, 0), 1)));
+ Table.States (45).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 0), 1)));
Table.States (46).Action_List.Set_Capacity (2);
- Add_Action (Table.States (46), 21, 66);
- Add_Action (Table.States (46), 30, 67);
- Table.States (46).Kernel := To_Vector (((41, 70, 1, False), (70,
70, 1, True)));
- Table.States (46).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 21, 66)));
+ Add_Action (Table.States (46), 21, (41, 0), 66);
+ Add_Action (Table.States (46), 30, (70, 1), 67);
+ Table.States (46).Kernel := To_Vector ((((41, 0), 70, 1,
(2147483647, 0), 0), ((70, 1), 70, 1,
+ (2147483647, 0), 0)));
+ Table.States (46).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (41, 0), 21, 66)));
Table.States (47).Action_List.Set_Capacity (3);
- Add_Action (Table.States (47), (21, 27, 30), (56, 0), 1, null,
null);
- Table.States (47).Kernel := To_Vector ((0 => (56, 71, 0, False)));
- Table.States (47).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 1)));
+ Add_Action (Table.States (47), (21, 27, 30), (56, 0), 1, null,
null);
+ Table.States (47).Kernel := To_Vector ((0 => ((56, 0), 71, 0,
(56, 0), 1)));
+ Table.States (47).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 0), 1)));
Table.States (48).Action_List.Set_Capacity (1);
- Add_Action (Table.States (48), 37, 68);
- Table.States (48).Kernel := To_Vector (((44, 33, 1, False), (44,
33, 4, False)));
- Table.States (48).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 68)));
+ Add_Action (Table.States (48), 37, (44, 0), 68);
+ Table.States (48).Kernel := To_Vector ((((44, 0), 33, 1,
(2147483647, 0), 0), ((44, 1), 33, 4,
+ (2147483647, 0), 0)));
+ Table.States (48).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 0), 37, 68)));
Table.States (49).Action_List.Set_Capacity (11);
- Add_Action (Table.States (49), 10, 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_Action (Table.States (49), 10, (57, 0), 6);
+ Add_Action (Table.States (49), 11, (57, 1), 7);
+ Add_Action (Table.States (49), 14, (41, 0), 8);
+ Add_Action (Table.States (49), 19, (43, 0), 9);
+ Add_Action (Table.States (49), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (49), 30, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (49), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (49), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (49), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (49), 37, (58, 1), 10);
+ Add_Action (Table.States (49), 38, (69, 0), 11);
Table.States (49).Goto_List.Set_Capacity (8);
Add_Goto (Table.States (49), 41, 12);
Add_Goto (Table.States (49), 43, 13);
@@ -434,26 +447,24 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (49), 59, 18);
Add_Goto (Table.States (49), 69, 19);
Add_Goto (Table.States (49), 71, 69);
- Table.States (49).Kernel := To_Vector ((0 => (56, 27, 0, True)));
- Table.States (49).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 0)));
- Table.States (49).Minimal_Complete_Actions_Recursive := True;
+ Table.States (49).Kernel := To_Vector ((0 => ((56, 1), 27, 0,
(71, 0), 1)));
+ Table.States (49).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 0), 1)));
Table.States (50).Action_List.Set_Capacity (1);
- Add_Action (Table.States (50), 37, 70);
- Table.States (50).Kernel := To_Vector ((0 => (59, 31, 1, True)));
- Table.States (50).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 70)));
- Table.States (50).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (50), 37, (59, 1), 70);
+ Table.States (50).Kernel := To_Vector ((0 => ((59, 1), 31, 1,
(2147483647, 0), 0)));
+ Table.States (50).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (59, 1), 37, 70)));
Table.States (51).Action_List.Set_Capacity (11);
- Add_Action (Table.States (51), 10, 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_Action (Table.States (51), 10, (57, 0), 6);
+ Add_Action (Table.States (51), 11, (57, 1), 7);
+ Add_Action (Table.States (51), 14, (41, 0), 8);
+ Add_Action (Table.States (51), 19, (43, 0), 9);
+ Add_Action (Table.States (51), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (51), 30, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (51), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (51), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (51), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (51), 37, (58, 1), 10);
+ Add_Action (Table.States (51), 38, (69, 0), 11);
Table.States (51).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (51), 41, 12);
Add_Goto (Table.States (51), 43, 13);
@@ -464,49 +475,49 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (51), 59, 18);
Add_Goto (Table.States (51), 69, 19);
Add_Goto (Table.States (51), 71, 21);
- Table.States (51).Kernel := To_Vector ((0 => (70, 30, 0, True)));
- Table.States (51).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 0)));
- Table.States (51).Minimal_Complete_Actions_Recursive := True;
+ Table.States (51).Kernel := To_Vector ((0 => ((70, 1), 30, 0,
(56, 1), 3)));
+ Table.States (51).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 1), 3)));
Table.States (52).Action_List.Set_Capacity (8);
- Add_Action (Table.States (52), (3, 5, 7, 15, 19, 22, 26, 39), (73,
0), 3, null, null);
- Table.States (52).Kernel := To_Vector ((0 => (73, 34, 0, False)));
- Table.States (52).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 73, 3)));
+ Add_Action (Table.States (52), (3, 5, 7, 15, 19, 22, 26, 39), (73,
0), 3, null, null);
+ Table.States (52).Kernel := To_Vector ((0 => ((73, 0), 34, 0,
(73, 0), 3)));
+ Table.States (52).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (73, 0), 3)));
Table.States (53).Action_List.Set_Capacity (2);
- Add_Action (Table.States (53), (19, 39), (66, 4), 2, null, null);
- Table.States (53).Kernel := To_Vector ((0 => (66, 15, 0, False)));
- Table.States (53).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 66, 2)));
+ Add_Action (Table.States (53), (19, 39), (66, 4), 2, null, null);
+ Table.States (53).Kernel := To_Vector ((0 => ((66, 4), 15, 0,
(66, 4), 2)));
+ Table.States (53).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (66, 4), 2)));
Table.States (54).Action_List.Set_Capacity (3);
- Add_Action (Table.States (54), 9, Reduce, (58, 0), 0, null, null);
- Add_Action (Table.States (54), 13, Reduce, (58, 0), 0, null, null);
- Add_Action (Table.States (54), 37, 72);
+ Add_Action (Table.States (54), 9, Reduce, (58, 0), 0, null, null);
+ Add_Action (Table.States (54), 13, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (54), 37, (58, 1), 72);
Table.States (54).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (54), 58, 73);
- Table.States (54).Kernel := To_Vector (((65, 19, 5, False), (68,
19, 3, False)));
- Table.States (54).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 0)));
+ Table.States (54).Kernel := To_Vector ((((65, 0), 19, 5,
(2147483647, 0), 0), ((68, 0), 19, 3,
+ (2147483647, 0), 0)));
+ Table.States (54).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 0), 0)));
Table.States (55).Action_List.Set_Capacity (1);
- Add_Action (Table.States (55), (1 => 39), (48, 0), 3,
compilation_unit_0'Access, null);
- Table.States (55).Kernel := To_Vector ((0 => (48, 64, 0, False)));
- Table.States (55).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 48, 3)));
+ Add_Action (Table.States (55), (1 => 39), (48, 0), 3,
compilation_unit_0'Access, null);
+ Table.States (55).Kernel := To_Vector ((0 => ((48, 0), 64, 0,
(48, 0), 3)));
+ Table.States (55).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (48, 0), 3)));
Table.States (56).Action_List.Set_Capacity (1);
- Add_Action (Table.States (56), (1 => 39), (64, 2), 1, null, null);
- Table.States (56).Kernel := To_Vector ((0 => (64, 65, 0, False)));
- Table.States (56).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 64, 1)));
+ Add_Action (Table.States (56), (1 => 39), (64, 2), 1, null,
null);
+ Table.States (56).Kernel := To_Vector ((0 => ((64, 2), 65, 0,
(64, 2), 1)));
+ Table.States (56).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (64, 2), 1)));
Table.States (57).Action_List.Set_Capacity (1);
- Add_Action (Table.States (57), (1 => 39), (64, 1), 1, null, null);
- Table.States (57).Kernel := To_Vector ((0 => (64, 68, 0, False)));
- Table.States (57).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 64, 1)));
+ Add_Action (Table.States (57), (1 => 39), (64, 1), 1, null,
null);
+ Table.States (57).Kernel := To_Vector ((0 => ((64, 1), 68, 0,
(64, 1), 1)));
+ Table.States (57).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (64, 1), 1)));
Table.States (58).Action_List.Set_Capacity (11);
- Add_Action (Table.States (58), 10, 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_Action (Table.States (58), 10, (57, 0), 32);
+ Add_Action (Table.States (58), 11, (57, 1), 33);
+ Add_Action (Table.States (58), 14, (41, 0), 34);
+ Add_Action (Table.States (58), 19, (43, 0), 9);
+ Add_Action (Table.States (58), 21, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (58), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (58), 30, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (58), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (58), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (58), 37, (58, 1), 36);
+ Add_Action (Table.States (58), 38, (69, 0), 37);
Table.States (58).Goto_List.Set_Capacity (10);
Add_Goto (Table.States (58), 41, 38);
Add_Goto (Table.States (58), 43, 39);
@@ -518,41 +529,43 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (58), 69, 45);
Add_Goto (Table.States (58), 70, 62);
Add_Goto (Table.States (58), 71, 47);
- Table.States (58).Kernel := To_Vector ((0 => (41, 14, 1, False)));
- Table.States (58).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 70, 0)));
+ Table.States (58).Kernel := To_Vector ((0 => ((41, 0), 14, 1,
(2147483647, 0), 0)));
+ Table.States (58).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (70, 0), 0)));
Table.States (59).Action_List.Set_Capacity (3);
- Add_Action (Table.States (59), (21, 27, 30), (57, 0), 2, null,
null);
- Table.States (59).Kernel := To_Vector ((0 => (57, 41, 0, False)));
- Table.States (59).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 57, 2)));
+ Add_Action (Table.States (59), (21, 27, 30), (57, 0), 2, null,
null);
+ Table.States (59).Kernel := To_Vector ((0 => ((57, 0), 41, 0,
(57, 0), 2)));
+ Table.States (59).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (57, 0), 2)));
Table.States (60).Action_List.Set_Capacity (3);
- Add_Action (Table.States (60), (21, 27, 30), (57, 1), 2, null,
null);
- Table.States (60).Kernel := To_Vector ((0 => (57, 41, 0, False)));
- Table.States (60).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 57, 2)));
+ Add_Action (Table.States (60), (21, 27, 30), (57, 1), 2, null,
null);
+ Table.States (60).Kernel := To_Vector ((0 => ((57, 1), 41, 0,
(57, 1), 2)));
+ Table.States (60).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (57, 1), 2)));
Table.States (61).Action_List.Set_Capacity (3);
- Add_Action (Table.States (61), (21, 27, 30), (71, 1), 2, null,
null);
- Table.States (61).Kernel := To_Vector ((0 => (71, 21, 0, False)));
- Table.States (61).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 2)));
+ Add_Action (Table.States (61), (21, 27, 30), (71, 1), 2, null,
null);
+ Table.States (61).Kernel := To_Vector ((0 => ((71, 1), 21, 0,
(71, 1), 2)));
+ Table.States (61).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 1), 2)));
Table.States (62).Action_List.Set_Capacity (2);
- Add_Action (Table.States (62), 21, 74);
- Add_Action (Table.States (62), 30, 67);
- Table.States (62).Kernel := To_Vector (((41, 70, 1, False), (70,
70, 1, True)));
- Table.States (62).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 21, 74)));
+ Add_Action (Table.States (62), 21, (41, 0), 74);
+ Add_Action (Table.States (62), 30, (70, 1), 67);
+ Table.States (62).Kernel := To_Vector ((((41, 0), 70, 1,
(2147483647, 0), 0), ((70, 1), 70, 1,
+ (2147483647, 0), 0)));
+ Table.States (62).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (41, 0), 21, 74)));
Table.States (63).Action_List.Set_Capacity (1);
- Add_Action (Table.States (63), 37, 75);
- Table.States (63).Kernel := To_Vector (((44, 33, 1, False), (44,
33, 4, False)));
- Table.States (63).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 75)));
+ Add_Action (Table.States (63), 37, (44, 0), 75);
+ Table.States (63).Kernel := To_Vector ((((44, 0), 33, 1,
(2147483647, 0), 0), ((44, 1), 33, 4,
+ (2147483647, 0), 0)));
+ Table.States (63).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 0), 37, 75)));
Table.States (64).Action_List.Set_Capacity (11);
- Add_Action (Table.States (64), 10, 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_Action (Table.States (64), 10, (57, 0), 32);
+ Add_Action (Table.States (64), 11, (57, 1), 33);
+ Add_Action (Table.States (64), 14, (41, 0), 34);
+ Add_Action (Table.States (64), 19, (43, 0), 9);
+ Add_Action (Table.States (64), 21, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (64), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (64), 30, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (64), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (64), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (64), 37, (58, 1), 36);
+ Add_Action (Table.States (64), 38, (69, 0), 37);
Table.States (64).Goto_List.Set_Capacity (8);
Add_Goto (Table.States (64), 41, 38);
Add_Goto (Table.States (64), 43, 39);
@@ -562,30 +575,28 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (64), 59, 44);
Add_Goto (Table.States (64), 69, 45);
Add_Goto (Table.States (64), 71, 76);
- Table.States (64).Kernel := To_Vector ((0 => (56, 27, 0, True)));
- Table.States (64).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 0)));
- Table.States (64).Minimal_Complete_Actions_Recursive := True;
+ Table.States (64).Kernel := To_Vector ((0 => ((56, 1), 27, 0,
(71, 0), 1)));
+ Table.States (64).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 0), 1)));
Table.States (65).Action_List.Set_Capacity (1);
- Add_Action (Table.States (65), 37, 77);
- Table.States (65).Kernel := To_Vector ((0 => (59, 31, 1, True)));
- Table.States (65).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 77)));
- Table.States (65).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (65), 37, (59, 1), 77);
+ Table.States (65).Kernel := To_Vector ((0 => ((59, 1), 31, 1,
(2147483647, 0), 0)));
+ Table.States (65).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (59, 1), 37, 77)));
Table.States (66).Action_List.Set_Capacity (3);
- Add_Action (Table.States (66), (27, 30, 34), (41, 0), 3,
aggregate_g_0'Access, null);
- Table.States (66).Kernel := To_Vector ((0 => (41, 21, 0, False)));
- Table.States (66).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 41, 3)));
+ Add_Action (Table.States (66), (27, 30, 34), (41, 0), 3,
aggregate_g_0'Access, null);
+ Table.States (66).Kernel := To_Vector ((0 => ((41, 0), 21, 0,
(41, 0), 3)));
+ Table.States (66).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (41, 0), 3)));
Table.States (67).Action_List.Set_Capacity (11);
- Add_Action (Table.States (67), 10, 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_Action (Table.States (67), 10, (57, 0), 32);
+ Add_Action (Table.States (67), 11, (57, 1), 33);
+ Add_Action (Table.States (67), 14, (41, 0), 34);
+ Add_Action (Table.States (67), 19, (43, 0), 9);
+ Add_Action (Table.States (67), 21, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (67), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (67), 30, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (67), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (67), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (67), 37, (58, 1), 36);
+ Add_Action (Table.States (67), 38, (69, 0), 37);
Table.States (67).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (67), 41, 38);
Add_Goto (Table.States (67), 43, 39);
@@ -596,86 +607,86 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (67), 59, 44);
Add_Goto (Table.States (67), 69, 45);
Add_Goto (Table.States (67), 71, 47);
- Table.States (67).Kernel := To_Vector ((0 => (70, 30, 0, True)));
- Table.States (67).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 0)));
- Table.States (67).Minimal_Complete_Actions_Recursive := True;
+ Table.States (67).Kernel := To_Vector ((0 => ((70, 1), 30, 0,
(56, 1), 3)));
+ Table.States (67).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 1), 3)));
Table.States (68).Action_List.Set_Capacity (4);
- Add_Action (Table.States (68), 14, 79);
- Add_Action (Table.States (68), 27, Reduce, (44, 0), 3, null, null);
- Add_Action (Table.States (68), 30, Reduce, (44, 0), 3, null, null);
- Add_Action (Table.States (68), 34, Reduce, (44, 0), 3, null, null);
- Table.States (68).Kernel := To_Vector (((44, 37, 0, False), (44,
37, 3, False)));
- Table.States (68).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 44, 3)));
+ Add_Action (Table.States (68), 14, (44, 1), 79);
+ Add_Action (Table.States (68), 27, Reduce, (44, 0), 3, null,
null);
+ Add_Action (Table.States (68), 30, Reduce, (44, 0), 3, null,
null);
+ Add_Action (Table.States (68), 34, Reduce, (44, 0), 3, null,
null);
+ Table.States (68).Kernel := To_Vector ((((44, 0), 37, 0, (44,
0), 3), ((44, 1), 37, 3, (2147483647,
+ 0), 0)));
+ Table.States (68).Minimal_Complete_Actions := To_Vector (((Reduce,
(44, 0), 3), (Shift, (44, 1), 14,
+ 79)));
Table.States (69).Action_List.Set_Capacity (3);
- Add_Action (Table.States (69), (27, 30, 34), (56, 1), 3, null,
null);
- Table.States (69).Kernel := To_Vector ((0 => (56, 71, 0, True)));
- Table.States (69).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 3)));
- Table.States (69).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (69), (27, 30, 34), (56, 1), 3, null,
null);
+ Table.States (69).Kernel := To_Vector ((0 => ((56, 1), 71, 0,
(56, 1), 3)));
+ Table.States (69).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 1), 3)));
Table.States (70).Action_List.Set_Capacity (5);
- Add_Action (Table.States (70), (27, 30, 31, 33, 34), (59, 1), 3,
null, null);
- Table.States (70).Kernel := To_Vector ((0 => (59, 37, 0, True)));
- Table.States (70).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 3)));
- Table.States (70).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (70), (27, 30, 31, 33, 34), (59, 1), 3,
null, null);
+ Table.States (70).Kernel := To_Vector ((0 => ((59, 1), 37, 0,
(59, 1), 3)));
+ Table.States (70).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 1), 3)));
Table.States (71).Action_List.Set_Capacity (3);
- Add_Action (Table.States (71), 27, 49);
- Add_Action (Table.States (71), 30, Reduce, (70, 1), 3, null, null);
- Add_Action (Table.States (71), 34, Reduce, (70, 1), 3, null, null);
- Table.States (71).Kernel := To_Vector (((56, 56, 1, True), (70,
56, 0, True)));
- Table.States (71).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 70, 3)));
- Table.States (71).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (71), 27, (56, 1), 49);
+ Add_Action (Table.States (71), 30, Reduce, (70, 1), 3, null,
null);
+ Add_Action (Table.States (71), 34, Reduce, (70, 1), 3, null,
null);
+ Table.States (71).Kernel := To_Vector ((((56, 1), 56, 1,
(2147483647, 0), 0), ((70, 1), 56, 0, (70,
+ 1), 3)));
+ Table.States (71).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (70, 1), 3)));
Table.States (72).Action_List.Set_Capacity (2);
- Add_Action (Table.States (72), (9, 13), (58, 1), 1, null,
identifier_opt_1_check'Access);
- Table.States (72).Kernel := To_Vector ((0 => (58, 37, 0, False)));
- Table.States (72).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 1)));
+ Add_Action (Table.States (72), (9, 13), (58, 1), 1, null,
identifier_opt_1_check'Access);
+ Table.States (72).Kernel := To_Vector ((0 => ((58, 1), 37, 0,
(58, 1), 1)));
+ Table.States (72).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 1), 1)));
Table.States (73).Action_List.Set_Capacity (2);
- Add_Action (Table.States (73), 9, 80);
- Add_Action (Table.States (73), 13, 81);
- Table.States (73).Kernel := To_Vector (((65, 58, 5, False), (68,
58, 3, False)));
- Table.States (73).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 13, 81)));
+ Add_Action (Table.States (73), 9, (65, 0), 80);
+ Add_Action (Table.States (73), 13, (68, 0), 81);
+ Table.States (73).Kernel := To_Vector ((((65, 0), 58, 5,
(2147483647, 0), 0), ((68, 0), 58, 3,
+ (2147483647, 0), 0)));
+ Table.States (73).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (68, 0), 13, 81)));
Table.States (74).Action_List.Set_Capacity (3);
- Add_Action (Table.States (74), (21, 27, 30), (41, 0), 3,
aggregate_g_0'Access, null);
- Table.States (74).Kernel := To_Vector ((0 => (41, 21, 0, False)));
- Table.States (74).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 41, 3)));
+ Add_Action (Table.States (74), (21, 27, 30), (41, 0), 3,
aggregate_g_0'Access, null);
+ Table.States (74).Kernel := To_Vector ((0 => ((41, 0), 21, 0,
(41, 0), 3)));
+ Table.States (74).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (41, 0), 3)));
Table.States (75).Action_List.Set_Capacity (4);
- Add_Action (Table.States (75), 14, 82);
- Add_Action (Table.States (75), 21, Reduce, (44, 0), 3, null, null);
- Add_Action (Table.States (75), 27, Reduce, (44, 0), 3, null, null);
- Add_Action (Table.States (75), 30, Reduce, (44, 0), 3, null, null);
- Table.States (75).Kernel := To_Vector (((44, 37, 0, False), (44,
37, 3, False)));
- Table.States (75).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 44, 3)));
+ Add_Action (Table.States (75), 14, (44, 1), 82);
+ Add_Action (Table.States (75), 21, Reduce, (44, 0), 3, null,
null);
+ Add_Action (Table.States (75), 27, Reduce, (44, 0), 3, null,
null);
+ Add_Action (Table.States (75), 30, Reduce, (44, 0), 3, null,
null);
+ Table.States (75).Kernel := To_Vector ((((44, 0), 37, 0, (44,
0), 3), ((44, 1), 37, 3, (2147483647,
+ 0), 0)));
+ Table.States (75).Minimal_Complete_Actions := To_Vector (((Reduce,
(44, 0), 3), (Shift, (44, 1), 14,
+ 82)));
Table.States (76).Action_List.Set_Capacity (3);
- Add_Action (Table.States (76), (21, 27, 30), (56, 1), 3, null,
null);
- Table.States (76).Kernel := To_Vector ((0 => (56, 71, 0, True)));
- Table.States (76).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 3)));
- Table.States (76).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (76), (21, 27, 30), (56, 1), 3, null,
null);
+ Table.States (76).Kernel := To_Vector ((0 => ((56, 1), 71, 0,
(56, 1), 3)));
+ Table.States (76).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 1), 3)));
Table.States (77).Action_List.Set_Capacity (5);
- Add_Action (Table.States (77), (21, 27, 30, 31, 33), (59, 1), 3,
null, null);
- Table.States (77).Kernel := To_Vector ((0 => (59, 37, 0, True)));
- Table.States (77).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 3)));
- Table.States (77).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (77), (21, 27, 30, 31, 33), (59, 1), 3,
null, null);
+ Table.States (77).Kernel := To_Vector ((0 => ((59, 1), 37, 0,
(59, 1), 3)));
+ Table.States (77).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 1), 3)));
Table.States (78).Action_List.Set_Capacity (3);
- Add_Action (Table.States (78), 21, Reduce, (70, 1), 3, null, null);
- Add_Action (Table.States (78), 27, 64);
- Add_Action (Table.States (78), 30, Reduce, (70, 1), 3, null, null);
- Table.States (78).Kernel := To_Vector (((56, 56, 1, True), (70,
56, 0, True)));
- Table.States (78).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 70, 3)));
- Table.States (78).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (78), 21, Reduce, (70, 1), 3, null,
null);
+ Add_Action (Table.States (78), 27, (56, 1), 64);
+ Add_Action (Table.States (78), 30, Reduce, (70, 1), 3, null,
null);
+ Table.States (78).Kernel := To_Vector ((((56, 1), 56, 1,
(2147483647, 0), 0), ((70, 1), 56, 0, (70,
+ 1), 3)));
+ Table.States (78).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (70, 1), 3)));
Table.States (79).Action_List.Set_Capacity (1);
- Add_Action (Table.States (79), 38, 83);
- Table.States (79).Kernel := To_Vector ((0 => (44, 14, 2, False)));
- Table.States (79).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 38, 83)));
+ Add_Action (Table.States (79), 38, (44, 1), 83);
+ Table.States (79).Kernel := To_Vector ((0 => ((44, 1), 14, 2,
(2147483647, 0), 0)));
+ Table.States (79).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 1), 38, 83)));
Table.States (80).Action_List.Set_Capacity (1);
- Add_Action (Table.States (80), 38, 84);
- Table.States (80).Kernel := To_Vector ((0 => (65, 9, 4, False)));
- Table.States (80).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 38, 84)));
+ Add_Action (Table.States (80), 38, (65, 0), 84);
+ Table.States (80).Kernel := To_Vector ((0 => ((65, 0), 9, 4,
(2147483647, 0), 0)));
+ Table.States (80).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (65, 0), 38, 84)));
Table.States (81).Action_List.Set_Capacity (7);
- Add_Action (Table.States (81), 6, 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_Action (Table.States (81), 6, (45, 0), 85);
+ Add_Action (Table.States (81), 8, Reduce, (53, 0), 0, null, null);
+ Add_Action (Table.States (81), 12, (42, 0), 86);
+ Add_Action (Table.States (81), 16, (67, 4), 87);
+ Add_Action (Table.States (81), 18, (61, 0), 88);
+ Add_Action (Table.States (81), 23, (72, 0), 89);
+ Add_Action (Table.States (81), 37, (67, 0), 90);
Table.States (81).Goto_List.Set_Capacity (11);
Add_Goto (Table.States (81), 42, 91);
Add_Goto (Table.States (81), 45, 92);
@@ -688,77 +699,79 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (81), 63, 99);
Add_Goto (Table.States (81), 67, 100);
Add_Goto (Table.States (81), 72, 101);
- Table.States (81).Kernel := To_Vector ((0 => (68, 13, 2, False)));
- Table.States (81).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 53, 0)));
+ Table.States (81).Kernel := To_Vector ((0 => ((68, 0), 13, 2,
(2147483647, 0), 0)));
+ Table.States (81).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (53, 0), 0)));
Table.States (82).Action_List.Set_Capacity (1);
- Add_Action (Table.States (82), 38, 102);
- Table.States (82).Kernel := To_Vector ((0 => (44, 14, 2, False)));
- Table.States (82).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 38, 102)));
+ Add_Action (Table.States (82), 38, (44, 1), 102);
+ Table.States (82).Kernel := To_Vector ((0 => ((44, 1), 14, 2,
(2147483647, 0), 0)));
+ Table.States (82).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 1), 38, 102)));
Table.States (83).Action_List.Set_Capacity (1);
- Add_Action (Table.States (83), 21, 103);
- Table.States (83).Kernel := To_Vector ((0 => (44, 38, 1, False)));
- Table.States (83).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 21, 103)));
+ Add_Action (Table.States (83), 21, (44, 1), 103);
+ Table.States (83).Kernel := To_Vector ((0 => ((44, 1), 38, 1,
(2147483647, 0), 0)));
+ Table.States (83).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 1), 21, 103)));
Table.States (84).Action_List.Set_Capacity (1);
- Add_Action (Table.States (84), 13, 104);
- Table.States (84).Kernel := To_Vector ((0 => (65, 38, 3, False)));
- Table.States (84).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 13, 104)));
+ Add_Action (Table.States (84), 13, (65, 0), 104);
+ Table.States (84).Kernel := To_Vector ((0 => ((65, 0), 38, 3,
(2147483647, 0), 0)));
+ Table.States (84).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (65, 0), 13, 104)));
Table.States (85).Action_List.Set_Capacity (3);
- Add_Action (Table.States (85), 13, Reduce, (58, 0), 0, null, null);
- Add_Action (Table.States (85), 31, Reduce, (58, 0), 0, null, null);
- Add_Action (Table.States (85), 37, 105);
+ Add_Action (Table.States (85), 13, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (85), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (85), 37, (58, 1), 105);
Table.States (85).Goto_List.Set_Capacity (2);
Add_Goto (Table.States (85), 58, 106);
Add_Goto (Table.States (85), 59, 107);
- Table.States (85).Kernel := To_Vector ((0 => (45, 6, 4, False)));
- Table.States (85).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 0)));
+ Table.States (85).Kernel := To_Vector ((0 => ((45, 0), 6, 4,
(2147483647, 0), 0)));
+ Table.States (85).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 0), 0)));
Table.States (86).Action_List.Set_Capacity (2);
- Add_Action (Table.States (86), 10, 108);
- Add_Action (Table.States (86), 37, 109);
- Table.States (86).Kernel := To_Vector (((42, 12, 3, False), (42,
12, 5, False), (42, 12, 7, False), (42,
- 12, 6, False)));
- Table.States (86).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 109)));
+ Add_Action (Table.States (86), 10, (42, 3), 108);
+ Add_Action (Table.States (86), 37, (42, 0), 109);
+ Table.States (86).Kernel := To_Vector ((((42, 0), 12, 3,
(2147483647, 0), 0), ((42, 1), 12, 5,
+ (2147483647, 0), 0), ((42, 2), 12, 7, (2147483647, 0), 0),
((42, 3), 12, 6, (2147483647, 0), 0)));
+ Table.States (86).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 0), 37, 109)));
Table.States (87).Action_List.Set_Capacity (1);
- Add_Action (Table.States (87), 34, 110);
- Table.States (87).Kernel := To_Vector ((0 => (67, 16, 1, False)));
- Table.States (87).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 110)));
+ Add_Action (Table.States (87), 34, (67, 4), 110);
+ Table.States (87).Kernel := To_Vector ((0 => ((67, 4), 16, 1,
(2147483647, 0), 0)));
+ Table.States (87).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (67, 4), 34, 110)));
Table.States (88).Action_List.Set_Capacity (4);
- Add_Action (Table.States (88), 9, Reduce, (58, 0), 0, null, null);
- Add_Action (Table.States (88), 13, Reduce, (58, 0), 0, null, null);
- Add_Action (Table.States (88), 20, Reduce, (58, 0), 0, null, null);
- Add_Action (Table.States (88), 37, 111);
+ Add_Action (Table.States (88), 9, Reduce, (58, 0), 0, null, null);
+ Add_Action (Table.States (88), 13, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (88), 20, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (88), 37, (58, 1), 111);
Table.States (88).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (88), 58, 112);
- Table.States (88).Kernel := To_Vector (((61, 18, 3, False), (62,
18, 4, False), (63, 18, 2, False)));
- Table.States (88).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 0)));
+ Table.States (88).Kernel := To_Vector ((((61, 0), 18, 3,
(2147483647, 0), 0), ((62, 0), 18, 4,
+ (2147483647, 0), 0), ((63, 0), 18, 2, (2147483647, 0), 0)));
+ Table.States (88).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 0), 0)));
Table.States (89).Action_List.Set_Capacity (1);
- Add_Action (Table.States (89), 37, 113);
- Table.States (89).Kernel := To_Vector ((0 => (72, 23, 5, False)));
- Table.States (89).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 113)));
+ Add_Action (Table.States (89), 37, (72, 0), 113);
+ Table.States (89).Kernel := To_Vector ((0 => ((72, 0), 23, 5,
(2147483647, 0), 0)));
+ Table.States (89).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (72, 0), 37, 113)));
Table.States (90).Action_List.Set_Capacity (2);
- Add_Action (Table.States (90), 28, 114);
- Add_Action (Table.States (90), 29, 115);
- Table.States (90).Kernel := To_Vector (((67, 37, 2, False), (67,
37, 4, False)));
- Table.States (90).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 29, 115)));
+ Add_Action (Table.States (90), 28, (67, 1), 114);
+ Add_Action (Table.States (90), 29, (67, 0), 115);
+ Table.States (90).Kernel := To_Vector ((((67, 0), 37, 2,
(2147483647, 0), 0), ((67, 1), 37, 4,
+ (2147483647, 0), 0)));
+ Table.States (90).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (67, 0), 29, 115)));
Table.States (91).Action_List.Set_Capacity (7);
- Add_Action (Table.States (91), (6, 8, 12, 16, 18, 23, 37), (67,
2), 1, null, null);
- Table.States (91).Kernel := To_Vector ((0 => (67, 42, 0, False)));
- Table.States (91).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 67, 1)));
+ Add_Action (Table.States (91), (6, 8, 12, 16, 18, 23, 37), (67,
2), 1, null, null);
+ Table.States (91).Kernel := To_Vector ((0 => ((67, 2), 42, 0,
(67, 2), 1)));
+ Table.States (91).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (67, 2), 1)));
Table.States (92).Action_List.Set_Capacity (7);
- Add_Action (Table.States (92), (6, 8, 12, 16, 18, 23, 37), (67,
3), 1, null, null);
- Table.States (92).Kernel := To_Vector ((0 => (67, 45, 0, False)));
- Table.States (92).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 67, 1)));
+ Add_Action (Table.States (92), (6, 8, 12, 16, 18, 23, 37), (67,
3), 1, null, null);
+ Table.States (92).Kernel := To_Vector ((0 => ((67, 3), 45, 0,
(67, 3), 1)));
+ Table.States (92).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (67, 3), 1)));
Table.States (93).Action_List.Set_Capacity (7);
- Add_Action (Table.States (93), (6, 8, 12, 16, 18, 23, 37), (52,
0), 1, null, null);
- Table.States (93).Kernel := To_Vector ((0 => (52, 51, 0, False)));
- Table.States (93).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 52, 1)));
+ Add_Action (Table.States (93), (6, 8, 12, 16, 18, 23, 37), (52,
0), 1, null, null);
+ Table.States (93).Kernel := To_Vector ((0 => ((52, 0), 51, 0,
(52, 0), 1)));
+ Table.States (93).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (52, 0), 1)));
Table.States (94).Action_List.Set_Capacity (7);
- Add_Action (Table.States (94), 6, 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_Action (Table.States (94), 6, (45, 0), 85);
+ Add_Action (Table.States (94), 8, Reduce, (53, 1), 1, null, null);
+ Add_Action (Table.States (94), 12, (42, 0), 86);
+ Add_Action (Table.States (94), 16, (67, 4), 87);
+ Add_Action (Table.States (94), 18, (61, 0), 88);
+ Add_Action (Table.States (94), 23, (72, 0), 89);
+ Add_Action (Table.States (94), 37, (67, 0), 90);
Table.States (94).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (94), 42, 91);
Add_Goto (Table.States (94), 45, 92);
@@ -769,52 +782,56 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (94), 63, 99);
Add_Goto (Table.States (94), 67, 100);
Add_Goto (Table.States (94), 72, 101);
- Table.States (94).Kernel := To_Vector (((52, 52, 2, True), (53,
52, 0, False)));
- Table.States (94).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 53, 1)));
+ Table.States (94).Kernel := To_Vector ((((52, 1), 52, 2,
(2147483647, 0), 0), ((53, 1), 52, 0, (53,
+ 1), 1)));
+ Table.States (94).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (53, 1), 1)));
Table.States (95).Action_List.Set_Capacity (1);
- Add_Action (Table.States (95), 8, 117);
- Table.States (95).Kernel := To_Vector ((0 => (68, 53, 2, False)));
- Table.States (95).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 8, 117)));
+ Add_Action (Table.States (95), 8, (68, 0), 117);
+ Table.States (95).Kernel := To_Vector ((0 => ((68, 0), 53, 2,
(2147483647, 0), 0)));
+ Table.States (95).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (68, 0), 8, 117)));
Table.States (96).Action_List.Set_Capacity (7);
- Add_Action (Table.States (96), (6, 8, 12, 16, 18, 23, 37), (51,
2), 1, null, null);
- Table.States (96).Kernel := To_Vector ((0 => (51, 60, 0, False)));
- Table.States (96).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 51, 1)));
+ Add_Action (Table.States (96), (6, 8, 12, 16, 18, 23, 37), (51,
2), 1, null, null);
+ Table.States (96).Kernel := To_Vector ((0 => ((51, 2), 60, 0,
(51, 2), 1)));
+ Table.States (96).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (51, 2), 1)));
Table.States (97).Action_List.Set_Capacity (7);
- Add_Action (Table.States (97), (6, 8, 12, 16, 18, 23, 37), (60,
0), 1, null, null);
- Table.States (97).Kernel := To_Vector ((0 => (60, 61, 0, False)));
- Table.States (97).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 60, 1)));
+ Add_Action (Table.States (97), (6, 8, 12, 16, 18, 23, 37), (60,
0), 1, null, null);
+ Table.States (97).Kernel := To_Vector ((0 => ((60, 0), 61, 0,
(60, 0), 1)));
+ Table.States (97).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (60, 0), 1)));
Table.States (98).Action_List.Set_Capacity (7);
- Add_Action (Table.States (98), (6, 8, 12, 16, 18, 23, 37), (60,
1), 1, null, null);
- Table.States (98).Kernel := To_Vector ((0 => (60, 62, 0, False)));
- Table.States (98).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 60, 1)));
+ Add_Action (Table.States (98), (6, 8, 12, 16, 18, 23, 37), (60,
1), 1, null, null);
+ Table.States (98).Kernel := To_Vector ((0 => ((60, 1), 62, 0,
(60, 1), 1)));
+ Table.States (98).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (60, 1), 1)));
Table.States (99).Action_List.Set_Capacity (7);
- Add_Action (Table.States (99), (6, 8, 12, 16, 18, 23, 37), (60,
2), 1, null, null);
- Table.States (99).Kernel := To_Vector ((0 => (60, 63, 0, False)));
- Table.States (99).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 60, 1)));
+ Add_Action (Table.States (99), (6, 8, 12, 16, 18, 23, 37), (60,
2), 1, null, null);
+ Table.States (99).Kernel := To_Vector ((0 => ((60, 2), 63, 0,
(60, 2), 1)));
+ Table.States (99).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (60, 2), 1)));
Table.States (100).Action_List.Set_Capacity (7);
- Add_Action (Table.States (100), (6, 8, 12, 16, 18, 23, 37), (51,
0), 1, null, null);
- Table.States (100).Kernel := To_Vector ((0 => (51, 67, 0, False)));
- Table.States (100).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 51, 1)));
+ Add_Action (Table.States (100), (6, 8, 12, 16, 18, 23, 37), (51,
0), 1, null, null);
+ Table.States (100).Kernel := To_Vector ((0 => ((51, 0), 67, 0,
(51, 0), 1)));
+ Table.States (100).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (51, 0), 1)));
Table.States (101).Action_List.Set_Capacity (7);
- Add_Action (Table.States (101), (6, 8, 12, 16, 18, 23, 37), (51,
1), 1, null, null);
- Table.States (101).Kernel := To_Vector ((0 => (51, 72, 0, False)));
- Table.States (101).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 51, 1)));
+ Add_Action (Table.States (101), (6, 8, 12, 16, 18, 23, 37), (51,
1), 1, null, null);
+ Table.States (101).Kernel := To_Vector ((0 => ((51, 1), 72, 0,
(51, 1), 1)));
+ Table.States (101).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (51, 1), 1)));
+ end Subr_1;
+ procedure Subr_2
+ is begin
Table.States (102).Action_List.Set_Capacity (1);
- Add_Action (Table.States (102), 21, 118);
- Table.States (102).Kernel := To_Vector ((0 => (44, 38, 1, False)));
- Table.States (102).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 21, 118)));
+ Add_Action (Table.States (102), 21, (44, 1), 118);
+ Table.States (102).Kernel := To_Vector ((0 => ((44, 1), 38, 1,
(2147483647, 0), 0)));
+ Table.States (102).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 1), 21, 118)));
Table.States (103).Action_List.Set_Capacity (3);
- Add_Action (Table.States (103), (27, 30, 34), (44, 1), 6, null,
null);
- Table.States (103).Kernel := To_Vector ((0 => (44, 21, 0, False)));
- Table.States (103).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 44, 6)));
+ Add_Action (Table.States (103), (27, 30, 34), (44, 1), 6, null,
null);
+ Table.States (103).Kernel := To_Vector ((0 => ((44, 1), 21, 0,
(44, 1), 6)));
+ Table.States (103).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (44, 1), 6)));
Table.States (104).Action_List.Set_Capacity (7);
- Add_Action (Table.States (104), 6, 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_Action (Table.States (104), 6, (45, 0), 85);
+ Add_Action (Table.States (104), 8, Reduce, (53, 0), 0, null,
null);
+ Add_Action (Table.States (104), 12, (42, 0), 86);
+ Add_Action (Table.States (104), 16, (67, 4), 87);
+ Add_Action (Table.States (104), 18, (61, 0), 88);
+ Add_Action (Table.States (104), 23, (72, 0), 89);
+ Add_Action (Table.States (104), 37, (67, 0), 90);
Table.States (104).Goto_List.Set_Capacity (11);
Add_Goto (Table.States (104), 42, 91);
Add_Goto (Table.States (104), 45, 92);
@@ -827,67 +844,67 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (104), 63, 99);
Add_Goto (Table.States (104), 67, 100);
Add_Goto (Table.States (104), 72, 101);
- Table.States (104).Kernel := To_Vector ((0 => (65, 13, 2, False)));
- Table.States (104).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 53, 0)));
- end Subr_1;
- procedure Subr_2
- is begin
+ Table.States (104).Kernel := To_Vector ((0 => ((65, 0), 13, 2,
(2147483647, 0), 0)));
+ Table.States (104).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (53, 0), 0)));
Table.States (105).Action_List.Set_Capacity (2);
- Add_Action (Table.States (105), (13, 31), (58, 1), 1, null,
identifier_opt_1_check'Access);
- Table.States (105).Kernel := To_Vector ((0 => (58, 37, 0, False)));
- Table.States (105).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 1)));
+ Add_Action (Table.States (105), (13, 31), (58, 1), 1, null,
identifier_opt_1_check'Access);
+ Table.States (105).Kernel := To_Vector ((0 => ((58, 1), 37, 0,
(58, 1), 1)));
+ Table.States (105).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 1), 1)));
Table.States (106).Action_List.Set_Capacity (2);
- Add_Action (Table.States (106), (13, 31), (59, 0), 1, null, null);
- Table.States (106).Kernel := To_Vector ((0 => (59, 58, 0, False)));
- Table.States (106).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 1)));
+ Add_Action (Table.States (106), (13, 31), (59, 0), 1, null, null);
+ Table.States (106).Kernel := To_Vector ((0 => ((59, 0), 58, 0,
(59, 0), 1)));
+ Table.States (106).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 0), 1)));
Table.States (107).Action_List.Set_Capacity (2);
- Add_Action (Table.States (107), 13, 120);
- Add_Action (Table.States (107), 31, 121);
- Table.States (107).Kernel := To_Vector (((45, 59, 4, False), (59,
59, 2, True)));
- Table.States (107).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 13, 120)));
+ Add_Action (Table.States (107), 13, (45, 0), 120);
+ Add_Action (Table.States (107), 31, (59, 1), 121);
+ Table.States (107).Kernel := To_Vector ((((45, 0), 59, 4,
(2147483647, 0), 0), ((59, 1), 59, 2,
+ (2147483647, 0), 0)));
+ Table.States (107).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (45, 0), 13, 120)));
Table.States (108).Action_List.Set_Capacity (1);
- Add_Action (Table.States (108), 14, 122);
- Table.States (108).Kernel := To_Vector ((0 => (42, 10, 5, False)));
- Table.States (108).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 14, 122)));
+ Add_Action (Table.States (108), 14, (42, 3), 122);
+ Table.States (108).Kernel := To_Vector ((0 => ((42, 3), 10, 5,
(2147483647, 0), 0)));
+ Table.States (108).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 3), 14, 122)));
Table.States (109).Action_List.Set_Capacity (2);
- Add_Action (Table.States (109), 14, 123);
- Add_Action (Table.States (109), 24, 124);
- Table.States (109).Kernel := To_Vector (((42, 37, 2, False), (42,
37, 4, False), (42, 37, 6, False)));
- Table.States (109).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 124)));
+ Add_Action (Table.States (109), 14, (42, 1), 123);
+ Add_Action (Table.States (109), 24, (42, 0), 124);
+ Table.States (109).Kernel := To_Vector ((((42, 0), 37, 2,
(2147483647, 0), 0), ((42, 1), 37, 4,
+ (2147483647, 0), 0), ((42, 2), 37, 6, (2147483647, 0), 0)));
+ Table.States (109).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 0), 24, 124)));
Table.States (110).Action_List.Set_Capacity (7);
- Add_Action (Table.States (110), (6, 8, 12, 16, 18, 23, 37), (67,
4), 2, simple_declarative_item_4'Access,
+ Add_Action (Table.States (110), (6, 8, 12, 16, 18, 23, 37), (67,
4), 2, simple_declarative_item_4'Access,
null);
- Table.States (110).Kernel := To_Vector ((0 => (67, 34, 0, False)));
- Table.States (110).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 67, 2)));
+ Table.States (110).Kernel := To_Vector ((0 => ((67, 4), 34, 0,
(67, 4), 2)));
+ Table.States (110).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (67, 4), 2)));
Table.States (111).Action_List.Set_Capacity (3);
- Add_Action (Table.States (111), (9, 13, 20), (58, 1), 1, null,
identifier_opt_1_check'Access);
- Table.States (111).Kernel := To_Vector ((0 => (58, 37, 0, False)));
- Table.States (111).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 1)));
+ Add_Action (Table.States (111), (9, 13, 20), (58, 1), 1, null,
identifier_opt_1_check'Access);
+ Table.States (111).Kernel := To_Vector ((0 => ((58, 1), 37, 0,
(58, 1), 1)));
+ Table.States (111).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 1), 1)));
Table.States (112).Action_List.Set_Capacity (3);
- Add_Action (Table.States (112), 9, 125);
- Add_Action (Table.States (112), 13, 126);
- Add_Action (Table.States (112), 20, 127);
- Table.States (112).Kernel := To_Vector (((61, 58, 3, False), (62,
58, 4, False), (63, 58, 2, False)));
- Table.States (112).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 20, 127)));
+ Add_Action (Table.States (112), 9, (62, 0), 125);
+ Add_Action (Table.States (112), 13, (61, 0), 126);
+ Add_Action (Table.States (112), 20, (63, 0), 127);
+ Table.States (112).Kernel := To_Vector ((((61, 0), 58, 3,
(2147483647, 0), 0), ((62, 0), 58, 4,
+ (2147483647, 0), 0), ((63, 0), 58, 2, (2147483647, 0), 0)));
+ Table.States (112).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (63, 0), 20, 127)));
Table.States (113).Action_List.Set_Capacity (1);
- Add_Action (Table.States (113), 13, 128);
- Table.States (113).Kernel := To_Vector ((0 => (72, 37, 4, False)));
- Table.States (113).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 13, 128)));
+ Add_Action (Table.States (113), 13, (72, 0), 128);
+ Table.States (113).Kernel := To_Vector ((0 => ((72, 0), 37, 4,
(2147483647, 0), 0)));
+ Table.States (113).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (72, 0), 13, 128)));
Table.States (114).Action_List.Set_Capacity (1);
- Add_Action (Table.States (114), 37, 129);
- Table.States (114).Kernel := To_Vector ((0 => (67, 28, 3, False)));
- Table.States (114).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 129)));
+ Add_Action (Table.States (114), 37, (67, 1), 129);
+ Table.States (114).Kernel := To_Vector ((0 => ((67, 1), 28, 3,
(2147483647, 0), 0)));
+ Table.States (114).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (67, 1), 37, 129)));
Table.States (115).Action_List.Set_Capacity (10);
- Add_Action (Table.States (115), 10, 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_Action (Table.States (115), 10, (57, 0), 130);
+ Add_Action (Table.States (115), 11, (57, 1), 131);
+ Add_Action (Table.States (115), 14, (41, 0), 132);
+ Add_Action (Table.States (115), 19, (43, 0), 9);
+ Add_Action (Table.States (115), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (115), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (115), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (115), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (115), 37, (58, 1), 133);
+ Add_Action (Table.States (115), 38, (69, 0), 134);
Table.States (115).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (115), 41, 135);
Add_Goto (Table.States (115), 43, 136);
@@ -898,65 +915,64 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (115), 59, 141);
Add_Goto (Table.States (115), 69, 142);
Add_Goto (Table.States (115), 71, 143);
- Table.States (115).Kernel := To_Vector ((0 => (67, 29, 1, False)));
- Table.States (115).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 0)));
+ Table.States (115).Kernel := To_Vector ((0 => ((67, 0), 29, 1,
(2147483647, 0), 0)));
+ Table.States (115).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 0), 0)));
Table.States (116).Action_List.Set_Capacity (7);
- Add_Action (Table.States (116), (6, 8, 12, 16, 18, 23, 37), (52,
1), 2, null, null);
- Table.States (116).Kernel := To_Vector ((0 => (52, 51, 0, True)));
- Table.States (116).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 52, 2)));
- Table.States (116).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (116), (6, 8, 12, 16, 18, 23, 37), (52,
1), 2, null, null);
+ Table.States (116).Kernel := To_Vector ((0 => ((52, 1), 51, 0,
(52, 1), 2)));
+ Table.States (116).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (52, 1), 2)));
Table.States (117).Action_List.Set_Capacity (2);
- Add_Action (Table.States (117), 34, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (117), 37, 144);
+ Add_Action (Table.States (117), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (117), 37, (58, 1), 144);
Table.States (117).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (117), 58, 145);
- Table.States (117).Kernel := To_Vector ((0 => (68, 8, 1, False)));
- Table.States (117).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 0)));
+ Table.States (117).Kernel := To_Vector ((0 => ((68, 0), 8, 1,
(2147483647, 0), 0)));
+ Table.States (117).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 0), 0)));
Table.States (118).Action_List.Set_Capacity (3);
- Add_Action (Table.States (118), (21, 27, 30), (44, 1), 6, null,
null);
- Table.States (118).Kernel := To_Vector ((0 => (44, 21, 0, False)));
- Table.States (118).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 44, 6)));
+ Add_Action (Table.States (118), (21, 27, 30), (44, 1), 6, null,
null);
+ Table.States (118).Kernel := To_Vector ((0 => ((44, 1), 21, 0,
(44, 1), 6)));
+ Table.States (118).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (44, 1), 6)));
Table.States (119).Action_List.Set_Capacity (1);
- Add_Action (Table.States (119), 8, 146);
- Table.States (119).Kernel := To_Vector ((0 => (65, 53, 2, False)));
- Table.States (119).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 8, 146)));
+ Add_Action (Table.States (119), 8, (65, 0), 146);
+ Table.States (119).Kernel := To_Vector ((0 => ((65, 0), 53, 2,
(2147483647, 0), 0)));
+ Table.States (119).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (65, 0), 8, 146)));
Table.States (120).Action_List.Set_Capacity (2);
- Add_Action (Table.States (120), 8, Reduce, (47, 0), 0, null, null);
- Add_Action (Table.States (120), 25, 147);
- Add_Conflict (Table.States (120), 25, (47, 0), 0, null, null);
+ Add_Action (Table.States (120), 8, Reduce, (47, 0), 0, null,
null);
+ Add_Action (Table.States (120), 25, (46, 0), 147);
+ Add_Conflict (Table.States (120), 25, (47, 0), 0, null, null);
Table.States (120).Goto_List.Set_Capacity (2);
Add_Goto (Table.States (120), 46, 148);
Add_Goto (Table.States (120), 47, 149);
- Table.States (120).Kernel := To_Vector ((0 => (45, 13, 3, False)));
- Table.States (120).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 47, 0)));
+ Table.States (120).Kernel := To_Vector ((0 => ((45, 0), 13, 3,
(2147483647, 0), 0)));
+ Table.States (120).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (47, 0), 0)));
Table.States (121).Action_List.Set_Capacity (1);
- Add_Action (Table.States (121), 37, 150);
- Table.States (121).Kernel := To_Vector ((0 => (59, 31, 1, True)));
- Table.States (121).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 150)));
- Table.States (121).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (121), 37, (59, 1), 150);
+ Table.States (121).Kernel := To_Vector ((0 => ((59, 1), 31, 1,
(2147483647, 0), 0)));
+ Table.States (121).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (59, 1), 37, 150)));
Table.States (122).Action_List.Set_Capacity (1);
- Add_Action (Table.States (122), 38, 151);
- Table.States (122).Kernel := To_Vector ((0 => (42, 14, 4, False)));
- Table.States (122).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 38, 151)));
+ Add_Action (Table.States (122), 38, (42, 3), 151);
+ Table.States (122).Kernel := To_Vector ((0 => ((42, 3), 14, 4,
(2147483647, 0), 0)));
+ Table.States (122).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 3), 38, 151)));
Table.States (123).Action_List.Set_Capacity (3);
- Add_Action (Table.States (123), 17, 152);
- Add_Action (Table.States (123), 21, Reduce, (54, 0), 0, null,
null);
- Add_Action (Table.States (123), 38, 153);
+ Add_Action (Table.States (123), 17, (54, 2), 152);
+ Add_Action (Table.States (123), 21, Reduce, (54, 0), 0, null,
null);
+ Add_Action (Table.States (123), 38, (54, 1), 153);
Table.States (123).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (123), 54, 154);
- Table.States (123).Kernel := To_Vector (((42, 14, 3, False), (42,
14, 5, False)));
- Table.States (123).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 54, 0)));
+ Table.States (123).Kernel := To_Vector ((((42, 1), 14, 3,
(2147483647, 0), 0), ((42, 2), 14, 5,
+ (2147483647, 0), 0)));
+ Table.States (123).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (54, 0), 0)));
Table.States (124).Action_List.Set_Capacity (10);
- Add_Action (Table.States (124), 10, 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_Action (Table.States (124), 10, (57, 0), 130);
+ Add_Action (Table.States (124), 11, (57, 1), 131);
+ Add_Action (Table.States (124), 14, (41, 0), 132);
+ Add_Action (Table.States (124), 19, (43, 0), 9);
+ Add_Action (Table.States (124), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (124), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (124), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (124), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (124), 37, (58, 1), 133);
+ Add_Action (Table.States (124), 38, (69, 0), 134);
Table.States (124).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (124), 41, 135);
Add_Goto (Table.States (124), 43, 136);
@@ -967,25 +983,25 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (124), 59, 141);
Add_Goto (Table.States (124), 69, 142);
Add_Goto (Table.States (124), 71, 143);
- Table.States (124).Kernel := To_Vector ((0 => (42, 24, 1, False)));
- Table.States (124).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 0)));
+ Table.States (124).Kernel := To_Vector ((0 => ((42, 0), 24, 1,
(2147483647, 0), 0)));
+ Table.States (124).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 0), 0)));
Table.States (125).Action_List.Set_Capacity (3);
- Add_Action (Table.States (125), 13, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (125), 31, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (125), 37, 105);
+ Add_Action (Table.States (125), 13, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (125), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (125), 37, (58, 1), 105);
Table.States (125).Goto_List.Set_Capacity (2);
Add_Goto (Table.States (125), 58, 106);
Add_Goto (Table.States (125), 59, 156);
- Table.States (125).Kernel := To_Vector ((0 => (62, 9, 3, False)));
- Table.States (125).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 0)));
+ Table.States (125).Kernel := To_Vector ((0 => ((62, 0), 9, 3,
(2147483647, 0), 0)));
+ Table.States (125).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 0), 0)));
Table.States (126).Action_List.Set_Capacity (7);
- Add_Action (Table.States (126), 6, 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_Action (Table.States (126), 6, (45, 0), 85);
+ Add_Action (Table.States (126), 8, Reduce, (53, 0), 0, null,
null);
+ Add_Action (Table.States (126), 12, (42, 0), 86);
+ Add_Action (Table.States (126), 16, (67, 4), 87);
+ Add_Action (Table.States (126), 18, (61, 0), 88);
+ Add_Action (Table.States (126), 23, (72, 0), 89);
+ Add_Action (Table.States (126), 37, (67, 0), 90);
Table.States (126).Goto_List.Set_Capacity (11);
Add_Goto (Table.States (126), 42, 91);
Add_Goto (Table.States (126), 45, 92);
@@ -998,52 +1014,52 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (126), 63, 99);
Add_Goto (Table.States (126), 67, 100);
Add_Goto (Table.States (126), 72, 101);
- Table.States (126).Kernel := To_Vector ((0 => (61, 13, 2, False)));
- Table.States (126).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 53, 0)));
+ Table.States (126).Kernel := To_Vector ((0 => ((61, 0), 13, 2,
(2147483647, 0), 0)));
+ Table.States (126).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (53, 0), 0)));
Table.States (127).Action_List.Set_Capacity (3);
- Add_Action (Table.States (127), 31, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (127), 34, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (127), 37, 158);
+ Add_Action (Table.States (127), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (127), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (127), 37, (58, 1), 158);
Table.States (127).Goto_List.Set_Capacity (2);
Add_Goto (Table.States (127), 58, 159);
Add_Goto (Table.States (127), 59, 160);
- Table.States (127).Kernel := To_Vector ((0 => (63, 20, 1, False)));
- Table.States (127).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 0)));
+ Table.States (127).Kernel := To_Vector ((0 => ((63, 0), 20, 1,
(2147483647, 0), 0)));
+ Table.States (127).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 0), 0)));
Table.States (128).Action_List.Set_Capacity (1);
- Add_Action (Table.States (128), 14, 161);
+ Add_Action (Table.States (128), 14, (41, 0), 161);
Table.States (128).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (128), 41, 162);
- Table.States (128).Kernel := To_Vector ((0 => (72, 13, 3, False)));
- Table.States (128).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 14, 161)));
+ Table.States (128).Kernel := To_Vector ((0 => ((72, 0), 13, 3,
(2147483647, 0), 0)));
+ Table.States (128).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (41, 0), 14, 161)));
Table.States (129).Action_List.Set_Capacity (1);
- Add_Action (Table.States (129), 29, 163);
- Table.States (129).Kernel := To_Vector ((0 => (67, 37, 2, False)));
- Table.States (129).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 29, 163)));
+ Add_Action (Table.States (129), 29, (67, 1), 163);
+ Table.States (129).Kernel := To_Vector ((0 => ((67, 1), 37, 2,
(2147483647, 0), 0)));
+ Table.States (129).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (67, 1), 29, 163)));
Table.States (130).Action_List.Set_Capacity (1);
- Add_Action (Table.States (130), 14, 164);
+ Add_Action (Table.States (130), 14, (41, 0), 164);
Table.States (130).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (130), 41, 165);
- Table.States (130).Kernel := To_Vector ((0 => (57, 10, 2, False)));
- Table.States (130).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 14, 164)));
+ Table.States (130).Kernel := To_Vector ((0 => ((57, 0), 10, 2,
(2147483647, 0), 0)));
+ Table.States (130).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (41, 0), 14, 164)));
Table.States (131).Action_List.Set_Capacity (1);
- Add_Action (Table.States (131), 14, 164);
+ Add_Action (Table.States (131), 14, (41, 0), 164);
Table.States (131).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (131), 41, 166);
- Table.States (131).Kernel := To_Vector ((0 => (57, 11, 2, False)));
- Table.States (131).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 14, 164)));
+ Table.States (131).Kernel := To_Vector ((0 => ((57, 1), 11, 2,
(2147483647, 0), 0)));
+ Table.States (131).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (41, 0), 14, 164)));
Table.States (132).Action_List.Set_Capacity (11);
- Add_Action (Table.States (132), 10, 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_Action (Table.States (132), 10, (57, 0), 32);
+ Add_Action (Table.States (132), 11, (57, 1), 33);
+ Add_Action (Table.States (132), 14, (41, 0), 34);
+ Add_Action (Table.States (132), 19, (43, 0), 9);
+ Add_Action (Table.States (132), 21, (71, 1), 167);
+ Add_Conflict (Table.States (132), 21, (58, 0), 0, null, null);
+ Add_Action (Table.States (132), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (132), 30, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (132), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (132), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (132), 37, (58, 1), 36);
+ Add_Action (Table.States (132), 38, (69, 0), 37);
Table.States (132).Goto_List.Set_Capacity (10);
Add_Goto (Table.States (132), 41, 38);
Add_Goto (Table.States (132), 43, 39);
@@ -1055,152 +1071,161 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (132), 69, 45);
Add_Goto (Table.States (132), 70, 168);
Add_Goto (Table.States (132), 71, 47);
- Table.States (132).Kernel := To_Vector (((41, 14, 1, False), (71,
14, 1, False)));
- Table.States (132).Minimal_Complete_Actions := To_Vector
(((Reduce, 70, 0), (Shift, 21, 167)));
+ Table.States (132).Kernel := To_Vector ((((41, 0), 14, 1,
(2147483647, 0), 0), ((71, 1), 14, 1,
+ (2147483647, 0), 0)));
+ Table.States (132).Minimal_Complete_Actions := To_Vector
(((Reduce, (70, 0), 0), (Shift, (71, 1), 21,
+ 167)));
Table.States (133).Action_List.Set_Capacity (4);
- Add_Action (Table.States (133), (27, 31, 33, 34), (58, 1), 1,
null, identifier_opt_1_check'Access);
- Table.States (133).Kernel := To_Vector ((0 => (58, 37, 0, False)));
- Table.States (133).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 1)));
+ Add_Action (Table.States (133), (27, 31, 33, 34), (58, 1), 1,
null, identifier_opt_1_check'Access);
+ Table.States (133).Kernel := To_Vector ((0 => ((58, 1), 37, 0,
(58, 1), 1)));
+ Table.States (133).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 1), 1)));
Table.States (134).Action_List.Set_Capacity (2);
- Add_Action (Table.States (134), (27, 34), (69, 0), 1, null, null);
- Table.States (134).Kernel := To_Vector ((0 => (69, 38, 0, False)));
- Table.States (134).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 69, 1)));
+ Add_Action (Table.States (134), (27, 34), (69, 0), 1, null, null);
+ Table.States (134).Kernel := To_Vector ((0 => ((69, 0), 38, 0,
(69, 0), 1)));
+ Table.States (134).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (69, 0), 1)));
Table.States (135).Action_List.Set_Capacity (2);
- Add_Action (Table.States (135), (27, 34), (71, 2), 1, null, null);
- Table.States (135).Kernel := To_Vector ((0 => (71, 41, 0, False)));
- Table.States (135).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 1)));
+ Add_Action (Table.States (135), (27, 34), (71, 2), 1, null, null);
+ Table.States (135).Kernel := To_Vector ((0 => ((71, 2), 41, 0,
(71, 2), 1)));
+ Table.States (135).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 2), 1)));
Table.States (136).Action_List.Set_Capacity (1);
- Add_Action (Table.States (136), 33, 169);
- Table.States (136).Kernel := To_Vector (((44, 43, 2, False), (44,
43, 5, False)));
- Table.States (136).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 33, 169)));
+ Add_Action (Table.States (136), 33, (44, 0), 169);
+ Table.States (136).Kernel := To_Vector ((((44, 0), 43, 2,
(2147483647, 0), 0), ((44, 1), 43, 5,
+ (2147483647, 0), 0)));
+ Table.States (136).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 0), 33, 169)));
Table.States (137).Action_List.Set_Capacity (2);
- Add_Action (Table.States (137), (27, 34), (69, 3), 1, null, null);
- Table.States (137).Kernel := To_Vector ((0 => (69, 44, 0, False)));
- Table.States (137).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 69, 1)));
+ Add_Action (Table.States (137), (27, 34), (69, 3), 1, null, null);
+ Table.States (137).Kernel := To_Vector ((0 => ((69, 3), 44, 0,
(69, 3), 1)));
+ Table.States (137).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (69, 3), 1)));
Table.States (138).Action_List.Set_Capacity (2);
- Add_Action (Table.States (138), 27, 170);
- Add_Action (Table.States (138), 34, 171);
- Table.States (138).Kernel := To_Vector (((56, 56, 1, True), (67,
56, 1, False)));
- Table.States (138).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 171)));
+ Add_Action (Table.States (138), 27, (56, 1), 170);
+ Add_Action (Table.States (138), 34, (67, 0), 171);
+ Table.States (138).Kernel := To_Vector ((((56, 1), 56, 1,
(2147483647, 0), 0), ((67, 0), 56, 1,
+ (2147483647, 0), 0)));
+ Table.States (138).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (67, 0), 34, 171)));
Table.States (139).Action_List.Set_Capacity (2);
- Add_Action (Table.States (139), (27, 34), (69, 2), 1, null, null);
- Table.States (139).Kernel := To_Vector ((0 => (69, 57, 0, False)));
- Table.States (139).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 69, 1)));
+ Add_Action (Table.States (139), (27, 34), (69, 2), 1, null, null);
+ Table.States (139).Kernel := To_Vector ((0 => ((69, 2), 57, 0,
(69, 2), 1)));
+ Table.States (139).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (69, 2), 1)));
Table.States (140).Action_List.Set_Capacity (4);
- Add_Action (Table.States (140), (27, 31, 33, 34), (59, 0), 1,
null, null);
- Table.States (140).Kernel := To_Vector ((0 => (59, 58, 0, False)));
- Table.States (140).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 1)));
+ Add_Action (Table.States (140), (27, 31, 33, 34), (59, 0), 1,
null, null);
+ Table.States (140).Kernel := To_Vector ((0 => ((59, 0), 58, 0,
(59, 0), 1)));
+ Table.States (140).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 0), 1)));
Table.States (141).Action_List.Set_Capacity (4);
- Add_Action (Table.States (141), 27, Reduce, (69, 1), 1, null,
null);
- Add_Action (Table.States (141), 31, 172);
- Add_Action (Table.States (141), 33, Reduce, (43, 1), 1, null,
null);
- Add_Action (Table.States (141), 34, Reduce, (69, 1), 1, null,
null);
- Table.States (141).Kernel := To_Vector (((43, 59, 0, False), (59,
59, 2, True), (69, 59, 0, False)));
- Table.States (141).Minimal_Complete_Actions := To_Vector
(((Reduce, 43, 1), (Reduce, 69, 1)));
+ Add_Action (Table.States (141), 27, Reduce, (69, 1), 1, null,
null);
+ Add_Action (Table.States (141), 31, (59, 1), 172);
+ Add_Action (Table.States (141), 33, Reduce, (43, 1), 1, null,
null);
+ Add_Action (Table.States (141), 34, Reduce, (69, 1), 1, null,
null);
+ Table.States (141).Kernel := To_Vector ((((43, 1), 59, 0, (43,
1), 1), ((59, 1), 59, 2, (2147483647,
+ 0), 0), ((69, 1), 59, 0, (69, 1), 1)));
+ Table.States (141).Minimal_Complete_Actions := To_Vector
(((Reduce, (43, 1), 1), (Reduce, (69, 1), 1)));
Table.States (142).Action_List.Set_Capacity (2);
- Add_Action (Table.States (142), (27, 34), (71, 0), 1, null, null);
- Table.States (142).Kernel := To_Vector ((0 => (71, 69, 0, False)));
- Table.States (142).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 1)));
+ Add_Action (Table.States (142), (27, 34), (71, 0), 1, null, null);
+ Table.States (142).Kernel := To_Vector ((0 => ((71, 0), 69, 0,
(71, 0), 1)));
+ Table.States (142).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 0), 1)));
Table.States (143).Action_List.Set_Capacity (2);
- Add_Action (Table.States (143), (27, 34), (56, 0), 1, null, null);
- Table.States (143).Kernel := To_Vector ((0 => (56, 71, 0, False)));
- Table.States (143).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 1)));
+ Add_Action (Table.States (143), (27, 34), (56, 0), 1, null, null);
+ Table.States (143).Kernel := To_Vector ((0 => ((56, 0), 71, 0,
(56, 0), 1)));
+ Table.States (143).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 0), 1)));
Table.States (144).Action_List.Set_Capacity (1);
- Add_Action (Table.States (144), (1 => 34), (58, 1), 1, null,
identifier_opt_1_check'Access);
- Table.States (144).Kernel := To_Vector ((0 => (58, 37, 0, False)));
- Table.States (144).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 1)));
+ Add_Action (Table.States (144), (1 => 34), (58, 1), 1, null,
identifier_opt_1_check'Access);
+ Table.States (144).Kernel := To_Vector ((0 => ((58, 1), 37, 0,
(58, 1), 1)));
+ Table.States (144).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 1), 1)));
Table.States (145).Action_List.Set_Capacity (1);
- Add_Action (Table.States (145), 34, 173);
- Table.States (145).Kernel := To_Vector ((0 => (68, 58, 1, False)));
- Table.States (145).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 173)));
+ Add_Action (Table.States (145), 34, (68, 0), 173);
+ Table.States (145).Kernel := To_Vector ((0 => ((68, 0), 58, 1,
(2147483647, 0), 0)));
+ Table.States (145).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (68, 0), 34, 173)));
Table.States (146).Action_List.Set_Capacity (2);
- Add_Action (Table.States (146), 34, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (146), 37, 144);
+ Add_Action (Table.States (146), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (146), 37, (58, 1), 144);
Table.States (146).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (146), 58, 174);
- Table.States (146).Kernel := To_Vector ((0 => (65, 8, 1, False)));
- Table.States (146).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 0)));
+ Table.States (146).Kernel := To_Vector ((0 => ((65, 0), 8, 1,
(2147483647, 0), 0)));
+ Table.States (146).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 0), 0)));
Table.States (147).Action_List.Set_Capacity (4);
- Add_Action (Table.States (147), 17, 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_Action (Table.States (147), 17, (54, 2), 175);
+ Add_Action (Table.States (147), 32, Reduce, (54, 0), 0, null,
null);
+ Add_Action (Table.States (147), 35, Reduce, (54, 0), 0, null,
null);
+ Add_Action (Table.States (147), 38, (54, 1), 176);
Table.States (147).Goto_List.Set_Capacity (2);
Add_Goto (Table.States (147), 54, 177);
Add_Goto (Table.States (147), 55, 178);
- Table.States (147).Kernel := To_Vector ((0 => (46, 25, 1, False)));
- Table.States (147).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 55, 0)));
+ Table.States (147).Kernel := To_Vector ((0 => ((46, 0), 25, 1,
(2147483647, 0), 0)));
+ Table.States (147).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (55, 0), 0)));
Table.States (148).Action_List.Set_Capacity (2);
- Add_Action (Table.States (148), (8, 25), (47, 1), 1, null, null);
- Table.States (148).Kernel := To_Vector ((0 => (47, 46, 0, False)));
- Table.States (148).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 47, 1)));
+ Add_Action (Table.States (148), (8, 25), (47, 1), 1, null, null);
+ Table.States (148).Kernel := To_Vector ((0 => ((47, 1), 46, 0,
(47, 1), 1)));
+ Table.States (148).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (47, 1), 1)));
Table.States (149).Action_List.Set_Capacity (2);
- Add_Action (Table.States (149), 8, 179);
- Add_Action (Table.States (149), 25, 147);
+ Add_Action (Table.States (149), 8, (45, 0), 179);
+ Add_Action (Table.States (149), 25, (46, 0), 147);
Table.States (149).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (149), 46, 180);
- Table.States (149).Kernel := To_Vector (((45, 47, 3, False), (47,
47, 2, True)));
- Table.States (149).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 8, 179)));
+ Table.States (149).Kernel := To_Vector ((((45, 0), 47, 3,
(2147483647, 0), 0), ((47, 2), 47, 2,
+ (2147483647, 0), 0)));
+ Table.States (149).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (45, 0), 8, 179)));
Table.States (150).Action_List.Set_Capacity (2);
- Add_Action (Table.States (150), (13, 31), (59, 1), 3, null, null);
- Table.States (150).Kernel := To_Vector ((0 => (59, 37, 0, True)));
- Table.States (150).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 3)));
- Table.States (150).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (150), (13, 31), (59, 1), 3, null, null);
+ Table.States (150).Kernel := To_Vector ((0 => ((59, 1), 37, 0,
(59, 1), 3)));
+ Table.States (150).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 1), 3)));
Table.States (151).Action_List.Set_Capacity (1);
- Add_Action (Table.States (151), 21, 181);
- Table.States (151).Kernel := To_Vector ((0 => (42, 38, 3, False)));
- Table.States (151).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 21, 181)));
+ Add_Action (Table.States (151), 21, (42, 3), 181);
+ Table.States (151).Kernel := To_Vector ((0 => ((42, 3), 38, 3,
(2147483647, 0), 0)));
+ Table.States (151).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 3), 21, 181)));
Table.States (152).Action_List.Set_Capacity (1);
- Add_Action (Table.States (152), (1 => 21), (54, 2), 1, null,
null);
- Table.States (152).Kernel := To_Vector ((0 => (54, 17, 0, False)));
- Table.States (152).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 54, 1)));
+ Add_Action (Table.States (152), (1 => 21), (54, 2), 1, null,
null);
+ Table.States (152).Kernel := To_Vector ((0 => ((54, 2), 17, 0,
(54, 2), 1)));
+ Table.States (152).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (54, 2), 1)));
Table.States (153).Action_List.Set_Capacity (1);
- Add_Action (Table.States (153), (1 => 21), (54, 1), 1, null,
null);
- Table.States (153).Kernel := To_Vector ((0 => (54, 38, 0, False)));
- Table.States (153).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 54, 1)));
+ Add_Action (Table.States (153), (1 => 21), (54, 1), 1, null,
null);
+ Table.States (153).Kernel := To_Vector ((0 => ((54, 1), 38, 0,
(54, 1), 1)));
+ Table.States (153).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (54, 1), 1)));
Table.States (154).Action_List.Set_Capacity (1);
- Add_Action (Table.States (154), 21, 182);
- Table.States (154).Kernel := To_Vector (((42, 54, 3, False), (42,
54, 5, False)));
- Table.States (154).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 21, 182)));
+ Add_Action (Table.States (154), 21, (42, 1), 182);
+ Table.States (154).Kernel := To_Vector ((((42, 1), 54, 3,
(2147483647, 0), 0), ((42, 2), 54, 5,
+ (2147483647, 0), 0)));
+ Table.States (154).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 1), 21, 182)));
Table.States (155).Action_List.Set_Capacity (2);
- Add_Action (Table.States (155), 27, 170);
- Add_Action (Table.States (155), 34, 183);
- Table.States (155).Kernel := To_Vector (((42, 56, 1, False), (56,
56, 1, True)));
- Table.States (155).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 183)));
+ Add_Action (Table.States (155), 27, (56, 1), 170);
+ Add_Action (Table.States (155), 34, (42, 0), 183);
+ Table.States (155).Kernel := To_Vector ((((42, 0), 56, 1,
(2147483647, 0), 0), ((56, 1), 56, 1,
+ (2147483647, 0), 0)));
+ Table.States (155).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 0), 34, 183)));
Table.States (156).Action_List.Set_Capacity (2);
- Add_Action (Table.States (156), 13, 184);
- Add_Action (Table.States (156), 31, 121);
- Table.States (156).Kernel := To_Vector (((59, 59, 2, True), (62,
59, 3, False)));
- Table.States (156).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 13, 184)));
+ Add_Action (Table.States (156), 13, (62, 0), 184);
+ Add_Action (Table.States (156), 31, (59, 1), 121);
+ Table.States (156).Kernel := To_Vector ((((59, 1), 59, 2,
(2147483647, 0), 0), ((62, 0), 59, 3,
+ (2147483647, 0), 0)));
+ Table.States (156).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (62, 0), 13, 184)));
Table.States (157).Action_List.Set_Capacity (1);
- Add_Action (Table.States (157), 8, 185);
- Table.States (157).Kernel := To_Vector ((0 => (61, 53, 2, False)));
- Table.States (157).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 8, 185)));
+ Add_Action (Table.States (157), 8, (61, 0), 185);
+ Table.States (157).Kernel := To_Vector ((0 => ((61, 0), 53, 2,
(2147483647, 0), 0)));
+ Table.States (157).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (61, 0), 8, 185)));
Table.States (158).Action_List.Set_Capacity (2);
- Add_Action (Table.States (158), (31, 34), (58, 1), 1, null,
identifier_opt_1_check'Access);
- Table.States (158).Kernel := To_Vector ((0 => (58, 37, 0, False)));
- Table.States (158).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 1)));
+ Add_Action (Table.States (158), (31, 34), (58, 1), 1, null,
identifier_opt_1_check'Access);
+ Table.States (158).Kernel := To_Vector ((0 => ((58, 1), 37, 0,
(58, 1), 1)));
+ Table.States (158).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 1), 1)));
Table.States (159).Action_List.Set_Capacity (2);
- Add_Action (Table.States (159), (31, 34), (59, 0), 1, null, null);
- Table.States (159).Kernel := To_Vector ((0 => (59, 58, 0, False)));
- Table.States (159).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 1)));
+ Add_Action (Table.States (159), (31, 34), (59, 0), 1, null, null);
+ Table.States (159).Kernel := To_Vector ((0 => ((59, 0), 58, 0,
(59, 0), 1)));
+ Table.States (159).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 0), 1)));
Table.States (160).Action_List.Set_Capacity (2);
- Add_Action (Table.States (160), 31, 186);
- Add_Action (Table.States (160), 34, 187);
- Table.States (160).Kernel := To_Vector (((59, 59, 2, True), (63,
59, 1, False)));
- Table.States (160).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 187)));
+ Add_Action (Table.States (160), 31, (59, 1), 186);
+ Add_Action (Table.States (160), 34, (63, 0), 187);
+ Table.States (160).Kernel := To_Vector ((((59, 1), 59, 2,
(2147483647, 0), 0), ((63, 0), 59, 1,
+ (2147483647, 0), 0)));
+ Table.States (160).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (63, 0), 34, 187)));
Table.States (161).Action_List.Set_Capacity (11);
- Add_Action (Table.States (161), 10, 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_Action (Table.States (161), 10, (57, 0), 32);
+ Add_Action (Table.States (161), 11, (57, 1), 33);
+ Add_Action (Table.States (161), 14, (41, 0), 34);
+ Add_Action (Table.States (161), 19, (43, 0), 9);
+ Add_Action (Table.States (161), 21, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (161), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (161), 30, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (161), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (161), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (161), 37, (58, 1), 36);
+ Add_Action (Table.States (161), 38, (69, 0), 37);
Table.States (161).Goto_List.Set_Capacity (10);
Add_Goto (Table.States (161), 41, 38);
Add_Goto (Table.States (161), 43, 39);
@@ -1212,23 +1237,23 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (161), 69, 45);
Add_Goto (Table.States (161), 70, 188);
Add_Goto (Table.States (161), 71, 47);
- Table.States (161).Kernel := To_Vector ((0 => (41, 14, 1, False)));
- Table.States (161).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 70, 0)));
+ Table.States (161).Kernel := To_Vector ((0 => ((41, 0), 14, 1,
(2147483647, 0), 0)));
+ Table.States (161).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (70, 0), 0)));
Table.States (162).Action_List.Set_Capacity (1);
- Add_Action (Table.States (162), 34, 189);
- Table.States (162).Kernel := To_Vector ((0 => (72, 41, 1, False)));
- Table.States (162).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 189)));
+ Add_Action (Table.States (162), 34, (72, 0), 189);
+ Table.States (162).Kernel := To_Vector ((0 => ((72, 0), 41, 1,
(2147483647, 0), 0)));
+ Table.States (162).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (72, 0), 34, 189)));
Table.States (163).Action_List.Set_Capacity (10);
- Add_Action (Table.States (163), 10, 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_Action (Table.States (163), 10, (57, 0), 130);
+ Add_Action (Table.States (163), 11, (57, 1), 131);
+ Add_Action (Table.States (163), 14, (41, 0), 132);
+ Add_Action (Table.States (163), 19, (43, 0), 9);
+ Add_Action (Table.States (163), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (163), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (163), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (163), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (163), 37, (58, 1), 133);
+ Add_Action (Table.States (163), 38, (69, 0), 134);
Table.States (163).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (163), 41, 135);
Add_Goto (Table.States (163), 43, 136);
@@ -1239,20 +1264,20 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (163), 59, 141);
Add_Goto (Table.States (163), 69, 142);
Add_Goto (Table.States (163), 71, 143);
- Table.States (163).Kernel := To_Vector ((0 => (67, 29, 1, False)));
- Table.States (163).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 0)));
+ Table.States (163).Kernel := To_Vector ((0 => ((67, 1), 29, 1,
(2147483647, 0), 0)));
+ Table.States (163).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 0), 0)));
Table.States (164).Action_List.Set_Capacity (11);
- Add_Action (Table.States (164), 10, 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_Action (Table.States (164), 10, (57, 0), 32);
+ Add_Action (Table.States (164), 11, (57, 1), 33);
+ Add_Action (Table.States (164), 14, (41, 0), 34);
+ Add_Action (Table.States (164), 19, (43, 0), 9);
+ Add_Action (Table.States (164), 21, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (164), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (164), 30, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (164), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (164), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (164), 37, (58, 1), 36);
+ Add_Action (Table.States (164), 38, (69, 0), 37);
Table.States (164).Goto_List.Set_Capacity (10);
Add_Goto (Table.States (164), 41, 38);
Add_Goto (Table.States (164), 43, 39);
@@ -1264,40 +1289,42 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (164), 69, 45);
Add_Goto (Table.States (164), 70, 168);
Add_Goto (Table.States (164), 71, 47);
- Table.States (164).Kernel := To_Vector ((0 => (41, 14, 1, False)));
- Table.States (164).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 70, 0)));
+ Table.States (164).Kernel := To_Vector ((0 => ((41, 0), 14, 1,
(2147483647, 0), 0)));
+ Table.States (164).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (70, 0), 0)));
Table.States (165).Action_List.Set_Capacity (2);
- Add_Action (Table.States (165), (27, 34), (57, 0), 2, null, null);
- Table.States (165).Kernel := To_Vector ((0 => (57, 41, 0, False)));
- Table.States (165).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 57, 2)));
+ Add_Action (Table.States (165), (27, 34), (57, 0), 2, null, null);
+ Table.States (165).Kernel := To_Vector ((0 => ((57, 0), 41, 0,
(57, 0), 2)));
+ Table.States (165).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (57, 0), 2)));
Table.States (166).Action_List.Set_Capacity (2);
- Add_Action (Table.States (166), (27, 34), (57, 1), 2, null, null);
- Table.States (166).Kernel := To_Vector ((0 => (57, 41, 0, False)));
- Table.States (166).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 57, 2)));
+ Add_Action (Table.States (166), (27, 34), (57, 1), 2, null, null);
+ Table.States (166).Kernel := To_Vector ((0 => ((57, 1), 41, 0,
(57, 1), 2)));
+ Table.States (166).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (57, 1), 2)));
Table.States (167).Action_List.Set_Capacity (2);
- Add_Action (Table.States (167), (27, 34), (71, 1), 2, null, null);
- Table.States (167).Kernel := To_Vector ((0 => (71, 21, 0, False)));
- Table.States (167).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 2)));
+ Add_Action (Table.States (167), (27, 34), (71, 1), 2, null, null);
+ Table.States (167).Kernel := To_Vector ((0 => ((71, 1), 21, 0,
(71, 1), 2)));
+ Table.States (167).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 1), 2)));
Table.States (168).Action_List.Set_Capacity (2);
- Add_Action (Table.States (168), 21, 191);
- Add_Action (Table.States (168), 30, 67);
- Table.States (168).Kernel := To_Vector (((41, 70, 1, False), (70,
70, 1, True)));
- Table.States (168).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 21, 191)));
+ Add_Action (Table.States (168), 21, (41, 0), 191);
+ Add_Action (Table.States (168), 30, (70, 1), 67);
+ Table.States (168).Kernel := To_Vector ((((41, 0), 70, 1,
(2147483647, 0), 0), ((70, 1), 70, 1,
+ (2147483647, 0), 0)));
+ Table.States (168).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (41, 0), 21, 191)));
Table.States (169).Action_List.Set_Capacity (1);
- Add_Action (Table.States (169), 37, 192);
- Table.States (169).Kernel := To_Vector (((44, 33, 1, False), (44,
33, 4, False)));
- Table.States (169).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 192)));
+ Add_Action (Table.States (169), 37, (44, 0), 192);
+ Table.States (169).Kernel := To_Vector ((((44, 0), 33, 1,
(2147483647, 0), 0), ((44, 1), 33, 4,
+ (2147483647, 0), 0)));
+ Table.States (169).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 0), 37, 192)));
Table.States (170).Action_List.Set_Capacity (10);
- Add_Action (Table.States (170), 10, 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_Action (Table.States (170), 10, (57, 0), 130);
+ Add_Action (Table.States (170), 11, (57, 1), 131);
+ Add_Action (Table.States (170), 14, (41, 0), 132);
+ Add_Action (Table.States (170), 19, (43, 0), 9);
+ Add_Action (Table.States (170), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (170), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (170), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (170), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (170), 37, (58, 1), 133);
+ Add_Action (Table.States (170), 38, (69, 0), 134);
Table.States (170).Goto_List.Set_Capacity (8);
Add_Goto (Table.States (170), 41, 135);
Add_Goto (Table.States (170), 43, 136);
@@ -1307,75 +1334,74 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (170), 59, 141);
Add_Goto (Table.States (170), 69, 142);
Add_Goto (Table.States (170), 71, 193);
- Table.States (170).Kernel := To_Vector ((0 => (56, 27, 0, True)));
- Table.States (170).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 0)));
- Table.States (170).Minimal_Complete_Actions_Recursive := True;
+ Table.States (170).Kernel := To_Vector ((0 => ((56, 1), 27, 0,
(71, 0), 1)));
+ Table.States (170).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 0), 1)));
Table.States (171).Action_List.Set_Capacity (7);
- Add_Action (Table.States (171), (6, 8, 12, 16, 18, 23, 37), (67,
0), 4, simple_declarative_item_0'Access,
+ Add_Action (Table.States (171), (6, 8, 12, 16, 18, 23, 37), (67,
0), 4, simple_declarative_item_0'Access,
null);
- Table.States (171).Kernel := To_Vector ((0 => (67, 34, 0, False)));
- Table.States (171).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 67, 4)));
+ Table.States (171).Kernel := To_Vector ((0 => ((67, 0), 34, 0,
(67, 0), 4)));
+ Table.States (171).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (67, 0), 4)));
Table.States (172).Action_List.Set_Capacity (1);
- Add_Action (Table.States (172), 37, 194);
- Table.States (172).Kernel := To_Vector ((0 => (59, 31, 1, True)));
- Table.States (172).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 194)));
- Table.States (172).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (172), 37, (59, 1), 194);
+ Table.States (172).Kernel := To_Vector ((0 => ((59, 1), 31, 1,
(2147483647, 0), 0)));
+ Table.States (172).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (59, 1), 37, 194)));
Table.States (173).Action_List.Set_Capacity (1);
- Add_Action (Table.States (173), (1 => 39), (68, 0), 7,
simple_project_declaration_0'Access,
+ Add_Action (Table.States (173), (1 => 39), (68, 0), 7,
simple_project_declaration_0'Access,
simple_project_declaration_0_check'Access);
- Table.States (173).Kernel := To_Vector ((0 => (68, 34, 0, False)));
- Table.States (173).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 68, 7)));
+ Table.States (173).Kernel := To_Vector ((0 => ((68, 0), 34, 0,
(68, 0), 7)));
+ Table.States (173).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (68, 0), 7)));
Table.States (174).Action_List.Set_Capacity (1);
- Add_Action (Table.States (174), 34, 195);
- Table.States (174).Kernel := To_Vector ((0 => (65, 58, 1, False)));
- Table.States (174).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 195)));
+ Add_Action (Table.States (174), 34, (65, 0), 195);
+ Table.States (174).Kernel := To_Vector ((0 => ((65, 0), 58, 1,
(2147483647, 0), 0)));
+ Table.States (174).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (65, 0), 34, 195)));
Table.States (175).Action_List.Set_Capacity (2);
- Add_Action (Table.States (175), (32, 35), (54, 2), 1, null, null);
- Table.States (175).Kernel := To_Vector ((0 => (54, 17, 0, False)));
- Table.States (175).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 54, 1)));
+ Add_Action (Table.States (175), (32, 35), (54, 2), 1, null, null);
+ Table.States (175).Kernel := To_Vector ((0 => ((54, 2), 17, 0,
(54, 2), 1)));
+ Table.States (175).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (54, 2), 1)));
Table.States (176).Action_List.Set_Capacity (2);
- Add_Action (Table.States (176), (32, 35), (54, 1), 1, null, null);
- Table.States (176).Kernel := To_Vector ((0 => (54, 38, 0, False)));
- Table.States (176).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 54, 1)));
+ Add_Action (Table.States (176), (32, 35), (54, 1), 1, null, null);
+ Table.States (176).Kernel := To_Vector ((0 => ((54, 1), 38, 0,
(54, 1), 1)));
+ Table.States (176).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (54, 1), 1)));
Table.States (177).Action_List.Set_Capacity (2);
- Add_Action (Table.States (177), (32, 35), (55, 0), 1, null, null);
- Table.States (177).Kernel := To_Vector ((0 => (55, 54, 0, False)));
- Table.States (177).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 55, 1)));
+ Add_Action (Table.States (177), (32, 35), (55, 0), 1, null, null);
+ Table.States (177).Kernel := To_Vector ((0 => ((55, 0), 54, 0,
(55, 0), 1)));
+ Table.States (177).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (55, 0), 1)));
Table.States (178).Action_List.Set_Capacity (2);
- Add_Action (Table.States (178), 32, 196);
- Add_Action (Table.States (178), 35, 197);
- Table.States (178).Kernel := To_Vector (((46, 55, 1, False), (55,
55, 1, True)));
- Table.States (178).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 32, 196)));
+ Add_Action (Table.States (178), 32, (46, 0), 196);
+ Add_Action (Table.States (178), 35, (55, 1), 197);
+ Table.States (178).Kernel := To_Vector ((((46, 0), 55, 1,
(2147483647, 0), 0), ((55, 1), 55, 1,
+ (2147483647, 0), 0)));
+ Table.States (178).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (46, 0), 32, 196)));
Table.States (179).Action_List.Set_Capacity (1);
- Add_Action (Table.States (179), 6, 198);
- Table.States (179).Kernel := To_Vector ((0 => (45, 8, 2, False)));
- Table.States (179).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 6, 198)));
+ Add_Action (Table.States (179), 6, (45, 0), 198);
+ Table.States (179).Kernel := To_Vector ((0 => ((45, 0), 8, 2,
(2147483647, 0), 0)));
+ Table.States (179).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (45, 0), 6, 198)));
Table.States (180).Action_List.Set_Capacity (2);
- Add_Action (Table.States (180), (8, 25), (47, 2), 2, null, null);
- Table.States (180).Kernel := To_Vector ((0 => (47, 46, 0, True)));
- Table.States (180).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 47, 2)));
- Table.States (180).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (180), (8, 25), (47, 2), 2, null, null);
+ Table.States (180).Kernel := To_Vector ((0 => ((47, 2), 46, 0,
(47, 2), 2)));
+ Table.States (180).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (47, 2), 2)));
Table.States (181).Action_List.Set_Capacity (1);
- Add_Action (Table.States (181), 24, 199);
- Table.States (181).Kernel := To_Vector ((0 => (42, 21, 2, False)));
- Table.States (181).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 199)));
+ Add_Action (Table.States (181), 24, (42, 3), 199);
+ Table.States (181).Kernel := To_Vector ((0 => ((42, 3), 21, 2,
(2147483647, 0), 0)));
+ Table.States (181).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 3), 24, 199)));
Table.States (182).Action_List.Set_Capacity (1);
- Add_Action (Table.States (182), 24, 200);
- Table.States (182).Kernel := To_Vector (((42, 21, 2, False), (42,
21, 4, False)));
- Table.States (182).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 200)));
+ Add_Action (Table.States (182), 24, (42, 1), 200);
+ Table.States (182).Kernel := To_Vector ((((42, 1), 21, 2,
(2147483647, 0), 0), ((42, 2), 21, 4,
+ (2147483647, 0), 0)));
+ Table.States (182).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 1), 24, 200)));
Table.States (183).Action_List.Set_Capacity (7);
- Add_Action (Table.States (183), (6, 8, 12, 16, 18, 23, 37), (42,
0), 5, attribute_declaration_0'Access,
+ Add_Action (Table.States (183), (6, 8, 12, 16, 18, 23, 37), (42,
0), 5, attribute_declaration_0'Access,
null);
- Table.States (183).Kernel := To_Vector ((0 => (42, 34, 0, False)));
- Table.States (183).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 42, 5)));
+ Table.States (183).Kernel := To_Vector ((0 => ((42, 0), 34, 0,
(42, 0), 5)));
+ Table.States (183).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (42, 0), 5)));
Table.States (184).Action_List.Set_Capacity (7);
- Add_Action (Table.States (184), 6, 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_Action (Table.States (184), 6, (45, 0), 85);
+ Add_Action (Table.States (184), 8, Reduce, (53, 0), 0, null,
null);
+ Add_Action (Table.States (184), 12, (42, 0), 86);
+ Add_Action (Table.States (184), 16, (67, 4), 87);
+ Add_Action (Table.States (184), 18, (61, 0), 88);
+ Add_Action (Table.States (184), 23, (72, 0), 89);
+ Add_Action (Table.States (184), 37, (67, 0), 90);
Table.States (184).Goto_List.Set_Capacity (11);
Add_Goto (Table.States (184), 42, 91);
Add_Goto (Table.States (184), 45, 92);
@@ -1388,73 +1414,74 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (184), 63, 99);
Add_Goto (Table.States (184), 67, 100);
Add_Goto (Table.States (184), 72, 101);
- Table.States (184).Kernel := To_Vector ((0 => (62, 13, 2, False)));
- Table.States (184).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 53, 0)));
+ Table.States (184).Kernel := To_Vector ((0 => ((62, 0), 13, 2,
(2147483647, 0), 0)));
+ Table.States (184).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (53, 0), 0)));
Table.States (185).Action_List.Set_Capacity (2);
- Add_Action (Table.States (185), 34, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (185), 37, 144);
+ Add_Action (Table.States (185), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (185), 37, (58, 1), 144);
Table.States (185).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (185), 58, 202);
- Table.States (185).Kernel := To_Vector ((0 => (61, 8, 1, False)));
- Table.States (185).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 0)));
+ Table.States (185).Kernel := To_Vector ((0 => ((61, 0), 8, 1,
(2147483647, 0), 0)));
+ Table.States (185).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 0), 0)));
Table.States (186).Action_List.Set_Capacity (1);
- Add_Action (Table.States (186), 37, 203);
- Table.States (186).Kernel := To_Vector ((0 => (59, 31, 1, True)));
- Table.States (186).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 203)));
- Table.States (186).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (186), 37, (59, 1), 203);
+ Table.States (186).Kernel := To_Vector ((0 => ((59, 1), 31, 1,
(2147483647, 0), 0)));
+ Table.States (186).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (59, 1), 37, 203)));
Table.States (187).Action_List.Set_Capacity (7);
- Add_Action (Table.States (187), (6, 8, 12, 16, 18, 23, 37), (63,
0), 5, package_renaming_0'Access, null);
- Table.States (187).Kernel := To_Vector ((0 => (63, 34, 0, False)));
- Table.States (187).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 63, 5)));
+ Add_Action (Table.States (187), (6, 8, 12, 16, 18, 23, 37), (63,
0), 5, package_renaming_0'Access, null);
+ Table.States (187).Kernel := To_Vector ((0 => ((63, 0), 34, 0,
(63, 0), 5)));
+ Table.States (187).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (63, 0), 5)));
Table.States (188).Action_List.Set_Capacity (2);
- Add_Action (Table.States (188), 21, 204);
- Add_Action (Table.States (188), 30, 67);
- Table.States (188).Kernel := To_Vector (((41, 70, 1, False), (70,
70, 1, True)));
- Table.States (188).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 21, 204)));
+ Add_Action (Table.States (188), 21, (41, 0), 204);
+ Add_Action (Table.States (188), 30, (70, 1), 67);
+ Table.States (188).Kernel := To_Vector ((((41, 0), 70, 1,
(2147483647, 0), 0), ((70, 1), 70, 1,
+ (2147483647, 0), 0)));
+ Table.States (188).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (41, 0), 21, 204)));
Table.States (189).Action_List.Set_Capacity (7);
- Add_Action (Table.States (189), (6, 8, 12, 16, 18, 23, 37), (72,
0), 5, typed_string_declaration_0'Access,
+ Add_Action (Table.States (189), (6, 8, 12, 16, 18, 23, 37), (72,
0), 5, typed_string_declaration_0'Access,
null);
- Table.States (189).Kernel := To_Vector ((0 => (72, 34, 0, False)));
- Table.States (189).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 72, 5)));
+ Table.States (189).Kernel := To_Vector ((0 => ((72, 0), 34, 0,
(72, 0), 5)));
+ Table.States (189).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (72, 0), 5)));
Table.States (190).Action_List.Set_Capacity (2);
- Add_Action (Table.States (190), 27, 170);
- Add_Action (Table.States (190), 34, 205);
- Table.States (190).Kernel := To_Vector (((56, 56, 1, True), (67,
56, 1, False)));
- Table.States (190).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 205)));
+ Add_Action (Table.States (190), 27, (56, 1), 170);
+ Add_Action (Table.States (190), 34, (67, 1), 205);
+ Table.States (190).Kernel := To_Vector ((((56, 1), 56, 1,
(2147483647, 0), 0), ((67, 1), 56, 1,
+ (2147483647, 0), 0)));
+ Table.States (190).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (67, 1), 34, 205)));
Table.States (191).Action_List.Set_Capacity (2);
- Add_Action (Table.States (191), (27, 34), (41, 0), 3,
aggregate_g_0'Access, null);
- Table.States (191).Kernel := To_Vector ((0 => (41, 21, 0, False)));
- Table.States (191).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 41, 3)));
+ Add_Action (Table.States (191), (27, 34), (41, 0), 3,
aggregate_g_0'Access, null);
+ Table.States (191).Kernel := To_Vector ((0 => ((41, 0), 21, 0,
(41, 0), 3)));
+ Table.States (191).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (41, 0), 3)));
Table.States (192).Action_List.Set_Capacity (3);
- Add_Action (Table.States (192), 14, 206);
- Add_Action (Table.States (192), 27, Reduce, (44, 0), 3, null,
null);
- Add_Action (Table.States (192), 34, Reduce, (44, 0), 3, null,
null);
- Table.States (192).Kernel := To_Vector (((44, 37, 0, False), (44,
37, 3, False)));
- Table.States (192).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 44, 3)));
+ Add_Action (Table.States (192), 14, (44, 1), 206);
+ Add_Action (Table.States (192), 27, Reduce, (44, 0), 3, null,
null);
+ Add_Action (Table.States (192), 34, Reduce, (44, 0), 3, null,
null);
+ Table.States (192).Kernel := To_Vector ((((44, 0), 37, 0, (44,
0), 3), ((44, 1), 37, 3, (2147483647,
+ 0), 0)));
+ Table.States (192).Minimal_Complete_Actions := To_Vector
(((Reduce, (44, 0), 3), (Shift, (44, 1), 14,
+ 206)));
Table.States (193).Action_List.Set_Capacity (2);
- Add_Action (Table.States (193), (27, 34), (56, 1), 3, null, null);
- Table.States (193).Kernel := To_Vector ((0 => (56, 71, 0, True)));
- Table.States (193).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 3)));
- Table.States (193).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (193), (27, 34), (56, 1), 3, null, null);
+ Table.States (193).Kernel := To_Vector ((0 => ((56, 1), 71, 0,
(56, 1), 3)));
+ Table.States (193).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 1), 3)));
Table.States (194).Action_List.Set_Capacity (4);
- Add_Action (Table.States (194), (27, 31, 33, 34), (59, 1), 3,
null, null);
- Table.States (194).Kernel := To_Vector ((0 => (59, 37, 0, True)));
- Table.States (194).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 3)));
- Table.States (194).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (194), (27, 31, 33, 34), (59, 1), 3,
null, null);
+ Table.States (194).Kernel := To_Vector ((0 => ((59, 1), 37, 0,
(59, 1), 3)));
+ Table.States (194).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 1), 3)));
Table.States (195).Action_List.Set_Capacity (1);
- Add_Action (Table.States (195), (1 => 39), (65, 0), 9,
project_extension_0'Access,
+ Add_Action (Table.States (195), (1 => 39), (65, 0), 9,
project_extension_0'Access,
project_extension_0_check'Access);
- Table.States (195).Kernel := To_Vector ((0 => (65, 34, 0, False)));
- Table.States (195).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 65, 9)));
+ Table.States (195).Kernel := To_Vector ((0 => ((65, 0), 34, 0,
(65, 0), 9)));
+ Table.States (195).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (65, 0), 9)));
Table.States (196).Action_List.Set_Capacity (8);
- Add_Action (Table.States (196), 6, 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_Action (Table.States (196), 6, (45, 0), 207);
+ Add_Action (Table.States (196), 8, Reduce, (53, 0), 0, null,
null);
+ Add_Action (Table.States (196), 12, (42, 0), 208);
+ Add_Action (Table.States (196), 16, (67, 4), 209);
+ Add_Action (Table.States (196), 18, (61, 0), 210);
+ Add_Action (Table.States (196), 23, (72, 0), 211);
+ Add_Action (Table.States (196), 25, Reduce, (53, 0), 0, null,
null);
+ Add_Action (Table.States (196), 37, (67, 0), 212);
Table.States (196).Goto_List.Set_Capacity (11);
Add_Goto (Table.States (196), 42, 213);
Add_Goto (Table.States (196), 45, 214);
@@ -1467,33 +1494,32 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (196), 63, 221);
Add_Goto (Table.States (196), 67, 222);
Add_Goto (Table.States (196), 72, 223);
- Table.States (196).Kernel := To_Vector ((0 => (46, 32, 0, False)));
- Table.States (196).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 53, 0)));
+ Table.States (196).Kernel := To_Vector ((0 => ((46, 0), 32, 0,
(53, 0), 0)));
+ Table.States (196).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (53, 0), 0)));
Table.States (197).Action_List.Set_Capacity (4);
- Add_Action (Table.States (197), 17, 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_Action (Table.States (197), 17, (54, 2), 175);
+ Add_Action (Table.States (197), 32, Reduce, (54, 0), 0, null,
null);
+ Add_Action (Table.States (197), 35, Reduce, (54, 0), 0, null,
null);
+ Add_Action (Table.States (197), 38, (54, 1), 176);
Table.States (197).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (197), 54, 224);
- Table.States (197).Kernel := To_Vector ((0 => (55, 35, 0, True)));
- Table.States (197).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 54, 0)));
- Table.States (197).Minimal_Complete_Actions_Recursive := True;
+ Table.States (197).Kernel := To_Vector ((0 => ((55, 1), 35, 0,
(54, 0), 0)));
+ Table.States (197).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (54, 0), 0)));
Table.States (198).Action_List.Set_Capacity (1);
- Add_Action (Table.States (198), 34, 225);
- Table.States (198).Kernel := To_Vector ((0 => (45, 6, 1, False)));
- Table.States (198).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 225)));
+ Add_Action (Table.States (198), 34, (45, 0), 225);
+ Table.States (198).Kernel := To_Vector ((0 => ((45, 0), 6, 1,
(2147483647, 0), 0)));
+ Table.States (198).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (45, 0), 34, 225)));
Table.States (199).Action_List.Set_Capacity (10);
- Add_Action (Table.States (199), 10, 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_Action (Table.States (199), 10, (57, 0), 130);
+ Add_Action (Table.States (199), 11, (57, 1), 131);
+ Add_Action (Table.States (199), 14, (41, 0), 132);
+ Add_Action (Table.States (199), 19, (43, 0), 9);
+ Add_Action (Table.States (199), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (199), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (199), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (199), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (199), 37, (58, 1), 133);
+ Add_Action (Table.States (199), 38, (69, 0), 134);
Table.States (199).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (199), 41, 135);
Add_Goto (Table.States (199), 43, 136);
@@ -1504,20 +1530,20 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (199), 59, 141);
Add_Goto (Table.States (199), 69, 142);
Add_Goto (Table.States (199), 71, 143);
- Table.States (199).Kernel := To_Vector ((0 => (42, 24, 1, False)));
- Table.States (199).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 0)));
+ Table.States (199).Kernel := To_Vector ((0 => ((42, 3), 24, 1,
(2147483647, 0), 0)));
+ Table.States (199).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 0), 0)));
Table.States (200).Action_List.Set_Capacity (11);
- Add_Action (Table.States (200), 4, Reduce, (58, 0), 0, null, null);
- Add_Action (Table.States (200), 10, 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_Action (Table.States (200), 4, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (200), 10, (57, 0), 227);
+ Add_Action (Table.States (200), 11, (57, 1), 228);
+ Add_Action (Table.States (200), 14, (41, 0), 229);
+ Add_Action (Table.States (200), 19, (43, 0), 9);
+ Add_Action (Table.States (200), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (200), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (200), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (200), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (200), 37, (58, 1), 230);
+ Add_Action (Table.States (200), 38, (69, 0), 231);
Table.States (200).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (200), 41, 232);
Add_Goto (Table.States (200), 43, 233);
@@ -1528,95 +1554,97 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (200), 59, 238);
Add_Goto (Table.States (200), 69, 239);
Add_Goto (Table.States (200), 71, 240);
- Table.States (200).Kernel := To_Vector (((42, 24, 1, False), (42,
24, 3, False)));
- Table.States (200).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 0)));
+ Table.States (200).Kernel := To_Vector ((((42, 1), 24, 1,
(2147483647, 0), 0), ((42, 2), 24, 3,
+ (2147483647, 0), 0)));
+ Table.States (200).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 0), 0)));
Table.States (201).Action_List.Set_Capacity (1);
- Add_Action (Table.States (201), 8, 241);
- Table.States (201).Kernel := To_Vector ((0 => (62, 53, 2, False)));
- Table.States (201).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 8, 241)));
+ Add_Action (Table.States (201), 8, (62, 0), 241);
+ Table.States (201).Kernel := To_Vector ((0 => ((62, 0), 53, 2,
(2147483647, 0), 0)));
+ Table.States (201).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (62, 0), 8, 241)));
Table.States (202).Action_List.Set_Capacity (1);
- Add_Action (Table.States (202), 34, 242);
- Table.States (202).Kernel := To_Vector ((0 => (61, 58, 1, False)));
- Table.States (202).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 242)));
+ Add_Action (Table.States (202), 34, (61, 0), 242);
+ Table.States (202).Kernel := To_Vector ((0 => ((61, 0), 58, 1,
(2147483647, 0), 0)));
+ Table.States (202).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (61, 0), 34, 242)));
Table.States (203).Action_List.Set_Capacity (2);
- Add_Action (Table.States (203), (31, 34), (59, 1), 3, null, null);
- Table.States (203).Kernel := To_Vector ((0 => (59, 37, 0, True)));
- Table.States (203).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 3)));
- Table.States (203).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (203), (31, 34), (59, 1), 3, null, null);
+ Table.States (203).Kernel := To_Vector ((0 => ((59, 1), 37, 0,
(59, 1), 3)));
+ Table.States (203).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 1), 3)));
+ end Subr_2;
+ procedure Subr_3
+ is begin
Table.States (204).Action_List.Set_Capacity (1);
- Add_Action (Table.States (204), (1 => 34), (41, 0), 3,
aggregate_g_0'Access, null);
- Table.States (204).Kernel := To_Vector ((0 => (41, 21, 0, False)));
- Table.States (204).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 41, 3)));
+ Add_Action (Table.States (204), (1 => 34), (41, 0), 3,
aggregate_g_0'Access, null);
+ Table.States (204).Kernel := To_Vector ((0 => ((41, 0), 21, 0,
(41, 0), 3)));
+ Table.States (204).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (41, 0), 3)));
Table.States (205).Action_List.Set_Capacity (7);
- Add_Action (Table.States (205), (6, 8, 12, 16, 18, 23, 37), (67,
1), 6, simple_declarative_item_1'Access,
+ Add_Action (Table.States (205), (6, 8, 12, 16, 18, 23, 37), (67,
1), 6, simple_declarative_item_1'Access,
null);
- Table.States (205).Kernel := To_Vector ((0 => (67, 34, 0, False)));
- Table.States (205).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 67, 6)));
+ Table.States (205).Kernel := To_Vector ((0 => ((67, 1), 34, 0,
(67, 1), 6)));
+ Table.States (205).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (67, 1), 6)));
Table.States (206).Action_List.Set_Capacity (1);
- Add_Action (Table.States (206), 38, 243);
- Table.States (206).Kernel := To_Vector ((0 => (44, 14, 2, False)));
- Table.States (206).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 38, 243)));
+ Add_Action (Table.States (206), 38, (44, 1), 243);
+ Table.States (206).Kernel := To_Vector ((0 => ((44, 1), 14, 2,
(2147483647, 0), 0)));
+ Table.States (206).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 1), 38, 243)));
Table.States (207).Action_List.Set_Capacity (3);
- Add_Action (Table.States (207), 13, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (207), 31, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (207), 37, 105);
+ Add_Action (Table.States (207), 13, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (207), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (207), 37, (58, 1), 105);
Table.States (207).Goto_List.Set_Capacity (2);
Add_Goto (Table.States (207), 58, 106);
Add_Goto (Table.States (207), 59, 244);
- Table.States (207).Kernel := To_Vector ((0 => (45, 6, 4, False)));
- Table.States (207).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 0)));
+ Table.States (207).Kernel := To_Vector ((0 => ((45, 0), 6, 4,
(2147483647, 0), 0)));
+ Table.States (207).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 0), 0)));
Table.States (208).Action_List.Set_Capacity (2);
- Add_Action (Table.States (208), 10, 245);
- Add_Action (Table.States (208), 37, 246);
- Table.States (208).Kernel := To_Vector (((42, 12, 3, False), (42,
12, 5, False), (42, 12, 7, False), (42,
- 12, 6, False)));
- Table.States (208).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 246)));
+ Add_Action (Table.States (208), 10, (42, 3), 245);
+ Add_Action (Table.States (208), 37, (42, 0), 246);
+ Table.States (208).Kernel := To_Vector ((((42, 0), 12, 3,
(2147483647, 0), 0), ((42, 1), 12, 5,
+ (2147483647, 0), 0), ((42, 2), 12, 7, (2147483647, 0), 0),
((42, 3), 12, 6, (2147483647, 0), 0)));
+ Table.States (208).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 0), 37, 246)));
Table.States (209).Action_List.Set_Capacity (1);
- Add_Action (Table.States (209), 34, 247);
- Table.States (209).Kernel := To_Vector ((0 => (67, 16, 1, False)));
- Table.States (209).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 247)));
+ Add_Action (Table.States (209), 34, (67, 4), 247);
+ Table.States (209).Kernel := To_Vector ((0 => ((67, 4), 16, 1,
(2147483647, 0), 0)));
+ Table.States (209).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (67, 4), 34, 247)));
Table.States (210).Action_List.Set_Capacity (4);
- Add_Action (Table.States (210), 9, Reduce, (58, 0), 0, null, null);
- Add_Action (Table.States (210), 13, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (210), 20, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (210), 37, 111);
+ Add_Action (Table.States (210), 9, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (210), 13, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (210), 20, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (210), 37, (58, 1), 111);
Table.States (210).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (210), 58, 248);
- Table.States (210).Kernel := To_Vector (((61, 18, 3, False), (62,
18, 4, False), (63, 18, 2, False)));
- Table.States (210).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 0)));
- end Subr_2;
- procedure Subr_3
- is begin
+ Table.States (210).Kernel := To_Vector ((((61, 0), 18, 3,
(2147483647, 0), 0), ((62, 0), 18, 4,
+ (2147483647, 0), 0), ((63, 0), 18, 2, (2147483647, 0), 0)));
+ Table.States (210).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 0), 0)));
Table.States (211).Action_List.Set_Capacity (1);
- Add_Action (Table.States (211), 37, 249);
- Table.States (211).Kernel := To_Vector ((0 => (72, 23, 5, False)));
- Table.States (211).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 249)));
+ Add_Action (Table.States (211), 37, (72, 0), 249);
+ Table.States (211).Kernel := To_Vector ((0 => ((72, 0), 23, 5,
(2147483647, 0), 0)));
+ Table.States (211).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (72, 0), 37, 249)));
Table.States (212).Action_List.Set_Capacity (2);
- Add_Action (Table.States (212), 28, 250);
- Add_Action (Table.States (212), 29, 251);
- Table.States (212).Kernel := To_Vector (((67, 37, 2, False), (67,
37, 4, False)));
- Table.States (212).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 29, 251)));
+ Add_Action (Table.States (212), 28, (67, 1), 250);
+ Add_Action (Table.States (212), 29, (67, 0), 251);
+ Table.States (212).Kernel := To_Vector ((((67, 0), 37, 2,
(2147483647, 0), 0), ((67, 1), 37, 4,
+ (2147483647, 0), 0)));
+ Table.States (212).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (67, 0), 29, 251)));
Table.States (213).Action_List.Set_Capacity (8);
- Add_Action (Table.States (213), (6, 8, 12, 16, 18, 23, 25, 37),
(67, 2), 1, null, null);
- Table.States (213).Kernel := To_Vector ((0 => (67, 42, 0, False)));
- Table.States (213).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 67, 1)));
+ Add_Action (Table.States (213), (6, 8, 12, 16, 18, 23, 25, 37),
(67, 2), 1, null, null);
+ Table.States (213).Kernel := To_Vector ((0 => ((67, 2), 42, 0,
(67, 2), 1)));
+ Table.States (213).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (67, 2), 1)));
Table.States (214).Action_List.Set_Capacity (8);
- Add_Action (Table.States (214), (6, 8, 12, 16, 18, 23, 25, 37),
(67, 3), 1, null, null);
- Table.States (214).Kernel := To_Vector ((0 => (67, 45, 0, False)));
- Table.States (214).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 67, 1)));
+ Add_Action (Table.States (214), (6, 8, 12, 16, 18, 23, 25, 37),
(67, 3), 1, null, null);
+ Table.States (214).Kernel := To_Vector ((0 => ((67, 3), 45, 0,
(67, 3), 1)));
+ Table.States (214).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (67, 3), 1)));
Table.States (215).Action_List.Set_Capacity (8);
- Add_Action (Table.States (215), (6, 8, 12, 16, 18, 23, 25, 37),
(52, 0), 1, null, null);
- Table.States (215).Kernel := To_Vector ((0 => (52, 51, 0, False)));
- Table.States (215).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 52, 1)));
+ Add_Action (Table.States (215), (6, 8, 12, 16, 18, 23, 25, 37),
(52, 0), 1, null, null);
+ Table.States (215).Kernel := To_Vector ((0 => ((52, 0), 51, 0,
(52, 0), 1)));
+ Table.States (215).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (52, 0), 1)));
Table.States (216).Action_List.Set_Capacity (8);
- Add_Action (Table.States (216), 6, 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_Action (Table.States (216), 6, (45, 0), 207);
+ Add_Action (Table.States (216), 8, Reduce, (53, 1), 1, null,
null);
+ Add_Action (Table.States (216), 12, (42, 0), 208);
+ Add_Action (Table.States (216), 16, (67, 4), 209);
+ Add_Action (Table.States (216), 18, (61, 0), 210);
+ Add_Action (Table.States (216), 23, (72, 0), 211);
+ Add_Action (Table.States (216), 25, Reduce, (53, 1), 1, null,
null);
+ Add_Action (Table.States (216), 37, (67, 0), 212);
Table.States (216).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (216), 42, 213);
Add_Goto (Table.States (216), 45, 214);
@@ -1627,75 +1655,76 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (216), 63, 221);
Add_Goto (Table.States (216), 67, 222);
Add_Goto (Table.States (216), 72, 223);
- Table.States (216).Kernel := To_Vector (((52, 52, 2, True), (53,
52, 0, False)));
- Table.States (216).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 53, 1)));
+ Table.States (216).Kernel := To_Vector ((((52, 1), 52, 2,
(2147483647, 0), 0), ((53, 1), 52, 0, (53,
+ 1), 1)));
+ Table.States (216).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (53, 1), 1)));
Table.States (217).Action_List.Set_Capacity (2);
- Add_Action (Table.States (217), (8, 25), (46, 0), 4,
case_item_0'Access, null);
- Table.States (217).Kernel := To_Vector ((0 => (46, 53, 0, False)));
- Table.States (217).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 46, 4)));
+ Add_Action (Table.States (217), (8, 25), (46, 0), 4,
case_item_0'Access, null);
+ Table.States (217).Kernel := To_Vector ((0 => ((46, 0), 53, 0,
(46, 0), 4)));
+ Table.States (217).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (46, 0), 4)));
Table.States (218).Action_List.Set_Capacity (8);
- Add_Action (Table.States (218), (6, 8, 12, 16, 18, 23, 25, 37),
(51, 2), 1, null, null);
- Table.States (218).Kernel := To_Vector ((0 => (51, 60, 0, False)));
- Table.States (218).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 51, 1)));
+ Add_Action (Table.States (218), (6, 8, 12, 16, 18, 23, 25, 37),
(51, 2), 1, null, null);
+ Table.States (218).Kernel := To_Vector ((0 => ((51, 2), 60, 0,
(51, 2), 1)));
+ Table.States (218).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (51, 2), 1)));
Table.States (219).Action_List.Set_Capacity (8);
- Add_Action (Table.States (219), (6, 8, 12, 16, 18, 23, 25, 37),
(60, 0), 1, null, null);
- Table.States (219).Kernel := To_Vector ((0 => (60, 61, 0, False)));
- Table.States (219).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 60, 1)));
+ Add_Action (Table.States (219), (6, 8, 12, 16, 18, 23, 25, 37),
(60, 0), 1, null, null);
+ Table.States (219).Kernel := To_Vector ((0 => ((60, 0), 61, 0,
(60, 0), 1)));
+ Table.States (219).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (60, 0), 1)));
Table.States (220).Action_List.Set_Capacity (8);
- Add_Action (Table.States (220), (6, 8, 12, 16, 18, 23, 25, 37),
(60, 1), 1, null, null);
- Table.States (220).Kernel := To_Vector ((0 => (60, 62, 0, False)));
- Table.States (220).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 60, 1)));
+ Add_Action (Table.States (220), (6, 8, 12, 16, 18, 23, 25, 37),
(60, 1), 1, null, null);
+ Table.States (220).Kernel := To_Vector ((0 => ((60, 1), 62, 0,
(60, 1), 1)));
+ Table.States (220).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (60, 1), 1)));
Table.States (221).Action_List.Set_Capacity (8);
- Add_Action (Table.States (221), (6, 8, 12, 16, 18, 23, 25, 37),
(60, 2), 1, null, null);
- Table.States (221).Kernel := To_Vector ((0 => (60, 63, 0, False)));
- Table.States (221).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 60, 1)));
+ Add_Action (Table.States (221), (6, 8, 12, 16, 18, 23, 25, 37),
(60, 2), 1, null, null);
+ Table.States (221).Kernel := To_Vector ((0 => ((60, 2), 63, 0,
(60, 2), 1)));
+ Table.States (221).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (60, 2), 1)));
Table.States (222).Action_List.Set_Capacity (8);
- Add_Action (Table.States (222), (6, 8, 12, 16, 18, 23, 25, 37),
(51, 0), 1, null, null);
- Table.States (222).Kernel := To_Vector ((0 => (51, 67, 0, False)));
- Table.States (222).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 51, 1)));
+ Add_Action (Table.States (222), (6, 8, 12, 16, 18, 23, 25, 37),
(51, 0), 1, null, null);
+ Table.States (222).Kernel := To_Vector ((0 => ((51, 0), 67, 0,
(51, 0), 1)));
+ Table.States (222).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (51, 0), 1)));
Table.States (223).Action_List.Set_Capacity (8);
- Add_Action (Table.States (223), (6, 8, 12, 16, 18, 23, 25, 37),
(51, 1), 1, null, null);
- Table.States (223).Kernel := To_Vector ((0 => (51, 72, 0, False)));
- Table.States (223).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 51, 1)));
+ Add_Action (Table.States (223), (6, 8, 12, 16, 18, 23, 25, 37),
(51, 1), 1, null, null);
+ Table.States (223).Kernel := To_Vector ((0 => ((51, 1), 72, 0,
(51, 1), 1)));
+ Table.States (223).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (51, 1), 1)));
Table.States (224).Action_List.Set_Capacity (2);
- Add_Action (Table.States (224), (32, 35), (55, 1), 3, null, null);
- Table.States (224).Kernel := To_Vector ((0 => (55, 54, 0, True)));
- Table.States (224).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 55, 3)));
- Table.States (224).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (224), (32, 35), (55, 1), 3, null, null);
+ Table.States (224).Kernel := To_Vector ((0 => ((55, 1), 54, 0,
(55, 1), 3)));
+ Table.States (224).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (55, 1), 3)));
Table.States (225).Action_List.Set_Capacity (7);
- Add_Action (Table.States (225), (6, 8, 12, 16, 18, 23, 37), (45,
0), 7, case_statement_0'Access, null);
- Table.States (225).Kernel := To_Vector ((0 => (45, 34, 0, False)));
- Table.States (225).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 45, 7)));
+ Add_Action (Table.States (225), (6, 8, 12, 16, 18, 23, 37), (45,
0), 7, case_statement_0'Access, null);
+ Table.States (225).Kernel := To_Vector ((0 => ((45, 0), 34, 0,
(45, 0), 7)));
+ Table.States (225).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (45, 0), 7)));
Table.States (226).Action_List.Set_Capacity (2);
- Add_Action (Table.States (226), 27, 170);
- Add_Action (Table.States (226), 34, 253);
- Table.States (226).Kernel := To_Vector (((42, 56, 1, False), (56,
56, 1, True)));
- Table.States (226).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 253)));
+ Add_Action (Table.States (226), 27, (56, 1), 170);
+ Add_Action (Table.States (226), 34, (42, 3), 253);
+ Table.States (226).Kernel := To_Vector ((((42, 3), 56, 1,
(2147483647, 0), 0), ((56, 1), 56, 1,
+ (2147483647, 0), 0)));
+ Table.States (226).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 3), 34, 253)));
Table.States (227).Action_List.Set_Capacity (1);
- Add_Action (Table.States (227), 14, 254);
+ Add_Action (Table.States (227), 14, (41, 0), 254);
Table.States (227).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (227), 41, 255);
- Table.States (227).Kernel := To_Vector ((0 => (57, 10, 2, False)));
- Table.States (227).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 14, 254)));
+ Table.States (227).Kernel := To_Vector ((0 => ((57, 0), 10, 2,
(2147483647, 0), 0)));
+ Table.States (227).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (41, 0), 14, 254)));
Table.States (228).Action_List.Set_Capacity (1);
- Add_Action (Table.States (228), 14, 254);
+ Add_Action (Table.States (228), 14, (41, 0), 254);
Table.States (228).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (228), 41, 256);
- Table.States (228).Kernel := To_Vector ((0 => (57, 11, 2, False)));
- Table.States (228).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 14, 254)));
+ Table.States (228).Kernel := To_Vector ((0 => ((57, 1), 11, 2,
(2147483647, 0), 0)));
+ Table.States (228).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (41, 0), 14, 254)));
Table.States (229).Action_List.Set_Capacity (11);
- Add_Action (Table.States (229), 10, 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_Action (Table.States (229), 10, (57, 0), 32);
+ Add_Action (Table.States (229), 11, (57, 1), 33);
+ Add_Action (Table.States (229), 14, (41, 0), 34);
+ Add_Action (Table.States (229), 19, (43, 0), 9);
+ Add_Action (Table.States (229), 21, (71, 1), 257);
+ Add_Conflict (Table.States (229), 21, (58, 0), 0, null, null);
+ Add_Action (Table.States (229), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (229), 30, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (229), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (229), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (229), 37, (58, 1), 36);
+ Add_Action (Table.States (229), 38, (69, 0), 37);
Table.States (229).Goto_List.Set_Capacity (10);
Add_Goto (Table.States (229), 41, 38);
Add_Goto (Table.States (229), 43, 39);
@@ -1707,118 +1736,126 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (229), 69, 45);
Add_Goto (Table.States (229), 70, 258);
Add_Goto (Table.States (229), 71, 47);
- Table.States (229).Kernel := To_Vector (((41, 14, 1, False), (71,
14, 1, False)));
- Table.States (229).Minimal_Complete_Actions := To_Vector
(((Reduce, 70, 0), (Shift, 21, 257)));
+ Table.States (229).Kernel := To_Vector ((((41, 0), 14, 1,
(2147483647, 0), 0), ((71, 1), 14, 1,
+ (2147483647, 0), 0)));
+ Table.States (229).Minimal_Complete_Actions := To_Vector
(((Reduce, (70, 0), 0), (Shift, (71, 1), 21,
+ 257)));
Table.States (230).Action_List.Set_Capacity (5);
- Add_Action (Table.States (230), (4, 27, 31, 33, 34), (58, 1), 1,
null, identifier_opt_1_check'Access);
- Table.States (230).Kernel := To_Vector ((0 => (58, 37, 0, False)));
- Table.States (230).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 1)));
+ Add_Action (Table.States (230), (4, 27, 31, 33, 34), (58, 1), 1,
null, identifier_opt_1_check'Access);
+ Table.States (230).Kernel := To_Vector ((0 => ((58, 1), 37, 0,
(58, 1), 1)));
+ Table.States (230).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 1), 1)));
Table.States (231).Action_List.Set_Capacity (3);
- Add_Action (Table.States (231), (4, 27, 34), (69, 0), 1, null,
null);
- Table.States (231).Kernel := To_Vector ((0 => (69, 38, 0, False)));
- Table.States (231).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 69, 1)));
+ Add_Action (Table.States (231), (4, 27, 34), (69, 0), 1, null,
null);
+ Table.States (231).Kernel := To_Vector ((0 => ((69, 0), 38, 0,
(69, 0), 1)));
+ Table.States (231).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (69, 0), 1)));
Table.States (232).Action_List.Set_Capacity (3);
- Add_Action (Table.States (232), (4, 27, 34), (71, 2), 1, null,
null);
- Table.States (232).Kernel := To_Vector ((0 => (71, 41, 0, False)));
- Table.States (232).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 1)));
+ Add_Action (Table.States (232), (4, 27, 34), (71, 2), 1, null,
null);
+ Table.States (232).Kernel := To_Vector ((0 => ((71, 2), 41, 0,
(71, 2), 1)));
+ Table.States (232).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 2), 1)));
Table.States (233).Action_List.Set_Capacity (1);
- Add_Action (Table.States (233), 33, 259);
- Table.States (233).Kernel := To_Vector (((44, 43, 2, False), (44,
43, 5, False)));
- Table.States (233).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 33, 259)));
+ Add_Action (Table.States (233), 33, (44, 0), 259);
+ Table.States (233).Kernel := To_Vector ((((44, 0), 43, 2,
(2147483647, 0), 0), ((44, 1), 43, 5,
+ (2147483647, 0), 0)));
+ Table.States (233).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 0), 33, 259)));
Table.States (234).Action_List.Set_Capacity (3);
- Add_Action (Table.States (234), (4, 27, 34), (69, 3), 1, null,
null);
- Table.States (234).Kernel := To_Vector ((0 => (69, 44, 0, False)));
- Table.States (234).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 69, 1)));
+ Add_Action (Table.States (234), (4, 27, 34), (69, 3), 1, null,
null);
+ Table.States (234).Kernel := To_Vector ((0 => ((69, 3), 44, 0,
(69, 3), 1)));
+ Table.States (234).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (69, 3), 1)));
Table.States (235).Action_List.Set_Capacity (3);
- Add_Action (Table.States (235), 4, 260);
- Add_Action (Table.States (235), 27, 261);
- Add_Action (Table.States (235), 34, 262);
- Table.States (235).Kernel := To_Vector (((42, 56, 1, False), (42,
56, 3, False), (56, 56, 1, True)));
- Table.States (235).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 262)));
+ Add_Action (Table.States (235), 4, (42, 2), 260);
+ Add_Action (Table.States (235), 27, (56, 1), 261);
+ Add_Action (Table.States (235), 34, (42, 1), 262);
+ Table.States (235).Kernel := To_Vector ((((42, 1), 56, 1,
(2147483647, 0), 0), ((42, 2), 56, 3,
+ (2147483647, 0), 0), ((56, 1), 56, 1, (2147483647, 0), 0)));
+ Table.States (235).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 1), 34, 262)));
Table.States (236).Action_List.Set_Capacity (3);
- Add_Action (Table.States (236), (4, 27, 34), (69, 2), 1, null,
null);
- Table.States (236).Kernel := To_Vector ((0 => (69, 57, 0, False)));
- Table.States (236).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 69, 1)));
+ Add_Action (Table.States (236), (4, 27, 34), (69, 2), 1, null,
null);
+ Table.States (236).Kernel := To_Vector ((0 => ((69, 2), 57, 0,
(69, 2), 1)));
+ Table.States (236).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (69, 2), 1)));
Table.States (237).Action_List.Set_Capacity (5);
- Add_Action (Table.States (237), (4, 27, 31, 33, 34), (59, 0), 1,
null, null);
- Table.States (237).Kernel := To_Vector ((0 => (59, 58, 0, False)));
- Table.States (237).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 1)));
+ Add_Action (Table.States (237), (4, 27, 31, 33, 34), (59, 0), 1,
null, null);
+ Table.States (237).Kernel := To_Vector ((0 => ((59, 0), 58, 0,
(59, 0), 1)));
+ Table.States (237).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 0), 1)));
Table.States (238).Action_List.Set_Capacity (5);
- Add_Action (Table.States (238), 4, Reduce, (69, 1), 1, null, null);
- Add_Action (Table.States (238), 27, Reduce, (69, 1), 1, null,
null);
- Add_Action (Table.States (238), 31, 263);
- Add_Action (Table.States (238), 33, Reduce, (43, 1), 1, null,
null);
- Add_Action (Table.States (238), 34, Reduce, (69, 1), 1, null,
null);
- Table.States (238).Kernel := To_Vector (((43, 59, 0, False), (59,
59, 2, True), (69, 59, 0, False)));
- Table.States (238).Minimal_Complete_Actions := To_Vector
(((Reduce, 43, 1), (Reduce, 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, (59, 1), 263);
+ Add_Action (Table.States (238), 33, Reduce, (43, 1), 1, null,
null);
+ Add_Action (Table.States (238), 34, Reduce, (69, 1), 1, null,
null);
+ Table.States (238).Kernel := To_Vector ((((43, 1), 59, 0, (43,
1), 1), ((59, 1), 59, 2, (2147483647,
+ 0), 0), ((69, 1), 59, 0, (69, 1), 1)));
+ Table.States (238).Minimal_Complete_Actions := To_Vector
(((Reduce, (43, 1), 1), (Reduce, (69, 1), 1)));
Table.States (239).Action_List.Set_Capacity (3);
- Add_Action (Table.States (239), (4, 27, 34), (71, 0), 1, null,
null);
- Table.States (239).Kernel := To_Vector ((0 => (71, 69, 0, False)));
- Table.States (239).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 1)));
+ Add_Action (Table.States (239), (4, 27, 34), (71, 0), 1, null,
null);
+ Table.States (239).Kernel := To_Vector ((0 => ((71, 0), 69, 0,
(71, 0), 1)));
+ Table.States (239).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 0), 1)));
Table.States (240).Action_List.Set_Capacity (3);
- Add_Action (Table.States (240), (4, 27, 34), (56, 0), 1, null,
null);
- Table.States (240).Kernel := To_Vector ((0 => (56, 71, 0, False)));
- Table.States (240).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 1)));
+ Add_Action (Table.States (240), (4, 27, 34), (56, 0), 1, null,
null);
+ Table.States (240).Kernel := To_Vector ((0 => ((56, 0), 71, 0,
(56, 0), 1)));
+ Table.States (240).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 0), 1)));
Table.States (241).Action_List.Set_Capacity (2);
- Add_Action (Table.States (241), 34, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (241), 37, 144);
+ Add_Action (Table.States (241), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (241), 37, (58, 1), 144);
Table.States (241).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (241), 58, 264);
- Table.States (241).Kernel := To_Vector ((0 => (62, 8, 1, False)));
- Table.States (241).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 0)));
+ Table.States (241).Kernel := To_Vector ((0 => ((62, 0), 8, 1,
(2147483647, 0), 0)));
+ Table.States (241).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 0), 0)));
Table.States (242).Action_List.Set_Capacity (7);
- Add_Action (Table.States (242), (6, 8, 12, 16, 18, 23, 37), (61,
0), 7, package_spec_0'Access,
+ Add_Action (Table.States (242), (6, 8, 12, 16, 18, 23, 37), (61,
0), 7, package_spec_0'Access,
package_spec_0_check'Access);
- Table.States (242).Kernel := To_Vector ((0 => (61, 34, 0, False)));
- Table.States (242).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 61, 7)));
+ Table.States (242).Kernel := To_Vector ((0 => ((61, 0), 34, 0,
(61, 0), 7)));
+ Table.States (242).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (61, 0), 7)));
Table.States (243).Action_List.Set_Capacity (1);
- Add_Action (Table.States (243), 21, 265);
- Table.States (243).Kernel := To_Vector ((0 => (44, 38, 1, False)));
- Table.States (243).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 21, 265)));
+ Add_Action (Table.States (243), 21, (44, 1), 265);
+ Table.States (243).Kernel := To_Vector ((0 => ((44, 1), 38, 1,
(2147483647, 0), 0)));
+ Table.States (243).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 1), 21, 265)));
Table.States (244).Action_List.Set_Capacity (2);
- Add_Action (Table.States (244), 13, 266);
- Add_Action (Table.States (244), 31, 121);
- Table.States (244).Kernel := To_Vector (((45, 59, 4, False), (59,
59, 2, True)));
- Table.States (244).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 13, 266)));
+ Add_Action (Table.States (244), 13, (45, 0), 266);
+ Add_Action (Table.States (244), 31, (59, 1), 121);
+ Table.States (244).Kernel := To_Vector ((((45, 0), 59, 4,
(2147483647, 0), 0), ((59, 1), 59, 2,
+ (2147483647, 0), 0)));
+ Table.States (244).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (45, 0), 13, 266)));
Table.States (245).Action_List.Set_Capacity (1);
- Add_Action (Table.States (245), 14, 267);
- Table.States (245).Kernel := To_Vector ((0 => (42, 10, 5, False)));
- Table.States (245).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 14, 267)));
+ Add_Action (Table.States (245), 14, (42, 3), 267);
+ Table.States (245).Kernel := To_Vector ((0 => ((42, 3), 10, 5,
(2147483647, 0), 0)));
+ Table.States (245).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 3), 14, 267)));
Table.States (246).Action_List.Set_Capacity (2);
- Add_Action (Table.States (246), 14, 268);
- Add_Action (Table.States (246), 24, 269);
- Table.States (246).Kernel := To_Vector (((42, 37, 2, False), (42,
37, 4, False), (42, 37, 6, False)));
- Table.States (246).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 269)));
+ Add_Action (Table.States (246), 14, (42, 1), 268);
+ Add_Action (Table.States (246), 24, (42, 0), 269);
+ Table.States (246).Kernel := To_Vector ((((42, 0), 37, 2,
(2147483647, 0), 0), ((42, 1), 37, 4,
+ (2147483647, 0), 0), ((42, 2), 37, 6, (2147483647, 0), 0)));
+ Table.States (246).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 0), 24, 269)));
Table.States (247).Action_List.Set_Capacity (8);
- Add_Action (Table.States (247), (6, 8, 12, 16, 18, 23, 25, 37),
(67, 4), 2,
+ Add_Action (Table.States (247), (6, 8, 12, 16, 18, 23, 25, 37),
(67, 4), 2,
simple_declarative_item_4'Access, null);
- Table.States (247).Kernel := To_Vector ((0 => (67, 34, 0, False)));
- Table.States (247).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 67, 2)));
+ Table.States (247).Kernel := To_Vector ((0 => ((67, 4), 34, 0,
(67, 4), 2)));
+ Table.States (247).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (67, 4), 2)));
Table.States (248).Action_List.Set_Capacity (3);
- Add_Action (Table.States (248), 9, 270);
- Add_Action (Table.States (248), 13, 271);
- Add_Action (Table.States (248), 20, 272);
- Table.States (248).Kernel := To_Vector (((61, 58, 3, False), (62,
58, 4, False), (63, 58, 2, False)));
- Table.States (248).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 20, 272)));
+ Add_Action (Table.States (248), 9, (62, 0), 270);
+ Add_Action (Table.States (248), 13, (61, 0), 271);
+ Add_Action (Table.States (248), 20, (63, 0), 272);
+ Table.States (248).Kernel := To_Vector ((((61, 0), 58, 3,
(2147483647, 0), 0), ((62, 0), 58, 4,
+ (2147483647, 0), 0), ((63, 0), 58, 2, (2147483647, 0), 0)));
+ Table.States (248).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (63, 0), 20, 272)));
Table.States (249).Action_List.Set_Capacity (1);
- Add_Action (Table.States (249), 13, 273);
- Table.States (249).Kernel := To_Vector ((0 => (72, 37, 4, False)));
- Table.States (249).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 13, 273)));
+ Add_Action (Table.States (249), 13, (72, 0), 273);
+ Table.States (249).Kernel := To_Vector ((0 => ((72, 0), 37, 4,
(2147483647, 0), 0)));
+ Table.States (249).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (72, 0), 13, 273)));
Table.States (250).Action_List.Set_Capacity (1);
- Add_Action (Table.States (250), 37, 274);
- Table.States (250).Kernel := To_Vector ((0 => (67, 28, 3, False)));
- Table.States (250).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 274)));
+ Add_Action (Table.States (250), 37, (67, 1), 274);
+ Table.States (250).Kernel := To_Vector ((0 => ((67, 1), 28, 3,
(2147483647, 0), 0)));
+ Table.States (250).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (67, 1), 37, 274)));
Table.States (251).Action_List.Set_Capacity (10);
- Add_Action (Table.States (251), 10, 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_Action (Table.States (251), 10, (57, 0), 130);
+ Add_Action (Table.States (251), 11, (57, 1), 131);
+ Add_Action (Table.States (251), 14, (41, 0), 132);
+ Add_Action (Table.States (251), 19, (43, 0), 9);
+ Add_Action (Table.States (251), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (251), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (251), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (251), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (251), 37, (58, 1), 133);
+ Add_Action (Table.States (251), 38, (69, 0), 134);
Table.States (251).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (251), 41, 135);
Add_Goto (Table.States (251), 43, 136);
@@ -1829,30 +1866,29 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (251), 59, 141);
Add_Goto (Table.States (251), 69, 142);
Add_Goto (Table.States (251), 71, 143);
- Table.States (251).Kernel := To_Vector ((0 => (67, 29, 1, False)));
- Table.States (251).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 0)));
+ Table.States (251).Kernel := To_Vector ((0 => ((67, 0), 29, 1,
(2147483647, 0), 0)));
+ Table.States (251).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 0), 0)));
Table.States (252).Action_List.Set_Capacity (8);
- Add_Action (Table.States (252), (6, 8, 12, 16, 18, 23, 25, 37),
(52, 1), 2, null, null);
- Table.States (252).Kernel := To_Vector ((0 => (52, 51, 0, True)));
- Table.States (252).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 52, 2)));
- Table.States (252).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (252), (6, 8, 12, 16, 18, 23, 25, 37),
(52, 1), 2, null, null);
+ Table.States (252).Kernel := To_Vector ((0 => ((52, 1), 51, 0,
(52, 1), 2)));
+ Table.States (252).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (52, 1), 2)));
Table.States (253).Action_List.Set_Capacity (7);
- Add_Action (Table.States (253), (6, 8, 12, 16, 18, 23, 37), (42,
3), 8, attribute_declaration_3'Access,
+ Add_Action (Table.States (253), (6, 8, 12, 16, 18, 23, 37), (42,
3), 8, attribute_declaration_3'Access,
null);
- Table.States (253).Kernel := To_Vector ((0 => (42, 34, 0, False)));
- Table.States (253).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 42, 8)));
+ Table.States (253).Kernel := To_Vector ((0 => ((42, 3), 34, 0,
(42, 3), 8)));
+ Table.States (253).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (42, 3), 8)));
Table.States (254).Action_List.Set_Capacity (11);
- Add_Action (Table.States (254), 10, 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_Action (Table.States (254), 10, (57, 0), 32);
+ Add_Action (Table.States (254), 11, (57, 1), 33);
+ Add_Action (Table.States (254), 14, (41, 0), 34);
+ Add_Action (Table.States (254), 19, (43, 0), 9);
+ Add_Action (Table.States (254), 21, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (254), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (254), 30, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (254), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (254), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (254), 37, (58, 1), 36);
+ Add_Action (Table.States (254), 38, (69, 0), 37);
Table.States (254).Goto_List.Set_Capacity (10);
Add_Goto (Table.States (254), 41, 38);
Add_Goto (Table.States (254), 43, 39);
@@ -1864,45 +1900,47 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (254), 69, 45);
Add_Goto (Table.States (254), 70, 258);
Add_Goto (Table.States (254), 71, 47);
- Table.States (254).Kernel := To_Vector ((0 => (41, 14, 1, False)));
- Table.States (254).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 70, 0)));
+ Table.States (254).Kernel := To_Vector ((0 => ((41, 0), 14, 1,
(2147483647, 0), 0)));
+ Table.States (254).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (70, 0), 0)));
Table.States (255).Action_List.Set_Capacity (3);
- Add_Action (Table.States (255), (4, 27, 34), (57, 0), 2, null,
null);
- Table.States (255).Kernel := To_Vector ((0 => (57, 41, 0, False)));
- Table.States (255).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 57, 2)));
+ Add_Action (Table.States (255), (4, 27, 34), (57, 0), 2, null,
null);
+ Table.States (255).Kernel := To_Vector ((0 => ((57, 0), 41, 0,
(57, 0), 2)));
+ Table.States (255).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (57, 0), 2)));
Table.States (256).Action_List.Set_Capacity (3);
- Add_Action (Table.States (256), (4, 27, 34), (57, 1), 2, null,
null);
- Table.States (256).Kernel := To_Vector ((0 => (57, 41, 0, False)));
- Table.States (256).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 57, 2)));
+ Add_Action (Table.States (256), (4, 27, 34), (57, 1), 2, null,
null);
+ Table.States (256).Kernel := To_Vector ((0 => ((57, 1), 41, 0,
(57, 1), 2)));
+ Table.States (256).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (57, 1), 2)));
Table.States (257).Action_List.Set_Capacity (3);
- Add_Action (Table.States (257), (4, 27, 34), (71, 1), 2, null,
null);
- Table.States (257).Kernel := To_Vector ((0 => (71, 21, 0, False)));
- Table.States (257).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 2)));
+ Add_Action (Table.States (257), (4, 27, 34), (71, 1), 2, null,
null);
+ Table.States (257).Kernel := To_Vector ((0 => ((71, 1), 21, 0,
(71, 1), 2)));
+ Table.States (257).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 1), 2)));
Table.States (258).Action_List.Set_Capacity (2);
- Add_Action (Table.States (258), 21, 276);
- Add_Action (Table.States (258), 30, 67);
- Table.States (258).Kernel := To_Vector (((41, 70, 1, False), (70,
70, 1, True)));
- Table.States (258).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 21, 276)));
+ Add_Action (Table.States (258), 21, (41, 0), 276);
+ Add_Action (Table.States (258), 30, (70, 1), 67);
+ Table.States (258).Kernel := To_Vector ((((41, 0), 70, 1,
(2147483647, 0), 0), ((70, 1), 70, 1,
+ (2147483647, 0), 0)));
+ Table.States (258).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (41, 0), 21, 276)));
Table.States (259).Action_List.Set_Capacity (1);
- Add_Action (Table.States (259), 37, 277);
- Table.States (259).Kernel := To_Vector (((44, 33, 1, False), (44,
33, 4, False)));
- Table.States (259).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 277)));
+ Add_Action (Table.States (259), 37, (44, 0), 277);
+ Table.States (259).Kernel := To_Vector ((((44, 0), 33, 1,
(2147483647, 0), 0), ((44, 1), 33, 4,
+ (2147483647, 0), 0)));
+ Table.States (259).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 0), 37, 277)));
Table.States (260).Action_List.Set_Capacity (1);
- Add_Action (Table.States (260), 36, 278);
- Table.States (260).Kernel := To_Vector ((0 => (42, 4, 2, False)));
- Table.States (260).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 36, 278)));
+ Add_Action (Table.States (260), 36, (42, 2), 278);
+ Table.States (260).Kernel := To_Vector ((0 => ((42, 2), 4, 2,
(2147483647, 0), 0)));
+ Table.States (260).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 2), 36, 278)));
Table.States (261).Action_List.Set_Capacity (11);
- Add_Action (Table.States (261), 4, Reduce, (58, 0), 0, null, null);
- Add_Action (Table.States (261), 10, 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_Action (Table.States (261), 4, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (261), 10, (57, 0), 227);
+ Add_Action (Table.States (261), 11, (57, 1), 228);
+ Add_Action (Table.States (261), 14, (41, 0), 229);
+ Add_Action (Table.States (261), 19, (43, 0), 9);
+ Add_Action (Table.States (261), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (261), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (261), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (261), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (261), 37, (58, 1), 230);
+ Add_Action (Table.States (261), 38, (69, 0), 231);
Table.States (261).Goto_List.Set_Capacity (8);
Add_Goto (Table.States (261), 41, 232);
Add_Goto (Table.States (261), 43, 233);
@@ -1912,59 +1950,58 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (261), 59, 238);
Add_Goto (Table.States (261), 69, 239);
Add_Goto (Table.States (261), 71, 279);
- Table.States (261).Kernel := To_Vector ((0 => (56, 27, 0, True)));
- Table.States (261).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 71, 0)));
- Table.States (261).Minimal_Complete_Actions_Recursive := True;
+ Table.States (261).Kernel := To_Vector ((0 => ((56, 1), 27, 0,
(71, 0), 1)));
+ Table.States (261).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (71, 0), 1)));
Table.States (262).Action_List.Set_Capacity (7);
- Add_Action (Table.States (262), (6, 8, 12, 16, 18, 23, 37), (42,
1), 8, attribute_declaration_1'Access,
+ Add_Action (Table.States (262), (6, 8, 12, 16, 18, 23, 37), (42,
1), 8, attribute_declaration_1'Access,
null);
- Table.States (262).Kernel := To_Vector ((0 => (42, 34, 0, False)));
- Table.States (262).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 42, 8)));
+ Table.States (262).Kernel := To_Vector ((0 => ((42, 1), 34, 0,
(42, 1), 8)));
+ Table.States (262).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (42, 1), 8)));
Table.States (263).Action_List.Set_Capacity (1);
- Add_Action (Table.States (263), 37, 280);
- Table.States (263).Kernel := To_Vector ((0 => (59, 31, 1, True)));
- Table.States (263).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 37, 280)));
- Table.States (263).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (263), 37, (59, 1), 280);
+ Table.States (263).Kernel := To_Vector ((0 => ((59, 1), 31, 1,
(2147483647, 0), 0)));
+ Table.States (263).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (59, 1), 37, 280)));
Table.States (264).Action_List.Set_Capacity (1);
- Add_Action (Table.States (264), 34, 281);
- Table.States (264).Kernel := To_Vector ((0 => (62, 58, 1, False)));
- Table.States (264).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 281)));
+ Add_Action (Table.States (264), 34, (62, 0), 281);
+ Table.States (264).Kernel := To_Vector ((0 => ((62, 0), 58, 1,
(2147483647, 0), 0)));
+ Table.States (264).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (62, 0), 34, 281)));
Table.States (265).Action_List.Set_Capacity (2);
- Add_Action (Table.States (265), (27, 34), (44, 1), 6, null, null);
- Table.States (265).Kernel := To_Vector ((0 => (44, 21, 0, False)));
- Table.States (265).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 44, 6)));
+ Add_Action (Table.States (265), (27, 34), (44, 1), 6, null, null);
+ Table.States (265).Kernel := To_Vector ((0 => ((44, 1), 21, 0,
(44, 1), 6)));
+ Table.States (265).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (44, 1), 6)));
Table.States (266).Action_List.Set_Capacity (2);
- Add_Action (Table.States (266), 8, Reduce, (47, 0), 0, null, null);
- Add_Action (Table.States (266), 25, 147);
- Add_Conflict (Table.States (266), 25, (47, 0), 0, null, null);
+ Add_Action (Table.States (266), 8, Reduce, (47, 0), 0, null,
null);
+ Add_Action (Table.States (266), 25, (46, 0), 147);
+ Add_Conflict (Table.States (266), 25, (47, 0), 0, null, null);
Table.States (266).Goto_List.Set_Capacity (2);
Add_Goto (Table.States (266), 46, 148);
Add_Goto (Table.States (266), 47, 282);
- Table.States (266).Kernel := To_Vector ((0 => (45, 13, 3, False)));
- Table.States (266).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 47, 0)));
+ Table.States (266).Kernel := To_Vector ((0 => ((45, 0), 13, 3,
(2147483647, 0), 0)));
+ Table.States (266).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (47, 0), 0)));
Table.States (267).Action_List.Set_Capacity (1);
- Add_Action (Table.States (267), 38, 283);
- Table.States (267).Kernel := To_Vector ((0 => (42, 14, 4, False)));
- Table.States (267).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 38, 283)));
+ Add_Action (Table.States (267), 38, (42, 3), 283);
+ Table.States (267).Kernel := To_Vector ((0 => ((42, 3), 14, 4,
(2147483647, 0), 0)));
+ Table.States (267).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 3), 38, 283)));
Table.States (268).Action_List.Set_Capacity (3);
- Add_Action (Table.States (268), 17, 152);
- Add_Action (Table.States (268), 21, Reduce, (54, 0), 0, null,
null);
- Add_Action (Table.States (268), 38, 153);
+ Add_Action (Table.States (268), 17, (54, 2), 152);
+ Add_Action (Table.States (268), 21, Reduce, (54, 0), 0, null,
null);
+ Add_Action (Table.States (268), 38, (54, 1), 153);
Table.States (268).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (268), 54, 284);
- Table.States (268).Kernel := To_Vector (((42, 14, 3, False), (42,
14, 5, False)));
- Table.States (268).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 54, 0)));
+ Table.States (268).Kernel := To_Vector ((((42, 1), 14, 3,
(2147483647, 0), 0), ((42, 2), 14, 5,
+ (2147483647, 0), 0)));
+ Table.States (268).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (54, 0), 0)));
Table.States (269).Action_List.Set_Capacity (10);
- Add_Action (Table.States (269), 10, 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_Action (Table.States (269), 10, (57, 0), 130);
+ Add_Action (Table.States (269), 11, (57, 1), 131);
+ Add_Action (Table.States (269), 14, (41, 0), 132);
+ Add_Action (Table.States (269), 19, (43, 0), 9);
+ Add_Action (Table.States (269), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (269), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (269), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (269), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (269), 37, (58, 1), 133);
+ Add_Action (Table.States (269), 38, (69, 0), 134);
Table.States (269).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (269), 41, 135);
Add_Goto (Table.States (269), 43, 136);
@@ -1975,25 +2012,25 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (269), 59, 141);
Add_Goto (Table.States (269), 69, 142);
Add_Goto (Table.States (269), 71, 143);
- Table.States (269).Kernel := To_Vector ((0 => (42, 24, 1, False)));
- Table.States (269).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 0)));
+ Table.States (269).Kernel := To_Vector ((0 => ((42, 0), 24, 1,
(2147483647, 0), 0)));
+ Table.States (269).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 0), 0)));
Table.States (270).Action_List.Set_Capacity (3);
- Add_Action (Table.States (270), 13, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (270), 31, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (270), 37, 105);
+ Add_Action (Table.States (270), 13, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (270), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (270), 37, (58, 1), 105);
Table.States (270).Goto_List.Set_Capacity (2);
Add_Goto (Table.States (270), 58, 106);
Add_Goto (Table.States (270), 59, 286);
- Table.States (270).Kernel := To_Vector ((0 => (62, 9, 3, False)));
- Table.States (270).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 0)));
+ Table.States (270).Kernel := To_Vector ((0 => ((62, 0), 9, 3,
(2147483647, 0), 0)));
+ Table.States (270).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 0), 0)));
Table.States (271).Action_List.Set_Capacity (7);
- Add_Action (Table.States (271), 6, 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_Action (Table.States (271), 6, (45, 0), 85);
+ Add_Action (Table.States (271), 8, Reduce, (53, 0), 0, null,
null);
+ Add_Action (Table.States (271), 12, (42, 0), 86);
+ Add_Action (Table.States (271), 16, (67, 4), 87);
+ Add_Action (Table.States (271), 18, (61, 0), 88);
+ Add_Action (Table.States (271), 23, (72, 0), 89);
+ Add_Action (Table.States (271), 37, (67, 0), 90);
Table.States (271).Goto_List.Set_Capacity (11);
Add_Goto (Table.States (271), 42, 91);
Add_Goto (Table.States (271), 45, 92);
@@ -2006,111 +2043,117 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (271), 63, 99);
Add_Goto (Table.States (271), 67, 100);
Add_Goto (Table.States (271), 72, 101);
- Table.States (271).Kernel := To_Vector ((0 => (61, 13, 2, False)));
- Table.States (271).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 53, 0)));
+ Table.States (271).Kernel := To_Vector ((0 => ((61, 0), 13, 2,
(2147483647, 0), 0)));
+ Table.States (271).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (53, 0), 0)));
Table.States (272).Action_List.Set_Capacity (3);
- Add_Action (Table.States (272), 31, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (272), 34, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (272), 37, 158);
+ Add_Action (Table.States (272), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (272), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (272), 37, (58, 1), 158);
Table.States (272).Goto_List.Set_Capacity (2);
Add_Goto (Table.States (272), 58, 159);
Add_Goto (Table.States (272), 59, 288);
- Table.States (272).Kernel := To_Vector ((0 => (63, 20, 1, False)));
- Table.States (272).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 0)));
+ Table.States (272).Kernel := To_Vector ((0 => ((63, 0), 20, 1,
(2147483647, 0), 0)));
+ Table.States (272).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 0), 0)));
Table.States (273).Action_List.Set_Capacity (1);
- Add_Action (Table.States (273), 14, 161);
+ Add_Action (Table.States (273), 14, (41, 0), 161);
Table.States (273).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (273), 41, 289);
- Table.States (273).Kernel := To_Vector ((0 => (72, 13, 3, False)));
- Table.States (273).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 14, 161)));
+ Table.States (273).Kernel := To_Vector ((0 => ((72, 0), 13, 3,
(2147483647, 0), 0)));
+ Table.States (273).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (41, 0), 14, 161)));
Table.States (274).Action_List.Set_Capacity (1);
- Add_Action (Table.States (274), 29, 290);
- Table.States (274).Kernel := To_Vector ((0 => (67, 37, 2, False)));
- Table.States (274).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 29, 290)));
+ Add_Action (Table.States (274), 29, (67, 1), 290);
+ Table.States (274).Kernel := To_Vector ((0 => ((67, 1), 37, 2,
(2147483647, 0), 0)));
+ Table.States (274).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (67, 1), 29, 290)));
Table.States (275).Action_List.Set_Capacity (2);
- Add_Action (Table.States (275), 27, 170);
- Add_Action (Table.States (275), 34, 291);
- Table.States (275).Kernel := To_Vector (((56, 56, 1, True), (67,
56, 1, False)));
- Table.States (275).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 291)));
+ Add_Action (Table.States (275), 27, (56, 1), 170);
+ Add_Action (Table.States (275), 34, (67, 0), 291);
+ Table.States (275).Kernel := To_Vector ((((56, 1), 56, 1,
(2147483647, 0), 0), ((67, 0), 56, 1,
+ (2147483647, 0), 0)));
+ Table.States (275).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (67, 0), 34, 291)));
Table.States (276).Action_List.Set_Capacity (3);
- Add_Action (Table.States (276), (4, 27, 34), (41, 0), 3,
aggregate_g_0'Access, null);
- Table.States (276).Kernel := To_Vector ((0 => (41, 21, 0, False)));
- Table.States (276).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 41, 3)));
+ Add_Action (Table.States (276), (4, 27, 34), (41, 0), 3,
aggregate_g_0'Access, null);
+ Table.States (276).Kernel := To_Vector ((0 => ((41, 0), 21, 0,
(41, 0), 3)));
+ Table.States (276).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (41, 0), 3)));
Table.States (277).Action_List.Set_Capacity (4);
- Add_Action (Table.States (277), 4, Reduce, (44, 0), 3, null, null);
- Add_Action (Table.States (277), 14, 292);
- Add_Action (Table.States (277), 27, Reduce, (44, 0), 3, null,
null);
- Add_Action (Table.States (277), 34, Reduce, (44, 0), 3, null,
null);
- Table.States (277).Kernel := To_Vector (((44, 37, 0, False), (44,
37, 3, False)));
- Table.States (277).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 44, 3)));
+ Add_Action (Table.States (277), 4, Reduce, (44, 0), 3, null,
null);
+ Add_Action (Table.States (277), 14, (44, 1), 292);
+ Add_Action (Table.States (277), 27, Reduce, (44, 0), 3, null,
null);
+ Add_Action (Table.States (277), 34, Reduce, (44, 0), 3, null,
null);
+ Table.States (277).Kernel := To_Vector ((((44, 0), 37, 0, (44,
0), 3), ((44, 1), 37, 3, (2147483647,
+ 0), 0)));
+ Table.States (277).Minimal_Complete_Actions := To_Vector
(((Reduce, (44, 0), 3), (Shift, (44, 1), 14,
+ 292)));
Table.States (278).Action_List.Set_Capacity (1);
- Add_Action (Table.States (278), 34, 293);
- Table.States (278).Kernel := To_Vector ((0 => (42, 36, 1, False)));
- Table.States (278).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 293)));
+ Add_Action (Table.States (278), 34, (42, 2), 293);
+ Table.States (278).Kernel := To_Vector ((0 => ((42, 2), 36, 1,
(2147483647, 0), 0)));
+ Table.States (278).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 2), 34, 293)));
Table.States (279).Action_List.Set_Capacity (3);
- Add_Action (Table.States (279), (4, 27, 34), (56, 1), 3, null,
null);
- Table.States (279).Kernel := To_Vector ((0 => (56, 71, 0, True)));
- Table.States (279).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 3)));
- Table.States (279).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (279), (4, 27, 34), (56, 1), 3, null,
null);
+ Table.States (279).Kernel := To_Vector ((0 => ((56, 1), 71, 0,
(56, 1), 3)));
+ Table.States (279).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 1), 3)));
Table.States (280).Action_List.Set_Capacity (5);
- Add_Action (Table.States (280), (4, 27, 31, 33, 34), (59, 1), 3,
null, null);
- Table.States (280).Kernel := To_Vector ((0 => (59, 37, 0, True)));
- Table.States (280).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 59, 3)));
- Table.States (280).Minimal_Complete_Actions_Recursive := True;
+ Add_Action (Table.States (280), (4, 27, 31, 33, 34), (59, 1), 3,
null, null);
+ Table.States (280).Kernel := To_Vector ((0 => ((59, 1), 37, 0,
(59, 1), 3)));
+ Table.States (280).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (59, 1), 3)));
Table.States (281).Action_List.Set_Capacity (7);
- Add_Action (Table.States (281), (6, 8, 12, 16, 18, 23, 37), (62,
0), 9, package_extension_0'Access,
+ Add_Action (Table.States (281), (6, 8, 12, 16, 18, 23, 37), (62,
0), 9, package_extension_0'Access,
package_extension_0_check'Access);
- Table.States (281).Kernel := To_Vector ((0 => (62, 34, 0, False)));
- Table.States (281).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 62, 9)));
+ Table.States (281).Kernel := To_Vector ((0 => ((62, 0), 34, 0,
(62, 0), 9)));
+ Table.States (281).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (62, 0), 9)));
Table.States (282).Action_List.Set_Capacity (2);
- Add_Action (Table.States (282), 8, 294);
- Add_Action (Table.States (282), 25, 147);
+ Add_Action (Table.States (282), 8, (45, 0), 294);
+ Add_Action (Table.States (282), 25, (46, 0), 147);
Table.States (282).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (282), 46, 180);
- Table.States (282).Kernel := To_Vector (((45, 47, 3, False), (47,
47, 2, True)));
- Table.States (282).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 8, 294)));
+ Table.States (282).Kernel := To_Vector ((((45, 0), 47, 3,
(2147483647, 0), 0), ((47, 2), 47, 2,
+ (2147483647, 0), 0)));
+ Table.States (282).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (45, 0), 8, 294)));
Table.States (283).Action_List.Set_Capacity (1);
- Add_Action (Table.States (283), 21, 295);
- Table.States (283).Kernel := To_Vector ((0 => (42, 38, 3, False)));
- Table.States (283).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 21, 295)));
+ Add_Action (Table.States (283), 21, (42, 3), 295);
+ Table.States (283).Kernel := To_Vector ((0 => ((42, 3), 38, 3,
(2147483647, 0), 0)));
+ Table.States (283).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 3), 21, 295)));
Table.States (284).Action_List.Set_Capacity (1);
- Add_Action (Table.States (284), 21, 296);
- Table.States (284).Kernel := To_Vector (((42, 54, 3, False), (42,
54, 5, False)));
- Table.States (284).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 21, 296)));
+ Add_Action (Table.States (284), 21, (42, 1), 296);
+ Table.States (284).Kernel := To_Vector ((((42, 1), 54, 3,
(2147483647, 0), 0), ((42, 2), 54, 5,
+ (2147483647, 0), 0)));
+ Table.States (284).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 1), 21, 296)));
Table.States (285).Action_List.Set_Capacity (2);
- Add_Action (Table.States (285), 27, 170);
- Add_Action (Table.States (285), 34, 297);
- Table.States (285).Kernel := To_Vector (((42, 56, 1, False), (56,
56, 1, True)));
- Table.States (285).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 297)));
+ Add_Action (Table.States (285), 27, (56, 1), 170);
+ Add_Action (Table.States (285), 34, (42, 0), 297);
+ Table.States (285).Kernel := To_Vector ((((42, 0), 56, 1,
(2147483647, 0), 0), ((56, 1), 56, 1,
+ (2147483647, 0), 0)));
+ Table.States (285).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 0), 34, 297)));
Table.States (286).Action_List.Set_Capacity (2);
- Add_Action (Table.States (286), 13, 298);
- Add_Action (Table.States (286), 31, 121);
- Table.States (286).Kernel := To_Vector (((59, 59, 2, True), (62,
59, 3, False)));
- Table.States (286).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 13, 298)));
+ Add_Action (Table.States (286), 13, (62, 0), 298);
+ Add_Action (Table.States (286), 31, (59, 1), 121);
+ Table.States (286).Kernel := To_Vector ((((59, 1), 59, 2,
(2147483647, 0), 0), ((62, 0), 59, 3,
+ (2147483647, 0), 0)));
+ Table.States (286).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (62, 0), 13, 298)));
Table.States (287).Action_List.Set_Capacity (1);
- Add_Action (Table.States (287), 8, 299);
- Table.States (287).Kernel := To_Vector ((0 => (61, 53, 2, False)));
- Table.States (287).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 8, 299)));
+ Add_Action (Table.States (287), 8, (61, 0), 299);
+ Table.States (287).Kernel := To_Vector ((0 => ((61, 0), 53, 2,
(2147483647, 0), 0)));
+ Table.States (287).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (61, 0), 8, 299)));
Table.States (288).Action_List.Set_Capacity (2);
- Add_Action (Table.States (288), 31, 186);
- Add_Action (Table.States (288), 34, 300);
- Table.States (288).Kernel := To_Vector (((59, 59, 2, True), (63,
59, 1, False)));
- Table.States (288).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 300)));
+ Add_Action (Table.States (288), 31, (59, 1), 186);
+ Add_Action (Table.States (288), 34, (63, 0), 300);
+ Table.States (288).Kernel := To_Vector ((((59, 1), 59, 2,
(2147483647, 0), 0), ((63, 0), 59, 1,
+ (2147483647, 0), 0)));
+ Table.States (288).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (63, 0), 34, 300)));
Table.States (289).Action_List.Set_Capacity (1);
- Add_Action (Table.States (289), 34, 301);
- Table.States (289).Kernel := To_Vector ((0 => (72, 41, 1, False)));
- Table.States (289).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 301)));
+ Add_Action (Table.States (289), 34, (72, 0), 301);
+ Table.States (289).Kernel := To_Vector ((0 => ((72, 0), 41, 1,
(2147483647, 0), 0)));
+ Table.States (289).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (72, 0), 34, 301)));
Table.States (290).Action_List.Set_Capacity (10);
- Add_Action (Table.States (290), 10, 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_Action (Table.States (290), 10, (57, 0), 130);
+ Add_Action (Table.States (290), 11, (57, 1), 131);
+ Add_Action (Table.States (290), 14, (41, 0), 132);
+ Add_Action (Table.States (290), 19, (43, 0), 9);
+ Add_Action (Table.States (290), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (290), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (290), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (290), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (290), 37, (58, 1), 133);
+ Add_Action (Table.States (290), 38, (69, 0), 134);
Table.States (290).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (290), 41, 135);
Add_Goto (Table.States (290), 43, 136);
@@ -2121,47 +2164,48 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (290), 59, 141);
Add_Goto (Table.States (290), 69, 142);
Add_Goto (Table.States (290), 71, 143);
- Table.States (290).Kernel := To_Vector ((0 => (67, 29, 1, False)));
- Table.States (290).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 0)));
+ Table.States (290).Kernel := To_Vector ((0 => ((67, 1), 29, 1,
(2147483647, 0), 0)));
+ Table.States (290).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 0), 0)));
Table.States (291).Action_List.Set_Capacity (8);
- Add_Action (Table.States (291), (6, 8, 12, 16, 18, 23, 25, 37),
(67, 0), 4,
+ Add_Action (Table.States (291), (6, 8, 12, 16, 18, 23, 25, 37),
(67, 0), 4,
simple_declarative_item_0'Access, null);
- Table.States (291).Kernel := To_Vector ((0 => (67, 34, 0, False)));
- Table.States (291).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 67, 4)));
+ Table.States (291).Kernel := To_Vector ((0 => ((67, 0), 34, 0,
(67, 0), 4)));
+ Table.States (291).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (67, 0), 4)));
Table.States (292).Action_List.Set_Capacity (1);
- Add_Action (Table.States (292), 38, 303);
- Table.States (292).Kernel := To_Vector ((0 => (44, 14, 2, False)));
- Table.States (292).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 38, 303)));
+ Add_Action (Table.States (292), 38, (44, 1), 303);
+ Table.States (292).Kernel := To_Vector ((0 => ((44, 1), 14, 2,
(2147483647, 0), 0)));
+ Table.States (292).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 1), 38, 303)));
Table.States (293).Action_List.Set_Capacity (7);
- Add_Action (Table.States (293), (6, 8, 12, 16, 18, 23, 37), (42,
2), 10, attribute_declaration_2'Access,
+ Add_Action (Table.States (293), (6, 8, 12, 16, 18, 23, 37), (42,
2), 10, attribute_declaration_2'Access,
null);
- Table.States (293).Kernel := To_Vector ((0 => (42, 34, 0, False)));
- Table.States (293).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 42, 10)));
+ Table.States (293).Kernel := To_Vector ((0 => ((42, 2), 34, 0,
(42, 2), 10)));
+ Table.States (293).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (42, 2), 10)));
Table.States (294).Action_List.Set_Capacity (1);
- Add_Action (Table.States (294), 6, 304);
- Table.States (294).Kernel := To_Vector ((0 => (45, 8, 2, False)));
- Table.States (294).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 6, 304)));
+ Add_Action (Table.States (294), 6, (45, 0), 304);
+ Table.States (294).Kernel := To_Vector ((0 => ((45, 0), 8, 2,
(2147483647, 0), 0)));
+ Table.States (294).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (45, 0), 6, 304)));
Table.States (295).Action_List.Set_Capacity (1);
- Add_Action (Table.States (295), 24, 305);
- Table.States (295).Kernel := To_Vector ((0 => (42, 21, 2, False)));
- Table.States (295).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 305)));
+ Add_Action (Table.States (295), 24, (42, 3), 305);
+ Table.States (295).Kernel := To_Vector ((0 => ((42, 3), 21, 2,
(2147483647, 0), 0)));
+ Table.States (295).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 3), 24, 305)));
Table.States (296).Action_List.Set_Capacity (1);
- Add_Action (Table.States (296), 24, 306);
- Table.States (296).Kernel := To_Vector (((42, 21, 2, False), (42,
21, 4, False)));
- Table.States (296).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 24, 306)));
+ Add_Action (Table.States (296), 24, (42, 1), 306);
+ Table.States (296).Kernel := To_Vector ((((42, 1), 21, 2,
(2147483647, 0), 0), ((42, 2), 21, 4,
+ (2147483647, 0), 0)));
+ Table.States (296).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 1), 24, 306)));
Table.States (297).Action_List.Set_Capacity (8);
- Add_Action (Table.States (297), (6, 8, 12, 16, 18, 23, 25, 37),
(42, 0), 5, attribute_declaration_0'Access,
- null);
- Table.States (297).Kernel := To_Vector ((0 => (42, 34, 0, False)));
- Table.States (297).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 42, 5)));
+ Add_Action (Table.States (297), (6, 8, 12, 16, 18, 23, 25, 37),
(42, 0), 5,
+ attribute_declaration_0'Access, null);
+ Table.States (297).Kernel := To_Vector ((0 => ((42, 0), 34, 0,
(42, 0), 5)));
+ Table.States (297).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (42, 0), 5)));
Table.States (298).Action_List.Set_Capacity (7);
- Add_Action (Table.States (298), 6, 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_Action (Table.States (298), 6, (45, 0), 85);
+ Add_Action (Table.States (298), 8, Reduce, (53, 0), 0, null,
null);
+ Add_Action (Table.States (298), 12, (42, 0), 86);
+ Add_Action (Table.States (298), 16, (67, 4), 87);
+ Add_Action (Table.States (298), 18, (61, 0), 88);
+ Add_Action (Table.States (298), 23, (72, 0), 89);
+ Add_Action (Table.States (298), 37, (67, 0), 90);
Table.States (298).Goto_List.Set_Capacity (11);
Add_Goto (Table.States (298), 42, 91);
Add_Goto (Table.States (298), 45, 92);
@@ -2174,49 +2218,50 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (298), 63, 99);
Add_Goto (Table.States (298), 67, 100);
Add_Goto (Table.States (298), 72, 101);
- Table.States (298).Kernel := To_Vector ((0 => (62, 13, 2, False)));
- Table.States (298).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 53, 0)));
+ Table.States (298).Kernel := To_Vector ((0 => ((62, 0), 13, 2,
(2147483647, 0), 0)));
+ Table.States (298).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (53, 0), 0)));
Table.States (299).Action_List.Set_Capacity (2);
- Add_Action (Table.States (299), 34, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (299), 37, 144);
+ Add_Action (Table.States (299), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (299), 37, (58, 1), 144);
Table.States (299).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (299), 58, 308);
- Table.States (299).Kernel := To_Vector ((0 => (61, 8, 1, False)));
- Table.States (299).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 0)));
+ Table.States (299).Kernel := To_Vector ((0 => ((61, 0), 8, 1,
(2147483647, 0), 0)));
+ Table.States (299).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 0), 0)));
Table.States (300).Action_List.Set_Capacity (8);
- Add_Action (Table.States (300), (6, 8, 12, 16, 18, 23, 25, 37),
(63, 0), 5, package_renaming_0'Access,
+ Add_Action (Table.States (300), (6, 8, 12, 16, 18, 23, 25, 37),
(63, 0), 5, package_renaming_0'Access,
null);
- Table.States (300).Kernel := To_Vector ((0 => (63, 34, 0, False)));
- Table.States (300).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 63, 5)));
+ Table.States (300).Kernel := To_Vector ((0 => ((63, 0), 34, 0,
(63, 0), 5)));
+ Table.States (300).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (63, 0), 5)));
Table.States (301).Action_List.Set_Capacity (8);
- Add_Action (Table.States (301), (6, 8, 12, 16, 18, 23, 25, 37),
(72, 0), 5,
+ Add_Action (Table.States (301), (6, 8, 12, 16, 18, 23, 25, 37),
(72, 0), 5,
typed_string_declaration_0'Access, null);
- Table.States (301).Kernel := To_Vector ((0 => (72, 34, 0, False)));
- Table.States (301).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 72, 5)));
+ Table.States (301).Kernel := To_Vector ((0 => ((72, 0), 34, 0,
(72, 0), 5)));
+ Table.States (301).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (72, 0), 5)));
Table.States (302).Action_List.Set_Capacity (2);
- Add_Action (Table.States (302), 27, 170);
- Add_Action (Table.States (302), 34, 309);
- Table.States (302).Kernel := To_Vector (((56, 56, 1, True), (67,
56, 1, False)));
- Table.States (302).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 309)));
+ Add_Action (Table.States (302), 27, (56, 1), 170);
+ Add_Action (Table.States (302), 34, (67, 1), 309);
+ Table.States (302).Kernel := To_Vector ((((56, 1), 56, 1,
(2147483647, 0), 0), ((67, 1), 56, 1,
+ (2147483647, 0), 0)));
+ Table.States (302).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (67, 1), 34, 309)));
Table.States (303).Action_List.Set_Capacity (1);
- Add_Action (Table.States (303), 21, 310);
- Table.States (303).Kernel := To_Vector ((0 => (44, 38, 1, False)));
- Table.States (303).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 21, 310)));
+ Add_Action (Table.States (303), 21, (44, 1), 310);
+ Table.States (303).Kernel := To_Vector ((0 => ((44, 1), 38, 1,
(2147483647, 0), 0)));
+ Table.States (303).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (44, 1), 21, 310)));
Table.States (304).Action_List.Set_Capacity (1);
- Add_Action (Table.States (304), 34, 311);
- Table.States (304).Kernel := To_Vector ((0 => (45, 6, 1, False)));
- Table.States (304).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 311)));
+ Add_Action (Table.States (304), 34, (45, 0), 311);
+ Table.States (304).Kernel := To_Vector ((0 => ((45, 0), 6, 1,
(2147483647, 0), 0)));
+ Table.States (304).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (45, 0), 34, 311)));
Table.States (305).Action_List.Set_Capacity (10);
- Add_Action (Table.States (305), 10, 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_Action (Table.States (305), 10, (57, 0), 130);
+ Add_Action (Table.States (305), 11, (57, 1), 131);
+ Add_Action (Table.States (305), 14, (41, 0), 132);
+ Add_Action (Table.States (305), 19, (43, 0), 9);
+ Add_Action (Table.States (305), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (305), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (305), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (305), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (305), 37, (58, 1), 133);
+ Add_Action (Table.States (305), 38, (69, 0), 134);
Table.States (305).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (305), 41, 135);
Add_Goto (Table.States (305), 43, 136);
@@ -2227,20 +2272,20 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (305), 59, 141);
Add_Goto (Table.States (305), 69, 142);
Add_Goto (Table.States (305), 71, 143);
- Table.States (305).Kernel := To_Vector ((0 => (42, 24, 1, False)));
- Table.States (305).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 0)));
+ Table.States (305).Kernel := To_Vector ((0 => ((42, 3), 24, 1,
(2147483647, 0), 0)));
+ Table.States (305).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 0), 0)));
Table.States (306).Action_List.Set_Capacity (11);
- Add_Action (Table.States (306), 4, Reduce, (58, 0), 0, null, null);
- Add_Action (Table.States (306), 10, 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_Action (Table.States (306), 4, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (306), 10, (57, 0), 227);
+ Add_Action (Table.States (306), 11, (57, 1), 228);
+ Add_Action (Table.States (306), 14, (41, 0), 229);
+ Add_Action (Table.States (306), 19, (43, 0), 9);
+ Add_Action (Table.States (306), 27, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (306), 31, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (306), 33, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (306), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (306), 37, (58, 1), 230);
+ Add_Action (Table.States (306), 38, (69, 0), 231);
Table.States (306).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (306), 41, 232);
Add_Goto (Table.States (306), 43, 233);
@@ -2251,90 +2296,98 @@ package body Gpr_Process_Main is
Add_Goto (Table.States (306), 59, 238);
Add_Goto (Table.States (306), 69, 239);
Add_Goto (Table.States (306), 71, 240);
- Table.States (306).Kernel := To_Vector (((42, 24, 1, False), (42,
24, 3, False)));
- Table.States (306).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 56, 0)));
+ Table.States (306).Kernel := To_Vector ((((42, 1), 24, 1,
(2147483647, 0), 0), ((42, 2), 24, 3,
+ (2147483647, 0), 0)));
+ Table.States (306).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (56, 0), 0)));
Table.States (307).Action_List.Set_Capacity (1);
- Add_Action (Table.States (307), 8, 314);
- Table.States (307).Kernel := To_Vector ((0 => (62, 53, 2, False)));
- Table.States (307).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 8, 314)));
+ Add_Action (Table.States (307), 8, (62, 0), 314);
+ Table.States (307).Kernel := To_Vector ((0 => ((62, 0), 53, 2,
(2147483647, 0), 0)));
+ Table.States (307).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (62, 0), 8, 314)));
Table.States (308).Action_List.Set_Capacity (1);
- Add_Action (Table.States (308), 34, 315);
- Table.States (308).Kernel := To_Vector ((0 => (61, 58, 1, False)));
- Table.States (308).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 315)));
+ Add_Action (Table.States (308), 34, (61, 0), 315);
+ Table.States (308).Kernel := To_Vector ((0 => ((61, 0), 58, 1,
(2147483647, 0), 0)));
+ Table.States (308).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (61, 0), 34, 315)));
Table.States (309).Action_List.Set_Capacity (8);
- Add_Action (Table.States (309), (6, 8, 12, 16, 18, 23, 25, 37),
(67, 1), 6,
+ Add_Action (Table.States (309), (6, 8, 12, 16, 18, 23, 25, 37),
(67, 1), 6,
simple_declarative_item_1'Access, null);
- Table.States (309).Kernel := To_Vector ((0 => (67, 34, 0, False)));
- Table.States (309).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 67, 6)));
+ Table.States (309).Kernel := To_Vector ((0 => ((67, 1), 34, 0,
(67, 1), 6)));
+ Table.States (309).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (67, 1), 6)));
Table.States (310).Action_List.Set_Capacity (3);
- Add_Action (Table.States (310), (4, 27, 34), (44, 1), 6, null,
null);
- Table.States (310).Kernel := To_Vector ((0 => (44, 21, 0, False)));
- Table.States (310).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 44, 6)));
+ Add_Action (Table.States (310), (4, 27, 34), (44, 1), 6, null,
null);
+ Table.States (310).Kernel := To_Vector ((0 => ((44, 1), 21, 0,
(44, 1), 6)));
+ Table.States (310).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (44, 1), 6)));
Table.States (311).Action_List.Set_Capacity (8);
- Add_Action (Table.States (311), (6, 8, 12, 16, 18, 23, 25, 37),
(45, 0), 7, case_statement_0'Access, null);
- Table.States (311).Kernel := To_Vector ((0 => (45, 34, 0, False)));
- Table.States (311).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 45, 7)));
+ Add_Action (Table.States (311), (6, 8, 12, 16, 18, 23, 25, 37),
(45, 0), 7, case_statement_0'Access,
+ null);
+ Table.States (311).Kernel := To_Vector ((0 => ((45, 0), 34, 0,
(45, 0), 7)));
+ Table.States (311).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (45, 0), 7)));
Table.States (312).Action_List.Set_Capacity (2);
- Add_Action (Table.States (312), 27, 170);
- Add_Action (Table.States (312), 34, 316);
- Table.States (312).Kernel := To_Vector (((42, 56, 1, False), (56,
56, 1, True)));
- Table.States (312).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 316)));
+ Add_Action (Table.States (312), 27, (56, 1), 170);
+ Add_Action (Table.States (312), 34, (42, 3), 316);
+ Table.States (312).Kernel := To_Vector ((((42, 3), 56, 1,
(2147483647, 0), 0), ((56, 1), 56, 1,
+ (2147483647, 0), 0)));
+ Table.States (312).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 3), 34, 316)));
+ end Subr_3;
+ procedure Subr_4
+ is begin
Table.States (313).Action_List.Set_Capacity (3);
- Add_Action (Table.States (313), 4, 317);
- Add_Action (Table.States (313), 27, 261);
- Add_Action (Table.States (313), 34, 318);
- Table.States (313).Kernel := To_Vector (((42, 56, 1, False), (42,
56, 3, False), (56, 56, 1, True)));
- Table.States (313).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 318)));
+ Add_Action (Table.States (313), 4, (42, 2), 317);
+ Add_Action (Table.States (313), 27, (56, 1), 261);
+ Add_Action (Table.States (313), 34, (42, 1), 318);
+ Table.States (313).Kernel := To_Vector ((((42, 1), 56, 1,
(2147483647, 0), 0), ((42, 2), 56, 3,
+ (2147483647, 0), 0), ((56, 1), 56, 1, (2147483647, 0), 0)));
+ Table.States (313).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 1), 34, 318)));
Table.States (314).Action_List.Set_Capacity (2);
- Add_Action (Table.States (314), 34, Reduce, (58, 0), 0, null,
null);
- Add_Action (Table.States (314), 37, 144);
+ Add_Action (Table.States (314), 34, Reduce, (58, 0), 0, null,
null);
+ Add_Action (Table.States (314), 37, (58, 1), 144);
Table.States (314).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (314), 58, 319);
- Table.States (314).Kernel := To_Vector ((0 => (62, 8, 1, False)));
- Table.States (314).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 58, 0)));
+ Table.States (314).Kernel := To_Vector ((0 => ((62, 0), 8, 1,
(2147483647, 0), 0)));
+ Table.States (314).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (58, 0), 0)));
Table.States (315).Action_List.Set_Capacity (8);
- Add_Action (Table.States (315), (6, 8, 12, 16, 18, 23, 25, 37),
(61, 0), 7, package_spec_0'Access,
+ Add_Action (Table.States (315), (6, 8, 12, 16, 18, 23, 25, 37),
(61, 0), 7, package_spec_0'Access,
package_spec_0_check'Access);
- Table.States (315).Kernel := To_Vector ((0 => (61, 34, 0, False)));
- Table.States (315).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 61, 7)));
+ Table.States (315).Kernel := To_Vector ((0 => ((61, 0), 34, 0,
(61, 0), 7)));
+ Table.States (315).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (61, 0), 7)));
Table.States (316).Action_List.Set_Capacity (8);
- Add_Action (Table.States (316), (6, 8, 12, 16, 18, 23, 25, 37),
(42, 3), 8, attribute_declaration_3'Access,
- null);
- Table.States (316).Kernel := To_Vector ((0 => (42, 34, 0, False)));
- Table.States (316).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 42, 8)));
+ Add_Action (Table.States (316), (6, 8, 12, 16, 18, 23, 25, 37),
(42, 3), 8,
+ attribute_declaration_3'Access, null);
+ Table.States (316).Kernel := To_Vector ((0 => ((42, 3), 34, 0,
(42, 3), 8)));
+ Table.States (316).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (42, 3), 8)));
Table.States (317).Action_List.Set_Capacity (1);
- Add_Action (Table.States (317), 36, 320);
- Table.States (317).Kernel := To_Vector ((0 => (42, 4, 2, False)));
- Table.States (317).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 36, 320)));
+ Add_Action (Table.States (317), 36, (42, 2), 320);
+ Table.States (317).Kernel := To_Vector ((0 => ((42, 2), 4, 2,
(2147483647, 0), 0)));
+ Table.States (317).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 2), 36, 320)));
Table.States (318).Action_List.Set_Capacity (8);
- Add_Action (Table.States (318), (6, 8, 12, 16, 18, 23, 25, 37),
(42, 1), 8, attribute_declaration_1'Access,
- null);
- Table.States (318).Kernel := To_Vector ((0 => (42, 34, 0, False)));
- Table.States (318).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 42, 8)));
+ Add_Action (Table.States (318), (6, 8, 12, 16, 18, 23, 25, 37),
(42, 1), 8,
+ attribute_declaration_1'Access, null);
+ Table.States (318).Kernel := To_Vector ((0 => ((42, 1), 34, 0,
(42, 1), 8)));
+ Table.States (318).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (42, 1), 8)));
Table.States (319).Action_List.Set_Capacity (1);
- Add_Action (Table.States (319), 34, 321);
- Table.States (319).Kernel := To_Vector ((0 => (62, 58, 1, False)));
- Table.States (319).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 321)));
+ Add_Action (Table.States (319), 34, (62, 0), 321);
+ Table.States (319).Kernel := To_Vector ((0 => ((62, 0), 58, 1,
(2147483647, 0), 0)));
+ Table.States (319).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (62, 0), 34, 321)));
Table.States (320).Action_List.Set_Capacity (1);
- Add_Action (Table.States (320), 34, 322);
- Table.States (320).Kernel := To_Vector ((0 => (42, 36, 1, False)));
- Table.States (320).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, 34, 322)));
+ Add_Action (Table.States (320), 34, (42, 2), 322);
+ Table.States (320).Kernel := To_Vector ((0 => ((42, 2), 36, 1,
(2147483647, 0), 0)));
+ Table.States (320).Minimal_Complete_Actions := To_Vector ((0 =>
(Shift, (42, 2), 34, 322)));
Table.States (321).Action_List.Set_Capacity (8);
- Add_Action (Table.States (321), (6, 8, 12, 16, 18, 23, 25, 37),
(62, 0), 9, package_extension_0'Access,
+ Add_Action (Table.States (321), (6, 8, 12, 16, 18, 23, 25, 37),
(62, 0), 9, package_extension_0'Access,
package_extension_0_check'Access);
- Table.States (321).Kernel := To_Vector ((0 => (62, 34, 0, False)));
- Table.States (321).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 62, 9)));
+ Table.States (321).Kernel := To_Vector ((0 => ((62, 0), 34, 0,
(62, 0), 9)));
+ Table.States (321).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (62, 0), 9)));
Table.States (322).Action_List.Set_Capacity (8);
- Add_Action (Table.States (322), (6, 8, 12, 16, 18, 23, 25, 37),
(42, 2), 10,
+ Add_Action (Table.States (322), (6, 8, 12, 16, 18, 23, 25, 37),
(42, 2), 10,
attribute_declaration_2'Access, null);
- Table.States (322).Kernel := To_Vector ((0 => (42, 34, 0, False)));
- Table.States (322).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, 42, 10)));
- end Subr_3;
+ Table.States (322).Kernel := To_Vector ((0 => ((42, 2), 34, 0,
(42, 2), 10)));
+ Table.States (322).Minimal_Complete_Actions := To_Vector ((0 =>
(Reduce, (42, 2), 10)));
+ end Subr_4;
begin
Subr_1;
Subr_2;
Subr_3;
- Table.Error_Action := new Parse_Action_Node'((Verb => Error), null);
+ Subr_4;
+ Table.Error_Action := new Parse_Action_Node'((Verb => Error, others
=> <>), null);
end;
WisiToken.Parse.LR.Parser.New_Parser
diff --git a/packages/ada-mode/gpr_process_main.ads
b/packages/ada-mode/gpr_process_main.ads
index 6ad2193..4632a89 100644
--- a/packages/ada-mode/gpr_process_main.ads
+++ b/packages/ada-mode/gpr_process_main.ads
@@ -2,7 +2,7 @@
-- command line: wisitoken-bnf-generate.exe --generate LR1 Ada_Emacs re2c
PROCESS gpr.wy
--
--- Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2013 - 2020 Free Software Foundation, Inc.
-- This program is free software; you can redistribute it and/or
-- modify it under the terms of the GNU General Public License as
diff --git a/packages/ada-mode/gpr_query-process_refresh.adb.gp
b/packages/ada-mode/gpr_query-process_refresh.adb.gp
deleted file mode 100644
index 9692199..0000000
--- a/packages/ada-mode/gpr_query-process_refresh.adb.gp
+++ /dev/null
@@ -1,32 +0,0 @@
--- Abstract :
---
--- body compatible with GNAT GPL 2016 or later via gnatprep
---
--- Copyright (C) 2017, 2018 Free Software Foundation, Inc.
---
--- This library is free software; you can redistribute it and/or modify it
--- under terms of the GNU General Public License as published by the Free
--- Software Foundation; either version 3, or (at your option) any later
--- version. This library is distributed in the hope that it will be useful,
--- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
--- TABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-pragma License (GPL);
-separate (Gpr_Query)
-procedure Process_Refresh (Args : GNATCOLL.Arg_Lists.Arg_List)
-is
- pragma Unreferenced (Args);
-begin
- Parse_All_LI_Files
- (Self => Xref,
-#if HAVE_GNATCOLL_XREF="no"
- Tree => Tree,
-#end if;
- Project => Tree.Root_Project,
- Parse_Runtime_Files => False,
- Show_Progress => Progress_Reporter,
- ALI_Encoding => ALI_Encoding.all,
- From_DB_Name => Nightly_DB_Name.all,
- To_DB_Name => DB_Name.all,
- Force_Refresh => Force_Refresh);
-end Process_Refresh;
diff --git a/packages/ada-mode/gpr_query.adb b/packages/ada-mode/gpr_query.adb
index 344f4ff..d56d2e4 100644
--- a/packages/ada-mode/gpr_query.adb
+++ b/packages/ada-mode/gpr_query.adb
@@ -43,9 +43,12 @@ with GNATCOLL.VFS;
with GNATCOLL.VFS_Utils;
with GNATCOLL.Xref;
procedure Gpr_Query is
+ use all type GNATCOLL.VFS.File_Array;
use GNATCOLL;
- Version : constant String := "2";
+ Version : constant String := "3";
+ -- Changes once per release when the API (commands and responses)
+ -- changes; must match gpr-query.el gpr-query-protocol-version
Me : constant GNATCOLL.Traces.Trace_Handle := GNATCOLL.Traces.Create
("gpr_query");
@@ -55,6 +58,9 @@ procedure Gpr_Query is
function "+" (Item : in Ada.Strings.Unbounded.Unbounded_String) return
String
renames Ada.Strings.Unbounded.To_String;
+ function "+" (Item : in String) return
Ada.Strings.Unbounded.Unbounded_String
+ renames Ada.Strings.Unbounded.To_Unbounded_String;
+
function "+" (Item : in GNATCOLL.VFS.Filesystem_String) return String
is begin
return String (Item);
@@ -65,7 +71,7 @@ procedure Gpr_Query is
-- Raise Invalid_Command when the command is invalid.
function Get_Entity (Arg : String) return GNATCOLL.Xref.Entity_Information;
- -- Return the entity matching the "name:file:line:column" argument
+ -- Return the entity matching the "name:file:line[:column]" argument
type My_Xref_Database is new GNATCOLL.Xref.Xref_Database with null record;
-- Derived so we can override Image to output full paths
@@ -78,9 +84,11 @@ procedure Gpr_Query is
function Image (Self : GNATCOLL.Xref.Entity_Information) return String;
-- Return a display version of the argument
- Xref : aliased My_Xref_Database;
- Env : GNATCOLL.Projects.Project_Environment_Access;
- Tree : aliased GNATCOLL.Projects.Project_Tree;
+ Xref : aliased My_Xref_Database;
+ Env : GNATCOLL.Projects.Project_Environment_Access;
+ Tree : aliased GNATCOLL.Projects.Project_Tree;
+ Source_Search_Path : GNATCOLL.VFS.File_Array_Access;
+
Previous_Progress : Natural := 0;
Progress_Reporter : access procedure (Current, Total : Integer) := null;
@@ -171,6 +179,7 @@ procedure Gpr_Query is
procedure Process_DB_Name (Args : GNATCOLL.Arg_Lists.Arg_List);
-- Queries; alphabetical
+ procedure Process_Complete (Args : GNATCOLL.Arg_Lists.Arg_List);
procedure Process_Overridden is new Process_Command_Single
(GNATCOLL.Xref.Overrides);
procedure Process_Overriding is new Process_Command_Multiple
(GNATCOLL.Xref.Overridden_By);
procedure Process_Parent_Types is new Process_Command_Multiple
(GNATCOLL.Xref.Parent_Types);
@@ -205,18 +214,23 @@ procedure Gpr_Query is
-- queries
+ (new String'("complete"),
+ new String'("pattern"),
+ new String'("Names that complete the pattern."),
+ Process_Complete'Access),
+
(new String'("overridden"),
- new String'("name:file:line:column {full_file_names |
short_file_names}"),
+ new String'("name:file:line[:column] {full_file_names |
short_file_names}"),
new String'("The entity that is overridden by the parameter"),
Process_Overridden'Access),
(new String'("overriding"),
- new String'("name:file:line:column {full_file_names |
short_file_names}"),
+ new String'("name:file:line[:column] {full_file_names |
short_file_names}"),
new String'("The entities that override the parameter"),
Process_Overriding'Access),
(new String'("parent_types"),
- new String'("name:file:line:column {full_file_names |
short_file_names}"),
+ new String'("name:file:line[:column] {full_file_names |
short_file_names}"),
new String'("The parent types of the entity."),
Process_Parent_Types'Access),
@@ -226,18 +240,18 @@ procedure Gpr_Query is
Process_Project_Path'Access),
(new String'("refs"),
- new String'("name:file:line:column {global | local_only}
{full_file_names | short_file_names}"),
+ new String'("name:file:line[:column] {global | local_only}
{full_file_names | short_file_names}"),
new String'("All known references to the entity."),
Process_Refs'Access),
(new String'("tree_defs"),
- new String'("name:file:line:column {full_file_names |
short_file_names}"),
+ new String'("name:file[:line[:column]] {full_file_names |
short_file_names}"),
new String'
- ("All known references to the entity, and to parent/child types or
overridden/overriding operations."),
+ ("All known references to the entity, and to child types or
overridden/overriding operations."),
Process_Tree_Defs'Access),
(new String'("tree_refs"),
- new String'("name:file:line:column {full_file_names |
short_file_names}"),
+ new String'("name:file:line[:column] {full_file_names |
short_file_names}"),
new String'
("All known references to the entity, and to parent/child types or
overridden/overriding operations."),
Process_Tree_Refs'Access),
@@ -256,7 +270,7 @@ procedure Gpr_Query is
Force_Refresh : aliased Boolean;
Gpr_Config_File : aliased GNAT.Strings.String_Access;
Nightly_DB_Name : aliased GNAT.Strings.String_Access;
- Project_Name : aliased GNAT.Strings.String_Access;
+ Project_File_Name : aliased GNAT.Strings.String_Access;
Show_Progress : aliased Boolean;
Traces_Config_File : aliased GNAT.Strings.String_Access;
@@ -274,8 +288,7 @@ procedure Gpr_Query is
end Check_Arg_Count;
procedure Display_Progress (Current, Total : Integer) is
- Now : constant Integer := Integer (Float'Floor
- (Float (Current) / Float (Total) * 100.0));
+ Now : constant Integer := Integer (Float'Floor (Float (Current) / Float
(Total) * 100.0));
begin
if Now /= Previous_Progress then
Ada.Text_IO.Put_Line
@@ -352,6 +365,7 @@ procedure Gpr_Query is
(Integer'Value (Words (Words'First + 3).all)));
when 3 =>
+ -- No column; assume good enough for a precise match
Ref := Xref.Get_Entity
(Name => Words (Words'First).all,
File => Format_Pathname
@@ -361,17 +375,19 @@ procedure Gpr_Query is
Line => Integer'Value (Words (Words'First + 2).all));
when 2 =>
- Ref := Xref.Get_Entity
- (Name => Words (Words'First).all,
- File => Format_Pathname
- (Style => UNIX,
- Path => Words (Words'First + 1).all),
- Project => GNATCOLL.Projects.No_Project);
-
- -- Xref.Get_Entity treats 'File => ""' as searching for pre-defined
entities such as "Integer".
+ -- No line or column; error.
+ GNAT.Strings.Free (Words);
+ raise Invalid_Command with "Invalid parameter '" & Arg & "',
expecting name:file:line[:column]]";
when others =>
- raise Invalid_Command with "Invalid parameter '" & Arg & "',
expecting name:file:line:column";
+ -- No file, or bad args.
+ --
+ -- Xref.Get_Entity treats 'File => ""' as searching for pre-defined
entities such as "Integer".
+ --
+ -- To search for a name in all files, use "complete" command.
+ GNAT.Strings.Free (Words);
+
+ raise Invalid_Command with "Invalid parameter '" & Arg & "',
expecting name:file:line[:column]]";
end case;
GNAT.Strings.Free (Words);
@@ -492,6 +508,73 @@ procedure Gpr_Query is
GNAT.Strings.Free (Expr);
end Process_Line;
+ function Get_Parameters (Entity : GNATCOLL.Xref.Entity_Information) return
String
+ is
+ use Ada.Strings.Unbounded;
+ use GNATCOLL.Xref;
+ Params : Parameters_Cursor := GNATCOLL.Xref.Parameters (Xref,
Entity);
+ Result : Unbounded_String;
+ Need_Paren : Boolean := True;
+ begin
+ loop
+ exit when not Has_Element (Params);
+ Result := Result &
+ ((if Need_Paren
+ then (if Length (Result) > 0 then " (" else "(")
+ else ", ") &
+ Xref.Declaration (Element (Params).Parameter).Name);
+ Need_Paren := False;
+ Next (Params);
+ end loop;
+ if not Need_Paren then
+ Result := Result & ")";
+ end if;
+ return +Result;
+ end Get_Parameters;
+
+ procedure Process_Complete (Args : GNATCOLL.Arg_Lists.Arg_List)
+ is
+ use Ada.Text_IO;
+ use GNATCOLL.Arg_Lists;
+ use GNATCOLL.Xref;
+ Prefix : constant String := Nth_Arg (Args, 1);
+ Matches : Entities_Cursor;
+ Count : Integer := 0;
+ begin
+ Short_File_Names := False;
+
+ -- First count all matches, so Emacs can show progress
+ Xref.From_Prefix
+ (Prefix,
+ Is_Partial => True,
+ Cursor => Matches);
+ loop
+ exit when not Has_Element (Matches);
+ Count := @ + 1;
+ Next (Matches);
+ end loop;
+
+ Ada.Text_IO.Put_Line ("element count" & Count'Image);
+
+ Xref.From_Prefix
+ (Prefix,
+ Is_Partial => True,
+ Cursor => Matches);
+ loop
+ exit when not Has_Element (Matches);
+ declare
+ Decl : constant Entity_Declaration := Xref.Declaration (Element
(Matches));
+ begin
+ Put (Xref.Qualified_Name (Element (Matches)));
+ if Decl.Flags.Is_Subprogram then
+ Ada.Text_IO.Put (Get_Parameters (Decl.Location.Entity));
+ end if;
+ end;
+ Ada.Text_IO.Put_Line (" " & Image (Element (Matches)));
+ Next (Matches);
+ end loop;
+ end Process_Complete;
+
procedure Process_Project_Path (Args : GNATCOLL.Arg_Lists.Arg_List)
is
pragma Unreferenced (Args);
@@ -501,8 +584,20 @@ procedure Gpr_Query is
Put (Dirs);
end Process_Project_Path;
- procedure Process_Refresh (Args : GNATCOLL.Arg_Lists.Arg_List) is separate;
- -- Requires different code for GNAT GPL 2016 vs 2017
+ procedure Process_Refresh (Args : GNATCOLL.Arg_Lists.Arg_List)
+ is
+ pragma Unreferenced (Args);
+ begin
+ Parse_All_LI_Files
+ (Self => Xref,
+ Project => Tree.Root_Project,
+ Parse_Runtime_Files => False,
+ Show_Progress => Progress_Reporter,
+ ALI_Encoding => ALI_Encoding.all,
+ From_DB_Name => Nightly_DB_Name.all,
+ To_DB_Name => DB_Name.all,
+ Force_Refresh => Force_Refresh);
+ end Process_Refresh;
procedure Process_Refs (Args : GNATCOLL.Arg_Lists.Arg_List)
is
@@ -603,37 +698,47 @@ procedure Gpr_Query is
return Result;
end Controlling_Type;
- procedure Dump_Decl (Decl : in GNATCOLL.Xref.Entity_Declaration;
Controlling_Type_Name : in String := "")
+ procedure Dump_Decl (Decl : in GNATCOLL.Xref.Entity_Declaration; Annotation
: in String := "")
is begin
Ada.Text_IO.Put_Line
(Xref.Image (Decl.Location) & " (" &
(+Decl.Name) & " " &
- (if Controlling_Type_Name'Length = 0
+ (if Annotation'Length = 0
then ""
- else Controlling_Type_Name & "; ") &
+ else Annotation & " ") &
(+Decl.Kind) & ")");
end Dump_Decl;
- procedure Dump_Ref (Ref : in GNATCOLL.Xref.Entity_Reference;
Controlling_Type_Name : in String := "")
+ procedure Dump_Ref (Ref : in GNATCOLL.Xref.Entity_Reference; Annotation :
in String := "")
is begin
Ada.Text_IO.Put_Line
(Xref.Image (Ref) & " (" &
(+Xref.Declaration (Ref.Entity).Name) & " " &
- (if Controlling_Type_Name'Length = 0
+ (if Annotation'Length = 0
then ""
- else Controlling_Type_Name & "; ") &
+ else Annotation & " ") &
(+Ref.Kind) & ")");
end Dump_Ref;
procedure Dump_Entity (Entity : in GNATCOLL.Xref.Entity_Information;
Controlling_Type_Name : in String := "")
is
+ use Ada.Strings.Unbounded;
use GNATCOLL.Xref;
Spec_Decl : constant Entity_Declaration := Xref.Declaration (Entity);
Body_Decls : References_Cursor;
+ Parameters : Unbounded_String;
begin
+ if Controlling_Type_Name'Length > 0 then
+ Parameters := +Controlling_Type_Name & ";";
+ end if;
+
+ if Spec_Decl.Flags.Is_Subprogram then
+ Parameters := Parameters & Get_Parameters (Spec_Decl.Location.Entity);
+ end if;
+
Xref.Bodies (Entity, Body_Decls);
if not Has_Element (Body_Decls) then
- Dump_Decl (Spec_Decl);
+ Dump_Decl (Spec_Decl, +Parameters);
else
declare
use all type GNATCOLL.VFS.Virtual_File;
@@ -645,13 +750,13 @@ procedure Gpr_Query is
then
Ada.Text_IO.Put_Line
(Xref.Image (First_Body_Ref) & " (" & (+Spec_Decl.Name) & " "
&
- (if Controlling_Type_Name'Length = 0
+ (if Length (Parameters) = 0
then ""
- else Controlling_Type_Name & "; ") &
+ else +Parameters & " ") &
(+Spec_Decl.Kind) & "/" & (+First_Body_Ref.Kind) & ")");
else
- Dump_Decl (Spec_Decl, Controlling_Type_Name);
- Dump_Ref (First_Body_Ref, Controlling_Type_Name);
+ Dump_Decl (Spec_Decl, +Parameters);
+ Dump_Ref (First_Body_Ref, +Parameters);
end if;
end;
@@ -659,7 +764,7 @@ procedure Gpr_Query is
loop
exit when not Has_Element (Body_Decls);
- Dump_Ref (Body_Decls.Element, Controlling_Type_Name);
+ Dump_Ref (Body_Decls.Element, +Parameters);
Next (Body_Decls);
end loop;
end if;
@@ -672,94 +777,186 @@ procedure Gpr_Query is
use GNATCOLL.Arg_Lists;
use GNATCOLL.Xref;
- Orig_Entity : constant Entity_Information := Get_Entity (Nth_Arg (Args,
1));
- Orig_Decl : constant Entity_Declaration := Xref.Declaration
(Orig_Entity);
+ Words : GNAT.Strings.String_List_Access := GNATCOLL.Utils.Split
(Nth_Arg (Args, 1), On => ':');
Root_Parent : Entity_Information;
- procedure Dump_Method
- (Type_Entity : in GNATCOLL.Xref.Entity_Information;
- Primitive_Op_Name : in String)
+ procedure One_Entity (Orig_Entity : in Entity_Information; No_Children :
in Boolean := False)
is
- Type_Name : constant String := +Xref.Declaration (Type_Entity).Name;
- Ops : Entities_Cursor;
+ Orig_Decl : constant Entity_Declaration := Xref.Declaration
(Orig_Entity);
+ Orig_Short_Name : constant String := +Orig_Decl.Name;
+
+ procedure Dump_Method
+ (Type_Entity : in GNATCOLL.Xref.Entity_Information;
+ Primitive_Op_Name : in String)
+ is
+ Type_Name : constant String := Xref.Qualified_Name (Type_Entity);
+ Ops : Entities_Cursor;
+ begin
+ Xref.Methods (Type_Entity, Ops);
+ loop
+ exit when not Has_Element (Ops);
+ declare
+ Method_Name : constant String := +Xref.Declaration (Element
(Ops)).Name;
+ begin
+ if Primitive_Op_Name = Method_Name then
+ -- IMPROVEME: if the method is inherited but not
overridden, use the
+ -- type location.
+ Dump_Entity (Element (Ops), Type_Name);
+ end if;
+ end;
+ Next (Ops);
+ end loop;
+ end Dump_Method;
+
+ procedure Dump_Entities (Entities : in out Recursive_Entities_Cursor)
+ is begin
+ loop
+ exit when not Has_Element (Entities);
+ if Orig_Decl.Flags.Is_Subprogram then
+ Dump_Method (Entities.Element, Primitive_Op_Name =>
Orig_Short_Name);
+ else
+ Dump_Entity (Entities.Element);
+ end if;
+ Next (Entities);
+ end loop;
+ end Dump_Entities;
begin
- Xref.Methods (Type_Entity, Ops);
- loop
- exit when not Has_Element (Ops);
+
+ if Orig_Decl.Flags.Is_Type then
+ -- It is tempting to find the highest ancestor type here, then
show
+ -- all types derived from that. But in Ada, that root ancestor is
+ -- often Ada.Finalization.[Limited_]Controlled (or some similar
root
+ -- type), so the tree is much larger than we really want. So we
just
+ -- show all children of the given type; the user can then climb
the
+ -- tree if they want to enlarge it. This also allows the user to
+ -- choose which anscestor to examine when there is more than one,
+ -- with interfaces.
+ Root_Parent := Orig_Entity;
+
+ elsif Orig_Decl.Flags.Is_Subprogram then
declare
- Method_Name : constant String := +Xref.Declaration (Element
(Ops)).Name;
+ Controlling : constant Entity_Information := Controlling_Type
(Orig_Entity);
begin
- if Primitive_Op_Name = Method_Name then
- -- IMPROVEME: if the method is inherited but not
overridden, use the
- -- type location.
- Dump_Entity (Element (Ops), Type_Name);
+ if Controlling = No_Entity then
+ -- Not a primitive subprogram
+ Dump_Entity (Orig_Entity);
return;
+ else
+ if No_Children then
+ Root_Parent := Controlling; -- for type name
+ else
+ -- Here we find the highest ancestor type that has this
method.
+ -- gnatcoll.xref does not let us get the type of each
parameter, so
+ -- we can't match profiles, just names.
+ Root_Parent := Root_Parent_Type (Controlling,
Primitive_Op_Name => Orig_Short_Name);
+ end if;
end if;
end;
- Next (Ops);
- end loop;
- end Dump_Method;
+ else
+ -- Something else (variable, package, ...)
+ Dump_Decl (Orig_Decl);
+ return;
+ end if;
- procedure Dump_Entities (Entities : in out Recursive_Entities_Cursor)
- is begin
- loop
- exit when not Has_Element (Entities);
- if Orig_Decl.Flags.Is_Subprogram then
- Dump_Method (Entities.Element, +Orig_Decl.Name);
+ if No_Children then
+ if Orig_Decl.Flags.Is_Type then
+ Dump_Entity (Orig_Entity);
else
- Dump_Entity (Entities.Element);
+ Dump_Entity (Orig_Entity, Controlling_Type_Name =>
Xref.Qualified_Name (Root_Parent));
end if;
- Next (Entities);
- end loop;
- end Dump_Entities;
+ else
+ declare
+ Child_Types : Recursive_Entities_Cursor;
+ begin
+ -- "Child_Types" includes generic formal parameters (ie
+ -- gen_run_wisi_lr_parse.ads Parse_Data_Type) in addition to
the
+ -- actual parameters.
+ All_Child_Types (Root_Parent, Child_Types);
+ if Orig_Decl.Flags.Is_Type then
+ Dump_Entity (Root_Parent);
+ else
+ Dump_Method (Root_Parent, +Orig_Decl.Name);
+ end if;
+ Dump_Entities (Child_Types);
+ end;
+ end if;
+ end One_Entity;
+ use GNAT.Directory_Operations;
begin
Short_File_Names := Nth_Arg (Args, 2) = Short_File_Names_Arg;
- if Orig_Decl.Flags.Is_Type then
- -- It is tempting to find the highest ancestor type here, then show
- -- all types derived from that. But in Ada, that root ancestor is
- -- often Ada.Finalization.[Limited_]Controlled (or some similar root
- -- type), so the tree is much larger than we really want. So we just
- -- show all children of the given type; the user can then climb the
- -- tree if they want to enlarge it. This also allows the user to
- -- choose which anscestor to examine when there is more than one,
- -- with interfaces.
- Root_Parent := Orig_Entity;
+ case Words'Length is
+ when 3 | 4 =>
+ One_Entity
+ (Xref.Get_Entity
+ (Name => Words (Words'First).all,
+ File => Format_Pathname
+ (Style => UNIX,
+ Path => Words (Words'First + 1).all),
+ Project => GNATCOLL.Projects.No_Project,
+ Line => Integer'Value (Words (Words'First + 2).all),
+ Column =>
+ (if Words'Length = 4
+ then Visible_Column (Integer'Value (Words (Words'First +
3).all))
+ else -1)) -- No column; assume good enough for a precise
match
+ .Entity);
- elsif Orig_Decl.Flags.Is_Subprogram then
+ when 2 =>
+ -- No line or column; find all matching names in file
declare
- Controlling : constant Entity_Information := Controlling_Type
(Orig_Entity);
+ use GNATCOLL.VFS;
+
+ Multiple : Entities_Cursor;
+ Orig_File : constant Virtual_File := Locate_Regular_File
+ (File_Name => +Words (Words'First + 1).all,
+ Path => Source_Search_Path.all);
+ Orig_File_Name : constant Filesystem_String := Full_Name
(Orig_File);
begin
- if Controlling = No_Entity then
- -- Not a primitive subprogram
- Dump_Entity (Orig_Entity);
- return;
- else
- -- Here we find the highest ancestor type that has this method.
- Root_Parent := Root_Parent_Type (Controlling, Primitive_Op_Name
=> +Orig_Decl.Name);
- end if;
+ From_Prefix (Xref, Words (Words'First).all, Is_Partial => False,
Cursor => Multiple);
+
+ loop
+ exit when not Has_Element (Multiple);
+ declare
+ Decl : constant Entity_Declaration := Xref.Declaration
(Element (Multiple));
+
+ function Check_Body_File return Boolean
+ is
+ Bodies : References_Cursor;
+ begin
+ Xref.Bodies (Decl.Location.Entity, Bodies);
+ loop
+ exit when not Has_Element (Bodies);
+ declare
+ Ref : Entity_Reference renames Element (Bodies);
+ begin
+ if Orig_File_Name = Full_Name (Ref.File) then
+ return True;
+ end if;
+ end;
+ Next (Bodies);
+ end loop;
+ return False;
+ end Check_Body_File;
+
+ begin
+ if Orig_File_Name = Full_Name (Decl.Location.File) or else
+ Check_Body_File
+ then
+ One_Entity (Element (Multiple), No_Children => True);
+ end if;
+ end;
+ Next (Multiple);
+ end loop;
end;
- else
- -- Something else (variable, package, ...)
- Dump_Decl (Orig_Decl);
- return;
- end if;
- declare
- Child_Types : Recursive_Entities_Cursor;
- begin
- -- "Child_Types" includes generic formal parameters (ie
- -- gen_run_wisi_lr_parse.ads Parse_Data_Type) in addition to the
- -- actual parameters.
- All_Child_Types (Root_Parent, Child_Types);
- if Orig_Decl.Flags.Is_Type then
- Dump_Entity (Root_Parent);
- else
- Dump_Method (Root_Parent, +Orig_Decl.Name);
- end if;
- Dump_Entities (Child_Types);
- end;
+ when others =>
+ -- No file or bad arg.
+ GNAT.Strings.Free (Words);
+ raise Invalid_Command with "Invalid parameter '" & Nth_Arg (Args, 1) &
+ "', expecting name:file:[line[:column]]";
+ end case;
+
end Process_Tree_Defs;
procedure Process_Tree_Refs (Args : GNATCOLL.Arg_Lists.Arg_List)
@@ -768,6 +965,7 @@ procedure Gpr_Query is
use GNATCOLL.Arg_Lists;
use GNATCOLL.Xref;
+
Orig_Entity : constant Entity_Information := Get_Entity (Nth_Arg (Args,
1));
Orig_Decl : constant Entity_Declaration := Xref.Declaration
(Orig_Entity);
Root_Parent : Entity_Information;
@@ -852,16 +1050,8 @@ procedure Gpr_Query is
procedure Process_Source_Dirs (Args : GNATCOLL.Arg_Lists.Arg_List)
is
pragma Unreferenced (Args);
- use GNATCOLL.VFS;
- use GNATCOLL.Projects;
-
- Dirs : constant File_Array := Source_Dirs
- (Project => Tree.Root_Project,
- Recursive => True) &
- Predefined_Source_Path (Env.all);
begin
- Short_File_Names := False;
- Put (Dirs);
+ Put (Source_Search_Path.all);
end Process_Source_Dirs;
procedure Put (Item : GNATCOLL.VFS.File_Array)
@@ -918,7 +1108,7 @@ begin
Help => "Specifies the name of a prebuilt database");
Define_Switch
(Cmdline,
- Output => Project_Name'Access,
+ Output => Project_File_Name'Access,
Switch => "-P:",
Long_Switch => "--project=",
Help => "Load the given project (mandatory)");
@@ -932,12 +1122,13 @@ begin
(Cmdline,
Output => Traces_Config_File'Access,
Long_Switch => "--tracefile=",
- Help => "Specify a traces configuration file, set projects lib
verbose");
+ Help =>
+ "Specify a traces configuration file, set projects lib verbose.
File should contain ""gpr_query=yes""");
Getopt (Cmdline, Callback => null);
end;
- if Project_Name.all = "" then
+ if Project_File_Name.all = "" then
Ada.Text_IO.Put_Line ("No project file specified");
GNAT.Command_Line.Display_Help (Cmdline);
return;
@@ -987,19 +1178,27 @@ begin
else Ada.Directories.Current_Directory);
Path : constant Virtual_File := -- must be an absolute file name
- (if Is_Absolute_Path (+Project_Name.all) then
- Create_From_UTF8 (Project_Name.all, Normalize => True)
+ (if Is_Absolute_Path (+Project_File_Name.all) then
+ Create_From_UTF8 (Project_File_Name.all, Normalize => True)
else
- Locate_Regular_File (+Project_Name.all, From_Path
(+Gpr_Project_Path)));
+ Locate_Regular_File (+Project_File_Name.all, From_Path
(+Gpr_Project_Path)));
begin
+ GNATCOLL.Traces.Trace (Me, "GPR_PROJECT_PATH " & Gpr_Project_Path);
+
if not Path.Is_Regular_File then
- Put (Project_Name.all & ": not found on path " & Gpr_Project_Path);
+ declare
+ Path : constant File_Array := From_Path (+Gpr_Project_Path);
+ begin
+ Put_Line (Project_File_Name.all & ": not found on path:");
+ for P of Path loop
+ Put_Line (+Full_Name (P));
+ end loop;
+ end;
Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
return;
end if;
- GNATCOLL.Traces.Trace (Me, "project path " & Gpr_Project_Path);
- GNATCOLL.Traces.Trace (Me, "using project file " & (+Path.Full_Name));
+ GNATCOLL.Traces.Trace (Me, "project file " & (+Path.Full_Name));
if Show_Progress then
Progress_Reporter := Display_Progress'Unrestricted_Access;
@@ -1068,6 +1267,12 @@ begin
Process_Refresh (GNATCOLL.Arg_Lists.Empty_Command_Line);
+ Source_Search_Path := new GNATCOLL.VFS.File_Array'
+ (GNATCOLL.Projects.Source_Dirs
+ (Project => Tree.Root_Project,
+ Recursive => True) &
+ GNATCOLL.Projects.Predefined_Source_Path (Env.all));
+
if Commands_From_Switch.all /= "" then
Process_Line (Commands_From_Switch.all);
return;
diff --git a/packages/ada-mode/gpr_re2c.c b/packages/ada-mode/gpr_re2c.c
index 3ed8680..dcc2ac3 100644
--- a/packages/ada-mode/gpr_re2c.c
+++ b/packages/ada-mode/gpr_re2c.c
@@ -1,10 +1,10 @@
-/* Generated by re2c 1.0.3 */
+/* Generated by re2c 1.3 */
#line 1 "../gpr.re2c"
// generated parser support file. -*- mode: C -*-
// command line: wisitoken-bnf-generate.exe --generate LR1 Ada_Emacs re2c
PROCESS gpr.wy
//
-// Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
+// Copyright (C) 2013 - 2020 Free Software Foundation, Inc.
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
@@ -293,21 +293,21 @@ yy2:
YYSKIP ();
yy3:
YYDEBUG(3, YYPEEK ());
-#line 241 "../gpr.re2c"
+#line 242 "../gpr.re2c"
{status = ERROR_unrecognized_character; continue;}
#line 299 "../gpr_re2c.c"
yy4:
YYDEBUG(4, YYPEEK ());
YYSKIP ();
YYDEBUG(5, YYPEEK ());
-#line 239 "../gpr.re2c"
+#line 240 "../gpr.re2c"
{*id = 39; continue;}
#line 306 "../gpr_re2c.c"
yy6:
YYDEBUG(6, YYPEEK ());
YYSKIP ();
YYDEBUG(7, YYPEEK ());
-#line 194 "../gpr.re2c"
+#line 195 "../gpr.re2c"
{ lexer->byte_token_start = lexer->cursor;
lexer->char_token_start = lexer->char_pos;
if (*lexer->cursor == 0x0A)
@@ -320,7 +320,7 @@ yy8:
YYDEBUG(8, YYPEEK ());
YYSKIP ();
YYDEBUG(9, YYPEEK ());
-#line 201 "../gpr.re2c"
+#line 202 "../gpr.re2c"
{*id = 1; continue;}
#line 326 "../gpr_re2c.c"
yy10:
@@ -491,35 +491,35 @@ yy12:
YYDEBUG(12, YYPEEK ());
YYSKIP ();
YYDEBUG(13, YYPEEK ());
-#line 227 "../gpr.re2c"
+#line 228 "../gpr.re2c"
{*id = 27; continue;}
#line 497 "../gpr_re2c.c"
yy14:
YYDEBUG(14, YYPEEK ());
YYSKIP ();
YYDEBUG(15, YYPEEK ());
-#line 233 "../gpr.re2c"
+#line 234 "../gpr.re2c"
{*id = 33; continue;}
#line 504 "../gpr_re2c.c"
yy16:
YYDEBUG(16, YYPEEK ());
YYSKIP ();
YYDEBUG(17, YYPEEK ());
-#line 214 "../gpr.re2c"
+#line 215 "../gpr.re2c"
{*id = 14; continue;}
#line 511 "../gpr_re2c.c"
yy18:
YYDEBUG(18, YYPEEK ());
YYSKIP ();
YYDEBUG(19, YYPEEK ());
-#line 221 "../gpr.re2c"
+#line 222 "../gpr.re2c"
{*id = 21; continue;}
#line 518 "../gpr_re2c.c"
yy20:
YYDEBUG(20, YYPEEK ());
YYSKIP ();
YYDEBUG(21, YYPEEK ());
-#line 230 "../gpr.re2c"
+#line 231 "../gpr.re2c"
{*id = 30; continue;}
#line 525 "../gpr_re2c.c"
yy22:
@@ -534,7 +534,7 @@ yy23:
YYDEBUG(23, YYPEEK ());
YYSKIP ();
YYDEBUG(24, YYPEEK ());
-#line 231 "../gpr.re2c"
+#line 232 "../gpr.re2c"
{*id = 31; continue;}
#line 540 "../gpr_re2c.c"
yy25:
@@ -557,7 +557,7 @@ yy25:
}
yy27:
YYDEBUG(27, YYPEEK ());
-#line 236 "../gpr.re2c"
+#line 237 "../gpr.re2c"
{*id = 36; continue;}
#line 563 "../gpr_re2c.c"
yy28:
@@ -570,14 +570,14 @@ yy28:
}
yy29:
YYDEBUG(29, YYPEEK ());
-#line 228 "../gpr.re2c"
+#line 229 "../gpr.re2c"
{*id = 28; continue;}
#line 576 "../gpr_re2c.c"
yy30:
YYDEBUG(30, YYPEEK ());
YYSKIP ();
YYDEBUG(31, YYPEEK ());
-#line 234 "../gpr.re2c"
+#line 235 "../gpr.re2c"
{*id = 34; continue;}
#line 583 "../gpr_re2c.c"
yy32:
@@ -605,7 +605,7 @@ yy33:
}
yy34:
YYDEBUG(34, YYPEEK ());
-#line 237 "../gpr.re2c"
+#line 238 "../gpr.re2c"
{*id = 37; continue;}
#line 611 "../gpr_re2c.c"
yy35:
@@ -888,7 +888,7 @@ yy50:
YYDEBUG(50, YYPEEK ());
YYSKIP ();
YYDEBUG(51, YYPEEK ());
-#line 235 "../gpr.re2c"
+#line 236 "../gpr.re2c"
{*id = 35; continue;}
#line 894 "../gpr_re2c.c"
yy52:
@@ -1430,7 +1430,7 @@ yy61:
}
yy62:
YYDEBUG(62, YYPEEK ());
-#line 238 "../gpr.re2c"
+#line 239 "../gpr.re2c"
{*id = 38; continue;}
#line 1436 "../gpr_re2c.c"
yy63:
@@ -1775,7 +1775,6 @@ yy69:
case 0x01:
case 0x02:
case 0x03:
- case 0x04:
case 0x05:
case 0x06:
case 0x07:
@@ -1953,23 +1952,23 @@ yy69:
}
yy71:
YYDEBUG(71, YYPEEK ());
-#line 202 "../gpr.re2c"
+#line 203 "../gpr.re2c"
{*id = 2; continue;}
-#line 1959 "../gpr_re2c.c"
+#line 1958 "../gpr_re2c.c"
yy72:
YYDEBUG(72, YYPEEK ());
YYSKIP ();
YYDEBUG(73, YYPEEK ());
-#line 229 "../gpr.re2c"
+#line 230 "../gpr.re2c"
{*id = 29; continue;}
-#line 1966 "../gpr_re2c.c"
+#line 1965 "../gpr_re2c.c"
yy74:
YYDEBUG(74, YYPEEK ());
YYSKIP ();
YYDEBUG(75, YYPEEK ());
-#line 232 "../gpr.re2c"
+#line 233 "../gpr.re2c"
{*id = 32; continue;}
-#line 1973 "../gpr_re2c.c"
+#line 1972 "../gpr_re2c.c"
yy76:
YYDEBUG(76, YYPEEK ());
yyaccept = 1;
@@ -2117,9 +2116,9 @@ yy78:
}
yy79:
YYDEBUG(79, YYPEEK ());
-#line 204 "../gpr.re2c"
+#line 205 "../gpr.re2c"
{*id = 4; continue;}
-#line 2123 "../gpr_re2c.c"
+#line 2122 "../gpr_re2c.c"
yy80:
YYDEBUG(80, YYPEEK ());
YYSKIP ();
@@ -2630,9 +2629,9 @@ yy91:
}
yy92:
YYDEBUG(92, YYPEEK ());
-#line 213 "../gpr.re2c"
+#line 214 "../gpr.re2c"
{*id = 13; continue;}
-#line 2636 "../gpr_re2c.c"
+#line 2635 "../gpr_re2c.c"
yy93:
YYDEBUG(93, YYPEEK ());
yyaccept = 1;
@@ -3253,9 +3252,9 @@ yy114:
}
yy115:
YYDEBUG(115, YYPEEK ());
-#line 208 "../gpr.re2c"
+#line 209 "../gpr.re2c"
{*id = 8; continue;}
-#line 3259 "../gpr_re2c.c"
+#line 3258 "../gpr_re2c.c"
yy116:
YYDEBUG(116, YYPEEK ());
yyaccept = 1;
@@ -3392,9 +3391,9 @@ yy117:
}
yy118:
YYDEBUG(118, YYPEEK ());
-#line 212 "../gpr.re2c"
+#line 213 "../gpr.re2c"
{*id = 12; continue;}
-#line 3398 "../gpr_re2c.c"
+#line 3397 "../gpr_re2c.c"
yy119:
YYDEBUG(119, YYPEEK ());
yyaccept = 1;
@@ -3608,9 +3607,9 @@ yy127:
}
yy128:
YYDEBUG(128, YYPEEK ());
-#line 224 "../gpr.re2c"
+#line 225 "../gpr.re2c"
{*id = 24; continue;}
-#line 3614 "../gpr_re2c.c"
+#line 3613 "../gpr_re2c.c"
yy129:
YYDEBUG(129, YYPEEK ());
yyaccept = 1;
@@ -3780,9 +3779,9 @@ yy133:
}
yy134:
YYDEBUG(134, YYPEEK ());
-#line 206 "../gpr.re2c"
+#line 207 "../gpr.re2c"
{*id = 6; continue;}
-#line 3786 "../gpr_re2c.c"
+#line 3785 "../gpr_re2c.c"
yy135:
YYDEBUG(135, YYPEEK ());
yyaccept = 1;
@@ -3943,9 +3942,9 @@ yy138:
}
yy139:
YYDEBUG(139, YYPEEK ());
-#line 216 "../gpr.re2c"
+#line 217 "../gpr.re2c"
{*id = 16; continue;}
-#line 3949 "../gpr_re2c.c"
+#line 3948 "../gpr_re2c.c"
yy140:
YYDEBUG(140, YYPEEK ());
yyaccept = 1;
@@ -4126,9 +4125,9 @@ yy145:
}
yy146:
YYDEBUG(146, YYPEEK ());
-#line 223 "../gpr.re2c"
+#line 224 "../gpr.re2c"
{*id = 23; continue;}
-#line 4132 "../gpr_re2c.c"
+#line 4131 "../gpr_re2c.c"
yy147:
YYDEBUG(147, YYPEEK ());
yyaccept = 12;
@@ -4254,9 +4253,9 @@ yy147:
}
yy148:
YYDEBUG(148, YYPEEK ());
-#line 225 "../gpr.re2c"
+#line 226 "../gpr.re2c"
{*id = 25; continue;}
-#line 4260 "../gpr_re2c.c"
+#line 4259 "../gpr_re2c.c"
yy149:
YYDEBUG(149, YYPEEK ());
yyaccept = 13;
@@ -4382,9 +4381,9 @@ yy149:
}
yy150:
YYDEBUG(150, YYPEEK ());
-#line 226 "../gpr.re2c"
+#line 227 "../gpr.re2c"
{*id = 26; continue;}
-#line 4388 "../gpr_re2c.c"
+#line 4387 "../gpr_re2c.c"
yy151:
YYDEBUG(151, YYPEEK ());
yyaccept = 1;
@@ -4697,9 +4696,9 @@ yy168:
}
yy169:
YYDEBUG(169, YYPEEK ());
-#line 217 "../gpr.re2c"
+#line 218 "../gpr.re2c"
{*id = 17; continue;}
-#line 4703 "../gpr_re2c.c"
+#line 4702 "../gpr_re2c.c"
yy170:
YYDEBUG(170, YYPEEK ());
yyaccept = 1;
@@ -4902,9 +4901,9 @@ yy177:
}
yy178:
YYDEBUG(178, YYPEEK ());
-#line 209 "../gpr.re2c"
+#line 210 "../gpr.re2c"
{*id = 9; continue;}
-#line 4908 "../gpr_re2c.c"
+#line 4907 "../gpr_re2c.c"
yy179:
YYDEBUG(179, YYPEEK ());
yyaccept = 1;
@@ -5041,9 +5040,9 @@ yy180:
}
yy181:
YYDEBUG(181, YYPEEK ());
-#line 215 "../gpr.re2c"
+#line 216 "../gpr.re2c"
{*id = 15; continue;}
-#line 5047 "../gpr_re2c.c"
+#line 5046 "../gpr_re2c.c"
yy182:
YYDEBUG(182, YYPEEK ());
yyaccept = 17;
@@ -5169,9 +5168,9 @@ yy182:
}
yy183:
YYDEBUG(183, YYPEEK ());
-#line 218 "../gpr.re2c"
+#line 219 "../gpr.re2c"
{*id = 18; continue;}
-#line 5175 "../gpr_re2c.c"
+#line 5174 "../gpr_re2c.c"
yy184:
YYDEBUG(184, YYPEEK ());
yyaccept = 18;
@@ -5297,9 +5296,9 @@ yy184:
}
yy185:
YYDEBUG(185, YYPEEK ());
-#line 219 "../gpr.re2c"
+#line 220 "../gpr.re2c"
{*id = 19; continue;}
-#line 5303 "../gpr_re2c.c"
+#line 5302 "../gpr_re2c.c"
yy186:
YYDEBUG(186, YYPEEK ());
yyaccept = 19;
@@ -5425,9 +5424,9 @@ yy186:
}
yy187:
YYDEBUG(187, YYPEEK ());
-#line 220 "../gpr.re2c"
+#line 221 "../gpr.re2c"
{*id = 20; continue;}
-#line 5431 "../gpr_re2c.c"
+#line 5430 "../gpr_re2c.c"
yy188:
YYDEBUG(188, YYPEEK ());
yyaccept = 1;
@@ -5564,9 +5563,9 @@ yy189:
}
yy190:
YYDEBUG(190, YYPEEK ());
-#line 203 "../gpr.re2c"
+#line 204 "../gpr.re2c"
{*id = 3; continue;}
-#line 5570 "../gpr_re2c.c"
+#line 5569 "../gpr_re2c.c"
yy191:
YYDEBUG(191, YYPEEK ());
yyaccept = 1;
@@ -5714,9 +5713,9 @@ yy193:
}
yy194:
YYDEBUG(194, YYPEEK ());
-#line 210 "../gpr.re2c"
+#line 211 "../gpr.re2c"
{*id = 10; continue;}
-#line 5720 "../gpr_re2c.c"
+#line 5719 "../gpr_re2c.c"
yy195:
YYDEBUG(195, YYPEEK ());
yyaccept = 22;
@@ -5842,9 +5841,9 @@ yy195:
}
yy196:
YYDEBUG(196, YYPEEK ());
-#line 222 "../gpr.re2c"
+#line 223 "../gpr.re2c"
{*id = 22; continue;}
-#line 5848 "../gpr_re2c.c"
+#line 5847 "../gpr_re2c.c"
yy197:
YYDEBUG(197, YYPEEK ());
yyaccept = 23;
@@ -5970,9 +5969,9 @@ yy197:
}
yy198:
YYDEBUG(198, YYPEEK ());
-#line 205 "../gpr.re2c"
+#line 206 "../gpr.re2c"
{*id = 5; continue;}
-#line 5976 "../gpr_re2c.c"
+#line 5975 "../gpr_re2c.c"
yy199:
YYDEBUG(199, YYPEEK ());
yyaccept = 1;
@@ -6185,9 +6184,9 @@ yy207:
}
yy208:
YYDEBUG(208, YYPEEK ());
-#line 207 "../gpr.re2c"
+#line 208 "../gpr.re2c"
{*id = 7; continue;}
-#line 6191 "../gpr_re2c.c"
+#line 6190 "../gpr_re2c.c"
yy209:
YYDEBUG(209, YYPEEK ());
yyaccept = 1;
@@ -6346,11 +6345,11 @@ yy212:
}
yy213:
YYDEBUG(213, YYPEEK ());
-#line 211 "../gpr.re2c"
+#line 212 "../gpr.re2c"
{*id = 11; continue;}
-#line 6352 "../gpr_re2c.c"
+#line 6351 "../gpr_re2c.c"
}
-#line 242 "../gpr.re2c"
+#line 243 "../gpr.re2c"
}
/* lexer->cursor and lexer ->char_pos are one char past end of token */
diff --git a/packages/ada-mode/gpr_re2c_c.ads b/packages/ada-mode/gpr_re2c_c.ads
index c752061..f78de90 100644
--- a/packages/ada-mode/gpr_re2c_c.ads
+++ b/packages/ada-mode/gpr_re2c_c.ads
@@ -2,7 +2,7 @@
-- command line: wisitoken-bnf-generate.exe --generate LR1 Ada_Emacs re2c
PROCESS gpr.wy
--
--- Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2013 - 2020 Free Software Foundation, Inc.
-- This program is free software; you can redistribute it and/or
-- modify it under the terms of the GNU General Public License as
diff --git a/packages/ada-mode/install.sh b/packages/ada-mode/install.sh
index 20b7237..d85adad 100755
--- a/packages/ada-mode/install.sh
+++ b/packages/ada-mode/install.sh
@@ -8,8 +8,8 @@
# If you don't have write permission in the GNAT installation
# directory, you need to use --prefix=<dir>, or run with root priviledges.
-export GPR_PROJECT_PATH="../wisi-3.0.1"
+WISI_DIR="../wisi-3.1.0"
-gprinstall -f -p -P ada_mode_wisi_parse.gpr --install-name=ada_mode_wisi_parse
$1
+gprinstall -f -p -P ada_mode_wisi_parse.gpr -aP $WISI_DIR
--install-name=ada_mode_wisi_parse $1
# end of file.
diff --git a/packages/ada-mode/wisi-ada-format_parameter_list.adb
b/packages/ada-mode/wisi-ada-format_parameter_list.adb
index 10bfb25..51690df 100644
--- a/packages/ada-mode/wisi-ada-format_parameter_list.adb
+++ b/packages/ada-mode/wisi-ada-format_parameter_list.adb
@@ -2,7 +2,7 @@
--
--
--
--- Copyright (C) 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2019 - 2020 Free Software Foundation, Inc.
--
-- This program is free software; you can redistribute it and/or
-- modify it under terms of the GNU General Public License as
@@ -45,7 +45,7 @@ is
Default_Exp : Buffer_Region := Null_Buffer_Region;
end record;
- Formal_Part : constant Node_Index := Find_ID_At (Tree, Data.Terminals,
+formal_part_ID, Edit_Begin);
+ Formal_Part : constant Node_Index := Find_ID_At (Tree, +formal_part_ID,
Edit_Begin);
Param_Iter : Iterator;
Edit_End : Buffer_Pos;
Param_Count : Count_Type := 0;
diff --git a/packages/ada-mode/wisi-ada.adb b/packages/ada-mode/wisi-ada.adb
index f72ff1c..0893716 100644
--- a/packages/ada-mode/wisi-ada.adb
+++ b/packages/ada-mode/wisi-ada.adb
@@ -25,6 +25,7 @@ package body Wisi.Ada is
function Indent_Record
(Data : in out Parse_Data_Type;
+ Tree : in Syntax_Trees.Tree;
Anchor_Token : in Augmented_Token;
Record_Token : in Augmented_Token;
Indenting_Token : in Augmented_Token;
@@ -34,13 +35,6 @@ package body Wisi.Ada is
is
use Ada_Process_Actions;
begin
- if Anchor_Token.Byte_Region = Null_Buffer_Region or
- Record_Token.Byte_Region = Null_Buffer_Region or
- Indenting_Token.Byte_Region = Null_Buffer_Region
- then
- return Null_Delta;
- end if;
-
if not Indenting_Comment and Indenting_Token.ID = +RECORD_ID then
-- Indenting 'record'
return Indent_Anchored_2
@@ -66,9 +60,9 @@ package body Wisi.Ada is
end if;
else
- -- Indenting other comment, component or 'end'
+ -- Indenting comment after 'record', other comment, component or
'end'
--
- -- Ensure 'record' line is anchored.
+ -- Ensure 'record' line is anchored to Anchor_Token.
if not (Data.Indents (Record_Token.Line).Label = Anchored or
Data.Indents (Record_Token.Line).Label = Anchor_Anchored)
then
@@ -76,13 +70,16 @@ package body Wisi.Ada is
-- We don't pass Indenting_Comment here, because 'record' is
code.
Indent_Token_1
(Data,
- Record_Token,
- Indent_Anchored_2
- (Data, Anchor_Token.Line,
- Record_Token.Last_Line (Indenting_Comment => False),
+ Tree,
+ Indenting_Token => Record_Token,
+ Delta_Indent => Indent_Anchored_2
+ (Data,
+ Anchor_Token.Line,
+ Record_Token.Last_Line
+ (Indenting_Comment => False),
Ada_Indent_Record_Rel_Type,
- Accumulate => True),
- Indenting_Comment => False);
+ Accumulate => True),
+ Indenting_Comment => False);
end if;
end if;
@@ -105,25 +102,19 @@ package body Wisi.Ada is
function Find_ID_At
(Tree : in WisiToken.Syntax_Trees.Tree;
- Terminals : in Augmented_Token_Arrays.Vector;
ID : in Token_ID;
Edit_Begin : in WisiToken.Buffer_Pos)
- return WisiToken.Syntax_Trees.Node_Index
+ return WisiToken.Node_Index
is
- use WisiToken.Syntax_Trees;
-
function Match (Tree : in Syntax_Trees.Tree; Node : in Valid_Node_Index)
return Boolean
- is begin
- return Tree.ID (Node) = ID and then
- Terminals (Tree.Min_Terminal_Index (Node)).Byte_Region.First =
Edit_Begin;
- end Match;
+ is (Tree.ID (Node) = ID and then Get_Aug_Token_Const_1 (Tree,
Node).Byte_Region.First = Edit_Begin);
begin
return Tree.Find_Descendant (Tree.Root, Predicate => Match'Access);
end Find_ID_At;
procedure Unrecognized
(Expecting : in String;
- Found : in WisiToken.Syntax_Trees.Valid_Node_Index;
+ Found : in WisiToken.Valid_Node_Index;
Edit_Begin : in WisiToken.Buffer_Pos)
with No_Return
is begin
@@ -145,7 +136,7 @@ package body Wisi.Ada is
use Standard.Ada.Text_IO;
use WisiToken.Syntax_Trees;
- Call : Node_Index := Find_ID_At (Tree, Data.Terminals,
+name_ID, Edit_Begin);
+ Call : Node_Index := Find_ID_At (Tree, +name_ID, Edit_Begin);
Edit_End : WisiToken.Buffer_Pos;
Method : Valid_Node_Index;
Temp : Node_Index;
@@ -245,7 +236,7 @@ package body Wisi.Ada is
use Standard.Ada.Text_IO;
use WisiToken.Syntax_Trees;
- Call : Node_Index := Find_ID_At (Tree, Data.Terminals,
+name_ID, Edit_Begin);
+ Call : Node_Index := Find_ID_At (Tree, +name_ID, Edit_Begin);
Edit_End : WisiToken.Buffer_Pos;
Object_Method : Valid_Node_Index;
Method : Unbounded_String;
@@ -309,7 +300,7 @@ package body Wisi.Ada is
use Standard.Ada.Text_IO;
use WisiToken.Syntax_Trees;
- Call : Node_Index := Find_ID_At (Tree, Data.Terminals,
+name_ID, Edit_Begin);
+ Call : Node_Index := Find_ID_At (Tree, +name_ID, Edit_Begin);
Edit_End : WisiToken.Buffer_Pos;
Temp : Node_Index;
Association_List : Node_Index;
@@ -379,7 +370,7 @@ package body Wisi.Ada is
use Standard.Ada.Text_IO;
use WisiToken.Syntax_Trees;
- Call : Node_Index := Find_ID_At (Tree, Data.Terminals,
+name_ID, Edit_Begin);
+ Call : Node_Index := Find_ID_At (Tree, +name_ID, Edit_Begin);
Edit_End : WisiToken.Buffer_Pos;
Temp : Node_Index;
Association_List : Node_Index;
@@ -527,47 +518,63 @@ package body Wisi.Ada is
Data.Indent_Comment_Col_0 := Ada_Indent_Comment_Col_0;
end Initialize;
- overriding
- procedure Refactor
- (Data : in out Parse_Data_Type;
- Tree : in WisiToken.Syntax_Trees.Tree;
- Action : in Positive;
- Edit_Begin : in WisiToken.Buffer_Pos)
+ overriding function Insert_After
+ (User_Data : in out Parse_Data_Type;
+ Tree : in WisiToken.Syntax_Trees.Tree'Class;
+ Token : in WisiToken.Valid_Node_Index;
+ Insert_On_Blank_Line : in Boolean)
+ return Boolean
is
- -- Must match "ada-refactor-*" in ada-wisi.el
- Method_Object_To_Object_Method : constant Positive := 1;
- Object_Method_To_Method_Object : constant Positive := 2;
- Element_Object_To_Object_Index : constant Positive := 3;
- Object_Index_To_Element_Object : constant Positive := 4;
- Format_Parameter_List : constant Positive := 5;
+ pragma Unreferenced (User_Data);
+ use Ada_Process_Actions;
+ -- We return True if Token affects indent (ie it is a block boundary)
+ -- and normally has no code following it on the same line.
+ --
+ -- 'end' is not really an exception, it is normally followed by
+ -- <name> and ';', but no more code. Except when indenting a blank
+ -- line; see test/ada_mode-interactive_2.adb Record_1.
+ --
+ -- RIGHT_PAREN is an exception; it is often followed by more code,
+ -- but clearly belongs on the same line as the preceding token (often
+ -- other ')').
+ --
+ -- COLON is similar to RIGHT_PAREN.
+
+ ID : constant Token_ID := Tree.ID (Token);
+
+ Result : constant array (Ada_Process_Actions.Token_Enum_ID) of Boolean :=
+ (BEGIN_ID | -- test/ada_mode-recover_exception_1.adb,
test/ada_mode-recover_extra_declare.adb
+ COLON_ID | -- test/ada_mode-recover_partial_22.adb
+ DECLARE_ID |
+ RIGHT_PAREN_ID | -- test/ada_mode-recover_20.adb
+ SEMICOLON_ID | -- test/ada_mode-recover_13.adb
+ THEN_ID -- test/ada_mode-recover_19
+ => True,
+ others => False);
begin
- if WisiToken.Trace_Action > Detail then
- Tree.Print_Tree (Data.Descriptor.all);
- end if;
- case Action is
- when Method_Object_To_Object_Method =>
- Wisi.Ada.Method_Object_To_Object_Method (Tree, Data, Edit_Begin);
- when Object_Method_To_Method_Object =>
- Wisi.Ada.Object_Method_To_Method_Object (Tree, Data, Edit_Begin);
- when Element_Object_To_Object_Index =>
- Wisi.Ada.Element_Object_To_Object_Index (Tree, Data, Edit_Begin);
- when Object_Index_To_Element_Object =>
- Wisi.Ada.Object_Index_To_Element_Object (Tree, Data, Edit_Begin);
- when Format_Parameter_List =>
- Wisi.Ada.Format_Parameter_List (Tree, Data, Edit_Begin);
+ case To_Token_Enum (ID) is
+ when CASE_ID | IF_ID | LOOP_ID | RECORD_ID | RETURN_ID | SELECT_ID =>
+ return -Tree.ID (Tree.Prev_Terminal (Token)) = END_ID;
+
+ when END_ID =>
+ -- test/ada_mode-recover_20.adb, test/ada_mode-interactive_2.adb
Record_1.
+ return not Insert_On_Blank_Line;
+
+ when IDENTIFIER_ID =>
+ return -Tree.ID (Tree.Prev_Terminal (Token)) in END_ID | COLON_ID;
when others =>
- Standard.Ada.Text_IO.Put_Line ("(error ""unrecognized refactor action
" & Action'Image & """)");
+ return Result (-ID);
end case;
- end Refactor;
+ end Insert_After;
overriding
function Indent_Hanging_1
(Data : in out Parse_Data_Type;
Tree : in Syntax_Trees.Tree;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
- Tree_Indenting : in Syntax_Trees.Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array;
+ Tree_Indenting : in Valid_Node_Index;
Indenting_Comment : in Boolean;
Delta_1 : in Simple_Indent_Param;
Delta_2 : in Simple_Indent_Param;
@@ -575,8 +582,7 @@ package body Wisi.Ada is
Accumulate : in Boolean)
return Delta_Type
is
- use all type Syntax_Trees.Node_Index;
- Indenting_Token : constant Aug_Token_Ref := Get_Aug_Token (Data, Tree,
Tree_Indenting);
+ Indenting_Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
(Tree, Tree_Indenting);
function Result (Delta_1 : in Simple_Indent_Param; Delta_2 : in
Simple_Delta_Type) return Delta_Type
is begin
@@ -610,7 +616,7 @@ package body Wisi.Ada is
use Ada_Process_Actions;
begin
if Tree.ID (Tree.Parent (Tree_Indenting)) = +association_opt_ID and then
- Syntax_Trees.Invalid_Node_Index /= Tree.Find_Ancestor (Tree_Indenting,
+aspect_specification_opt_ID)
+ Invalid_Node_Index /= Tree.Find_Ancestor (Tree_Indenting,
+aspect_specification_opt_ID)
then
-- In aspect_specification_opt
-- See ada.wy association_opt for test cases
@@ -646,8 +652,8 @@ package body Wisi.Ada is
-- Use delta for last line of Indenting_Token.
-- Test cases in test/ada_mode-parens.adb Hello
declare
- First_Terminal : Augmented_Token renames
- Data.Terminals (Indenting_Token.First_Terminals_Index);
+ First_Terminal : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
+ (Tree, Tree.First_Terminal (Tree_Indenting));
begin
if Option then
-- Test cases with "Item => ..."
@@ -696,11 +702,46 @@ package body Wisi.Ada is
end if;
end Indent_Hanging_1;
+ overriding
+ procedure Refactor
+ (Data : in out Parse_Data_Type;
+ Tree : in WisiToken.Syntax_Trees.Tree;
+ Action : in Positive;
+ Edit_Begin : in WisiToken.Buffer_Pos)
+ is
+ -- Must match "ada-refactor-*" in ada-wisi.el
+ Method_Object_To_Object_Method : constant Positive := 1;
+ Object_Method_To_Method_Object : constant Positive := 2;
+ Element_Object_To_Object_Index : constant Positive := 3;
+ Object_Index_To_Element_Object : constant Positive := 4;
+ Format_Parameter_List : constant Positive := 5;
+
+ begin
+ if WisiToken.Trace_Action > Detail then
+ Tree.Print_Tree (Data.Descriptor.all);
+ end if;
+ case Action is
+ when Method_Object_To_Object_Method =>
+ Wisi.Ada.Method_Object_To_Object_Method (Tree, Data, Edit_Begin);
+ when Object_Method_To_Method_Object =>
+ Wisi.Ada.Object_Method_To_Method_Object (Tree, Data, Edit_Begin);
+ when Element_Object_To_Object_Index =>
+ Wisi.Ada.Element_Object_To_Object_Index (Tree, Data, Edit_Begin);
+ when Object_Index_To_Element_Object =>
+ Wisi.Ada.Object_Index_To_Element_Object (Tree, Data, Edit_Begin);
+ when Format_Parameter_List =>
+ Wisi.Ada.Format_Parameter_List (Tree, Data, Edit_Begin);
+
+ when others =>
+ Standard.Ada.Text_IO.Put_Line ("(error ""unrecognized refactor action
" & Action'Image & """)");
+ end case;
+ end Refactor;
+
function Ada_Indent_Aggregate
(Data : in out Wisi.Parse_Data_Type'Class;
Tree : in Syntax_Trees.Tree;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
- Tree_Indenting : in Syntax_Trees.Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array;
+ Tree_Indenting : in Valid_Node_Index;
Indenting_Comment : in Boolean;
Args : in Wisi.Indent_Arg_Arrays.Vector)
return Wisi.Delta_Type
@@ -710,7 +751,6 @@ package body Wisi.Ada is
pragma Unreferenced (Args);
pragma Unreferenced (Tokens);
- use all type Syntax_Trees.Node_Index;
use Ada_Process_Actions;
-- In our grammar, 'aggregate' can be an Ada aggregate, or a
@@ -723,11 +763,10 @@ package body Wisi.Ada is
-- expression, so we search for 'name' as well; see
-- test/ada_mode-conditional_expressions-more_1.adb.
- Expression : constant Syntax_Trees.Node_Index := Tree.Find_Ancestor
- (Tree_Indenting, (+expression_opt_ID, +name_ID));
+ Expression : constant Node_Index := Tree.Find_Ancestor (Tree_Indenting,
(+expression_opt_ID, +name_ID));
begin
- if Expression = Syntax_Trees.Invalid_Node_Index or else
- Tree.Parent (Expression) = Syntax_Trees.Invalid_Node_Index
+ if Expression = Invalid_Node_Index or else
+ Tree.Parent (Expression) = Invalid_Node_Index
then
return Null_Delta;
elsif Tree.ID (Tree.Parent (Expression)) in +if_expression_ID |
+elsif_expression_item_ID |
@@ -745,45 +784,40 @@ package body Wisi.Ada is
function Ada_Indent_Renames_0
(Data : in out Wisi.Parse_Data_Type'Class;
Tree : in Syntax_Trees.Tree;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
- Tree_Indenting : in Syntax_Trees.Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array;
+ Tree_Indenting : in Valid_Node_Index;
Indenting_Comment : in Boolean;
Args : in Indent_Arg_Arrays.Vector)
return Wisi.Delta_Type
is
- Subp_Tok : constant Aug_Token_Ref := Get_Aug_Token
- (Data, Tree, Tokens (Positive_Index_Type (Integer'(Args (1)))));
- Renames_Tok : constant Aug_Token_Ref := Get_Aug_Token (Data, Tree,
Tree_Indenting);
- Paren_I : Base_Token_Index;
+ Subp_Node : constant Valid_Node_Index := Tokens (Positive_Index_Type
(Integer'(Args (1))));
+ Subp_Tok : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1 (Tree,
Subp_Node);
+ Renames_Tok : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1 (Tree,
Tree_Indenting);
+ Paren_I : Node_Index;
begin
- if Subp_Tok.Char_Region = Null_Buffer_Region then
- -- built from entirely virtual tokens
- return Null_Delta;
- end if;
+ Paren_I := Tree.Find_Descendant (Subp_Node, Data.Left_Paren_ID);
- Paren_I := Data.Find (Data.Left_Paren_ID, Subp_Tok);
-
- if Paren_I /= Augmented_Token_Arrays.No_Index then
+ if Paren_I /= Invalid_Node_Index then
-- paren is present
- declare
- Paren_Tok : Augmented_Token renames Data.Terminals (Paren_I);
- begin
- if Ada_Indent_Renames > 0 then
- return Indent_Anchored_2
- (Data,
- Anchor_Line => Subp_Tok.Line,
- Last_Line => Renames_Tok.Last_Line (Indenting_Comment),
- Offset => Ada_Indent_Renames,
- Accumulate => True);
- else
+ if Ada_Indent_Renames > 0 then
+ return Indent_Anchored_2
+ (Data,
+ Anchor_Line => Subp_Tok.Line,
+ Last_Line => Renames_Tok.Last_Line (Indenting_Comment),
+ Offset => Ada_Indent_Renames,
+ Accumulate => True);
+ else
+ declare
+ Paren_Tok : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
(Tree, Paren_I);
+ begin
return Indent_Anchored_2
(Data,
Anchor_Line => Paren_Tok.Line,
Last_Line => Renames_Tok.Last_Line (Indenting_Comment),
Offset => Current_Indent_Offset (Data, Paren_Tok, abs
Ada_Indent_Renames),
Accumulate => True);
- end if;
- end;
+ end;
+ end if;
else
return Indent_Anchored_2
(Data,
@@ -797,8 +831,8 @@ package body Wisi.Ada is
function Ada_Indent_Return_0
(Data : in out Wisi.Parse_Data_Type'Class;
Tree : in Syntax_Trees.Tree;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
- Tree_Indenting : in Syntax_Trees.Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array;
+ Tree_Indenting : in Valid_Node_Index;
Indenting_Comment : in Boolean;
Args : in Wisi.Indent_Arg_Arrays.Vector)
return Wisi.Delta_Type
@@ -812,15 +846,15 @@ package body Wisi.Ada is
-- 'parameter_and_result_profile'. The indent depends on whether the
-- 'formal_part' is present, and the location of 'FUNCTION'.
- Parameter_And_Result_Profile : constant Syntax_Trees.Valid_Node_Index :=
Tree.Parent (Tree_Indenting);
+ Parameter_And_Result_Profile : constant Valid_Node_Index := Tree.Parent
(Tree_Indenting);
- Indenting : constant Aug_Token_Ref := Get_Aug_Token (Data, Tree,
Tree_Indenting);
+ Indenting : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1 (Tree,
Tree_Indenting);
begin
if Indenting.Line = Indenting.First_Indent_Line then
if Ada_Indent_Return <= 0 then
declare
- Anchor_Token : constant Aug_Token_Ref := Get_Aug_Token
- (Data, Tree, Tokens (Positive_Index_Type (Integer'(Args
(1)))));
+ Anchor_Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
+ (Tree, Tokens (Positive_Index_Type (Integer'(Args (1)))));
begin
return Indent_Anchored_2
(Data,
@@ -831,9 +865,9 @@ package body Wisi.Ada is
end;
else
declare
- Function_N : constant Syntax_Trees.Valid_Node_Index :=
Tree.Find_Sibling
+ Function_N : constant Valid_Node_Index := Tree.Find_Sibling
(Parameter_And_Result_Profile, +FUNCTION_ID);
- Anchor_Token : constant Aug_Token_Ref := Get_Aug_Token (Data,
Tree, Function_N);
+ Anchor_Token : Aug_Token_Const_Ref renames
Get_Aug_Token_Const_1 (Tree, Function_N);
begin
return Indent_Anchored_2
(Data,
@@ -852,26 +886,27 @@ package body Wisi.Ada is
function Ada_Indent_Record_0
(Data : in out Wisi.Parse_Data_Type'Class;
Tree : in Syntax_Trees.Tree;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
- Tree_Indenting : in Syntax_Trees.Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array;
+ Tree_Indenting : in Valid_Node_Index;
Indenting_Comment : in Boolean;
Args : in Wisi.Indent_Arg_Arrays.Vector)
return Wisi.Delta_Type
is begin
return Indent_Record
(Parse_Data_Type (Data),
- Anchor_Token => Get_Aug_Token (Data, Tree, Tokens
(Positive_Index_Type (Integer'(Args (1))))),
- Record_Token => Get_Aug_Token (Data, Tree, Tokens
(Positive_Index_Type (Integer'(Args (2))))),
+ Tree,
+ Anchor_Token => Get_Aug_Token_Const_1 (Tree, Tokens
(Positive_Index_Type (Integer'(Args (1))))),
+ Record_Token => Get_Aug_Token_Const_1 (Tree, Tokens
(Positive_Index_Type (Integer'(Args (2))))),
Offset => Args (3),
- Indenting_Token => Get_Aug_Token (Data, Tree, Tree_Indenting),
+ Indenting_Token => Get_Aug_Token_Const_1 (Tree, Tree_Indenting),
Indenting_Comment => Indenting_Comment);
end Ada_Indent_Record_0;
function Ada_Indent_Record_1
(Data : in out Wisi.Parse_Data_Type'Class;
Tree : in Syntax_Trees.Tree;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
- Tree_Indenting : in Syntax_Trees.Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array;
+ Tree_Indenting : in Valid_Node_Index;
Indenting_Comment : in Boolean;
Args : in Wisi.Indent_Arg_Arrays.Vector)
return Wisi.Delta_Type
@@ -879,50 +914,39 @@ package body Wisi.Ada is
-- We are indenting a token in record_definition or
-- record_representation_clause, or a comment before 'record'.
--
- -- If record_definition, args (1) is the token ID of the anchor (=
- -- TYPE); it appears as a direct child in an ancestor
- -- full_type_declaration.
- --
- -- If record_representation_clause, args (1) is FOR, child of
- -- record_representation_clause.
+ -- Args (1) is the token ID of the anchor. If record_definition, this
+ -- is TYPE; it appears as a direct child in an ancestor
+ -- full_type_declaration. If record_representation_clause, args (1)
+ -- is FOR, child of record_representation_clause.
- use all type WisiToken.Syntax_Trees.Node_Label;
use Ada_Process_Actions;
Anchor : constant Token_ID := Token_ID (Integer'(Args (1)));
- Declaration : constant Syntax_Trees.Valid_Node_Index :=
Tree.Find_Ancestor
+ Declaration : constant Valid_Node_Index := Tree.Find_Ancestor
(Tree_Indenting,
(if To_Token_Enum (Anchor) = TYPE_ID
then +full_type_declaration_ID
else +record_representation_clause_ID));
- Tree_Anchor : constant Syntax_Trees.Valid_Node_Index := Tree.Find_Child
(Declaration, Anchor);
- begin
- if Tree.Label (Tree_Anchor) /= WisiToken.Syntax_Trees.Shared_Terminal
then
- -- Anchor is virtual; Indent_Record would return Null_Delta
- return Null_Delta;
- end if;
+ Tree_Anchor : constant Valid_Node_Index := Tree.Find_Child (Declaration,
Anchor);
- declare
- Anchor_Token : constant Aug_Token_Ref := Get_Aug_Token (Data, Tree,
Tree_Anchor);
-
- -- Args (2) is the index of RECORD (or a nonterminal possibly
- -- starting with RECORD) in Tokens
- Record_Token_Tree_Index : constant Syntax_Trees.Node_Index :=
- Tokens (Positive_Index_Type (Integer'(Args (2))));
- Record_Token : constant Aug_Token_Ref :=
- (case Tree.Label (Record_Token_Tree_Index) is
- when Shared_Terminal | Virtual_Terminal | Virtual_Identifier =>
Get_Aug_Token
- (Data, Tree, Record_Token_Tree_Index),
- when Nonterm => To_Aug_Token_Ref (Data.Terminals
(Tree.Min_Terminal_Index (Record_Token_Tree_Index))));
-
- Indenting_Token : constant Aug_Token_Ref := Get_Aug_Token (Data,
Tree, Tree_Indenting);
- begin
- -- Args (3) is the offset
- return Indent_Record
- (Parse_Data_Type (Data), Anchor_Token, Record_Token,
Indenting_Token, Indenting_Comment, Args (3));
- end;
+ -- Args (2) is the index of RECORD (or a nonterminal possibly
+ -- starting with RECORD) in Tokens
+ Record_Token_Tree_Index : constant Node_Index := Tokens
(Positive_Index_Type (Integer'(Args (2))));
+ begin
+ -- Args (3) is the offset
+ return Indent_Record
+ (Parse_Data_Type (Data),
+ Tree,
+ Anchor_Token => Get_Aug_Token_Const_1 (Tree, Tree_Anchor),
+ Record_Token => Get_Aug_Token_Const_1 (Tree, Tree.First_Terminal
(Record_Token_Tree_Index)),
+ Indenting_Token => Get_Aug_Token_Const_1 (Tree, Tree_Indenting),
+ Indenting_Comment => Indenting_Comment,
+ Offset => Args (3));
end Ada_Indent_Record_1;
end Wisi.Ada;
+-- Local Variables:
+-- ada-case-strict: nil
+-- End:
diff --git a/packages/ada-mode/wisi-ada.ads b/packages/ada-mode/wisi-ada.ads
index 1e2fac8..f02d6bf 100644
--- a/packages/ada-mode/wisi-ada.ads
+++ b/packages/ada-mode/wisi-ada.ads
@@ -70,11 +70,19 @@ package Wisi.Ada is
-- Also do any other initialization that Data needs.
overriding
+ function Insert_After
+ (User_Data : in out Parse_Data_Type;
+ Tree : in WisiToken.Syntax_Trees.Tree'Class;
+ Token : in WisiToken.Valid_Node_Index;
+ Insert_On_Blank_Line : in Boolean)
+ return Boolean;
+
+ overriding
function Indent_Hanging_1
(Data : in out Parse_Data_Type;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
- Tree_Indenting : in WisiToken.Syntax_Trees.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
+ Tree_Indenting : in WisiToken.Valid_Node_Index;
Indenting_Comment : in Boolean;
Delta_1 : in Simple_Indent_Param;
Delta_2 : in Simple_Indent_Param;
@@ -96,8 +104,8 @@ package Wisi.Ada is
function Ada_Indent_Aggregate
(Data : in out Wisi.Parse_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
- Tree_Indenting : in WisiToken.Syntax_Trees.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
+ Tree_Indenting : in WisiToken.Valid_Node_Index;
Indenting_Comment : in Boolean;
Args : in Wisi.Indent_Arg_Arrays.Vector)
return Wisi.Delta_Type;
@@ -106,8 +114,8 @@ package Wisi.Ada is
function Ada_Indent_Renames_0
(Data : in out Wisi.Parse_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
- Tree_Indenting : in WisiToken.Syntax_Trees.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
+ Tree_Indenting : in WisiToken.Valid_Node_Index;
Indenting_Comment : in Boolean;
Args : in Wisi.Indent_Arg_Arrays.Vector)
return Wisi.Delta_Type;
@@ -116,8 +124,8 @@ package Wisi.Ada is
function Ada_Indent_Return_0
(Data : in out Wisi.Parse_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
- Tree_Indenting : in WisiToken.Syntax_Trees.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
+ Tree_Indenting : in WisiToken.Valid_Node_Index;
Indenting_Comment : in Boolean;
Args : in Wisi.Indent_Arg_Arrays.Vector)
return Wisi.Delta_Type;
@@ -126,21 +134,23 @@ package Wisi.Ada is
function Ada_Indent_Record_0
(Data : in out Wisi.Parse_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
- Tree_Indenting : in WisiToken.Syntax_Trees.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
+ Tree_Indenting : in WisiToken.Valid_Node_Index;
Indenting_Comment : in Boolean;
Args : in Wisi.Indent_Arg_Arrays.Vector)
return Wisi.Delta_Type;
-- [1] ada-indent-record
+ -- Args: anchor_token_index, record_token_index, offset
function Ada_Indent_Record_1
(Data : in out Wisi.Parse_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
- Tree_Indenting : in WisiToken.Syntax_Trees.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
+ Tree_Indenting : in WisiToken.Valid_Node_Index;
Indenting_Comment : in Boolean;
Args : in Wisi.Indent_Arg_Arrays.Vector)
return Wisi.Delta_Type;
-- [1] ada-indent-record*
+ -- Args: anchor_token_ID, record_token_index, offset
end Wisi.Ada;
diff --git a/packages/ada-mode/wisitoken-parse-lr-mckenzie_recover-ada.adb
b/packages/ada-mode/wisitoken-parse-lr-mckenzie_recover-ada.adb
index 4658863..406b6c1 100644
--- a/packages/ada-mode/wisitoken-parse-lr-mckenzie_recover-ada.adb
+++ b/packages/ada-mode/wisitoken-parse-lr-mckenzie_recover-ada.adb
@@ -17,7 +17,6 @@
pragma License (Modified_GPL);
-with Ada.Containers;
with Ada.Exceptions;
with Ada_Process_Actions;
with System.Assertions;
@@ -339,7 +338,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Ada is
return;
end if;
- if Syntax_Trees.Invalid_Node_Index = Tree.Find_Child
(Config.Stack.Peek (4).Tree_Index, +EXCEPTION_ID) then
+ if Invalid_Node_Index = Tree.Find_Child (Config.Stack.Peek
(4).Tree_Index, +EXCEPTION_ID) then
-- 'exception' not found; case 1a - assume extra 'end [keyword]
;'; delete it.
declare
use Config_Op_Arrays;
@@ -372,11 +371,18 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Ada is
else +name_opt_ID),
+END_ID));
- if New_Config.Stack.Peek (1).Token.ID =
+handled_sequence_of_statements_ID then
+ if Undo_Reduce_Valid (New_Config.Stack, Tree) and then
+ New_Config.Stack.Peek.Token.ID =
+handled_sequence_of_statements_ID
+ then
Undo_Reduce_Check
(New_Config, Tree,
(+handled_sequence_of_statements_ID,
+sequence_of_statements_opt_ID));
+ else
+ if Trace_McKenzie > Outline then
+ Put ("Language_Fixes unimplemented nonterm for
Missing_Name_Error.", New_Config);
+ end if;
+ raise Bad_Config;
end if;
when package_specification_ID =>
@@ -394,7 +400,9 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Ada is
Push_Back_Check
(New_Config, (+SEMICOLON_ID, +identifier_opt_ID, +LOOP_ID,
+END_ID));
- if New_Config.Stack.Peek (1).Token.ID =
+handled_sequence_of_statements_ID then
+ if Undo_Reduce_Valid (New_Config.Stack, Tree) and then
+ New_Config.Stack.Peek (1).Token.ID =
+handled_sequence_of_statements_ID
+ then
Undo_Reduce_Check
(New_Config, Tree,
(+handled_sequence_of_statements_ID,
@@ -482,195 +490,207 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Ada is
-- 'begin'.
--
-- 2. There is at least one missing 'end' after 'begin'. See
- -- test_mckenzie_recover.adb Extra_Name_3, Block_Match_Names_1. The
- -- solution is to insert 'end ;' before the 'end'.
+ -- test/ada_mode-recover_exception_1.adb. The solution is to insert
+ -- 'end' before the 'end', and let Minimal_Complete finish the block.
--
-- 3. There is an extra 'begin', before the 'begin'. See
-- test/ada_mode-recover_block_name_mismatch.adb
--
- -- There is no reliable way to distinguish between 1 and 2, so we
- -- enqueue both solutions. See test/ada_mode-recover_exception_1.adb
+ -- There is no reliable way to distinguish between the three cases,
so we
+ -- enqueue all solutions.
--
-- If there is more than one missing 'end', a later recover operation
-- will fix the others.
- -- This case can handle Config.Error_Token.Virtual = True, and it
doesn't use
- -- Tree.
+ -- This case can handle Config.Error_Token.Virtual = True, and it
+ -- doesn't use Tree.
+ -- Case 1
declare
- End_Name : constant String := Lexer.Buffer_Text
(End_Name_Token.Name);
-
- Matching_Name_Index : SAL.Peek_Type := 3; -- start search before
<end_name_token>
- Begin_Count : Integer;
+ New_Config : Configuration := Config;
begin
- Find_Matching_Name
- (Config, Lexer, End_Name, Matching_Name_Index,
- Other_ID => +BEGIN_ID, Other_Count => Begin_Count,
Case_Insensitive => True);
-
- if Matching_Name_Index = Config.Stack.Depth then
- -- No matching name found; ignore error is the only fix.
- return;
- end if;
+ New_Config.Error_Token.ID := Invalid_Token_ID;
+ New_Config.Check_Status := (Label => Ok);
- if Begin_Count = 1 then
- -- Case 1 or 2.
- declare
- New_Config : Configuration := Config;
- begin
- New_Config.Error_Token.ID := Invalid_Token_ID;
- New_Config.Check_Status := (Label => Ok);
+ New_Config.Strategy_Counts (Language_Fix) :=
New_Config.Strategy_Counts (Language_Fix) + 1;
- New_Config.Strategy_Counts (Language_Fix) :=
New_Config.Strategy_Counts (Language_Fix) + 1;
+ -- Push_Back the failed reduce tokens.
+ for I in 1 .. New_Config.Check_Token_Count loop
+ if Push_Back_Valid (New_Config) then
+ Push_Back (New_Config);
+ else
+ raise Bad_Config;
+ end if;
+ end loop;
- -- Push_Back the failed reduce tokens.
- for I in 1 .. New_Config.Check_Token_Count loop
- Push_Back (New_Config);
- end loop;
+ Insert (New_Config, +END_ID);
+ -- Let Minimal_Complete_Actions handle (insert ';').
- Insert (New_Config, +END_ID);
- -- Let Minimal_Complete_Actions handle (insert ';').
+ Local_Config_Heap.Add (New_Config);
- Local_Config_Heap.Add (New_Config);
+ if Trace_McKenzie > Detail then
+ Put ("Language_Fixes Extra_Name_Error 1 " & Image
(Config.Error_Token.ID, Descriptor), New_Config);
+ end if;
- if Trace_McKenzie > Detail then
- Put ("Language_Fixes Extra_Name_Error 1 " & Image
(Config.Error_Token.ID, Descriptor), New_Config);
- end if;
+ exception
+ when Bad_Config =>
+ null;
+ end;
- exception
- when Bad_Config =>
- null;
- end;
+ -- Case 2
+ declare
+ New_Config : Configuration := Config;
+ begin
+ New_Config.Error_Token.ID := Invalid_Token_ID;
+ New_Config.Check_Status := (Label => Ok);
- -- Case 2
- declare
- New_Config : Configuration := Config;
- begin
- New_Config.Error_Token.ID := Invalid_Token_ID;
- New_Config.Check_Status := (Label => Ok);
+ New_Config.Strategy_Counts (Language_Fix) :=
New_Config.Strategy_Counts (Language_Fix) + 1;
- New_Config.Strategy_Counts (Language_Fix) :=
New_Config.Strategy_Counts (Language_Fix) + 1;
+ case Ada_Process_Actions.Token_Enum_ID'(-Config.Error_Token.ID) is
+ when block_statement_ID =>
+ -- There is almost always an open block of some sort; not worth
+ -- checking.
+ Push_Back_Check (New_Config, (+SEMICOLON_ID,
+identifier_opt_ID, +END_ID));
- case
Ada_Process_Actions.Token_Enum_ID'(-Config.Error_Token.ID) is
- when block_statement_ID =>
- -- There is almost always an open block of some sort;
not worth
- -- checking.
- Push_Back_Check (New_Config, (+SEMICOLON_ID,
+identifier_opt_ID, +END_ID));
+ when loop_statement_ID =>
+ Push_Back_Check
+ (New_Config, (+SEMICOLON_ID, +identifier_opt_ID, +LOOP_ID,
+END_ID));
- when loop_statement_ID =>
- Push_Back_Check
- (New_Config, (+SEMICOLON_ID, +identifier_opt_ID,
+LOOP_ID, +END_ID));
+ when others =>
+ if Trace_McKenzie > Outline then
+ Put ("Language_Fixes Extra_Name_Error 2: unrecognized
Error_Token", Config);
+ end if;
+ raise Bad_Config;
+ end case;
- when others =>
- if Trace_McKenzie > Outline then
- Put ("Language_Fixes Extra_Name_Error 2: unrecognized
Error_Token", Config);
- end if;
- raise Bad_Config;
- end case;
+ -- Let Minimal_Complete_Actions finish insert
+ Insert (New_Config, +END_ID);
- -- Let Minimal_Complete_Actions finish insert
- Insert (New_Config, +END_ID);
+ Local_Config_Heap.Add (New_Config);
- Local_Config_Heap.Add (New_Config);
+ if Trace_McKenzie > Detail then
+ Put ("Language_Fixes Extra_Name_Error 2 " & Image
(Config.Error_Token.ID, Descriptor), New_Config);
+ end if;
+ exception
+ when Bad_Config =>
+ null;
+ end;
- if Trace_McKenzie > Detail then
- Put ("Language_Fixes Extra_Name_Error 2 " & Image
(Config.Error_Token.ID, Descriptor), New_Config);
- end if;
- exception
- when Bad_Config =>
- null;
- end;
+ -- Case 3. Delete the extra begin
+ --
+ -- If the first begin was inserted by recovery; we actually want to
+ -- delete the second begin. see test/ada_mode-recover_indent_4.adb
+ declare
+ New_Config : Configuration := Config;
+ I : SAL.Peek_Type := 1;
+ First_Begin_I : SAL.Peek_Type;
+ Second_Begin_I : SAL.Peek_Type;
+ begin
+ loop
+ if New_Config.Stack.Peek (I).Token.ID = +BEGIN_ID then
+ Second_Begin_I := I;
+ exit;
+ end if;
+ I := I + 1;
+ if I >= New_Config.Stack.Depth then
+ raise Bad_Config;
+ end if;
+ end loop;
- else
- -- Case 3. Delete the extra begin
- --
- -- If the first begin was inserted by recovery; we actually
want to
- -- delete the second begin. see
test/ada_mode-recover_indent_4.adb
- declare
- New_Config : Configuration := Config;
- I : SAL.Peek_Type := 1;
- First_Begin_I : SAL.Peek_Type;
- Second_Begin_I : SAL.Peek_Type;
- begin
- loop
- if New_Config.Stack.Peek (I).Token.ID = +BEGIN_ID then
- Second_Begin_I := I;
- exit;
- end if;
- I := I + 1;
- end loop;
-
- loop
- I := I + 1;
- if New_Config.Stack.Peek (I).Token.ID = +BEGIN_ID then
- First_Begin_I := I;
- exit;
- end if;
- end loop;
+ loop
+ I := I + 1;
+ if I >= New_Config.Stack.Depth then
+ raise Bad_Config;
+ end if;
+ if New_Config.Stack.Peek (I).Token.ID = +BEGIN_ID then
+ First_Begin_I := I;
+ exit;
+ end if;
+ end loop;
- if New_Config.Stack.Peek (First_Begin_I).Token.Virtual then
- if New_Config.Stack.Peek (Second_Begin_I).Token.Virtual
then
- -- nothing we can do.
- return;
- end if;
+ if New_Config.Stack.Peek (First_Begin_I).Token.Virtual then
+ if New_Config.Stack.Peek (Second_Begin_I).Token.Virtual then
+ -- nothing we can do.
+ return;
+ end if;
- -- Delete the second begin
- for I in 1 .. Second_Begin_I loop
- Push_Back (New_Config);
- end loop;
- pragma Assert (New_Config.Stack.Peek.Token.ID =
+block_label_opt_ID);
-
- if New_Config.Stack.Peek.Token.Byte_Region =
Null_Buffer_Region then
- -- block label is empty
- Push_Back (New_Config);
- Delete_Check (Terminals, New_Config, +BEGIN_ID);
- else
- Push_Back (New_Config);
-
- declare
- Index : WisiToken.Token_Index :=
New_Config.Current_Shared_Token;
- begin
- Delete_Check (Terminals, New_Config, Index,
+IDENTIFIER_ID);
- Delete_Check (Terminals, New_Config, Index,
+COLON_ID);
- Delete_Check (Terminals, New_Config, Index,
+BEGIN_ID);
- end;
- end if;
+ -- Delete the second begin
+ for I in 1 .. Second_Begin_I loop
+ if Push_Back_Valid (New_Config) then
+ Push_Back (New_Config);
+ else
+ raise Bad_Config;
+ end if;
+ end loop;
+ pragma Assert (New_Config.Stack.Peek.Token.ID =
+block_label_opt_ID);
+
+ if New_Config.Stack.Peek.Token.Byte_Region = Null_Buffer_Region
then
+ -- block label is empty
+ Push_Back (New_Config);
+ Delete_Check (Terminals, New_Config, +BEGIN_ID);
+ else
+ Push_Back (New_Config);
+
+ declare
+ Index : WisiToken.Token_Index :=
New_Config.Current_Shared_Token;
+ begin
+ Delete_Check (Terminals, New_Config, Index,
+IDENTIFIER_ID);
+ Delete_Check (Terminals, New_Config, Index, +COLON_ID);
+ Delete_Check (Terminals, New_Config, Index, +BEGIN_ID);
+ end;
+ end if;
- if Undo_Reduce_Valid (New_Config.Stack, Tree) then
- Undo_Reduce_Check (New_Config, Tree,
+sequence_of_statements_ID);
- else
- Push_Back_Check (New_Config,
+sequence_of_statements_ID);
- end if;
- Local_Config_Heap.Add (New_Config);
+ if Undo_Reduce_Valid (New_Config.Stack, Tree) then
+ Undo_Reduce_Check (New_Config, Tree,
+sequence_of_statements_ID);
+ else
+ Push_Back_Check (New_Config, +sequence_of_statements_ID);
+ end if;
+ Local_Config_Heap.Add (New_Config);
- if Trace_McKenzie > Detail then
- Put ("Language_Fixes Extra_Name_Error 3a " &
- Image (Config.Error_Token.ID, Descriptor),
New_Config);
- end if;
+ if Trace_McKenzie > Detail then
+ Put ("Language_Fixes Extra_Name_Error 3a " &
+ Image (Config.Error_Token.ID, Descriptor),
New_Config);
+ end if;
+ else
+ -- Delete the first begin. We assume it is in a subprogram
body, so
+ -- we don't need to adjust anything else.
+ for I in 1 .. First_Begin_I loop
+ if Push_Back_Valid (New_Config) then
+ Push_Back (New_Config);
else
- -- Delete the first begin. We assume it is in a
subprogram body, so
- -- we don't need to adjust anything else.
- for I in 1 .. First_Begin_I loop
- Push_Back (New_Config);
- end loop;
+ -- Probably trying to push back thru an earlier error
recovery; see
+ -- test/ada_mode-recover_10.adb
+ raise Bad_Config;
+ end if;
+ end loop;
- Delete_Check (Terminals, New_Config, +BEGIN_ID);
- Local_Config_Heap.Add (New_Config);
+ Delete_Check (Terminals, New_Config, +BEGIN_ID);
+ Local_Config_Heap.Add (New_Config);
- if Trace_McKenzie > Detail then
- Put ("Language_Fixes Extra_Name_Error 3b " &
- Image (Config.Error_Token.ID, Descriptor),
New_Config);
- end if;
- end if;
- end;
+ if Trace_McKenzie > Detail then
+ Put ("Language_Fixes Extra_Name_Error 3b " &
+ Image (Config.Error_Token.ID, Descriptor),
New_Config);
+ end if;
end if;
+ exception
+ when Bad_Config =>
+ null;
+
end;
end case;
exception
when Bad_Config =>
null;
- when System.Assertions.Assert_Failure =>
- if Trace_McKenzie > Outline then
+ when E : System.Assertions.Assert_Failure =>
+ if Debug_Mode then
+ Trace.Put
+ ("Language_Fixes Handle_Check_Fail assert fail: " &
+ Standard.Ada.Exceptions.Exception_Message (E),
+ Prefix => True);
+ Trace.New_Line;
+ raise;
+ elsif Trace_McKenzie > Outline then
Trace.Put_Line ("Language_Fixes Handle_Check_Fail Assert fail");
end if;
end Handle_Check_Fail;
@@ -687,67 +707,221 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Ada is
with Pre => Config.Check_Status.Label = Ok
is
use Config_Op_Arrays;
- use Sorted_Insert_Delete_Arrays, Insert_Delete_Array_Refs;
- use all type Standard.Ada.Containers.Count_Type;
procedure Put (Message : in String; Config : in Configuration)
is begin
Put (Message, Trace, Parser_Label, Terminals, Config);
end Put;
begin
- if Config.Error_Token.ID = +COLON_ID and
- Config.Stack.Peek.Token.ID = +IDENTIFIER_ID
+ if (Config.Error_Token.ID = +COLON_ID and
+ Config.Stack.Peek.Token.ID = +IDENTIFIER_ID) and then
+ Push_Back_Valid (Config)
then
-- Code looks like:
--
- -- begin ... <variable_identifier> : [aliased constant]
<subtype_indication> ...
- --
- -- compare to "missing begin"/"extra begin" case below.
+ -- ... <variable_identifier> : [aliased constant]
<subtype_indication> := <expression> ...
--
-- Assume the user copied a declaration with an initializer, and is
- -- converting it to a subprogram parameter; see
- -- ada_mode-recover_02.adb). Delete the ': [aliased constant]
- -- <subtype_indication>'.
+ -- converting it to an expression; see ada_mode-recover_02.adb,
+ -- test/ada_mode-recover_constant_as_expression_1.adb. Delete
+ -- '<variable_identifier> : [aliased constant] <subtype_indication>
+ -- :='.
+ --
+ -- We cannot reliably search ahead in the unparsed tokens for ':=";
+ -- <subtype_indication> can include a constraint with an arbitrarily
+ -- complex expression. So we only handle the common case where the
+ -- <subtype_indication> is a simple identifier or selected_component.
+ --
+ -- Note that if the user was converting to an assignment, there would
+ -- not be a partial statement in progress before the <variable
+ -- identifier>, and the error would be on 'constant', not ':'.
--
- -- Note that if the user was converting to an assignment, the error
- -- would be on 'constant', not ':'.
+ -- compare to "decl as statement"/"missing end"/"extra begin" case
below.
- if Length (Config.Insert_Delete) > 0 and then
- Token_Index (Constant_Ref (Config.Insert_Delete, Last_Index
(Config.Insert_Delete))) >=
- Config.Current_Shared_Token
- then
- -- Can't delete tokens from here
- return;
- end if;
+ declare
+ New_Config : Configuration := Config;
+ I : WisiToken.Token_Index;
+ begin
+ Push_Back_Check (New_Config, +IDENTIFIER_ID);
+
+ I := New_Config.Current_Shared_Token;
+ Delete_Check (Terminals, New_Config, I, +IDENTIFIER_ID);
+ Delete_Check (Terminals, New_Config, I, +COLON_ID);
+ if Terminals (I).ID = +ALIASED_ID then
+ Delete_Check (Terminals, New_Config, I, +ALIASED_ID);
+ end if;
+ if Terminals (I).ID = +CONSTANT_ID then
+ Delete_Check (Terminals, New_Config, I, +CONSTANT_ID);
+ end if;
+ if Terminals (I).ID = +NOT_ID then
+ Delete_Check (Terminals, New_Config, I, +NOT_ID);
+ end if;
+ if Terminals (I).ID = +NULL_ID then
+ Delete_Check (Terminals, New_Config, I, +NULL_ID);
+ end if;
+
+ -- look for ':='
+ loop
+ exit when I = Terminals.Last_Index; -- last is EOI
+ case To_Token_Enum (Terminals (I).ID) is
+ when IDENTIFIER_ID =>
+ Delete_Check (Terminals, New_Config, I, +IDENTIFIER_ID);
+ when DOT_ID =>
+ Delete_Check (Terminals, New_Config, I, +DOT_ID);
+
+ when COLON_EQUAL_ID =>
+ Delete_Check (Terminals, New_Config, I, +COLON_EQUAL_ID);
+ exit;
+
+ when others =>
+ raise Bad_Config;
+
+ end case;
+ end loop;
+
+ New_Config.Cost := New_Config.Cost + 1;
+ New_Config.Strategy_Counts (Language_Fix) :=
New_Config.Strategy_Counts (Language_Fix) + 1;
+ Local_Config_Heap.Add (New_Config);
+ if Trace_McKenzie > Detail then
+ Put ("Language_Fixes variable decl as expression", New_Config);
+ end if;
+ exception
+ when Bad_Config =>
+ null;
+ end;
+
+ elsif (To_Token_Enum (Config.Error_Token.ID) in ALIASED_ID | CONSTANT_ID
| IDENTIFIER_ID and
+ Config.Stack.Peek.Token.ID = +COLON_ID) and then
+ Push_Back_Valid (Config)
+ then
+ -- Code looks like:
+ --
+ -- <statement> <variable_identifier> : [aliased constant]
<subtype_indication> <expression> ...
+ --
+ -- The variable_name looks like a block_label. compare to "variable
decl as
+ -- param" case above.
+ --
+ -- 1) This is a copied variable declaration that the user is
converting
+ -- to an assignment. See
+ -- test/ada_mode-recover_constant_as_statement_1.adb. Delete
+ -- ': [aliased constant] <subtype_indication>'
+ --
+ -- We cannot reliably search ahead in the unparsed tokens for ':=";
+ -- <subtype_indication> can include a constraint with an arbitrarily
+ -- complex expression. So we only handle the common case where the
+ -- <subtype_indication> is a simple identifier or selected_component.
+ --
+ -- 2) There is a missing 'end;' before <variable_name>. See
+ -- test/ada_mode-recover_25.adb. Push_Back + Minimal_Complete also
+ -- handles this case, but we enqueue the same solution here at lower
+ -- cost, so it can compete with the solution for cases 1 and 3.
+ --
+ -- 3) There is an extra 'begin' before the <variable_name>. See
+ -- test/ada_mode-recover_27.adb. Delete the 'begin'.
+
+ -- case 1
declare
New_Config : Configuration := Config;
- Delete_Index : WisiToken.Token_Index :=
Config.Current_Shared_Token;
+ I : WisiToken.Token_Index;
begin
- Delete_Check (Terminals, New_Config, Delete_Index, +COLON_ID);
- if Terminals (Delete_Index).ID = +ALIASED_ID then
- Delete_Check (Terminals, New_Config, Delete_Index, +ALIASED_ID);
+ Push_Back_Check (New_Config, +COLON_ID);
+ I := New_Config.Current_Shared_Token;
+ Delete_Check (Terminals, New_Config, I, +COLON_ID);
+ if Terminals (I).ID = +ALIASED_ID then
+ Delete_Check (Terminals, New_Config, I, +ALIASED_ID);
end if;
- if Terminals (Delete_Index).ID = +CONSTANT_ID then
- Delete_Check (Terminals, New_Config, Delete_Index,
+CONSTANT_ID);
+ if Terminals (I).ID = +CONSTANT_ID then
+ Delete_Check (Terminals, New_Config, I, +CONSTANT_ID);
end if;
- if Terminals (Delete_Index).ID = +NOT_ID then
- Delete_Check (Terminals, New_Config, Delete_Index, +NOT_ID);
+ if Terminals (I).ID = +NOT_ID then
+ Delete_Check (Terminals, New_Config, I, +NOT_ID);
end if;
- if Terminals (Delete_Index).ID = +NULL_ID then
- Delete_Check (Terminals, New_Config, Delete_Index, +NULL_ID);
+ if Terminals (I).ID = +NULL_ID then
+ Delete_Check (Terminals, New_Config, I, +NULL_ID);
end if;
- if Terminals (Delete_Index).ID = +IDENTIFIER_ID then
- Delete_Check (Terminals, New_Config, Delete_Index,
+IDENTIFIER_ID);
- -- There might be more to the subtype_indication; we'll let
explore sort that out.
- Local_Config_Heap.Add (New_Config);
- if Trace_McKenzie > Detail then
- Put ("Language_Fixes variable decl as param", New_Config);
- end if;
- else
- -- Something else is going on, abandon this
- return;
+ -- look for and keep ':='
+ loop
+ exit when I = Terminals.Last_Index; -- last is EOI
+ case To_Token_Enum (Terminals (I).ID) is
+ when IDENTIFIER_ID =>
+ Delete_Check (Terminals, New_Config, I, +IDENTIFIER_ID);
+
+ when DOT_ID =>
+ Delete_Check (Terminals, New_Config, I, +DOT_ID);
+
+ when COLON_EQUAL_ID =>
+ exit;
+
+ when others =>
+ raise Bad_Config;
+
+ end case;
+ end loop;
+
+ New_Config.Cost := New_Config.Cost + 1;
+ New_Config.Strategy_Counts (Language_Fix) :=
New_Config.Strategy_Counts (Language_Fix) + 1;
+ Local_Config_Heap.Add (New_Config);
+ if Trace_McKenzie > Detail then
+ Put ("Language_Fixes variable decl as statement", New_Config);
+ end if;
+ exception
+ when Bad_Config =>
+ null;
+ end;
+
+ declare
+ New_Config_1 : Configuration := Config;
+ begin
+ -- Case 2
+ Push_Back_Check (New_Config_1, (+COLON_ID, +IDENTIFIER_ID));
+
+ -- maybe case 3.
+ if -New_Config_1.Stack.Peek.Token.ID = BEGIN_ID and
Push_Back_Valid (New_Config_1) then
+ declare
+ New_Config_2 : Configuration := New_Config_1;
+ begin
+ Push_Back_Check (New_Config_2, +BEGIN_ID);
+ if Undo_Reduce_Valid (New_Config_2.Stack, Tree) and then
+ -New_Config_2.Stack.Peek.Token.ID in
declarative_part_opt_ID | block_label_opt_ID
+ then
+ Undo_Reduce_Check (New_Config_2, Tree,
New_Config_2.Stack.Peek.Token.ID);
+ else
+ if Trace_McKenzie > Detail then
+ Put ("Language_Fixes extra begin 1 unimplemented
case", New_Config_2);
+ end if;
+ raise Bad_Config;
+ end if;
+ Delete_Check (Terminals, New_Config_2, +BEGIN_ID);
+
+ -- This is a guess, so add a cost, equal to case 1, 2.
+ New_Config_2.Cost := New_Config_2.Cost + 1;
+ New_Config_2.Strategy_Counts (Language_Fix) :=
New_Config_2.Strategy_Counts (Language_Fix) + 1;
+ Local_Config_Heap.Add (New_Config_2);
+
+ if Trace_McKenzie > Detail then
+ Put ("Language_Fixes extra begin 1", New_Config_2);
+ end if;
+ exception
+ when Bad_Config =>
+ null;
+ end;
+ end if;
+
+ Insert (New_Config_1, +END_ID);
+
+ Insert (New_Config_1, +SEMICOLON_ID);
+ -- If we don't insert the ';' here, <variable_name> looks like a
+ -- block end name.
+
+ -- This is a guess, so add a cost, equal to case 1.
+ New_Config_1.Cost := New_Config_1.Cost + 1;
+ New_Config_1.Strategy_Counts (Language_Fix) :=
New_Config_1.Strategy_Counts (Language_Fix) + 1;
+ Local_Config_Heap.Add (New_Config_1);
+
+ if Trace_McKenzie > Detail then
+ Put ("Language_Fixes missing end 1", New_Config_1);
end if;
end;
@@ -770,7 +944,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Ada is
-- 'begin's, so parsing expects <end_name_token_1> to match the
-- second 'begin', which looks like an unnamed block. See
-- test_mckenzie_recover Match_Selected_Component_1. 'declare ...'
- -- may _not_ be present on the second begin. The solution is to
+ -- is _not_ present on the second begin. The solution is to
-- insert 'end ;' before the second 'begin'.
--
-- Case 2) is missing 'end;' after the second 'begin'. See
@@ -788,60 +962,77 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Ada is
declare
Label : constant String := "selected_component 1";
New_Config_1 : Configuration := Config;
- New_Config_2 : Configuration;
begin
New_Config_1.Error_Token.ID := Invalid_Token_ID;
New_Config_1.Strategy_Counts (Language_Fix) :=
New_Config_1.Strategy_Counts (Language_Fix) + 1;
Push_Back_Check (New_Config_1, (+IDENTIFIER_ID, +END_ID));
- if New_Config_1.Stack.Peek (1).Token.ID =
+handled_sequence_of_statements_ID then
- Undo_Reduce_Check
- (New_Config_1, Tree,
- (+handled_sequence_of_statements_ID,
- +sequence_of_statements_opt_ID));
- end if;
case To_Token_Enum (New_Config_1.Stack.Peek (3).Token.ID) is
when block_label_opt_ID =>
- -- no 'declare'; either case 1 or 2
-
- New_Config_2 := New_Config_1;
- New_Config_2.Strategy_Counts (Language_Fix) :=
New_Config_2.Strategy_Counts (Language_Fix) + 1;
+ -- no 'declare'; either case 1 or 2, so enqueue both
- Insert (New_Config_2, +END_ID);
- -- Let Minimal_Complete_Actions finish insert.
+ declare
+ New_Config_2 : Configuration := New_Config_1;
+ begin
+ case To_Token_Enum (New_Config_2.Stack.Peek.Token.ID) is
+ when handled_sequence_of_statements_ID =>
+ Push_Back_Check
+ (New_Config_2,
+ (+handled_sequence_of_statements_ID, +BEGIN_ID,
+block_label_opt_ID));
- Push_Back_Check
- (New_Config_1,
- (+handled_sequence_of_statements_ID, +BEGIN_ID,
+block_label_opt_ID));
+ when sequence_of_statements_ID =>
+ -- see test/ada_mode-recover_partial_24.adb
+ Push_Back_Check
+ (New_Config_2,
+ (+sequence_of_statements_ID, +BEGIN_ID,
+block_label_opt_ID));
+
+ when others =>
+ if Trace_McKenzie > Outline then
+ Put ("Language_Fixes " & Label & " missing case 1 "
& Image
+ (New_Config_2.Stack.Peek.Token.ID,
Descriptor), Config);
+ end if;
+ raise Bad_Config;
+ end case;
+
+ Insert (New_Config_2, +END_ID);
+ -- for case 1; let Minimal_Complete_Actions finish
insert.
+
+ Local_Config_Heap.Add (New_Config_2);
+ if Length (New_Config_2.Ops) > 0 then
+ Put ("Language_Fixes " & Label, New_Config_2);
+ end if;
+ exception
+ when Bad_Config =>
+ -- We don't check Debug_Mode here, because the failure
is probably
+ -- due to pushing back a virtual token, which is not a
programming
+ -- error.
+ null;
+ end;
Insert (New_Config_1, +END_ID);
- -- Let Minimal_Complete_Actions finish insert.
+ -- for case 2; let Minimal_Complete_Actions finish insert.
Local_Config_Heap.Add (New_Config_1);
- Local_Config_Heap.Add (New_Config_2);
when declarative_part_opt_ID =>
- -- case 2
+ -- 'declare' is present; case 2
Insert (New_Config_1, +END_ID);
Local_Config_Heap.Add (New_Config_1);
when others =>
if Trace_McKenzie > Outline then
- Put ("Language_Fixes " & Label & " missing case " & Image
+ Put ("Language_Fixes " & Label & " missing case 2 " &
Image
(New_Config_1.Stack.Peek (3).Token.ID,
Descriptor), Config);
Trace.Put_Line ("... new_config stack: " & Image
(New_Config_1.Stack, Descriptor));
end if;
- return;
+ raise Bad_Config;
end case;
if Trace_McKenzie > Detail then
Put ("Language_Fixes " & Label, New_Config_1);
- if Length (New_Config_2.Ops) > 0 then
- Put ("Language_Fixes " & Label, New_Config_2);
- end if;
end if;
exception
when Bad_Config =>
@@ -853,7 +1044,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Ada is
Config.Stack.Peek.Token.ID = +END_ID
then
-- We've encountered an identifier after 'end' when expecting a
- -- keyword. See test/ada_mode-recover_26.adb.
+ -- keyword. See test/ada_mode-recover_26.adb,
test/ada_mode-recover_20.adb.
--
-- If a matching 'begin name' is found on the stack, the input looks
like:
--
@@ -863,12 +1054,32 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Ada is
-- 'end'. We can get the ID to insert from Parse_Table
-- Minimal_Complete_Actions.
--
- -- Minimal_Complete_Actions does not handle this case well; it
- -- ignores the name.
+ -- When searching for the matching name, we must allow name to be a
+ -- selected_component; see test/ada_mode-recover_20.adb.
+ --
+ -- Minimal_Complete_Actions can handle this case, but it inserts
+ -- '<compound_statement_id> ; end' instead. We want to insert 'end
+ -- <id> ;' before the existing 'end', so Insert_After places the
+ -- tokens better; see test/ada_mode-recover_20.adb.
declare
+ function Get_End_Name return String
+ is
+ use Standard.Ada.Strings.Unbounded;
+ Result : Unbounded_String := +Lexer.Buffer_Text
(Config.Error_Token.Byte_Region);
+ I : WisiToken.Token_Index :=
Config.Error_Token.Min_Terminal_Index + 1;
+ begin
+ loop
+ exit when I > Terminals.Last_Index;
+ exit when -Terminals (I).ID not in IDENTIFIER_ID | DOT_ID;
+ Result := Result & Lexer.Buffer_Text (Terminals
(I).Byte_Region);
+ I := I + 1;
+ end loop;
+ return -Result;
+ end Get_End_Name;
+
End_ID_Actions : constant Minimal_Action_Arrays.Vector :=
Parse_Table.States
(Config.Stack.Peek.State).Minimal_Complete_Actions;
- End_Name : constant String := Lexer.Buffer_Text
(Config.Error_Token.Byte_Region);
+ End_Name : constant String := Get_End_Name;
Matching_Name_Index : SAL.Peek_Type := 2; -- start search before
'end'
begin
@@ -903,65 +1114,44 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Ada is
end if;
end;
- elsif To_Token_Enum (Config.Error_Token.ID) in CONSTANT_ID |
IDENTIFIER_ID and
- Config.Stack.Peek.Token.ID = +COLON_ID
+ elsif To_Token_Enum (Config.Error_Token.ID) in PRAGMA_ID | USE_ID and
+ Config.Stack.Peek.Token.ID = +BEGIN_ID
then
-- Code looks like:
--
- -- ... <subprogram|package start> begin ... <variable_name> :
[constant] <type_name>;
- --
- -- The variable_name looks like a block_label. compare to "variable
decl as
- -- param" case above.
- --
- -- 1) There is a missing 'end;' before the <variable_name>. See
- -- test/ada_mode-recover_25.adb. Minimal_Complete now handles this
- -- case, but we enqueue the same solution here at lower cost, so it
- -- can compete with the solution for case 2..
+ -- a) <subprogram|package start> is ... begin use <name>;
+ -- b) <subprogram|package start> is ... begin pragma ...
--
- -- 2) There is an extra 'begin' before the <variable_name>. See
- -- test/ada_mode-recover_27.adb.
- --
- -- FIXME: if there is a sequence_of_statements between the 'begin'
- -- and the error point, or declarations before the 'begin', this is
- -- either a copied variable declaration that the user is converting
- -- to an assignment (solution: delete ': type'), or a subprogram
- -- begin split in two (solution: insert 'declare' or 'end; procedure
- -- name'). Need test cases.
-
- declare
- New_Config_1 : Configuration := Config;
- New_Config_2 : Configuration;
- begin
- New_Config_1.Strategy_Counts (Language_Fix) :=
New_Config_1.Strategy_Counts (Language_Fix) + 1;
-
- Push_Back_Check (New_Config_1, (+COLON_ID, +IDENTIFIER_ID));
- New_Config_2 := New_Config_1;
+ -- There is an extra 'begin' before 'use' or 'pragma'. See
+ -- test/ada_mode-recover_14.adb. Delete the 'begin'.
- Insert (New_Config_1, +END_ID);
- -- Let Minimal_Complete finish insert; that will add cost, so no
cost here.
- Local_Config_Heap.Add (New_Config_1);
+ if Push_Back_Valid (Config) then
+ declare
+ New_Config : Configuration := Config;
+ begin
+ New_Config.Strategy_Counts (Language_Fix) :=
New_Config.Strategy_Counts (Language_Fix) + 1;
- if Trace_McKenzie > Detail then
- Put ("Language_Fixes missing begin", New_Config_1);
- end if;
+ Push_Back_Check (New_Config, +BEGIN_ID);
- -- Case 2.
- Push_Back_Check (New_Config_2, +BEGIN_ID);
- if Undo_Reduce_Valid (New_Config_2.Stack, Tree) then
- Undo_Reduce_Check (New_Config_2, Tree,
+declarative_part_opt_ID);
- else
- return;
- end if;
- Delete_Check (Terminals, New_Config_2, +BEGIN_ID);
+ if Undo_Reduce_Valid (New_Config.Stack, Tree) and then
+ -New_Config.Stack.Peek.Token.ID in declarative_part_opt_ID |
block_label_opt_ID
+ then
+ Undo_Reduce_Check (New_Config, Tree,
New_Config.Stack.Peek.Token.ID);
+ else
+ if Trace_McKenzie > Detail then
+ Put ("Language_Fixes extra begin 2 unimplemented case",
New_Config);
+ end if;
+ raise Bad_Config;
+ end if;
+ Delete_Check (Terminals, New_Config, +BEGIN_ID);
- -- This is a guess, so add a cost.
- New_Config_2.Cost := New_Config_2.Cost + 1;
- Local_Config_Heap.Add (New_Config_2);
+ Local_Config_Heap.Add (New_Config);
- if Trace_McKenzie > Detail then
- Put ("Language_Fixes extra begin", New_Config_2);
- end if;
- end;
+ if Trace_McKenzie > Detail then
+ Put ("Language_Fixes extra begin 2", New_Config);
+ end if;
+ end;
+ end if;
elsif Config.Error_Token.ID = +OR_ID and then
Config.Stack.Peek.Token.ID = +expression_opt_ID
@@ -982,7 +1172,12 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Ada is
begin
New_Config.Strategy_Counts (Language_Fix) :=
New_Config.Strategy_Counts (Language_Fix) + 1;
- Push_Back_Check (New_Config, +expression_opt_ID);
+ if Push_Back_Valid (New_Config) then
+ Push_Back_Check (New_Config, +expression_opt_ID);
+ else
+ raise Bad_Config;
+ end if;
+
Insert (New_Config, +LEFT_PAREN_ID);
-- Minimal_Complete will add the matching right paren.
@@ -992,8 +1187,11 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Ada is
end if;
end;
- elsif Config.Error_Token.ID = +TICK_1_ID then
+ elsif Config.Error_Token.ID = +TICK_1_ID and Config.Error_Token.Virtual
= False then
-- Editing "Put ('|');" => "Put ('|-');"; need to change ' to ".
+ --
+ -- We can get here with Virtual = False if this Error_Token comes
+ -- from McKenzie_Recover.Parse.Parse rather than the main parser.
declare
New_Config : Configuration := Config;
@@ -1029,8 +1227,15 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Ada is
when Bad_Config =>
null;
- when System.Assertions.Assert_Failure =>
- if Trace_McKenzie > Outline then
+ when E : System.Assertions.Assert_Failure =>
+ if Debug_Mode then
+ Trace.Put
+ ("Language_Fixes Handle_Parse_Error assert fail: " &
+ Standard.Ada.Exceptions.Exception_Message (E),
+ Prefix => True);
+ Trace.New_Line;
+ raise;
+ elsif Trace_McKenzie > Outline then
Trace.Put_Line ("Language_Fixes Handle_Parse_Error assert fail");
end if;
end Handle_Parse_Error;
@@ -1102,29 +1307,24 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Ada is
end Matching_Begin_For_End;
begin
- if Config.Stack.Depth > 0 and then Config.Stack.Peek.Token.ID = +END_ID
then
- Matching_Tokens := Matching_Begin_For_End (1);
-
- else
- case To_Token_Enum (Tokens (1)) is
- when END_ID =>
- Matching_Tokens := Matching_Begin_For_End (2);
+ case To_Token_Enum (Tokens (1)) is
+ when END_ID =>
+ Matching_Tokens := Matching_Begin_For_End (2);
- when ELSE_ID | ELSIF_ID | THEN_ID =>
- Matching_Tokens := To_Vector (+IF_ID);
+ when ELSE_ID | ELSIF_ID | THEN_ID =>
+ Matching_Tokens := To_Vector (+IF_ID);
- when EXCEPTION_ID =>
- Matching_Tokens := To_Vector (+BEGIN_ID);
+ when EXCEPTION_ID =>
+ Matching_Tokens := To_Vector (+BEGIN_ID);
- -- We don't return LEFT_PAREN for RIGHT_PAREN; better to delete
it.
+ -- We don't return LEFT_PAREN for RIGHT_PAREN; better to delete it.
- when WHEN_ID =>
- Matching_Tokens := To_Vector ((+CASE_ID, +IDENTIFIER_ID, +IS_ID));
+ when WHEN_ID =>
+ Matching_Tokens := To_Vector ((+CASE_ID, +IDENTIFIER_ID, +IS_ID));
- when others =>
- null;
- end case;
- end if;
+ when others =>
+ null;
+ end case;
if Config.Stack.Peek.Token.ID = +END_ID and
((Tokens (1) = +IDENTIFIER_ID and
diff --git a/packages/ada-mode/wisitoken-parse-lr-mckenzie_recover-ada.ads
b/packages/ada-mode/wisitoken-parse-lr-mckenzie_recover-ada.ads
index 36a71c5..a6df020 100644
--- a/packages/ada-mode/wisitoken-parse-lr-mckenzie_recover-ada.ads
+++ b/packages/ada-mode/wisitoken-parse-lr-mckenzie_recover-ada.ads
@@ -1,48 +1,48 @@
--- Abstract :
---
--- Ada language specific algorithms for McKenzie_Recover
---
--- Copyright (C) 2018, 2019 Free Software Foundation, Inc.
---
--- This library is free software; you can redistribute it and/or modify it
--- under terms of the GNU General Public License as published by the Free
--- Software Foundation; either version 3, or (at your option) any later
--- version. This library is distributed in the hope that it will be useful,
--- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
--- TABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
--- As a special exception under Section 7 of GPL version 3, you are granted
--- additional permissions described in the GCC Runtime Library Exception,
--- version 3.1, as published by the Free Software Foundation.
-
-pragma License (Modified_GPL);
-
-package WisiToken.Parse.LR.McKenzie_Recover.Ada is
-
- procedure Language_Fixes
- (Trace : in out WisiToken.Trace'Class;
- Lexer : access constant WisiToken.Lexer.Instance'Class;
- Parser_Label : in Natural;
- Parse_Table : in WisiToken.Parse.LR.Parse_Table;
- Terminals : in Base_Token_Arrays.Vector;
- Tree : in Syntax_Trees.Tree;
- Local_Config_Heap : in out Config_Heaps.Heap_Type;
- Config : in Configuration);
- -- See wisitoken-parse-lr-parser.ads Language_Fixes_Access for description.
-
- procedure Matching_Begin_Tokens
- (Tokens : in Token_ID_Array_1_3;
- Config : in Configuration;
- Matching_Tokens : out Token_ID_Arrays.Vector;
- Forbid_Minimal_Complete : out Boolean);
- -- See wisitoken-parse-lr-parser.ads Language_Matching_Begin_Tokens_Access
- -- for description.
-
- function String_ID_Set
- (Descriptor : in WisiToken.Descriptor;
- String_Literal_ID : in Token_ID)
- return Token_ID_Set;
- -- See wisitoken-parse-lr-parser.ads Language_String_ID_Set_Access for
- -- description.
-
-end WisiToken.Parse.LR.McKenzie_Recover.Ada;
+-- Abstract :
+--
+-- Ada language specific algorithms for McKenzie_Recover
+--
+-- Copyright (C) 2018, 2019 Free Software Foundation, Inc.
+--
+-- This library is free software; you can redistribute it and/or modify it
+-- under terms of the GNU General Public License as published by the Free
+-- Software Foundation; either version 3, or (at your option) any later
+-- version. This library is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
+-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+-- As a special exception under Section 7 of GPL version 3, you are granted
+-- additional permissions described in the GCC Runtime Library Exception,
+-- version 3.1, as published by the Free Software Foundation.
+
+pragma License (Modified_GPL);
+
+package WisiToken.Parse.LR.McKenzie_Recover.Ada is
+
+ procedure Language_Fixes
+ (Trace : in out WisiToken.Trace'Class;
+ Lexer : access constant WisiToken.Lexer.Instance'Class;
+ Parser_Label : in Natural;
+ Parse_Table : in WisiToken.Parse.LR.Parse_Table;
+ Terminals : in Base_Token_Arrays.Vector;
+ Tree : in Syntax_Trees.Tree;
+ Local_Config_Heap : in out Config_Heaps.Heap_Type;
+ Config : in Configuration);
+ -- See wisitoken-parse-lr-parser.ads Language_Fixes_Access for description.
+
+ procedure Matching_Begin_Tokens
+ (Tokens : in Token_ID_Array_1_3;
+ Config : in Configuration;
+ Matching_Tokens : out Token_ID_Arrays.Vector;
+ Forbid_Minimal_Complete : out Boolean);
+ -- See wisitoken-parse-lr-parser.ads Language_Matching_Begin_Tokens_Access
+ -- for description.
+
+ function String_ID_Set
+ (Descriptor : in WisiToken.Descriptor;
+ String_Literal_ID : in Token_ID)
+ return Token_ID_Set;
+ -- See wisitoken-parse-lr-parser.ads Language_String_ID_Set_Access for
+ -- description.
+
+end WisiToken.Parse.LR.McKenzie_Recover.Ada;
diff --git a/packages/wisi/NEWS b/packages/wisi/NEWS
index 277c1ea..38c8057 100644
--- a/packages/wisi/NEWS
+++ b/packages/wisi/NEWS
@@ -6,6 +6,26 @@ Please send wisi bug reports to address@hidden, with
'wisi' in the subject. If possible, use M-x report-emacs-bug.
+* wisi 3.1.0
+11 May 2020
+
+** Add Wisitoken.Syntax_Trees.Insert_Token, to allow using inserted
+ virtual terminals tokens in indent. Several related changes to
+ allow treating virtual terminals on par with actual terminals.
+
+** New elisp generic functions: wisi-xref-completion-table,
wisi-xref-completion-regexp, wisi-xref-completion-at-point-table
+
+** New elisp functions: wisi-filter-table, wisi-completion-at-point,
wisi-skel-add-token-after
+
+** wisi-get-identifier uses wisi-xref-completion-table.
+
+** wisi-prj-identifier-at-point returns (IDENT START END)
+
+** In wisi.ads: augmented tokens are no stored only in the syntax
+ tree; new functions Get_Aug_Token_Const_1, Get_Aug_Token_Const,
+ Get_Aug_Token_Var provide access to them. Parse_Data_Type contains
+ a reference to the shared Terminals.
+
* wisi 3.0.1
30 Jan 2020
diff --git a/packages/wisi/README b/packages/wisi/README
index f2c5329..f189c8d 100644
--- a/packages/wisi/README
+++ b/packages/wisi/README
@@ -1,4 +1,4 @@
-Emacs wisi package 3.0.1
+Emacs wisi package 3.1.0
The wisi package provides utilities for using generalized
error-correcting LR parsers (in external processes) to do indentation,
diff --git a/packages/wisi/emacs_wisi_common_parse.adb
b/packages/wisi/emacs_wisi_common_parse.adb
index 183aaf7..59d20e5 100644
--- a/packages/wisi/emacs_wisi_common_parse.adb
+++ b/packages/wisi/emacs_wisi_common_parse.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This program is free software; you can redistribute it and/or
-- modify it under terms of the GNU General Public License as
@@ -24,7 +24,6 @@ with Ada.Exceptions;
with Ada.Strings.Fixed;
with Ada.Text_IO;
with GNAT.OS_Lib;
-with GNAT.Traceback.Symbolic;
with SAL;
with System.Multiprocessors;
with System.Storage_Elements;
@@ -504,8 +503,6 @@ package body Emacs_Wisi_Common_Parse is
Put_Line
("(error ""unhandled exception: " & Ada.Exceptions.Exception_Name (E)
& ": " &
Ada.Exceptions.Exception_Message (E) & """)");
- Put_Line (GNAT.Traceback.Symbolic.Symbolic_Traceback (E));
-
end Process_Stream;
end Emacs_Wisi_Common_Parse;
diff --git a/packages/wisi/gen_emacs_wisi_lr_parse.adb
b/packages/wisi/gen_emacs_wisi_lr_parse.adb
index 951a871..0f81868 100644
--- a/packages/wisi/gen_emacs_wisi_lr_parse.adb
+++ b/packages/wisi/gen_emacs_wisi_lr_parse.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2014, 2017 - 2019 All Rights Reserved.
+-- Copyright (C) 2014, 2017 - 2020 All Rights Reserved.
--
-- This program is free software; you can redistribute it and/or
-- modify it under terms of the GNU General Public License as
@@ -25,7 +25,7 @@ procedure Gen_Emacs_Wisi_LR_Parse
is
Trace : aliased WisiToken.Text_IO_Trace.Trace
(Descriptor'Unrestricted_Access);
Parser : WisiToken.Parse.LR.Parser.Parser;
- Parse_Data : aliased Parse_Data_Type (Parser.Line_Begin_Token'Access);
+ Parse_Data : aliased Parse_Data_Type (Parser.Terminals'Access,
Parser.Line_Begin_Token'Access);
Params : constant Process_Start_Params := Get_Process_Start_Params;
begin
diff --git a/packages/wisi/gen_emacs_wisi_lr_text_rep_parse.adb
b/packages/wisi/gen_emacs_wisi_lr_text_rep_parse.adb
index f74144c..31f1052 100644
--- a/packages/wisi/gen_emacs_wisi_lr_text_rep_parse.adb
+++ b/packages/wisi/gen_emacs_wisi_lr_text_rep_parse.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2014, 2017 - 2019 All Rights Reserved.
+-- Copyright (C) 2014, 2017 - 2020 All Rights Reserved.
--
-- This program is free software; you can redistribute it and/or
-- modify it under terms of the GNU General Public License as
@@ -29,7 +29,7 @@ is
Trace : aliased WisiToken.Text_IO_Trace.Trace
(Descriptor'Unrestricted_Access);
Parser : WisiToken.Parse.LR.Parser.Parser;
- Parse_Data : aliased Parse_Data_Type (Parser.Line_Begin_Token'Access);
+ Parse_Data : aliased Parse_Data_Type (Parser.Terminals'Access,
Parser.Line_Begin_Token'Access);
Params : constant Process_Start_Params := Get_Process_Start_Params;
begin
diff --git a/packages/wisi/gen_run_wisi_lr_parse.adb
b/packages/wisi/gen_run_wisi_lr_parse.adb
index ee63c77..84498de 100644
--- a/packages/wisi/gen_run_wisi_lr_parse.adb
+++ b/packages/wisi/gen_run_wisi_lr_parse.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2017 - 2019 All Rights Reserved.
+-- Copyright (C) 2017 - 2020 All Rights Reserved.
--
-- This program is free software; you can redistribute it and/or
-- modify it under terms of the GNU General Public License as
@@ -24,7 +24,7 @@ procedure Gen_Run_Wisi_LR_Parse
is
Trace : aliased WisiToken.Text_IO_Trace.Trace
(Descriptor'Unrestricted_Access);
Parser : WisiToken.Parse.LR.Parser.Parser;
- Parse_Data : aliased Parse_Data_Type (Parser.Line_Begin_Token'Access);
+ Parse_Data : aliased Parse_Data_Type (Parser.Terminals'Access,
Parser.Line_Begin_Token'Access);
begin
-- Create parser first so Put_Usage has defaults from Parser.Table,
-- and Get_CL_Params can override them.
diff --git a/packages/wisi/gen_run_wisi_lr_text_rep_parse.adb
b/packages/wisi/gen_run_wisi_lr_text_rep_parse.adb
index 09efefd..45bc5e1 100644
--- a/packages/wisi/gen_run_wisi_lr_text_rep_parse.adb
+++ b/packages/wisi/gen_run_wisi_lr_text_rep_parse.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2017 - 2019 All Rights Reserved.
+-- Copyright (C) 2017 - 2020 All Rights Reserved.
--
-- This program is free software; you can redistribute it and/or
-- modify it under terms of the GNU General Public License as
@@ -26,7 +26,7 @@ procedure Gen_Run_Wisi_LR_Text_Rep_Parse
is
Trace : aliased WisiToken.Text_IO_Trace.Trace
(Descriptor'Unrestricted_Access);
Parser : WisiToken.Parse.LR.Parser.Parser;
- Parse_Data : aliased Parse_Data_Type (Parser.Line_Begin_Token'Access);
+ Parse_Data : aliased Parse_Data_Type (Parser.Terminals'Access,
Parser.Line_Begin_Token'Access);
begin
-- Create parser first so Put_Usage has defaults from Parser.Table,
-- and Get_CL_Params can override them.
diff --git a/packages/wisi/recover_stats.adb b/packages/wisi/recover_stats.adb
index 9172cb8..e1fed7b 100644
--- a/packages/wisi/recover_stats.adb
+++ b/packages/wisi/recover_stats.adb
@@ -2,7 +2,7 @@
--
-- Summarize error recover log.
--
--- Copyright (C) 2019 Stephen Leake All Rights Reserved.
+-- Copyright (C) 2019 - 2020 Stephen Leake All Rights Reserved.
--
-- This program is free software; you can redistribute it and/or
-- modify it under terms of the GNU General Public License as
@@ -52,9 +52,6 @@ is
Strat_Counts_Present : Strategy_Counts := (others => 0);
-- 1 per recover event if used
- Ignore_Error : Integer := 0;
- -- ie, error is name mismatch.
-
Recover_Count_Present : Integer := 0;
-- 1 per parser in recover result
@@ -176,10 +173,8 @@ begin
Summary (Label).Recover_Count_Present := Summary
(Label).Recover_Count_Present + 1;
if not Strategy_Found then
- Summary (Label).Ignore_Error := Summary
(Label).Ignore_Error + 1;
+ raise SAL.Programmer_Error;
else
- -- We don't include Ignore_Error enqueue and check
counts in the
- -- stats, because they distort them towards 1.
Summary (Label).Enqueue_Stats.Accumulate (Long_Float
(Enqueue_Count));
Summary (Label).Check_Stats.Accumulate (Long_Float
(Check_Count));
for I in Strategies loop
@@ -265,7 +260,6 @@ begin
Summary (I).Strat_Counts_Total (J),
J'Image);
end loop;
- Put_Percent (I, Summary (I).Ignore_Error, Summary
(I).Ignore_Error, "Ignore_Error");
end if;
New_Line;
end loop;
diff --git a/packages/wisi/run_wisi_common_parse.adb
b/packages/wisi/run_wisi_common_parse.adb
index 517b631..c79f2e7 100644
--- a/packages/wisi/run_wisi_common_parse.adb
+++ b/packages/wisi/run_wisi_common_parse.adb
@@ -23,7 +23,6 @@ with Ada.Exceptions;
with Ada.IO_Exceptions;
with Ada.Real_Time;
with Ada.Text_IO;
-with GNAT.Traceback.Symbolic;
with SAL;
with System.Multiprocessors;
package body Run_Wisi_Common_Parse is
@@ -134,6 +133,8 @@ package body Run_Wisi_Common_Parse is
Arg := Arg + 3;
end case;
+ WisiToken.Debug_Mode := WisiToken.Trace_Parse > Outline or
WisiToken.Trace_McKenzie > Outline;
+
elsif Argument (Arg) = "--check_limit" then
Parser.Table.McKenzie_Param.Check_Limit := Token_Index'Value
(Argument (Arg + 1));
Arg := Arg + 2;
@@ -199,7 +200,16 @@ package body Run_Wisi_Common_Parse is
Start : Ada.Real_Time.Time;
End_Line : WisiToken.Line_Number_Type;
+
+ function Image_Augmented (Aug : in Base_Token_Class_Access) return String
+ is begin
+ -- For Syntax_Trees.Print_Tree
+ return Wisi.Image (Aug, Descriptor);
+ end Image_Augmented;
+
begin
+ Parser.Trace.Set_Prefix (";; "); -- so we get the same debug messages as
Emacs_Wisi_Common_Parse
+
declare
Cl_Params : constant Command_Line_Params := Get_CL_Params (Parser);
begin
@@ -286,7 +296,7 @@ package body Run_Wisi_Common_Parse is
null;
end;
- Parser.Execute_Actions;
+ Parser.Execute_Actions (Image_Augmented'Unrestricted_Access);
case Cl_Params.Command is
when Parse =>
@@ -310,11 +320,13 @@ package body Run_Wisi_Common_Parse is
when E : WisiToken.Parse_Error =>
Clean_Up;
- Put_Line ("(parse_error """ & Ada.Exceptions.Exception_Message
(E) & """)");
+ Put_Line ("(parse_error """ & Ada.Exceptions.Exception_Name (E)
& " " &
+ Ada.Exceptions.Exception_Message (E) & """)");
when E : others => -- includes Fatal_Error
Clean_Up;
- Put_Line ("(error """ & Ada.Exceptions.Exception_Message (E) &
""")");
+ Put_Line ("(error """ & Ada.Exceptions.Exception_Name (E) & " "
&
+ Ada.Exceptions.Exception_Message (E) & """)");
end;
end loop;
@@ -339,7 +351,6 @@ package body Run_Wisi_Common_Parse is
Put_Line
("(error ""unhandled exception: " & Ada.Exceptions.Exception_Name (E)
& ": " &
Ada.Exceptions.Exception_Message (E) & """)");
- Put_Line (GNAT.Traceback.Symbolic.Symbolic_Traceback (E));
end Parse_File;
end Run_Wisi_Common_Parse;
diff --git a/packages/wisi/sal-gen_bounded_definite_stacks.ads
b/packages/wisi/sal-gen_bounded_definite_stacks.ads
index f743508..e2ba7ab 100644
--- a/packages/wisi/sal-gen_bounded_definite_stacks.ads
+++ b/packages/wisi/sal-gen_bounded_definite_stacks.ads
@@ -3,7 +3,7 @@
-- Bounded stack implementation, with full Spark verification,
-- optimized for speed.
--
--- Copyright (C) 1998-2000, 2002-2003, 2009, 2015, 2017 - 2019 Free Software
Foundation, Inc.
+-- Copyright (C) 1998-2000, 2002-2003, 2009, 2015, 2017 - 2020 Free Software
Foundation, Inc.
--
-- SAL is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the
@@ -98,6 +98,6 @@ private
-- Top of stack is at Data (Top).
-- Data (1 .. Top) has been set at some point.
end record with
- Dynamic_Predicate => Top in 0 .. Size;
+ Dynamic_Predicate => Stack.Top in 0 .. Stack.Size;
end SAL.Gen_Bounded_Definite_Stacks;
diff --git a/packages/wisi/sal-gen_bounded_definite_vectors_sorted.adb
b/packages/wisi/sal-gen_bounded_definite_vectors_sorted.adb
index 9979f28..8b89a7f 100644
--- a/packages/wisi/sal-gen_bounded_definite_vectors_sorted.adb
+++ b/packages/wisi/sal-gen_bounded_definite_vectors_sorted.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -54,8 +54,16 @@ package body SAL.Gen_Bounded_Definite_Vectors_Sorted is
end if;
loop
- pragma Loop_Invariant (J < Container.Elements'Last);
+ -- These seem obvious, but gnatprove needs them (in 2019).
+ pragma Loop_Invariant (J <= Container.Last);
+ pragma Loop_Invariant (J <= Container.Elements'Last);
pragma Loop_Variant (Decreases => J);
+
+ -- This is less obvious, helps a lot.
+ pragma Loop_Invariant
+ ((for all I in J + 1 .. Container.Last => Element_Compare
+ (New_Item, Container.Elements (I)) = Less));
+
exit when J < 1;
case Element_Compare (New_Item, Container.Elements (J)) is
@@ -74,6 +82,12 @@ package body SAL.Gen_Bounded_Definite_Vectors_Sorted is
end case;
end loop;
+ -- Note that this assertion is _not_ a Loop_Invariant; the whole
+ -- point here is to find the right J.
+ pragma Assert
+ (for all I in 1 .. J - 1 =>
+ Element_Compare (Container.Elements (I), New_Item) in Less | Equal);
+
Container.Elements (J + 2 .. K + 1) := Container.Elements (J + 1 .. K);
Container.Elements (J + 1) := New_Item;
Container.Last := Container.Last + 1;
diff --git a/packages/wisi/sal-gen_bounded_definite_vectors_sorted.ads
b/packages/wisi/sal-gen_bounded_definite_vectors_sorted.ads
index 7bc398c..e86fbca 100644
--- a/packages/wisi/sal-gen_bounded_definite_vectors_sorted.ads
+++ b/packages/wisi/sal-gen_bounded_definite_vectors_sorted.ads
@@ -2,7 +2,7 @@
--
-- A simple bounded sorted vector of definite items, in Spark.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -26,8 +26,10 @@ package SAL.Gen_Bounded_Definite_Vectors_Sorted
is
use all type Ada.Containers.Count_Type;
+ No_Index : constant Base_Peek_Type := 0;
+
type Vector is private with
- Default_Initial_Condition => Length (Vector) = 0;
+ Default_Initial_Condition => Last_Index (Vector) = No_Index;
function Length (Container : in Vector) return Ada.Containers.Count_Type
with
Post => Length'Result in 0 .. Capacity;
@@ -36,7 +38,7 @@ is
Post => Is_Full'Result = (Length (Container) = Capacity);
procedure Clear (Container : in out Vector) with
- Post => Length (Container) = 0;
+ Post => Last_Index (Container) = No_Index;
function First_Index (Container : in Vector) return Peek_Type
is (Peek_Type'First) with
@@ -49,37 +51,50 @@ is
Pre => Index in First_Index (Container) .. Last_Index (Container);
function Is_Sorted (Container : in Vector) return Boolean is
+ -- See comment on similar Is_Sorted below
(for all I in First_Index (Container) .. Last_Index (Container) - 1 =>
- Element_Compare (Element (Container, I), Element (Container, I + 1))
in Less | Equal);
+ (for all J in I + 1 .. Last_Index (Container) =>
+ Element_Compare (Element (Container, I), Element (Container, J)) in
Less | Equal));
procedure Insert
(Container : in out Vector;
New_Item : in Element_Type;
Ignore_If_Equal : in Boolean := False) with
- Pre => Length (Container) < Capacity,
+ Pre => Last_Index (Container) < Peek_Type (Capacity),
Post => Is_Sorted (Container) and
- (Length (Container) = Length (Container'Old) or
- Length (Container) = Length (Container'Old) + 1);
+ (if Ignore_If_Equal then
+ (Last_Index (Container) = Last_Index (Container'Old) or
+ Last_Index (Container) = Last_Index (Container'Old) + 1)
+ else
+ Last_Index (Container) = Last_Index (Container'Old) + 1);
-- Insert New_Item in sorted position. Items are sorted in increasing
-- order according to Element_Compare. New_Item is inserted after
-- Equal items, unless Ignore_If_Equal is true, in which case
-- New_Item is not inserted.
- --
- -- The presense of Ignore_If_Equal makes it too difficult to prove
- -- whether the length did or did not increase.
private
type Array_Type is array (Peek_Type range 1 .. Peek_Type (Capacity)) of
aliased Element_Type;
- No_Index : constant Base_Peek_Type := 0;
+ function Is_Sorted (Container : in Array_Type; Last : in Base_Peek_Type)
return Boolean
+ -- This is too hard for gnatprove (in 2019):
+ -- is (for all I in Container'First .. Last - 1 =>
+ -- Element_Compare (Container (I), Container (I + 1)) in Less |
Equal)
+ -- This works:
+ is (for all I in Container'First .. Last - 1 =>
+ (for all J in I + 1 .. Last =>
+ Element_Compare (Container (I), Container (J)) in Less | Equal))
+ with Pre => Last <= Container'Last;
+
+ subtype Index_Type is Base_Peek_Type range No_Index .. Base_Peek_Type
(Capacity);
+ -- Helps with proofs
type Vector is record
Elements : Array_Type;
- Last : Base_Peek_Type := No_Index;
+ Last : Index_Type := No_Index;
end record with
- Type_Invariant => Last <= Elements'Last and Is_Sorted (Vector);
+ Type_Invariant => Last <= Elements'Last and Is_Sorted (Vector.Elements,
Vector.Last);
pragma Annotate (GNATprove, Intentional, "type ""Vector"" is not fully
initialized",
- "Only items in Elements with index < Last are accessed");
+ "Only items in Elements with index <= Last are accessed");
end SAL.Gen_Bounded_Definite_Vectors_Sorted;
diff --git a/packages/wisi/sal-gen_definite_doubly_linked_lists.adb
b/packages/wisi/sal-gen_definite_doubly_linked_lists.adb
index f0c5776..d86441a 100644
--- a/packages/wisi/sal-gen_definite_doubly_linked_lists.adb
+++ b/packages/wisi/sal-gen_definite_doubly_linked_lists.adb
@@ -2,7 +2,7 @@
--
-- see spec
--
--- Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2017 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or
-- modify it under terms of the GNU General Public License as
@@ -141,18 +141,18 @@ package body SAL.Gen_Definite_Doubly_Linked_Lists is
function First (Container : in List) return Cursor
is begin
if Container.Head = null then
- return No_Element;
+ return (Ptr => null);
else
- return (Container'Unrestricted_Access, Container.Head);
+ return (Ptr => Container.Head);
end if;
end First;
function Last (Container : in List) return Cursor
is begin
if Container.Tail = null then
- return No_Element;
+ return (Ptr => null);
else
- return (Container'Unrestricted_Access, Container.Tail);
+ return (Ptr => Container.Tail);
end if;
end Last;
@@ -160,7 +160,7 @@ package body SAL.Gen_Definite_Doubly_Linked_Lists is
is begin
if Position.Ptr /= null then
if Position.Ptr.Next = null then
- Position := No_Element;
+ Position.Ptr := null;
else
Position.Ptr := Position.Ptr.Next;
end if;
@@ -173,9 +173,9 @@ package body SAL.Gen_Definite_Doubly_Linked_Lists is
return Position;
else
if Position.Ptr.Next = null then
- return No_Element;
+ return (Ptr => null);
else
- return (Position.Container, Position.Ptr.Next);
+ return (Ptr => Position.Ptr.Next);
end if;
end if;
end Next;
@@ -186,9 +186,9 @@ package body SAL.Gen_Definite_Doubly_Linked_Lists is
return Position;
else
if Position.Ptr.Prev = null then
- return No_Element;
+ return (Ptr => null);
else
- return (Position.Container, Position.Ptr.Prev);
+ return (Ptr => Position.Ptr.Prev);
end if;
end if;
end Previous;
@@ -203,7 +203,7 @@ package body SAL.Gen_Definite_Doubly_Linked_Lists is
use all type Ada.Containers.Count_Type;
begin
Delete_Node (Container, Position.Ptr);
- Position := No_Element;
+ Position := (Ptr => null);
Container.Count := Container.Count - 1;
end Delete;
@@ -223,7 +223,7 @@ package body SAL.Gen_Definite_Doubly_Linked_Lists is
is
use all type Ada.Containers.Count_Type;
begin
- if Before = No_Element then
+ if Before = (Ptr => null) then
Container.Append (Element);
else
if Before.Ptr = Container.Head then
@@ -287,7 +287,7 @@ package body SAL.Gen_Definite_Doubly_Linked_Lists is
function Iterate (Container : aliased in List) return
Iterator_Interfaces.Reversible_Iterator'Class
is begin
- return Iterator'(Container => Container'Unrestricted_Access);
+ return Iterator'(Container => Container'Access);
end Iterate;
overriding function First (Object : Iterator) return Cursor
diff --git a/packages/wisi/sal-gen_definite_doubly_linked_lists.ads
b/packages/wisi/sal-gen_definite_doubly_linked_lists.ads
index 9648320..8470daf 100644
--- a/packages/wisi/sal-gen_definite_doubly_linked_lists.ads
+++ b/packages/wisi/sal-gen_definite_doubly_linked_lists.ads
@@ -3,7 +3,7 @@
-- A generic doubly linked list with definite elements, allowing
-- permanent references to elements.
--
--- Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2017 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or
-- modify it under terms of the GNU General Public License as
@@ -64,26 +64,25 @@ package SAL.Gen_Definite_Doubly_Linked_Lists is
type Cursor is private;
- No_Element : constant Cursor;
-
function Has_Element (Position : in Cursor) return Boolean;
+ No_Element : constant Cursor;
function First (Container : in List) return Cursor;
function Last (Container : in List) return Cursor;
procedure Next (Position : in out Cursor)
- with Pre => Position /= No_Element;
+ with Pre => Has_Element (Position);
function Next (Position : in Cursor) return Cursor
- with Pre => Position /= No_Element;
+ with Pre => Has_Element (Position);
function Previous (Position : in Cursor) return Cursor
- with Pre => Position /= No_Element;
+ with Pre => Has_Element (Position);
function Element (Position : in Cursor) return Element_Type
- with Pre => Position /= No_Element;
+ with Pre => Has_Element (Position);
procedure Delete (Container : in out List; Position : in out Cursor)
- with Pre => Position /= No_Element;
+ with Pre => Has_Element (Position);
procedure Delete_First (Container : in out List);
@@ -94,26 +93,26 @@ package SAL.Gen_Definite_Doubly_Linked_Lists is
-- If Before is No_Element, insert after Last.
function Persistent_Ref (Position : in Cursor) return access Element_Type
- with Pre => Position /= No_Element;
+ with Pre => Has_Element (Position);
type Constant_Reference_Type (Element : not null access constant
Element_Type) is private with
Implicit_Dereference => Element;
function Constant_Reference (Container : in List; Position : in Cursor)
return Constant_Reference_Type
- with Inline, Pre => Position /= No_Element;
+ with Inline, Pre => Has_Element (Position);
-- Not 'Constant_Ref' because that is taken, and it is wrong for
Constant_Indexing
function Constant_Ref (Position : in Cursor) return Constant_Reference_Type
- with Inline, Pre => Position /= No_Element;
+ with Inline, Pre => Has_Element (Position);
type Variable_Reference_Type (Element : not null access Element_Type) is
private with
Implicit_Dereference => Element;
function Variable_Reference (Container : in List; Position : in Cursor)
return Variable_Reference_Type
- with Inline, Pre => Position /= No_Element;
+ with Inline, Pre => Has_Element (Position);
function Variable_Ref (Position : in Cursor) return Variable_Reference_Type
- with Inline, Pre => Position /= No_Element;
+ with Inline, Pre => Has_Element (Position);
package Iterator_Interfaces is new Ada.Iterator_Interfaces (Cursor,
Has_Element);
@@ -139,8 +138,7 @@ private
end record;
type Cursor is record
- Container : List_Access;
- Ptr : Node_Access;
+ Ptr : Node_Access;
end record;
type Constant_Reference_Type (Element : not null access constant
Element_Type) is
@@ -153,14 +151,12 @@ private
Dummy : Integer := raise Program_Error with "uninitialized reference";
end record;
- Empty_List : constant List := (Ada.Finalization.Controlled with null, null,
0);
+ No_Element : constant Cursor := (Ptr => null);
- No_Element : constant Cursor := (null, null);
+ Empty_List : constant List := (Ada.Finalization.Controlled with null, null,
0);
- type Iterator is new Iterator_Interfaces.Reversible_Iterator with
- record
- Container : List_Access;
- end record;
+ type Iterator (Container : not null access constant List) is new
Iterator_Interfaces.Reversible_Iterator with
+ null record;
overriding function First (Object : Iterator) return Cursor;
overriding function Last (Object : Iterator) return Cursor;
diff --git a/packages/wisi/sal-gen_definite_doubly_linked_lists_sorted.adb
b/packages/wisi/sal-gen_definite_doubly_linked_lists_sorted.adb
index 7a4bb11..702914d 100644
--- a/packages/wisi/sal-gen_definite_doubly_linked_lists_sorted.adb
+++ b/packages/wisi/sal-gen_definite_doubly_linked_lists_sorted.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2018, 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -375,25 +375,25 @@ package body SAL.Gen_Definite_Doubly_Linked_Lists_Sorted
is
return Position.Ptr /= null;
end Has_Element;
- function First (Container : in List) return Cursor
+ function First (Container : aliased in List) return Cursor
is begin
if Container.Head = null then
- return No_Element;
+ return (Container'Access, null);
else
- return (Container'Unrestricted_Access, Container.Head);
+ return (Container'Access, Container.Head);
end if;
end First;
- function Last (Container : in List) return Cursor
+ function Last (Container : aliased in List) return Cursor
is begin
if Container.Tail = null then
- return No_Element;
+ return (Container'Access, null);
else
- return (Container'Unrestricted_Access, Container.Tail);
+ return (Container'Access, Container.Tail);
end if;
end Last;
- function Find (Container : in List; Element : in Element_Type) return Cursor
+ function Find (Container : aliased in List; Element : in Element_Type)
return Cursor
is
Node : Node_Access;
Compare : Compare_Result;
@@ -401,11 +401,11 @@ package body SAL.Gen_Definite_Doubly_Linked_Lists_Sorted
is
Find (Container, Element, Node, Compare);
if Node = null then
- return No_Element;
+ return (Container'Access, null);
elsif Compare = Equal then
- return (Container'Unrestricted_Access, Node);
+ return (Container'Access, Node);
else
- return No_Element;
+ return (Container'Access, null);
end if;
end Find;
@@ -413,7 +413,7 @@ package body SAL.Gen_Definite_Doubly_Linked_Lists_Sorted is
is begin
if Position.Ptr /= null then
if Position.Ptr.Next = null then
- Position := No_Element;
+ Position.Ptr := null;
else
Position.Ptr := Position.Ptr.Next;
end if;
@@ -426,7 +426,7 @@ package body SAL.Gen_Definite_Doubly_Linked_Lists_Sorted is
return Position;
else
if Position.Ptr.Next = null then
- return No_Element;
+ return (Position.Container, null);
else
return (Position.Container, Position.Ptr.Next);
end if;
@@ -439,7 +439,7 @@ package body SAL.Gen_Definite_Doubly_Linked_Lists_Sorted is
return Position;
else
if Position.Ptr.Prev = null then
- return No_Element;
+ return (Position.Container, null);
else
return (Position.Container, Position.Ptr.Prev);
end if;
@@ -466,7 +466,7 @@ package body SAL.Gen_Definite_Doubly_Linked_Lists_Sorted is
Node.Prev.Next := Node.Next;
end if;
Free (Node);
- Position := No_Element;
+ Position := (Container'Access, null);
Container.Count := Container.Count - 1;
end Delete;
@@ -512,7 +512,7 @@ package body SAL.Gen_Definite_Doubly_Linked_Lists_Sorted is
function Iterate (Container : aliased in List) return
Iterator_Interfaces.Reversible_Iterator'Class
is begin
- return Iterator'(Container => Container'Unrestricted_Access);
+ return Iterator'(Container => Container'Access);
end Iterate;
overriding function First (Object : Iterator) return Cursor
diff --git a/packages/wisi/sal-gen_definite_doubly_linked_lists_sorted.ads
b/packages/wisi/sal-gen_definite_doubly_linked_lists_sorted.ads
index bbac90f..91ffeda 100644
--- a/packages/wisi/sal-gen_definite_doubly_linked_lists_sorted.ads
+++ b/packages/wisi/sal-gen_definite_doubly_linked_lists_sorted.ads
@@ -2,7 +2,7 @@
--
-- A generic sorted doubly linked list with definite elements.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -81,31 +81,31 @@ package SAL.Gen_Definite_Doubly_Linked_Lists_Sorted is
--
-- Added is True if any element was not already present.
- type Cursor is private;
+ type Cursor (<>) is private;
- No_Element : constant Cursor;
+ function No_Element (Container : aliased in List) return Cursor;
function Has_Element (Position : in Cursor) return Boolean;
- function First (Container : in List) return Cursor;
- function Last (Container : in List) return Cursor;
+ function First (Container : aliased in List) return Cursor;
+ function Last (Container : aliased in List) return Cursor;
- function Find (Container : in List; Element : in Element_Type) return
Cursor;
+ function Find (Container : aliased in List; Element : in Element_Type)
return Cursor;
-- No_Element if Element not found.
procedure Next (Position : in out Cursor)
- with Pre => Position /= No_Element;
+ with Pre => Has_Element (Position);
function Next (Position : in Cursor) return Cursor
- with Pre => Position /= No_Element;
+ with Pre => Has_Element (Position);
function Previous (Position : in Cursor) return Cursor
- with Pre => Position /= No_Element;
+ with Pre => Has_Element (Position);
function Element (Position : in Cursor) return Element_Type
- with Pre => Position /= No_Element;
+ with Pre => Has_Element (Position);
procedure Delete (Container : in out List; Position : in out Cursor)
- with Pre => Position /= No_Element;
+ with Pre => Has_Element (Position);
function Pop (Container : in out List) return Element_Type
with Pre => Container.Length > 0;
@@ -115,19 +115,19 @@ package SAL.Gen_Definite_Doubly_Linked_Lists_Sorted is
Implicit_Dereference => Element;
function Constant_Reference (Container : in List; Position : in Cursor)
return Constant_Reference_Type with
- Inline, Pre => Position /= No_Element;
+ Inline, Pre => Has_Element (Position);
function Constant_Ref (Position : in Cursor) return Constant_Reference_Type
with
- Inline, Pre => Position /= No_Element;
+ Inline, Pre => Has_Element (Position);
type Variable_Reference_Type (Element : not null access Element_Type) is
private with
Implicit_Dereference => Element;
function Variable_Reference (Container : in List; Position : in Cursor)
return Variable_Reference_Type
- with Inline, Pre => Position /= No_Element;
+ with Inline, Pre => Has_Element (Position);
function Variable_Ref (Position : in Cursor) return Variable_Reference_Type
- with Inline, Pre => Position /= No_Element;
+ with Inline, Pre => Has_Element (Position);
-- User must not change the element in a way that affects the sort order.
package Iterator_Interfaces is new Ada.Iterator_Interfaces (Cursor,
Has_Element);
@@ -153,9 +153,9 @@ private
Count : Ada.Containers.Count_Type := 0;
end record;
- type Cursor is record
- Container : List_Access;
- Ptr : Node_Access;
+ type Cursor (Container : not null access constant List) is
+ record
+ Ptr : Node_Access;
end record;
type Constant_Reference_Type (Element : not null access constant
Element_Type) is
@@ -170,12 +170,11 @@ private
Empty_List : constant List := (Ada.Finalization.Controlled with null, null,
0);
- No_Element : constant Cursor := (null, null);
+ function No_Element (Container : aliased in List) return Cursor
+ is (Container'Access, null);
- type Iterator is new Iterator_Interfaces.Reversible_Iterator with
- record
- Container : List_Access;
- end record;
+ type Iterator (Container : not null access constant List) is new
Iterator_Interfaces.Reversible_Iterator with
+ null record;
overriding function First (Object : Iterator) return Cursor;
overriding function Last (Object : Iterator) return Cursor;
diff --git a/packages/wisi/sal-gen_graphs.ads b/packages/wisi/sal-gen_graphs.ads
index 9a66f5c..03cc1c6 100644
--- a/packages/wisi/sal-gen_graphs.ads
+++ b/packages/wisi/sal-gen_graphs.ads
@@ -20,7 +20,7 @@
-- Tarjan, SIAM J. Comput. Vol. 1, No 2, June 1972.
-- https://epubs.siam.org/doi/abs/10.1137/0201010
--
--- Copyright (C) 2017, 2019 Free Software Foundation All Rights Reserved.
+-- Copyright (C) 2017, 2019, 2020 Free Software Foundation All Rights
Reserved.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -131,7 +131,7 @@ package SAL.Gen_Graphs is
-- multigraphs.
--
-- Time complexity is exponential in the number of nodes. Used in
- -- unit tests for Find_Cycles_Johnson, since [2] is easier to
+ -- unit tests for Find_Cycles, since [2] is easier to
-- implement.
function Find_Cycles (Graph : in Gen_Graphs.Graph) return
Path_Arrays.Vector;
diff --git a/packages/wisi/sal-gen_indefinite_doubly_linked_lists.adb
b/packages/wisi/sal-gen_indefinite_doubly_linked_lists.adb
index ced09c2..71d3f61 100644
--- a/packages/wisi/sal-gen_indefinite_doubly_linked_lists.adb
+++ b/packages/wisi/sal-gen_indefinite_doubly_linked_lists.adb
@@ -2,7 +2,7 @@
--
-- see spec
--
--- Copyright (C) 2018, 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or
-- modify it under terms of the GNU General Public License as
@@ -118,9 +118,9 @@ package body SAL.Gen_Indefinite_Doubly_Linked_Lists is
function First (Container : in List) return Cursor
is begin
if Container.Head = null then
- return No_Element;
+ return (Ptr => null);
else
- return (Container'Unrestricted_Access, Container.Head);
+ return (Ptr => Container.Head);
end if;
end First;
@@ -128,7 +128,7 @@ package body SAL.Gen_Indefinite_Doubly_Linked_Lists is
is begin
if Position.Ptr /= null then
if Position.Ptr.Next = null then
- Position := No_Element;
+ Position.Ptr := null;
else
Position.Ptr := Position.Ptr.Next;
end if;
@@ -141,9 +141,9 @@ package body SAL.Gen_Indefinite_Doubly_Linked_Lists is
return Position;
else
if Position.Ptr.Next = null then
- return No_Element;
+ return (Ptr => null);
else
- return (Position.Container, Position.Ptr.Next);
+ return (Ptr => Position.Ptr.Next);
end if;
end if;
end Next;
@@ -169,7 +169,7 @@ package body SAL.Gen_Indefinite_Doubly_Linked_Lists is
end if;
Free (Node.Element);
Free (Node);
- Position := No_Element;
+ Position := (Ptr => null);
Container.Count := Container.Count - 1;
end Delete;
diff --git a/packages/wisi/sal-gen_indefinite_doubly_linked_lists.ads
b/packages/wisi/sal-gen_indefinite_doubly_linked_lists.ads
index 609e26c..b1d1cdb 100644
--- a/packages/wisi/sal-gen_indefinite_doubly_linked_lists.ads
+++ b/packages/wisi/sal-gen_indefinite_doubly_linked_lists.ads
@@ -3,7 +3,7 @@
-- A generic doubly linked list with indefinite elements, allowing
-- permanent references to elements.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or
-- modify it under terms of the GNU General Public License as
@@ -108,8 +108,7 @@ private
end record;
type Cursor is record
- Container : access List;
- Ptr : Node_Access;
+ Ptr : Node_Access;
end record;
type Constant_Reference_Type (Element : not null access constant
Element_Type) is
@@ -124,6 +123,6 @@ private
Empty_List : constant List := (Ada.Finalization.Controlled with null, null,
0);
- No_Element : constant Cursor := (null, null);
+ No_Element : constant Cursor := (Ptr => null);
end SAL.Gen_Indefinite_Doubly_Linked_Lists;
diff --git a/packages/wisi/sal-gen_unbounded_definite_red_black_trees.adb
b/packages/wisi/sal-gen_unbounded_definite_red_black_trees.adb
index adea0d4..b7c8c44 100644
--- a/packages/wisi/sal-gen_unbounded_definite_red_black_trees.adb
+++ b/packages/wisi/sal-gen_unbounded_definite_red_black_trees.adb
@@ -2,7 +2,7 @@
--
-- Generic unbounded red-black tree with definite elements.
--
--- Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2017 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -318,7 +318,12 @@ package body SAL.Gen_Unbounded_Definite_Red_Black_Trees is
if Node = null then
raise Not_Found;
else
- return (Element => Node.all.Element'Access, Dummy => 1);
+ -- WORKAROUND: GNAT Community 2019 requires .all here, GNAT Pro 21.0w
+ -- 20200426 requires it _not_ be here. The code is technically legal
+ -- either way, so both compilers have a bug. Keeping .all for now;
+ -- just delete it if you are using 21.0w. Hopefully 21 will fix the
+ -- bug. AdaCore ticket T503-001 on Eurocontrol support contract.
+ return (Element => Node.Element'Access, Dummy => 1);
end if;
end Constant_Reference;
@@ -329,6 +334,7 @@ package body SAL.Gen_Unbounded_Definite_Red_Black_Trees is
is
pragma Unreferenced (Container);
begin
+ -- WORKAROUND: see note in Constant_Reference
return (Element => Position.Node.all.Element'Access, Dummy => 1);
end Variable_Reference;
@@ -342,7 +348,8 @@ package body SAL.Gen_Unbounded_Definite_Red_Black_Trees is
if Node = null then
raise Not_Found;
else
- return (Element => Node.all.Element'Access, Dummy => 1);
+ -- WORKAROUND: see note in Constant_Reference
+ return (Element => Node.Element'Access, Dummy => 1);
end if;
end Variable_Reference;
diff --git a/packages/wisi/sal-gen_unbounded_definite_red_black_trees.ads
b/packages/wisi/sal-gen_unbounded_definite_red_black_trees.ads
index b51e4b9..f886ed9 100644
--- a/packages/wisi/sal-gen_unbounded_definite_red_black_trees.ads
+++ b/packages/wisi/sal-gen_unbounded_definite_red_black_trees.ads
@@ -8,7 +8,7 @@
-- [1] Introduction to Algorithms, Thomas H. Cormen, Charles E.
-- Leiserson, Ronald L. Rivest, Clifford Stein.
--
--- Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2017 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -65,13 +65,14 @@ package SAL.Gen_Unbounded_Definite_Red_Black_Trees is
(Container : aliased in Tree;
Position : in Cursor)
return Constant_Reference_Type with
- Inline;
+ Inline, Pre => Has_Element (Position);
function Constant_Reference
(Container : aliased in Tree;
Key : in Key_Type)
return Constant_Reference_Type with
Inline;
+ -- Raises Not_Found if Key not found in Container.
type Variable_Reference_Type (Element : not null access Element_Type) is
private with
Implicit_Dereference => Element;
@@ -80,7 +81,7 @@ package SAL.Gen_Unbounded_Definite_Red_Black_Trees is
(Container : aliased in Tree;
Position : in Cursor)
return Variable_Reference_Type with
- Inline;
+ Inline, Pre => Has_Element (Position);
function Variable_Reference
(Container : aliased in Tree;
diff --git a/packages/wisi/sal-gen_unbounded_definite_stacks.adb
b/packages/wisi/sal-gen_unbounded_definite_stacks.adb
index 2ead18f..072c104 100644
--- a/packages/wisi/sal-gen_unbounded_definite_stacks.adb
+++ b/packages/wisi/sal-gen_unbounded_definite_stacks.adb
@@ -2,7 +2,7 @@
--
-- see spec
--
--- Copyright (C) 1998, 2003, 2009, 2015, 2017 - 2019 Free Software
Foundation, Inc.
+-- Copyright (C) 1998, 2003, 2009, 2015, 2017 - 2020 Free Software
Foundation, Inc.
--
-- SAL is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the
@@ -190,9 +190,18 @@ package body SAL.Gen_Unbounded_Definite_Stacks is
return Position.Container.Depth >= Position.Ptr;
end Has_Element;
+ type Iterator (Container : not null access constant Stack) is new
Iterator_Interfaces.Forward_Iterator with
+ null record;
+
+ overriding function First (Object : Iterator) return Cursor;
+
+ overriding function Next
+ (Object : Iterator;
+ Position : Cursor) return Cursor;
+
function Iterate (Container : aliased in Stack) return
Iterator_Interfaces.Forward_Iterator'Class
is begin
- return Iterator'(Container => Container'Unrestricted_Access);
+ return Iterator'(Container => Container'Access);
end Iterate;
overriding function First (Object : Iterator) return Cursor
diff --git a/packages/wisi/sal-gen_unbounded_definite_stacks.ads
b/packages/wisi/sal-gen_unbounded_definite_stacks.ads
index 26d0466..3d1e1e7 100644
--- a/packages/wisi/sal-gen_unbounded_definite_stacks.ads
+++ b/packages/wisi/sal-gen_unbounded_definite_stacks.ads
@@ -2,7 +2,7 @@
--
-- Stack implementation.
--
--- Copyright (C) 1998-2000, 2002-2003, 2009, 2015, 2017 - 2019 Free Software
Foundation, Inc.
+-- Copyright (C) 1998-2000, 2002-2003, 2009, 2015, 2017 - 2020 Free Software
Foundation, Inc.
--
-- SAL is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the
@@ -112,14 +112,16 @@ package SAL.Gen_Unbounded_Definite_Stacks is
function Constant_Reference
(Container : aliased in Stack'Class;
Position : in Peek_Type)
- return Constant_Reference_Type with Inline;
+ return Constant_Reference_Type
+ with Inline, Pre => Position in 1 .. Container.Depth;
- type Cursor is private;
+ type Cursor (<>) is private;
function Constant_Reference
(Container : aliased in Stack'Class;
Position : in Cursor)
- return Constant_Reference_Type with Inline;
+ return Constant_Reference_Type
+ with Inline, Pre => Has_Element (Position);
function Has_Element (Position : in Cursor) return Boolean;
@@ -141,8 +143,6 @@ private
-- Data (1 .. Top) has been set at some point.
end record;
- type Stack_Access is access all Stack;
-
type Constant_Reference_Type (Element : not null access constant
Element_Type) is
record
Dummy : Integer := raise Program_Error with "uninitialized reference";
@@ -150,20 +150,9 @@ private
Empty_Stack : constant Stack := (Ada.Finalization.Controlled with
Invalid_Peek_Index, null);
- type Cursor is record
- Container : Stack_Access;
- Ptr : Peek_Type;
- end record;
-
- type Iterator is new Iterator_Interfaces.Forward_Iterator with
+ type Cursor (Container : not null access constant Stack) is
record
- Container : Stack_Access;
+ Ptr : Peek_Type;
end record;
- overriding function First (Object : Iterator) return Cursor;
-
- overriding function Next
- (Object : Iterator;
- Position : Cursor) return Cursor;
-
end SAL.Gen_Unbounded_Definite_Stacks;
diff --git a/packages/wisi/sal-gen_unbounded_definite_vectors.adb
b/packages/wisi/sal-gen_unbounded_definite_vectors.adb
index be77f9c..faf1b45 100644
--- a/packages/wisi/sal-gen_unbounded_definite_vectors.adb
+++ b/packages/wisi/sal-gen_unbounded_definite_vectors.adb
@@ -1,588 +1,581 @@
--- Abstract :
---
--- See spec.
---
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
---
--- This library is free software; you can redistribute it and/or modify it
--- under terms of the GNU General Public License as published by the Free
--- Software Foundation; either version 3, or (at your option) any later
--- version. This library is distributed in the hope that it will be useful,
--- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
--- TABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
--- As a special exception under Section 7 of GPL version 3, you are granted
--- additional permissions described in the GCC Runtime Library Exception,
--- version 3.1, as published by the Free Software Foundation.
-
-pragma License (Modified_GPL);
-
-package body SAL.Gen_Unbounded_Definite_Vectors is
-
- function To_Peek_Type (Item : in Extended_Index) return Base_Peek_Type
- is begin
- return Base_Peek_Type'Base (Item - Index_Type'First) + Peek_Type'First;
- end To_Peek_Type;
-
- function To_Index_Type (Item : in Base_Peek_Type) return Extended_Index
- is begin
- return Extended_Index (Item - Peek_Type'First) + Index_Type'First;
- end To_Index_Type;
-
- procedure Grow (Elements : in out Array_Access; Index : in Base_Peek_Type)
- is
- -- Reallocate Elements so Elements (Index) is a valid element.
-
- Old_First : constant Peek_Type := Elements'First;
- Old_Last : constant Peek_Type := Elements'Last;
- New_First : Peek_Type := Old_First;
- New_Last : Peek_Type := Old_Last;
- New_Length : Peek_Type := Elements'Length;
-
- New_Array : Array_Access;
- begin
- loop
- exit when New_First <= Index;
- New_Length := New_Length * 2;
- New_First := Peek_Type'Max (Peek_Type'First, Old_Last - New_Length +
1);
- end loop;
- loop
- exit when New_Last >= Index;
- New_Length := New_Length * 2;
- New_Last := Peek_Type'Min (Peek_Type'Last, New_First + New_Length -
1);
- end loop;
-
- New_Array := new Array_Type (New_First .. New_Last);
-
- -- We'd like to use this:
- --
- -- New_Array (New_First .. Old_First - 1) := (others => <>);
- --
- -- but that can overflow the stack, since the aggregate is allocated
- -- on the stack.
-
- for I in New_First .. Old_First - 1 loop
- New_Array (I .. I) := (others => <>);
- end loop;
-
- New_Array (Old_First .. Old_Last) := Elements.all;
-
- for I in Old_Last + 1 .. New_Last loop
- New_Array (I .. I) := (others => <>);
- end loop;
-
- Free (Elements);
- Elements := New_Array;
- end Grow;
-
- ----------
- -- public subprograms
-
- overriding procedure Finalize (Container : in out Vector)
- is begin
- Free (Container.Elements);
- Container.First := No_Index;
- Container.Last := No_Index;
- end Finalize;
-
- overriding procedure Adjust (Container : in out Vector)
- is begin
- if Container.Elements /= null then
- Container.Elements := new Array_Type'(Container.Elements.all);
- end if;
- end Adjust;
-
- function Length (Container : in Vector) return Ada.Containers.Count_Type
- is begin
- -- We assume the type ranges are sensible, so no exceptions occur
- -- here.
- if Container.Elements = null then
- return 0;
- else
- return Ada.Containers.Count_Type (To_Peek_Type (Container.Last) -
Container.Elements'First + 1);
- end if;
- end Length;
-
- function Capacity (Container : in Vector) return Ada.Containers.Count_Type
- is begin
- if Container.Elements = null then
- return 0;
- else
- return Ada.Containers.Count_Type (Container.Elements'Length);
- end if;
- end Capacity;
-
- procedure Set_Capacity
- (Container : in out Vector;
- First : in Index_Type;
- Last : in Extended_Index)
- is
- First_Peek : constant Peek_Type := To_Peek_Type (First);
- Last_Peek : constant Peek_Type := To_Peek_Type (Last);
- begin
- if Container.Elements = null then
- Container.Elements := new Array_Type (First_Peek .. Last_Peek);
- else
- if First_Peek < Container.Elements'First then
- Grow (Container.Elements, First_Peek);
- end if;
- if Last_Peek < Container.Elements'Last then
- Grow (Container.Elements, Last_Peek);
- end if;
- end if;
- end Set_Capacity;
-
- function Element (Container : Vector; Index : Index_Type) return
Element_Type
- is begin
- return Container.Elements (To_Peek_Type (Index));
- end Element;
-
- procedure Replace_Element (Container : Vector; Index : Index_Type; New_Item
: in Element_Type)
- is begin
- Container.Elements (To_Peek_Type (Index)) := New_Item;
- end Replace_Element;
-
- function First_Index (Container : Vector) return Extended_Index
- is begin
- if Container.First = No_Index then
- return No_Index + 1;
- else
- return Container.First;
- end if;
- end First_Index;
-
- function Last_Index (Container : Vector) return Extended_Index
- is begin
- return Container.Last;
- end Last_Index;
-
- procedure Append (Container : in out Vector; New_Item : in Element_Type)
- is begin
- if Container.First = No_Index then
- Container.First := Index_Type'First;
- Container.Last := Index_Type'First;
- else
- Container.Last := Container.Last + 1;
- end if;
-
- declare
- J : constant Base_Peek_Type := To_Peek_Type (Container.Last);
- begin
- if Container.Elements = null then
- Container.Elements := new Array_Type (J .. J);
-
- elsif J > Container.Elements'Last then
- Grow (Container.Elements, J);
- end if;
-
- Container.Elements (J) := New_Item;
- end;
- end Append;
-
- procedure Append (Container : in out Vector; New_Items : in Vector)
- is
- use all type Ada.Containers.Count_Type;
- Old_Last : Extended_Index := Container.Last;
- begin
- if New_Items.Length = 0 then
- return;
- end if;
-
- if Container.First = No_Index then
- Container.First := Index_Type'First;
- Old_Last := Container.First - 1;
- Container.Last := Container.First + Extended_Index
(New_Items.Length) - 1;
- else
- Container.Last := Container.Last + Extended_Index (New_Items.Length);
- end if;
-
- declare
- I : constant Peek_Type := To_Peek_Type (Old_Last + 1);
- J : constant Peek_Type := To_Peek_Type (Container.Last);
- begin
- if Container.Elements = null then
- Container.Elements := new Array_Type (I .. J);
- elsif J > Container.Elements'Last then
- Grow (Container.Elements, J);
- end if;
-
- Container.Elements (I .. J) := New_Items.Elements
- (To_Peek_Type (New_Items.First) .. To_Peek_Type (New_Items.Last));
- end;
- end Append;
-
- procedure Prepend (Container : in out Vector; New_Item : in Element_Type)
- is begin
- if Container.First = No_Index then
- Container.First := Index_Type'First;
- Container.Last := Index_Type'First;
- else
- Container.First := Container.First - 1;
- end if;
-
- declare
- J : constant Peek_Type := To_Peek_Type (Container.First);
- begin
- if Container.Elements = null then
- Container.Elements := new Array_Type (J .. J);
-
- elsif J < Container.Elements'First then
- Grow (Container.Elements, J);
- end if;
-
- Container.Elements (J) := New_Item;
- end;
- end Prepend;
-
- procedure Prepend
- (Target : in out Vector;
- Source : in Vector;
- Source_First : in Index_Type;
- Source_Last : in Index_Type)
- is
- Source_I : constant Peek_Type := To_Peek_Type (Source_First);
- Source_J : constant Peek_Type := To_Peek_Type (Source_Last);
- begin
- if Target.Elements = null then
- Target.Elements := new Array_Type'(Source.Elements (Source_I ..
Source_J));
- Target.First := Source_First;
- Target.Last := Source_Last;
- else
- declare
- New_First : constant Index_Type := Target.First - (Source_Last -
Source_First + 1);
- I : constant Peek_Type := To_Peek_Type (New_First);
- J : constant Peek_Type := To_Peek_Type (Target.First - 1);
- begin
- if Target.Elements'First > I then
- Grow (Target.Elements, I);
- end if;
- Target.Elements (I .. J) := Source.Elements (Source_I .. Source_J);
- Target.First := New_First;
- end;
- end if;
- end Prepend;
-
- procedure Insert
- (Container : in out Vector;
- Element : in Element_Type;
- Before : in Index_Type)
- is
- use all type Ada.Containers.Count_Type;
- begin
- if Container.Length = 0 then
- Container.Append (Element);
- else
- Container.Last := Container.Last + 1;
-
- declare
- J : constant Peek_Type := To_Peek_Type (Before);
- K : constant Base_Peek_Type := To_Peek_Type (Container.Last);
- begin
- if K > Container.Elements'Last then
- Grow (Container.Elements, K);
- end if;
-
- Container.Elements (J + 1 .. K) := Container.Elements (J .. K - 1);
- Container.Elements (J) := Element;
- end;
- end if;
- end Insert;
-
- procedure Merge
- (Target : in out Vector;
- Source : in out Vector)
- is
- use all type Ada.Containers.Count_Type;
- begin
- if Source.Length = 0 then
- Source.Clear;
-
- elsif Target.Length = 0 then
- Target := Source;
- Source.Clear;
-
- else
- declare
- New_First : constant Index_Type := Extended_Index'Min
(Target.First, Source.First);
- New_Last : constant Index_Type := Extended_Index'Max
(Target.Last, Source.Last);
- New_I : constant Peek_Type := To_Peek_Type (New_First);
- New_J : constant Base_Peek_Type := To_Peek_Type (New_Last);
- begin
- if New_I < Target.Elements'First then
- Grow (Target.Elements, New_I);
- end if;
- if New_J > Target.Elements'Last then
- Grow (Target.Elements, New_J);
- end if;
-
- Target.Elements (To_Peek_Type (Source.First) .. To_Peek_Type
(Source.Last)) := Source.Elements
- (To_Peek_Type (Source.First) .. To_Peek_Type (Source.Last));
-
- Target.First := New_First;
- Target.Last := New_Last;
-
- Source.Clear;
- end;
- end if;
- end Merge;
-
- function To_Vector (Item : in Element_Type; Count : in
Ada.Containers.Count_Type := 1) return Vector
- is begin
- return Result : Vector do
- for I in 1 .. Count loop
- Result.Append (Item);
- end loop;
- end return;
- end To_Vector;
-
- function "+" (Element : in Element_Type) return Vector
- is begin
- return Result : Vector do
- Result.Append (Element);
- end return;
- end "+";
-
- function "&" (Left, Right : in Element_Type) return Vector
- is begin
- return Result : Vector do
- Result.Append (Left);
- Result.Append (Right);
- end return;
- end "&";
-
- function "&" (Left : in Vector; Right : in Element_Type) return Vector
- is begin
- return Result : Vector := Left do
- Result.Append (Right);
- end return;
- end "&";
-
- procedure Set_First (Container : in out Vector; First : in Index_Type)
- is
- J : constant Peek_Type := To_Peek_Type (First);
- begin
- Container.First := First;
- if Container.Last = No_Index then
- Container.Last := First - 1;
- end if;
-
- if Container.Last >= First then
- if Container.Elements = null then
- Container.Elements := new Array_Type'(J .. To_Peek_Type
(Container.Last) => Default_Element);
-
- elsif Container.Elements'First > J then
- Grow (Container.Elements, J);
- end if;
- end if;
- end Set_First;
-
- procedure Set_Last (Container : in out Vector; Last : in Extended_Index)
- is
- J : constant Base_Peek_Type := To_Peek_Type (Last);
- begin
- Container.Last := Last;
- if Container.First = No_Index then
- Container.First := Last + 1;
- end if;
-
- if Last >= Container.First then
- if Container.Elements = null then
- Container.Elements := new Array_Type'(To_Peek_Type
(Container.First) .. J => Default_Element);
-
- elsif Container.Elements'Last < J then
- Grow (Container.Elements, J);
- end if;
- end if;
- end Set_Last;
-
- procedure Set_First_Last
- (Container : in out Vector;
- First : in Index_Type;
- Last : in Extended_Index)
- is begin
- Set_First (Container, First);
- Set_Last (Container, Last);
- end Set_First_Last;
-
- procedure Delete (Container : in out Vector; Index : in Index_Type)
- is
- J : constant Peek_Type := To_Peek_Type (Index);
- begin
- Container.Elements (J .. J) := (J => <>);
- if Index = Container.Last then
- Container.Last := Container.Last - 1;
- end if;
- end Delete;
-
- function Contains (Container : in Vector; Element : in Element_Type) return
Boolean
- is
- use all type Ada.Containers.Count_Type;
- begin
- if Container.Length = 0 then
- return False;
- else
- for It of Container.Elements.all loop
- if It = Element then
- return True;
- end if;
- end loop;
- return False;
- end if;
- end Contains;
-
- function Has_Element (Position : Cursor) return Boolean is
- begin
- return Position.Index /= Invalid_Peek_Index;
- end Has_Element;
-
- function Element (Position : Cursor) return Element_Type
- is begin
- return Position.Container.Elements (Position.Index);
- end Element;
-
- function First (Container : aliased in Vector) return Cursor
- is begin
- if Container.First = No_Index then
- return No_Element;
- else
- return (Container'Access, To_Peek_Type (Container.First));
- end if;
- end First;
-
- function Next (Position : in Cursor) return Cursor
- is begin
- if Position = No_Element then
- return No_Element;
- elsif Position.Index < To_Peek_Type (Position.Container.Last) then
- return (Position.Container, Position.Index + 1);
- else
- return No_Element;
- end if;
- end Next;
-
- procedure Next (Position : in out Cursor)
- is begin
- if Position = No_Element then
- null;
- elsif Position.Index < To_Peek_Type (Position.Container.Last) then
- Position.Index := Position.Index + 1;
- else
- Position := No_Element;
- end if;
- end Next;
-
- function Prev (Position : in Cursor) return Cursor
- is begin
- if Position = No_Element then
- return No_Element;
- elsif Position.Index > To_Peek_Type (Position.Container.First) then
- return (Position.Container, Position.Index - 1);
- else
- return No_Element;
- end if;
- end Prev;
-
- procedure Prev (Position : in out Cursor)
- is begin
- if Position = No_Element then
- null;
- elsif Position.Index > To_Peek_Type (Position.Container.First) then
- Position.Index := Position.Index - 1;
- else
- Position := No_Element;
- end if;
- end Prev;
-
- function To_Cursor
- (Container : aliased in Vector;
- Index : in Extended_Index)
- return Cursor
- is begin
- if Index not in Container.First .. Container.Last then
- return No_Element;
- else
- return (Container'Access, To_Peek_Type (Index));
- end if;
- end To_Cursor;
-
- function To_Index (Position : in Cursor) return Extended_Index
- is begin
- if Position = No_Element then
- return No_Index;
- else
- return To_Index_Type (Position.Index);
- end if;
- end To_Index;
-
- function Constant_Ref (Container : aliased Vector; Index : in Index_Type)
return Constant_Reference_Type
- is
- J : constant Peek_Type := To_Peek_Type (Index);
- begin
- return (Element => Container.Elements (J)'Access, Dummy => 1);
- end Constant_Ref;
-
- function Variable_Ref
- (Container : aliased in Vector;
- Index : in Index_Type)
- return Variable_Reference_Type
- is
- J : constant Peek_Type := To_Peek_Type (Index);
- begin
- return (Element => Container.Elements (J)'Access, Dummy => 1);
- end Variable_Ref;
-
- overriding function First (Object : Iterator) return Cursor
- is begin
- if Object.Container.Elements = null then
- return (null, Invalid_Peek_Index);
- else
- return (Object.Container, To_Peek_Type (Object.Container.First));
- end if;
- end First;
-
- overriding function Last (Object : Iterator) return Cursor
- is begin
- if Object.Container.Elements = null then
- return (null, Invalid_Peek_Index);
- else
- return (Object.Container, To_Peek_Type (Object.Container.Last));
- end if;
- end Last;
-
- overriding function Next (Object : in Iterator; Position : in Cursor)
return Cursor
- is begin
- if Position.Index = To_Peek_Type (Object.Container.Last) then
- return (null, Invalid_Peek_Index);
- else
- return (Object.Container, Position.Index + 1);
- end if;
- end Next;
-
- overriding function Previous (Object : in Iterator; Position : in Cursor)
return Cursor
- is begin
- if Position.Index = To_Peek_Type (Index_Type'First) then
- return (null, Invalid_Peek_Index);
- else
- return (Object.Container, Position.Index - 1);
- end if;
- end Previous;
-
- function Iterate (Container : aliased in Vector) return
Iterator_Interfaces.Reversible_Iterator'Class
- is begin
- return Iterator'(Container => Container'Unrestricted_Access);
- end Iterate;
-
- function Constant_Ref (Container : aliased Vector; Position : in Cursor)
return Constant_Reference_Type
- is begin
- return (Element => Container.Elements (Position.Index)'Access, Dummy =>
1);
- end Constant_Ref;
-
- function Variable_Ref
- (Container : aliased in Vector;
- Position : in Cursor)
- return Variable_Reference_Type
- is begin
- return (Element => Container.Elements (Position.Index)'Access, Dummy =>
1);
- end Variable_Ref;
-
-end SAL.Gen_Unbounded_Definite_Vectors;
+-- Abstract :
+--
+-- See spec.
+--
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
+--
+-- This library is free software; you can redistribute it and/or modify it
+-- under terms of the GNU General Public License as published by the Free
+-- Software Foundation; either version 3, or (at your option) any later
+-- version. This library is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
+-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+-- As a special exception under Section 7 of GPL version 3, you are granted
+-- additional permissions described in the GCC Runtime Library Exception,
+-- version 3.1, as published by the Free Software Foundation.
+
+pragma License (Modified_GPL);
+
+package body SAL.Gen_Unbounded_Definite_Vectors is
+
+ function To_Peek_Type (Item : in Extended_Index) return Base_Peek_Type
+ is begin
+ return Base_Peek_Type'Base (Item - Index_Type'First) + Peek_Type'First;
+ end To_Peek_Type;
+
+ function To_Index_Type (Item : in Base_Peek_Type) return Extended_Index
+ is begin
+ return Extended_Index (Item - Peek_Type'First) + Index_Type'First;
+ end To_Index_Type;
+
+ procedure Grow (Elements : in out Array_Access; Index : in Base_Peek_Type)
+ is
+ -- Reallocate Elements so Elements (Index) is a valid element.
+
+ Old_First : constant Peek_Type := Elements'First;
+ Old_Last : constant Peek_Type := Elements'Last;
+ New_First : Peek_Type := Old_First;
+ New_Last : Peek_Type := Old_Last;
+ New_Length : Peek_Type := Elements'Length;
+
+ New_Array : Array_Access;
+ begin
+ loop
+ exit when New_First <= Index;
+ New_Length := New_Length * 2;
+ New_First := Peek_Type'Max (Peek_Type'First, Old_Last - New_Length +
1);
+ end loop;
+ loop
+ exit when New_Last >= Index;
+ New_Length := New_Length * 2;
+ New_Last := Peek_Type'Min (Peek_Type'Last, New_First + New_Length -
1);
+ end loop;
+
+ New_Array := new Array_Type (New_First .. New_Last);
+
+ -- We'd like to use this:
+ --
+ -- New_Array (New_First .. Old_First - 1) := (others => <>);
+ --
+ -- but that can overflow the stack, since the aggregate is allocated
+ -- on the stack.
+
+ for I in New_First .. Old_First - 1 loop
+ New_Array (I .. I) := (others => <>);
+ end loop;
+
+ New_Array (Old_First .. Old_Last) := Elements.all;
+
+ for I in Old_Last + 1 .. New_Last loop
+ New_Array (I .. I) := (others => <>);
+ end loop;
+
+ Free (Elements);
+ Elements := New_Array;
+ end Grow;
+
+ ----------
+ -- public subprograms
+
+ overriding procedure Finalize (Container : in out Vector)
+ is begin
+ Free (Container.Elements);
+ Container.First := No_Index;
+ Container.Last := No_Index;
+ end Finalize;
+
+ overriding procedure Adjust (Container : in out Vector)
+ is begin
+ if Container.Elements /= null then
+ Container.Elements := new Array_Type'(Container.Elements.all);
+ end if;
+ end Adjust;
+
+ function Length (Container : in Vector) return Ada.Containers.Count_Type
+ is begin
+ -- We assume the type ranges are sensible, so no exceptions occur
+ -- here.
+ if Container.Elements = null then
+ return 0;
+ else
+ return Ada.Containers.Count_Type (To_Peek_Type (Container.Last) -
Container.Elements'First + 1);
+ end if;
+ end Length;
+
+ function Capacity (Container : in Vector) return Ada.Containers.Count_Type
+ is begin
+ if Container.Elements = null then
+ return 0;
+ else
+ return Ada.Containers.Count_Type (Container.Elements'Length);
+ end if;
+ end Capacity;
+
+ procedure Set_Capacity
+ (Container : in out Vector;
+ First : in Index_Type;
+ Last : in Extended_Index)
+ is
+ First_Peek : constant Peek_Type := To_Peek_Type (First);
+ Last_Peek : constant Peek_Type := To_Peek_Type (Last);
+ begin
+ if Container.Elements = null then
+ Container.Elements := new Array_Type (First_Peek .. Last_Peek);
+ else
+ if First_Peek < Container.Elements'First then
+ Grow (Container.Elements, First_Peek);
+ end if;
+ if Last_Peek < Container.Elements'Last then
+ Grow (Container.Elements, Last_Peek);
+ end if;
+ end if;
+ end Set_Capacity;
+
+ function Element (Container : Vector; Index : Index_Type) return
Element_Type
+ is begin
+ return Container.Elements (To_Peek_Type (Index));
+ end Element;
+
+ procedure Replace_Element (Container : Vector; Index : Index_Type; New_Item
: in Element_Type)
+ is begin
+ Container.Elements (To_Peek_Type (Index)) := New_Item;
+ end Replace_Element;
+
+ function First_Index (Container : Vector) return Extended_Index
+ is begin
+ if Container.First = No_Index then
+ return No_Index + 1;
+ else
+ return Container.First;
+ end if;
+ end First_Index;
+
+ function Last_Index (Container : Vector) return Extended_Index
+ is begin
+ return Container.Last;
+ end Last_Index;
+
+ procedure Append (Container : in out Vector; New_Item : in Element_Type)
+ is begin
+ if Container.First = No_Index then
+ Container.First := Index_Type'First;
+ Container.Last := Index_Type'First;
+ else
+ Container.Last := Container.Last + 1;
+ end if;
+
+ declare
+ J : constant Base_Peek_Type := To_Peek_Type (Container.Last);
+ begin
+ if Container.Elements = null then
+ Container.Elements := new Array_Type (J .. J);
+
+ elsif J > Container.Elements'Last then
+ Grow (Container.Elements, J);
+ end if;
+
+ Container.Elements (J) := New_Item;
+ end;
+ end Append;
+
+ procedure Append (Container : in out Vector; New_Items : in Vector)
+ is
+ use all type Ada.Containers.Count_Type;
+ Old_Last : Extended_Index := Container.Last;
+ begin
+ if New_Items.Length = 0 then
+ return;
+ end if;
+
+ if Container.First = No_Index then
+ Container.First := Index_Type'First;
+ Old_Last := Container.First - 1;
+ Container.Last := Container.First + Extended_Index
(New_Items.Length) - 1;
+ else
+ Container.Last := Container.Last + Extended_Index (New_Items.Length);
+ end if;
+
+ declare
+ I : constant Peek_Type := To_Peek_Type (Old_Last + 1);
+ J : constant Peek_Type := To_Peek_Type (Container.Last);
+ begin
+ if Container.Elements = null then
+ Container.Elements := new Array_Type (I .. J);
+ elsif J > Container.Elements'Last then
+ Grow (Container.Elements, J);
+ end if;
+
+ Container.Elements (I .. J) := New_Items.Elements
+ (To_Peek_Type (New_Items.First) .. To_Peek_Type (New_Items.Last));
+ end;
+ end Append;
+
+ procedure Prepend (Container : in out Vector; New_Item : in Element_Type)
+ is begin
+ if Container.First = No_Index then
+ Container.First := Index_Type'First;
+ Container.Last := Index_Type'First;
+ else
+ Container.First := Container.First - 1;
+ end if;
+
+ declare
+ J : constant Peek_Type := To_Peek_Type (Container.First);
+ begin
+ if Container.Elements = null then
+ Container.Elements := new Array_Type (J .. J);
+
+ elsif J < Container.Elements'First then
+ Grow (Container.Elements, J);
+ end if;
+
+ Container.Elements (J) := New_Item;
+ end;
+ end Prepend;
+
+ procedure Prepend
+ (Target : in out Vector;
+ Source : in Vector;
+ Source_First : in Index_Type;
+ Source_Last : in Index_Type)
+ is
+ Source_I : constant Peek_Type := To_Peek_Type (Source_First);
+ Source_J : constant Peek_Type := To_Peek_Type (Source_Last);
+ begin
+ if Target.Elements = null then
+ Target.Elements := new Array_Type'(Source.Elements (Source_I ..
Source_J));
+ Target.First := Source_First;
+ Target.Last := Source_Last;
+ else
+ declare
+ New_First : constant Index_Type := Target.First - (Source_Last -
Source_First + 1);
+ I : constant Peek_Type := To_Peek_Type (New_First);
+ J : constant Peek_Type := To_Peek_Type (Target.First - 1);
+ begin
+ if Target.Elements'First > I then
+ Grow (Target.Elements, I);
+ end if;
+ Target.Elements (I .. J) := Source.Elements (Source_I .. Source_J);
+ Target.First := New_First;
+ end;
+ end if;
+ end Prepend;
+
+ procedure Insert
+ (Container : in out Vector;
+ Element : in Element_Type;
+ Before : in Index_Type)
+ is
+ use all type Ada.Containers.Count_Type;
+ begin
+ if Container.Length = 0 then
+ Container.Append (Element);
+ else
+ Container.Last := Container.Last + 1;
+
+ declare
+ J : constant Peek_Type := To_Peek_Type (Before);
+ K : constant Base_Peek_Type := To_Peek_Type (Container.Last);
+ begin
+ if K > Container.Elements'Last then
+ Grow (Container.Elements, K);
+ end if;
+
+ Container.Elements (J + 1 .. K) := Container.Elements (J .. K - 1);
+ Container.Elements (J) := Element;
+ end;
+ end if;
+ end Insert;
+
+ procedure Merge
+ (Target : in out Vector;
+ Source : in out Vector)
+ is
+ use all type Ada.Containers.Count_Type;
+ begin
+ if Source.Length = 0 then
+ Source.Clear;
+
+ elsif Target.Length = 0 then
+ Target := Source;
+ Source.Clear;
+
+ else
+ declare
+ New_First : constant Index_Type := Extended_Index'Min
(Target.First, Source.First);
+ New_Last : constant Index_Type := Extended_Index'Max
(Target.Last, Source.Last);
+ New_I : constant Peek_Type := To_Peek_Type (New_First);
+ New_J : constant Base_Peek_Type := To_Peek_Type (New_Last);
+ begin
+ if New_I < Target.Elements'First then
+ Grow (Target.Elements, New_I);
+ end if;
+ if New_J > Target.Elements'Last then
+ Grow (Target.Elements, New_J);
+ end if;
+
+ Target.Elements (To_Peek_Type (Source.First) .. To_Peek_Type
(Source.Last)) := Source.Elements
+ (To_Peek_Type (Source.First) .. To_Peek_Type (Source.Last));
+
+ Target.First := New_First;
+ Target.Last := New_Last;
+
+ Source.Clear;
+ end;
+ end if;
+ end Merge;
+
+ function To_Vector (Item : in Element_Type; Count : in
Ada.Containers.Count_Type := 1) return Vector
+ is begin
+ return Result : Vector do
+ for I in 1 .. Count loop
+ Result.Append (Item);
+ end loop;
+ end return;
+ end To_Vector;
+
+ function "+" (Element : in Element_Type) return Vector
+ is begin
+ return Result : Vector do
+ Result.Append (Element);
+ end return;
+ end "+";
+
+ function "&" (Left, Right : in Element_Type) return Vector
+ is begin
+ return Result : Vector do
+ Result.Append (Left);
+ Result.Append (Right);
+ end return;
+ end "&";
+
+ function "&" (Left : in Vector; Right : in Element_Type) return Vector
+ is begin
+ return Result : Vector := Left do
+ Result.Append (Right);
+ end return;
+ end "&";
+
+ procedure Set_First (Container : in out Vector; First : in Index_Type)
+ is
+ J : constant Peek_Type := To_Peek_Type (First);
+ begin
+ Container.First := First;
+ if Container.Last = No_Index then
+ Container.Last := First - 1;
+ end if;
+
+ if Container.Last >= First then
+ if Container.Elements = null then
+ Container.Elements := new Array_Type'(J .. To_Peek_Type
(Container.Last) => Default_Element);
+
+ elsif Container.Elements'First > J then
+ Grow (Container.Elements, J);
+ end if;
+ end if;
+ end Set_First;
+
+ procedure Set_Last (Container : in out Vector; Last : in Extended_Index)
+ is
+ J : constant Base_Peek_Type := To_Peek_Type (Last);
+ begin
+ Container.Last := Last;
+ if Container.First = No_Index then
+ Container.First := Last + 1;
+ end if;
+
+ if Last >= Container.First then
+ if Container.Elements = null then
+ Container.Elements := new Array_Type'(To_Peek_Type
(Container.First) .. J => Default_Element);
+
+ elsif Container.Elements'Last < J then
+ Grow (Container.Elements, J);
+ end if;
+ end if;
+ end Set_Last;
+
+ procedure Set_First_Last
+ (Container : in out Vector;
+ First : in Index_Type;
+ Last : in Extended_Index)
+ is begin
+ Set_First (Container, First);
+ Set_Last (Container, Last);
+ end Set_First_Last;
+
+ procedure Delete (Container : in out Vector; Index : in Index_Type)
+ is
+ J : constant Peek_Type := To_Peek_Type (Index);
+ begin
+ Container.Elements (J .. J) := (J => <>);
+ if Index = Container.Last then
+ Container.Last := Container.Last - 1;
+ end if;
+ end Delete;
+
+ function Contains (Container : in Vector; Element : in Element_Type) return
Boolean
+ is
+ use all type Ada.Containers.Count_Type;
+ begin
+ if Container.Length = 0 then
+ return False;
+ else
+ for It of Container.Elements.all loop
+ if It = Element then
+ return True;
+ end if;
+ end loop;
+ return False;
+ end if;
+ end Contains;
+
+ function Element (Position : Cursor) return Element_Type
+ is begin
+ return Position.Container.Elements (Position.Index);
+ end Element;
+
+ function First (Container : aliased in Vector) return Cursor
+ is
+ use all type Ada.Containers.Count_Type;
+ begin
+ if Container.Length = 0 then
+ return (Container'Access, Invalid_Peek_Index);
+ else
+ return (Container'Access, To_Peek_Type (Container.First));
+ end if;
+ end First;
+
+ function Next (Position : in Cursor) return Cursor
+ is begin
+ if Position.Index = Invalid_Peek_Index then
+ return (Position.Container, Invalid_Peek_Index);
+ elsif Position.Index < To_Peek_Type (Position.Container.Last) then
+ return (Position.Container, Position.Index + 1);
+ else
+ return (Position.Container, Invalid_Peek_Index);
+ end if;
+ end Next;
+
+ procedure Next (Position : in out Cursor)
+ is begin
+ if Position.Index = Invalid_Peek_Index then
+ null;
+ elsif Position.Index < To_Peek_Type (Position.Container.Last) then
+ Position.Index := Position.Index + 1;
+ else
+ Position := (Position.Container, Invalid_Peek_Index);
+ end if;
+ end Next;
+
+ function Prev (Position : in Cursor) return Cursor
+ is begin
+ if Position.Index = Invalid_Peek_Index then
+ return (Position.Container, Invalid_Peek_Index);
+ elsif Position.Index > To_Peek_Type (Position.Container.First) then
+ return (Position.Container, Position.Index - 1);
+ else
+ return (Position.Container, Invalid_Peek_Index);
+ end if;
+ end Prev;
+
+ procedure Prev (Position : in out Cursor)
+ is begin
+ if Position.Index = Invalid_Peek_Index then
+ null;
+ elsif Position.Index > To_Peek_Type (Position.Container.First) then
+ Position.Index := Position.Index - 1;
+ else
+ Position := (Position.Container, Invalid_Peek_Index);
+ end if;
+ end Prev;
+
+ function To_Cursor
+ (Container : aliased in Vector;
+ Index : in Extended_Index)
+ return Cursor
+ is begin
+ return (Container'Access, To_Peek_Type (Index));
+ end To_Cursor;
+
+ function To_Index (Position : in Cursor) return Extended_Index
+ is begin
+ if Position.Index = Invalid_Peek_Index then
+ return No_Index;
+ else
+ return To_Index_Type (Position.Index);
+ end if;
+ end To_Index;
+
+ function Constant_Ref (Container : aliased Vector; Index : in Index_Type)
return Constant_Reference_Type
+ is
+ J : constant Peek_Type := To_Peek_Type (Index);
+ begin
+ return (Element => Container.Elements (J)'Access, Dummy => 1);
+ end Constant_Ref;
+
+ function Variable_Ref
+ (Container : aliased in Vector;
+ Index : in Index_Type)
+ return Variable_Reference_Type
+ is
+ J : constant Peek_Type := To_Peek_Type (Index);
+ begin
+ return (Element => Container.Elements (J)'Access, Dummy => 1);
+ end Variable_Ref;
+
+ overriding function First (Object : Iterator) return Cursor
+ is begin
+ if Object.Container.Elements = null then
+ return (Object.Container, Invalid_Peek_Index);
+ else
+ return (Object.Container, To_Peek_Type (Object.Container.First));
+ end if;
+ end First;
+
+ overriding function Last (Object : Iterator) return Cursor
+ is begin
+ if Object.Container.Elements = null then
+ return (Object.Container, Invalid_Peek_Index);
+ else
+ return (Object.Container, To_Peek_Type (Object.Container.Last));
+ end if;
+ end Last;
+
+ overriding function Next (Object : in Iterator; Position : in Cursor)
return Cursor
+ is begin
+ if Position.Index = To_Peek_Type (Object.Container.Last) then
+ return (Object.Container, Invalid_Peek_Index);
+ else
+ return (Object.Container, Position.Index + 1);
+ end if;
+ end Next;
+
+ overriding function Previous (Object : in Iterator; Position : in Cursor)
return Cursor
+ is begin
+ if Position.Index = To_Peek_Type (Index_Type'First) then
+ return (Object.Container, Invalid_Peek_Index);
+ else
+ return (Object.Container, Position.Index - 1);
+ end if;
+ end Previous;
+
+ function Iterate (Container : aliased in Vector) return
Iterator_Interfaces.Reversible_Iterator'Class
+ is begin
+ return Iterator'(Container => Container'Access);
+ end Iterate;
+
+ function Constant_Ref (Container : aliased Vector; Position : in Cursor)
return Constant_Reference_Type
+ is begin
+ return (Element => Container.Elements (Position.Index)'Access, Dummy =>
1);
+ end Constant_Ref;
+
+ function Variable_Ref
+ (Container : aliased in Vector;
+ Position : in Cursor)
+ return Variable_Reference_Type
+ is begin
+ return (Element => Container.Elements (Position.Index)'Access, Dummy =>
1);
+ end Variable_Ref;
+
+end SAL.Gen_Unbounded_Definite_Vectors;
diff --git a/packages/wisi/sal-gen_unbounded_definite_vectors.ads
b/packages/wisi/sal-gen_unbounded_definite_vectors.ads
index 76cca13..818a223 100644
--- a/packages/wisi/sal-gen_unbounded_definite_vectors.ads
+++ b/packages/wisi/sal-gen_unbounded_definite_vectors.ads
@@ -8,7 +8,13 @@
-- It provides no checking of cursor tampering; higher level code
-- must ensure that.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Design:
+--
+-- See ARM 3.10.2 "explicitly aliased" for why we need 'aliased' in
+-- several subprogram argument modes, and why Container must be an
+-- access discriminant in Cursor and Iterator.
+--
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -39,10 +45,10 @@ package SAL.Gen_Unbounded_Definite_Vectors is
No_Index : constant Extended_Index := Extended_Index'First;
type Vector is new Ada.Finalization.Controlled with private with
- Constant_Indexing => Constant_Ref,
- Variable_Indexing => Variable_Ref,
- Default_Iterator => Iterate,
- Iterator_Element => Element_Type;
+ Constant_Indexing => Constant_Ref,
+ Variable_Indexing => Variable_Ref,
+ Default_Iterator => Iterate,
+ Iterator_Element => Element_Type;
Empty_Vector : constant Vector;
@@ -68,6 +74,8 @@ package SAL.Gen_Unbounded_Definite_Vectors is
function First_Index (Container : Vector) return Extended_Index;
-- No_Index + 1 when Container is empty, so "for I in C.First_Index
-- .. C.Last_Index loop" works.
+ --
+ -- If you need No_Index for an empty Container, use To_Index
(Container.First).
function Last_Index (Container : Vector) return Extended_Index;
-- No_Index when Container is empty.
@@ -145,13 +153,11 @@ package SAL.Gen_Unbounded_Definite_Vectors is
function Variable_Ref (Container : aliased in Vector; Index : in
Index_Type) return Variable_Reference_Type
with Inline, Pre => Index in Container.First_Index .. Container.Last_Index;
- type Cursor is private;
-
- No_Element : constant Cursor;
+ type Cursor (<>) is private;
function Has_Element (Position : Cursor) return Boolean;
function Element (Position : Cursor) return Element_Type
- with Pre => Position /= No_Element;
+ with Pre => Has_Element (Position);
function First (Container : aliased in Vector) return Cursor;
function Next (Position : in Cursor) return Cursor;
procedure Next (Position : in out Cursor);
@@ -161,7 +167,8 @@ package SAL.Gen_Unbounded_Definite_Vectors is
function To_Cursor
(Container : aliased in Vector;
Index : in Extended_Index)
- return Cursor;
+ return Cursor
+ with Pre => Index = No_Index or Index in Container.First_Index ..
Container.Last_Index;
function To_Index (Position : in Cursor) return Extended_Index;
@@ -195,16 +202,14 @@ private
type Vector_Access is access constant Vector;
for Vector_Access'Storage_Size use 0;
- type Cursor is record
- Container : Vector_Access := null;
- Index : Base_Peek_Type := Invalid_Peek_Index;
- end record;
-
- type Iterator is new Iterator_Interfaces.Reversible_Iterator with
+ type Cursor (Container : not null access constant Vector) is
record
- Container : Vector_Access;
+ Index : Base_Peek_Type := Invalid_Peek_Index;
end record;
+ type Iterator (Container : not null access constant Vector) is new
Iterator_Interfaces.Reversible_Iterator with
+ null record;
+
overriding function First (Object : Iterator) return Cursor;
overriding function Last (Object : Iterator) return Cursor;
@@ -228,7 +233,11 @@ private
Empty_Vector : constant Vector := (Ada.Finalization.Controlled with others
=> <>);
- No_Element : constant Cursor := (others => <>);
+ ----------
+ -- Visible for contracts/SPARK
+
+ function Has_Element (Position : Cursor) return Boolean
+ is (Position.Index /= Invalid_Peek_Index);
----------
-- Visible for child package
diff --git a/packages/wisi/sal-gen_unbounded_definite_vectors_sorted.adb
b/packages/wisi/sal-gen_unbounded_definite_vectors_sorted.adb
index 6d836c5..8e40695 100644
--- a/packages/wisi/sal-gen_unbounded_definite_vectors_sorted.adb
+++ b/packages/wisi/sal-gen_unbounded_definite_vectors_sorted.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2019 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -163,7 +163,6 @@ package body SAL.Gen_Unbounded_Definite_Vectors_Sorted is
(Container : in out Vector;
Length : in Ada.Containers.Count_Type)
is
- use all type Ada.Containers.Count_Type;
First_Peek : constant Peek_Type := Peek_Type'First;
Last_Peek : constant Base_Peek_Type := Base_Peek_Type (Length);
begin
@@ -312,42 +311,44 @@ package body SAL.Gen_Unbounded_Definite_Vectors_Sorted is
overriding function First (Object : Iterator) return Cursor
is begin
if Object.Container.Elements = null then
- return (null, Invalid_Peek_Index);
+ return (Index => Invalid_Peek_Index);
else
- return (Object.Container, Peek_Type'First);
+ return (Index => Peek_Type'First);
end if;
end First;
overriding function Last (Object : Iterator) return Cursor
is begin
if Object.Container.Elements = null then
- return (null, Invalid_Peek_Index);
+ return (Index => Invalid_Peek_Index);
else
- return (Object.Container, Object.Container.Last);
+ return (Index => Object.Container.Last);
end if;
end Last;
overriding function Next (Object : in Iterator; Position : in Cursor)
return Cursor
is begin
if Position.Index = Object.Container.Last then
- return (null, Invalid_Peek_Index);
+ return (Index => Invalid_Peek_Index);
else
- return (Object.Container, Position.Index + 1);
+ return (Index => Position.Index + 1);
end if;
end Next;
overriding function Previous (Object : in Iterator; Position : in Cursor)
return Cursor
- is begin
+ is
+ pragma Unreferenced (Object);
+ begin
if Position.Index = Peek_Type'First then
- return (null, Invalid_Peek_Index);
+ return (Index => Invalid_Peek_Index);
else
- return (Object.Container, Position.Index - 1);
+ return (Index => Position.Index - 1);
end if;
end Previous;
function Iterate (Container : aliased in Vector) return
Iterator_Interfaces.Reversible_Iterator'Class
is begin
- return Iterator'(Container => Container'Unrestricted_Access);
+ return Iterator'(Container => Container'Access);
end Iterate;
function Constant_Ref (Container : aliased Vector; Position : in Cursor)
return Constant_Reference_Type
@@ -355,11 +356,16 @@ package body SAL.Gen_Unbounded_Definite_Vectors_Sorted is
return (Element => Container.Elements (Position.Index)'Access, Dummy =>
1);
end Constant_Ref;
- function Last_Index (Container : aliased Vector) return Base_Peek_Type
+ function Last_Index (Container : in Vector) return Base_Peek_Type
is begin
return Container.Last;
end Last_Index;
+ function To_Index (Position : in Cursor) return Base_Peek_Type
+ is begin
+ return Position.Index;
+ end To_Index;
+
function Constant_Ref (Container : aliased Vector; Index : in Peek_Type)
return Constant_Reference_Type
is begin
return (Element => Container.Elements (Index)'Access, Dummy => 1);
diff --git a/packages/wisi/sal-gen_unbounded_definite_vectors_sorted.ads
b/packages/wisi/sal-gen_unbounded_definite_vectors_sorted.ads
index c197ec4..2a52c74 100644
--- a/packages/wisi/sal-gen_unbounded_definite_vectors_sorted.ads
+++ b/packages/wisi/sal-gen_unbounded_definite_vectors_sorted.ads
@@ -2,7 +2,7 @@
--
-- A simple unbounded sorted vector of definite items.
--
--- Copyright (C) 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2019 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -27,6 +27,8 @@ generic
with function Key_Compare (Left, Right : in Key_Type) return Compare_Result;
package SAL.Gen_Unbounded_Definite_Vectors_Sorted is
+ use all type Ada.Containers.Count_Type;
+
type Vector is new Ada.Finalization.Controlled with private with
Constant_Indexing => Constant_Ref,
Default_Iterator => Iterate,
@@ -94,13 +96,16 @@ package SAL.Gen_Unbounded_Definite_Vectors_Sorted is
Implicit_Dereference => Element;
function Constant_Ref (Container : aliased Vector; Position : in Cursor)
return Constant_Reference_Type
- with Inline;
+ with Inline,
+ Pre => To_Index (Position) in Container.First_Index ..
Container.Last_Index;
- function First_Index (Container : aliased Vector) return Peek_Type is
(Peek_Type'First);
- function Last_Index (Container : aliased Vector) return Base_Peek_Type
+ function First_Index (Container : in Vector) return Peek_Type is
(Peek_Type'First);
+ function Last_Index (Container : in Vector) return Base_Peek_Type
with Inline;
+ function To_Index (Position : in Cursor) return Base_Peek_Type;
function Constant_Ref (Container : aliased Vector; Index : in Peek_Type)
return Constant_Reference_Type
- with Inline;
+ with Inline,
+ Pre => Index in Container.First_Index .. Container.Last_Index;
private
@@ -123,14 +128,11 @@ private
for Vector_Access'Storage_Size use 0;
type Cursor is record
- Container : Vector_Access := null;
- Index : Base_Peek_Type := No_Index;
+ Index : Base_Peek_Type := No_Index;
end record;
- type Iterator is new Iterator_Interfaces.Reversible_Iterator with
- record
- Container : Vector_Access;
- end record;
+ type Iterator (Container : not null access constant Vector) is new
Iterator_Interfaces.Reversible_Iterator
+ with null record;
overriding function First (Object : Iterator) return Cursor;
overriding function Last (Object : Iterator) return Cursor;
diff --git a/packages/wisi/sal.adb b/packages/wisi/sal.adb
index e3f5d52..08a2184 100644
--- a/packages/wisi/sal.adb
+++ b/packages/wisi/sal.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 1997 - 2004, 2006, 2009, 2019 Free Software Foundation, Inc.
+-- Copyright (C) 1997 - 2004, 2006, 2009, 2019, 2020 Free Software
Foundation, Inc.
--
-- SAL is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the
@@ -26,7 +26,7 @@ package body SAL is
function Version return String is
begin
- return "SAL 3.3";
+ return "SAL 3.4";
end Version;
end SAL;
diff --git a/packages/wisi/standard_common.gpr
b/packages/wisi/standard_common.gpr
index 2ba758a..ce019c7 100644
--- a/packages/wisi/standard_common.gpr
+++ b/packages/wisi/standard_common.gpr
@@ -2,7 +2,7 @@
--
-- Standard settings for all of Stephe's Ada projects.
--
--- Copyright (C) 2018, 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This program is free software; you can redistribute it and/or
-- modify it under terms of the GNU General Public License as
@@ -61,7 +61,7 @@ project Standard_Common is
-- suppress that warning with -gnatwP.
Debug_Switches := Common_Switches &
(
- "-O0",
+ "-O0", -- we don't use -Og because that causes gdb to report
incorrect results in some cases in Ada.
"-gnata", -- assertions, pre/post-conditions
"-gnatVa", -- validity checks
"-gnateE", -- extra info in exceptions
diff --git a/packages/wisi/wisi-prj.el b/packages/wisi/wisi-prj.el
index 833a514..ba3932d 100644
--- a/packages/wisi/wisi-prj.el
+++ b/packages/wisi/wisi-prj.el
@@ -1,4 +1,4 @@
-;;; wisi-prj.el --- project definition files -*- lexical-binding:t -*-
+;;; wisi-prj.el --- project integration -*- lexical-binding:t -*-
;;
;; Copyright (C) 2019 - 2020 Free Software Foundation, Inc.
;;
@@ -184,10 +184,29 @@ after the project file PRJ-FILE-NAME is parsed."
slow refresh operations may be skipped."
nil)
-(cl-defgeneric wisi-xref-definitions (_xref project item)
+(cl-defgeneric wisi-xref-completion-table (xref project)
+ "Return a completion table of names defined in PROJECT, for navigating to
the declarations.
+The table is an alist of (ANNOTATED-SYMBOL . LOC), where:
+
+- ANNOTATED-SYMBOL is the simple name and possibly annotations
+such as function arguments, controlling type, containing package,
+and line number.
+
+- LOC is the declaration of the name as a list (FILE LINE
+COLUMN).")
+
+(cl-defgeneric wisi-xref-completion-regexp (xref)
+ "Return a regular expression matching the result of completing with
`wisi-xref-completion-table'.
+Group 1 must be the simple symbol; the rest of the item may be annotations.")
+
+(cl-defgeneric wisi-xref-completion-at-point-table (xref project)
+ "Return a completion table of names defined in PROJECT, for
`completion-at-point'.
+The table is a simple list of symbols.")
+
+(cl-defgeneric wisi-xref-definitions (xref project item)
"Return all definitions (classwide) of ITEM (an xref-item), as a list of
xref-items.")
-(cl-defgeneric wisi-xref-references (_xref project item)
+(cl-defgeneric wisi-xref-references (xref project item)
"Return all references to ITEM (an xref-item), as a list of xref-items.")
(cl-defgeneric wisi-xref-other (project &key identifier filename line column)
@@ -240,62 +259,128 @@ LINE, COLUMN are Emacs origin."
(defun wisi-show-xref (xref)
"Display XREF location."
(let ((marker (xref-location-marker (xref-item-location xref))))
+ (push-mark)
(pop-to-buffer (marker-buffer marker) (list #'display-buffer-same-window))
(goto-char (marker-position marker))))
+(defun wisi-filter-table (table file)
+ "If FILE is nil, return TABLE. Otherwise return only items in TABLE with
location FILE."
+ (cond
+ ((null file)
+ table)
+
+ (t
+ (let (result)
+ (dolist (item table)
+ (when (string= file (car (cdr item)))
+ (push item result)))
+ result))))
+
(defun wisi-get-identifier (prompt)
- "Get identifier at point, or if no identifier at point, or with user arg,
prompt for one."
+ "Get identifier at point, or if no identifier at point, or with user arg,
prompt for one.
+Single user arg completes on all identifiers in project; double
+user arg limits completion to current file."
;; Similar to xref--read-identifier, but uses a different completion
;; table, because we want a more specific reference.
- (let* ((backend (xref-find-backend))
- (def (xref-backend-identifier-at-point backend)))
+ (let* ((prj (project-current))
+ (def (xref-backend-identifier-at-point prj)))
(cond
((or current-prefix-arg
(not def))
- (let ((id
- (completing-read
- (if def
- (format "%s (default %s): " prompt def)
- prompt)
- (wisi-names t)
- nil nil nil
- 'xref--read-identifier-history def)))
+ (let* ((table (wisi-filter-table (wisi-xref-completion-table
(wisi-prj-xref prj) prj)
+ (when (equal '(16) current-prefix-arg)
(buffer-file-name))))
+ (id
+ ;; Since the user decided not to use the identifier at
+ ;; point, don't use it as the default.
+ (completing-read prompt table nil nil nil
'xref--read-identifier-history)))
(if (equal id "")
(user-error "No identifier provided")
- id)))
+
+ ;; The user may have forced exit from completing-read with a
+ ;; string that is not in the table (because gpr-query is out
+ ;; of date, for example).
+ (or (and (consp (car table)) ;; alist; return key and value.
+ (assoc id table))
+ id))))
(t def))))
(defun wisi-goto-spec/body (identifier)
"Goto declaration or body for IDENTIFIER (default symbol at point).
If no symbol at point, or with prefix arg, prompt for symbol, goto spec."
(interactive (list (wisi-get-identifier "Goto spec/body of: ")))
- (let ((prj (project-current)))
- (wisi-show-xref
- (wisi-xref-ident-make
- identifier
- (lambda (ident file line column)
- (let ((target (wisi-xref-other
- (wisi-prj-xref prj) prj
- :identifier ident
- :filename file
- :line line
- :column column)))
- (xref-make ident
- (xref-make-file-location
- (nth 0 target) ;; file
- (nth 1 target) ;; line
- (nth 2 target))) ;; column
- ))))
+ (let ((prj (project-current))
+ desired-loc)
+ (cond
+ ((consp identifier)
+ ;; alist element from wisi-xref-completion-table; desired
+ ;; location is primary declaration
+ (setq desired-loc
+ (xref-make (car identifier)
+ (xref-make-file-location
+ (nth 0 (cdr identifier)) ;; file
+ (nth 1 (cdr identifier)) ;; line
+ (nth 2 (cdr identifier)) ;; column
+ ))))
+
+ ((stringp identifier)
+ ;; from xref-backend-identifier-at-point; desired location is 'other'
+ (let ((item (wisi-xref-item identifier prj)))
+ (condition-case-unless-debug err
+ (with-slots (summary location) item
+ (let ((eieio-skip-typecheck t))
+ (with-slots (file line column) location
+ (let ((target
+ (wisi-xref-other
+ (wisi-prj-xref prj) prj
+ :identifier summary
+ :filename file
+ :line line
+ :column column)))
+ (setq desired-loc
+ (xref-make summary
+ (xref-make-file-location
+ (nth 0 target) ;; file
+ (nth 1 target) ;; line
+ (nth 2 target))) ;; column
+ )))))
+ (user-error ;; from gpr-query; current file might be new to project,
so try wisi-names
+ (let ((item (assoc identifier (wisi-names nil t))))
+ (if item
+ (setq desired-loc
+ (xref-make identifier
+ (xref-make-file-location
+ (nth 1 item) ;; file
+ (nth 2 item) ;; line
+ (nth 3 item))))
+ (signal (car err) (cdr err)))))
+ )))
+
+ (t ;; something else
+ (error "unknown case in wisi-goto-spec/body")))
+ (wisi-show-xref desired-loc)
))
(cl-defgeneric wisi-prj-identifier-at-point (_project)
- "Return the identifier at point, move point to start of
-identifier. Signal an error if no identifier is at point."
- (let ((ident (thing-at-point 'symbol)))
- (when ident
- (skip-syntax-backward "w_")
- ident)))
+ "Return (IDENT START END) giving the identifier and its bounds at point.
+Return nil if no identifier is at point."
+ ;; default implementation
+ (let ((bounds (bounds-of-thing-at-point 'symbol)))
+ (when bounds
+ (list (car bounds) (cdr bounds) (buffer-substring-no-properties (car
bounds) (cdr bounds))))))
+
+(defun wisi-completion-at-point ()
+ "For `completion-at-point-functions'."
+ (let ((prj (project-current)))
+ (when (wisi-prj-p prj)
+ (save-excursion
+ (let ((table (wisi-xref-completion-at-point-table (wisi-prj-xref prj)
prj))
+ (bounds (wisi-prj-identifier-at-point prj)))
+ (when bounds
+ ;; xref symbol table may be out of date; try dabbrevs
+ (list (nth 0 bounds) (nth 1 bounds) table :exclusive 'no))
+ )))
+ ))
(defun wisi-check-current-project (file-name &optional default-prj-function)
"If FILE-NAME (must be absolute) is found in the current
@@ -343,14 +428,15 @@ Displays a buffer in compilation-mode giving locations of
the parent type declar
(defun wisi-show-declaration-parents ()
"Display the locations of the parent type declarations of the type
identifier around point."
(interactive)
- (let ((project (wisi-check-current-project (buffer-file-name))))
+ (let* ((project (wisi-check-current-project (buffer-file-name)))
+ (id (wisi-prj-identifier-at-point project)))
(wisi-xref-parents
(wisi-prj-xref project)
project
- :identifier (wisi-prj-identifier-at-point project)
+ :identifier (nth 2 id)
:filename (file-name-nondirectory (buffer-file-name))
:line (line-number-at-pos)
- :column (current-column))
+ :column (save-excursion (goto-char (nth 0 id)) (current-column)))
))
(cl-defgeneric wisi-xref-all (xref project &key identifier filename line
column local-only append)
@@ -370,14 +456,15 @@ identifier is declared or referenced.")
"Show all references of identifier at point.
With prefix, keep previous references in output buffer."
(interactive "P")
- (let ((project (wisi-check-current-project (buffer-file-name))))
+ (let* ((project (wisi-check-current-project (buffer-file-name)))
+ (id (wisi-prj-identifier-at-point project)))
(wisi-xref-all
(wisi-prj-xref project)
project
- :identifier (wisi-prj-identifier-at-point project)
+ :identifier (nth 2 id)
:filename (file-name-nondirectory (buffer-file-name))
:line (line-number-at-pos)
- :column (current-column)
+ :column (save-excursion (goto-char (nth 0 id)) (current-column))
:local-only nil
:append append)
))
@@ -386,14 +473,15 @@ With prefix, keep previous references in output buffer."
"Show all references of identifier at point occuring in current file.
With prefix, keep previous references in output buffer."
(interactive "P")
- (let ((project (wisi-check-current-project (buffer-file-name))))
+ (let* ((project (wisi-check-current-project (buffer-file-name)))
+ (id (wisi-prj-identifier-at-point project)))
(wisi-xref-all
(wisi-prj-xref project)
project
- :identifier (wisi-prj-identifier-at-point project)
+ :identifier (nth 2 id)
:filename (file-name-nondirectory (buffer-file-name))
:line (line-number-at-pos)
- :column (current-column)
+ :column (save-excursion (goto-char (nth 0 id)) (current-column))
:local-only t
:append append)
))
@@ -410,14 +498,15 @@ COLUMN - Emacs column of the start of the identifier ")
(defun wisi-show-overriding ()
"Show all overridings of identifier at point."
(interactive)
- (let ((project (wisi-check-current-project (buffer-file-name))))
+ (let* ((project (wisi-check-current-project (buffer-file-name)))
+ (id (wisi-prj-identifier-at-point project)))
(wisi-xref-overriding
(wisi-prj-xref project)
project
- :identifier (wisi-prj-identifier-at-point project)
+ :identifier (nth 2 id)
:filename (file-name-nondirectory (buffer-file-name))
:line (line-number-at-pos)
- :column (current-column))
+ :column (save-excursion (goto-char (nth 0 id)) (current-column)))
))
(cl-defgeneric wisi-xref-overridden (xref project &key identifier filename
line column)
@@ -433,14 +522,15 @@ COLUMN - Emacs column of the start of the identifier")
"Show the overridden declaration of identifier at point."
(interactive)
(let* ((project (wisi-check-current-project (buffer-file-name)))
+ (id (wisi-prj-identifier-at-point project))
(target
(wisi-xref-overridden
(wisi-prj-xref project)
project
- :identifier (wisi-prj-identifier-at-point project)
+ :identifier (nth 2 id)
:filename (file-name-nondirectory (buffer-file-name))
:line (line-number-at-pos)
- :column (current-column))))
+ :column (save-excursion (goto-char (nth 0 id)) (current-column)))))
(wisi-goto-source (nth 0 target)
(nth 1 target)
@@ -511,8 +601,8 @@ absolute file name.")
(setq wisi-prj--cache (delete (cons prj-file project) wisi-prj--cache))
(setq project (wisi-prj-default project))
(wisi-prj-parse-file :prj-file prj-file :init-prj project :cache t)
- (wisi-prj-select project)))
- (wisi-xref-refresh-cache (wisi-prj-xref project) project not-full))
+ (wisi-xref-refresh-cache (wisi-prj-xref project) project not-full)
+ (wisi-prj-select project))))
(cl-defmethod wisi-prj-select ((project wisi-prj))
(setq compilation-search-path (wisi-prj-source-path project))
@@ -1139,31 +1229,85 @@ with \\[universal-argument]."
;;;; xref backend
+(defconst wisi-file-line-col-regexp
+ ;; matches Gnu-style file references:
+ ;;
C:\Projects\GDS\work_dscovr_release\common\1553\gds-mil_std_1553-utf.ads:252:25
+ ;;
/Projects/GDS/work_dscovr_release/common/1553/gds-mil_std_1553-utf.ads:252:25
+ ;; gds-mil_std_1553-utf.ads:252:25 - when wisi-xref-full-path is nil
+ "\\(\\(?:.:\\\\\\|/\\)?[^:]*\\):\\([0-9]+\\):\\([0-9]+\\)"
+ ;; 1 2 3
+ "Regexp matching <file>:<line>:<column> where <file> is an absolute file
name or basename.")
+
+(defun wisi-xref-item (identifier prj)
+ "Given IDENTIFIER, return an xref-item, with line, column nil if unknown.
+IDENTIFIER is from a user prompt with completion, or from
+`xref-backend-identifier-at-point'."
+ (let* ((t-prop (get-text-property 0 'xref-identifier identifier))
+ ident file line column)
+ (cond
+ (t-prop
+ ;; IDENTIFIER is from wisi-xref-identifier-at-point.
+ (setq ident (substring-no-properties identifier 0 nil))
+ (setq file (plist-get t-prop :file))
+ (setq line (plist-get t-prop :line))
+ (setq column (plist-get t-prop :column))
+ )
+
+ ((string-match (wisi-xref-completion-regexp (wisi-prj-xref prj))
identifier)
+ ;; IDENTIFIER is from prompt/completion on wisi-xref-completion-table
+ (setq ident (match-string 1 identifier))
+
+ (let* ((table (wisi-xref-completion-table (wisi-prj-xref prj) prj))
+ (loc (cdr (assoc identifier table))))
+
+ (setq file (nth 0 loc))
+ (setq line (nth 1 loc))
+ (setq column (nth 2 loc))
+ ))
+
+ ((string-match wisi-names-regexp identifier)
+ ;; IDENTIFIER is from prompt/completion on wisi-names.
+ (setq ident (match-string 1 identifier))
+ (setq file (buffer-file-name))
+ (when (match-string 2 identifier)
+ (setq line (string-to-number (match-string 2 identifier))))
+ )
+
+ (t
+ ;; IDENTIFIER has no line/column info
+ (setq ident identifier)
+ (setq file (buffer-file-name)))
+ )
+
+ (unless (file-name-absolute-p file)
+ (setq file (locate-file file compilation-search-path)))
+
+ (let ((eieio-skip-typecheck t)) ;; allow line, column nil.
+ (xref-make ident (xref-make-file-location file line column)))
+ ))
+
(cl-defmethod xref-backend-definitions ((prj wisi-prj) identifier)
- (wisi-xref-definitions (wisi-prj-xref prj) prj (wisi-xref-item identifier)))
+ (wisi-xref-definitions (wisi-prj-xref prj) prj (wisi-xref-item identifier
prj)))
(cl-defmethod xref-backend-identifier-at-point ((prj wisi-prj))
(save-excursion
- (condition-case nil
- (let ((ident (wisi-prj-identifier-at-point prj))) ;; moves point to
start of ident
- (put-text-property
- 0 1
- 'xref-identifier
- (list ':file (buffer-file-name)
- ':line (line-number-at-pos)
- ':column (current-column))
- ident)
- ident)
- (error
- ;; from wisi-prj-identifier-at-point; no identifier
- nil))))
-
-(cl-defmethod xref-backend-identifier-completion-table ((_prj wisi-prj))
- ;; Current buffer only.
- (wisi-names nil))
+ (let ((id (wisi-prj-identifier-at-point prj)))
+ (when id
+ (put-text-property
+ 0 1
+ 'xref-identifier
+ (list ':file (buffer-file-name)
+ ':line (line-number-at-pos)
+ ':column (save-excursion (goto-char (nth 0 id))
(current-column)))
+ (nth 2 id))
+ (nth 2 id)))))
+
+(cl-defmethod xref-backend-identifier-completion-table ((prj wisi-prj))
+ (wisi-filter-table (wisi-xref-completion-table (wisi-prj-xref prj) prj)
+ (when (equal '(16) current-prefix-arg)
(buffer-file-name))))
(cl-defmethod xref-backend-references ((prj wisi-prj) identifier)
- (wisi-xref-references (wisi-prj-xref prj) prj (wisi-xref-item identifier)))
+ (wisi-xref-references (wisi-prj-xref prj) prj (wisi-xref-item identifier
prj)))
;;;###autoload
(defun wisi-prj-xref-backend ()
diff --git a/packages/wisi/wisi-process-parse.el
b/packages/wisi/wisi-process-parse.el
index 46abc92..bddd033 100644
--- a/packages/wisi/wisi-process-parse.el
+++ b/packages/wisi/wisi-process-parse.el
@@ -104,17 +104,20 @@ Otherwise add PARSER to ‘wisi-process--alist’, return it."
;; process buffer contains the process and language protocol versions.
(with-current-buffer (wisi-process--parser-buffer parser)
(goto-char (point-min))
- (search-forward-regexp "protocol: process version \\([0-9]+\\) language
version \\([0-9]+\\)")
- (unless (and (match-string 1)
- (string-equal (match-string 1)
wisi-process-parse-protocol-version)
- (match-string 2)
- (string-equal (match-string 2)
(wisi-process--parser-language-protocol-version parser)))
- (wisi-parse-kill parser)
- (error "%s parser process protocol version mismatch: elisp %s %s,
process %s %s"
- (wisi-process--parser-label parser)
- wisi-process-parse-protocol-version
(wisi-process--parser-language-protocol-version parser)
- (match-string 1) (match-string 2)))
- ))
+ (if (search-forward-regexp "protocol: process version \\([0-9]+\\)
language version \\([0-9]+\\)" nil t)
+ (unless (and (match-string 1)
+ (string-equal (match-string 1)
wisi-process-parse-protocol-version)
+ (match-string 2)
+ (string-equal (match-string 2)
(wisi-process--parser-language-protocol-version parser)))
+ (wisi-parse-kill parser)
+ (error "%s parser process protocol version mismatch: elisp %s %s,
process %s %s"
+ (wisi-process--parser-label parser)
+ wisi-process-parse-protocol-version
(wisi-process--parser-language-protocol-version parser)
+ (match-string 1) (match-string 2)))
+ ;; Search failed
+ (error "%s parser process protocol version message not found"
+ (wisi-process--parser-label parser))
+ )))
(defun wisi-process-parse--require-process (parser)
"Start the process for PARSER if not already started."
@@ -138,7 +141,6 @@ Otherwise add PARSER to ‘wisi-process--alist’, return it."
(wisi-process--parser-exec-opts parser))))
(set-process-query-on-exit-flag (wisi-process--parser-process parser)
nil)
- (setf (wisi-process--parser-busy parser) nil)
(wisi-process-parse--wait parser)
(wisi-process-parse--check-version parser)
@@ -195,7 +197,7 @@ parse region."
(if (or (and (= begin (point-min)) (= parse-end
(point-max)))
(< (point-max) wisi-partial-parse-threshold))
0 1) ;; partial parse active
- (if (> wisi-debug 0) 1 0) ;; debug-mode
+ (if (> wisi-debug 0) 1 0) ;; debug_mode
(1- wisi-debug) ;; trace_parse
wisi-trace-mckenzie
wisi-trace-action
@@ -518,8 +520,6 @@ complete."
(declare-function wisi-elisp-lexer-reset "wisi-elisp-lexer")
(defun wisi-process-parse--prepare (parser)
- (wisi-process-parse--require-process parser)
-
;; font-lock can trigger a face parse while navigate or indent parse
;; is active, due to ‘accept-process-output’ below. Signaling an
;; error tells font-lock to try again later.
@@ -541,6 +541,13 @@ complete."
;; accept-process-output below.
(setf (wisi-process--parser-busy parser) t)
+ ;; If the parser process has not started yet,
+ ;; wisi-process-parse--require-process calls
+ ;; wisi-process-parse--wait, which can let font-lock invoke the
+ ;; parser again. Thus this call must be after we set
+ ;; wisi-process--parser-busy t
+ (wisi-process-parse--require-process parser)
+
(setf (wisi-process--parser-total-wait-time parser) 0.0)
(setf (wisi-parser-lexer-errors parser) nil)
(setf (wisi-parser-parse-errors parser) nil)
@@ -598,7 +605,7 @@ complete."
(set-buffer source-buffer) ;; for put-text-property in actions
(cond
((listp response)
- ;; error of some sort
+ ;; non-syntax error of some sort
(cond
((equal '(parse_error) response)
;; Parser detected a syntax error, and recovery failed, so
signal it.
@@ -654,7 +661,7 @@ complete."
(push (make-wisi--parse-error :pos (point) :message (cadr
err)) (wisi-parser-parse-errors parser))
(signal (car err) (cdr err)))
- (error ;; ie from [C:\Windows\system32\KERNEL32.DLL], or
bug in action code above.
+ (error ;; ie from un-commented
[C:\Windows\system32\KERNEL32.DLL], or bug in action code above.
(set-buffer response-buffer)
(let ((content (buffer-substring-no-properties (point-min)
(point-max)))
(buf-name (concat (buffer-name) "-save-error")))
diff --git a/packages/wisi/wisi-run-indent-test.el
b/packages/wisi/wisi-run-indent-test.el
index 269b3d9..8c0eef0 100644
--- a/packages/wisi/wisi-run-indent-test.el
+++ b/packages/wisi/wisi-run-indent-test.el
@@ -42,8 +42,9 @@ FACE may be a list."
(error "can't find '%s'" token)))
(save-match-data
- (wisi-validate-cache (line-beginning-position 0) (line-end-position 5)
nil 'face))
-
+ (wisi-validate-cache (line-beginning-position) (line-end-position) nil
'face)
+ (font-lock-ensure (line-beginning-position) (line-end-position)))
+
;; We don't use face-at-point, because it doesn't respect
;; font-lock-face set by the parser! And we want to check for
;; conflicts between font-lock-keywords and the parser.
@@ -331,12 +332,28 @@ Each item is a list (ACTION PARSE-BEGIN PARSE-END
EDIT-BEGIN)")
(wisi-case-adjust-buffer))
)
+(defvar cl-print-readably); cl-print.el, used by edebug
+
+(defun large-frame ()
+ (interactive)
+ (modify-frame-parameters
+ nil
+ (list
+ (cons 'width 120) ;; characters; fringe extra
+ (cons 'height 71) ;; characters
+ (cons 'left 0) ;; pixels
+ (cons 'top 0))))
+(define-key global-map "\C-cp" 'large-screen)
+
(defun run-test (file-name)
"Run an indentation and casing test on FILE-NAME."
(interactive "f")
(package-initialize) ;; for uniquify-files
+ ;; Let edebug display strings full-length, and show internals of records
+ (setq cl-print-readably t)
+
;; we'd like to run emacs from a makefile as:
;;
;; emacs -Q --batch -l runtest.el -f run-test-here <filename>
diff --git a/packages/wisi/wisi-skel.el b/packages/wisi/wisi-skel.el
index 96693fd..9af5b9b 100644
--- a/packages/wisi/wisi-skel.el
+++ b/packages/wisi/wisi-skel.el
@@ -1,6 +1,6 @@
;;; wisi-skel.el --- Extensions skeleton -*- lexical-binding:t -*-
-;; Copyright (C) 1987, 1993, 1994, 1996-2019 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 1993, 1994, 1996-2020 Free Software Foundation, Inc.
;; Authors: Stephen Leake <address@hidden>
@@ -24,18 +24,42 @@
;; The primary user command is `wisi-skel-expand', which inserts the
;; skeleton associated with the previous word (possibly skipping a
;; name).
-;;
+
+(require 'skeleton)
(defvar-local wisi-skel-token-alist nil
"Alist of (STRING . ELEMENT), used by `wisi-skel-expand'.
-STRING must be a symbol in the current syntax, and is normally
-the first language keyword in the skeleton.
+STRING should be a grammar symbol in the current language.
ELEMENT may be:
- a skeleton, which is inserted
- an alist of (STRING . SKELETON). User is prompted with `completing-read',
selected skeleton is inserted.")
+(defun wisi-skel-add-token-after (alist token skel after-1 &optional after-2)
+ "Add a new entry in ALIST (should be an instance of `wisi-skel-token-alist')
+after AFTER-1. If AFTER-1 is a nested alist, add the new entry after AFTER-2."
+ (let ((tail alist)
+ done)
+ (if (string= after-1 (car (car alist)))
+ (setcdr alist (cons (cons token skel) (cdr alist)))
+
+ (while (and (not done) tail)
+ (if (string= after-1 (car-safe (car (cdr tail))))
+ (cond
+ ((symbolp (cdr (car (cdr tail))))
+ (setcdr tail (cons (cons token skel) (cdr (cdr tail))))
+ (setq done t))
+
+ ((consp (cdr (car (cdr tail))))
+ (wisi-skel-add-token-after (cdr (car (cdr tail))) token skel
after-2)
+ (setq done t))
+ )
+ ;; else
+ (setq tail (cdr tail))
+ ))
+ )))
+
(defun wisi-skel-build-prompt (alist count)
"Build a prompt from the keys of the ALIST.
The prompt consists of the first COUNT keys from the alist, separated by `|',
with
@@ -93,7 +117,8 @@ before that as the token."
(skip-syntax-forward " ")
(skip-syntax-forward "w_."))
(point)))
- (funcall (cdr skel) name)
+ (let ((skeleton-end-newline nil))
+ (funcall (cdr skel) name))
(setq handled t))
;; word in point .. end is not a token; assume it is a name
@@ -107,10 +132,18 @@ before that as the token."
;; on tokens and placeholders.
(save-excursion (wisi-case-adjust-region (point) end)))
- (wisi-skel-expand (buffer-substring-no-properties (point) end))
- (setq handled t)))
+ (condition-case-unless-debug nil
+ (progn
+ (wisi-skel-expand (buffer-substring-no-properties (point) end))
+ (setq handled t))
+ (user-error ;; leave handled nil
+ ))
+ ))
(when (not handled)
+ (setq name (buffer-substring-no-properties (point) end))
+ ;; restore point
+ (goto-char end)
(user-error "'%s' is not a skeleton token" name))
))
diff --git a/packages/wisi/wisi.adb b/packages/wisi/wisi.adb
index 227c45c..66b55fd 100644
--- a/packages/wisi/wisi.adb
+++ b/packages/wisi/wisi.adb
@@ -41,6 +41,7 @@ package body Wisi is
function Paren_In_Anchor_Line
(Data : in out Parse_Data_Type'Class;
+ Tree : in Syntax_Trees.Tree'Class;
Anchor_Token : in Augmented_Token;
Offset : in Integer)
return Integer;
@@ -48,6 +49,31 @@ package body Wisi is
----------
-- body subprograms bodies, alphabetical
+ procedure Adjust_Paren_State
+ (Data : in out Parse_Data_Type;
+ Tree : in Syntax_Trees.Tree'Class;
+ First_Token_Index : in Token_Index;
+ First_Line : in Line_Number_Type;
+ Adjust : in Integer)
+ is begin
+ for I in First_Token_Index .. Data.Terminals.Last_Index loop
+ declare
+ Aug : Augmented_Token renames Get_Aug_Token_Var (Data, Tree, I);
+ begin
+ Aug.Paren_State := Aug.Paren_State + Adjust;
+ end;
+ end loop;
+
+ for Line in First_Line .. Data.Line_Paren_State.Last_Index loop
+ Data.Line_Paren_State (Line) := Data.Line_Paren_State (Line) + Adjust;
+ end loop;
+ end Adjust_Paren_State;
+
+ function Image (Aug : in WisiToken.Base_Token_Class_Access; Descriptor : in
WisiToken.Descriptor) return String
+ is begin
+ return Image (Augmented_Token_Access (Aug).all, Descriptor);
+ end Image;
+
function Image (Anchor_IDs : in Anchor_ID_Vectors.Vector) return String
is
use Ada.Strings.Unbounded;
@@ -243,10 +269,14 @@ package body Wisi is
function Paren_In_Anchor_Line
(Data : in out Parse_Data_Type'Class;
+ Tree : in Syntax_Trees.Tree'Class;
Anchor_Token : in Augmented_Token;
Offset : in Integer)
return Integer
is
+ use Valid_Node_Index_Arrays;
+ use all type Ada.Containers.Count_Type;
+
Left_Paren_ID : Token_ID renames Data.Left_Paren_ID;
Right_Paren_ID : Token_ID renames Data.Right_Paren_ID;
@@ -255,11 +285,15 @@ package body Wisi is
Paren_Char_Pos : Buffer_Pos := Invalid_Buffer_Pos;
Text_Begin_Pos : Buffer_Pos := Invalid_Buffer_Pos;
begin
+ Find_First :
loop
declare
- Tok : Augmented_Token renames Data.Terminals (I);
+ Tok : Aug_Token_Const_Ref renames Get_Aug_Token_Const (Data, Tree,
I);
begin
- if Tok.ID = Left_Paren_ID then
+ if Tok.Deleted then
+ null;
+
+ elsif Tok.ID = Left_Paren_ID then
Paren_Count := Paren_Count + 1;
if Paren_Count = 1 then
Paren_Char_Pos := Tok.Char_Region.First;
@@ -272,11 +306,35 @@ package body Wisi is
if Tok.First then
Text_Begin_Pos := Tok.Char_Region.First;
- exit;
+ exit Find_First;
+ else
+ if Length (Tok.Inserted_Before) > 0 then
+ for Node of Tok.Inserted_Before loop
+ declare
+ Ins_Tok : Augmented_Token renames Augmented_Token
(Tree.Augmented (Node).all);
+ begin
+ if Ins_Tok.ID = Left_Paren_ID then
+ Paren_Count := Paren_Count + 1;
+ if Paren_Count = 1 then
+ Paren_Char_Pos := Tok.Char_Region.First;
+ end if;
+
+ elsif Ins_Tok.ID = Right_Paren_ID then
+ Paren_Count := Paren_Count - 1;
+
+ end if;
+
+ if Ins_Tok.First then
+ Text_Begin_Pos := Tok.Char_Region.First;
+ exit Find_First;
+ end if;
+ end;
+ end loop;
+ end if;
end if;
end;
I := I - 1;
- end loop;
+ end loop Find_First;
if Paren_Char_Pos /= Invalid_Buffer_Pos and Text_Begin_Pos /=
Invalid_Buffer_Pos then
return 1 + Offset + Integer (Paren_Char_Pos - Text_Begin_Pos);
@@ -363,10 +421,9 @@ package body Wisi is
end Put;
procedure Put
- (Item : in Parse.LR.Configuration;
- Terminals : in Augmented_Token_Arrays.Vector;
- Descriptor : in WisiToken.Descriptor;
- Embedded_Quote_Escape_Doubled : in Boolean)
+ (Item : in Parse.LR.Configuration;
+ Data : in Parse_Data_Type;
+ Tree : in Syntax_Trees.Tree)
is
use Ada.Strings.Unbounded;
use Parse.LR;
@@ -390,7 +447,7 @@ package body Wisi is
procedure Start_Edit_Region (Op : in Insert_Delete_Op)
is begin
Append (Line, "[");
- Append (Line, Buffer_Pos'Image (Terminals
(WisiToken.Parse.LR.Token_Index (Op)).Char_Region.First));
+ Append (Line, Get_Aug_Token_Const (Data, Tree, Parse.LR.Token_Index
(Op)).Char_Region.First'Image);
Append (Line, "[");
end Start_Edit_Region;
@@ -412,8 +469,8 @@ package body Wisi is
Deleted_Region := Null_Buffer_Region;
end Terminate_Edit_Region;
begin
- if Trace_Action > Detail then
- Ada.Text_IO.Put_Line (";; " & Parse.LR.Image (Item.Ops, Descriptor));
+ if Trace_Action > Outline then
+ Ada.Text_IO.Put_Line (";; " & Parse.LR.Image (Item.Ops,
Data.Descriptor.all));
end if;
Append (Line, Recover_Code);
@@ -446,7 +503,7 @@ package body Wisi is
State := Inserted;
when Delete =>
- Deleted_Region := Deleted_Region and Terminals
(Op.Del_Token_Index).Char_Region;
+ Deleted_Region := Deleted_Region and Get_Aug_Token_Const (Data,
Tree, Op.Del_Token_Index).Char_Region;
declare
Skip : Boolean := False;
begin
@@ -459,13 +516,16 @@ package body Wisi is
Append (Line, "][");
when Deleted =>
- if Embedded_Quote_Escape_Doubled and then
- ((Last_Deleted.Del_ID = Descriptor.String_1_ID and
Op.Del_ID = Descriptor.String_1_ID) or
- (Last_Deleted.Del_ID = Descriptor.String_2_ID and
Op.Del_ID = Descriptor.String_2_ID))
+ if Data.Embedded_Quote_Escape_Doubled and then
+ ((Last_Deleted.Del_ID = Data.Descriptor.String_1_ID and
+ Op.Del_ID = Data.Descriptor.String_1_ID) or
+ (Last_Deleted.Del_ID = Data.Descriptor.String_2_ID
and
+ Op.Del_ID = Data.Descriptor.String_2_ID))
then
declare
- Tok_1 : Augmented_Token renames Terminals
(Last_Deleted.Del_Token_Index);
- Tok_2 : Augmented_Token renames Terminals
(Op.Del_Token_Index);
+ Tok_1 : Augmented_Token renames Get_Aug_Token_Const
+ (Data, Tree, Last_Deleted.Del_Token_Index);
+ Tok_2 : Augmented_Token renames Get_Aug_Token_Const
(Data, Tree, Op.Del_Token_Index);
begin
if Tok_1.Char_Region.Last + 1 =
Tok_2.Char_Region.First then
-- Buffer text was '"""', lexer repair changed
it to '""""'. The
@@ -605,7 +665,7 @@ package body Wisi is
is
pragma Unreferenced (Params);
begin
- Data.Line_Begin_Pos.Set_First_Last
+ Data.Line_Begin_Char_Pos.Set_First_Last
(First => Begin_Line,
Last => End_Line);
@@ -639,10 +699,11 @@ package body Wisi is
overriding procedure Reset (Data : in out Parse_Data_Type)
is begin
- Data.Terminals.Clear;
+ Data.Last_Terminal_Node := WisiToken.Invalid_Node_Index;
+
Data.Leading_Non_Grammar.Clear;
- -- Data.Line_Begin_Pos set in Initialize, overwritten in
Lexer_To_Augmented
- -- Data.Line_Begin_Token set in WisiToken.Parse.Next_Grammar_Token.
+
+ -- Data.Line_Begin_Char_Pos set in Initialize, overwritten in
Lexer_To_Augmented
for S of Data.Line_Paren_State loop
S := 0;
@@ -651,11 +712,12 @@ package body Wisi is
Data.Navigate_Caches.Finalize;
Data.Navigate_Caches.Initialize;
- Data.End_Positions.Clear;
Data.Name_Caches.Finalize;
Data.Name_Caches.Initialize;
+ Data.End_Positions.Clear;
+
Data.Face_Caches.Finalize;
Data.Face_Caches.Initialize;
@@ -678,29 +740,30 @@ package body Wisi is
overriding
procedure Lexer_To_Augmented
(Data : in out Parse_Data_Type;
+ Tree : in out Syntax_Trees.Tree'Class;
Token : in Base_Token;
Lexer : not null access WisiToken.Lexer.Instance'Class)
is
use all type Ada.Containers.Count_Type;
begin
if Lexer.First then
- Data.Line_Begin_Pos (Token.Line) := Token.Char_Region.First;
+ Data.Line_Begin_Char_Pos (Token.Line) := Token.Char_Region.First;
- if Token.Line > Data.Line_Begin_Pos.First_Index and then
- Data.Line_Begin_Pos (Token.Line - 1) = Invalid_Buffer_Pos
+ if Token.Line > Data.Line_Begin_Char_Pos.First_Index and then
+ Data.Line_Begin_Char_Pos (Token.Line - 1) = Invalid_Buffer_Pos
then
-- Previous token contains multiple lines; ie %code in
wisitoken_grammar.wy
declare
First_Set_Line : Line_Number_Type;
begin
- for Line in reverse Data.Line_Begin_Pos.First_Index ..
Token.Line - 1 loop
- if Data.Line_Begin_Pos (Line) /= Invalid_Buffer_Pos then
+ for Line in reverse Data.Line_Begin_Char_Pos.First_Index ..
Token.Line - 1 loop
+ if Data.Line_Begin_Char_Pos (Line) /= Invalid_Buffer_Pos then
First_Set_Line := Line;
exit;
end if;
end loop;
for Line in First_Set_Line + 1 .. Token.Line - 1 loop
- Data.Line_Begin_Pos (Line) := Data.Line_Begin_Pos
(First_Set_Line); -- good enough
+ Data.Line_Begin_Char_Pos (Line) := Data.Line_Begin_Char_Pos
(First_Set_Line); -- good enough
end loop;
end;
end if;
@@ -713,11 +776,11 @@ package body Wisi is
Data.Line_Paren_State (Token.Line + 1) := Data.Current_Paren_State;
end if;
- if Data.Terminals.Length = 0 then
+ if Data.Last_Terminal_Node = Invalid_Node_Index then
Data.Leading_Non_Grammar.Append ((Token with Lexer.First));
else
declare
- Containing_Token : Augmented_Token renames Data.Terminals
(Data.Terminals.Last_Index);
+ Containing_Token : Aug_Token_Var_Ref renames Get_Aug_Token_Var
(Tree, Data.Last_Terminal_Node);
Trailing_Blank : constant Boolean :=
Token.ID = Data.Descriptor.New_Line_ID and
@@ -742,23 +805,22 @@ package body Wisi is
else
-- grammar token
declare
- Temp : constant Augmented_Token :=
- (Token.ID,
- Byte_Region => Token.Byte_Region,
- Line => Token.Line,
- Column => Token.Column,
- Char_Region => Token.Char_Region,
+ Temp : constant Augmented_Token_Access := new Augmented_Token'
+ (Token with
Deleted => False,
First => Lexer.First,
Paren_State => Data.Current_Paren_State,
- First_Terminals_Index => Data.Terminals.Last_Index + 1,
- Last_Terminals_Index => Data.Terminals.Last_Index + 1,
+ First_Terminals_Index => Data.Terminals.Last_Index,
+ Last_Terminals_Index => Data.Terminals.Last_Index,
First_Indent_Line => (if Lexer.First then Token.Line
else Invalid_Line_Number),
Last_Indent_Line => (if Lexer.First then Token.Line
else Invalid_Line_Number),
First_Trailing_Comment_Line => Invalid_Line_Number, -- Set by
Reduce
Last_Trailing_Comment_Line => Invalid_Line_Number,
- Non_Grammar => <>);
+ Non_Grammar =>
Non_Grammar_Token_Arrays.Empty_Vector,
+ Inserted_Before =>
Valid_Node_Index_Arrays.Empty_Vector);
begin
+ Data.Last_Terminal_Node := Token.Tree_Index;
+
if Token.ID = Data.Left_Paren_ID then
Data.Current_Paren_State := Data.Current_Paren_State + 1;
@@ -766,18 +828,164 @@ package body Wisi is
Data.Current_Paren_State := Data.Current_Paren_State - 1;
end if;
- Data.Terminals.Append (Temp);
+ Tree.Set_Augmented (Token.Tree_Index, Base_Token_Class_Access
(Temp));
end;
end if;
end Lexer_To_Augmented;
overriding
+ procedure Insert_Token
+ (Data : in out Parse_Data_Type;
+ Tree : in out Syntax_Trees.Tree'Class;
+ Token : in Valid_Node_Index)
+ is
+ use Valid_Node_Index_Arrays;
+
+ Before_Index : constant Token_Index := Tree.Before (Token);
+ Before_Aug : Aug_Token_Var_Ref renames Get_Aug_Token_Var (Data, Tree,
Before_Index);
+
+ -- Set data that allows using Token when computing indent.
+
+ Indent_Line : constant Line_Number_Type :=
+ (if Before_Aug.First
+ then Before_Aug.Line
+ else Invalid_Line_Number);
+
+ -- Set for Insert_After False; see below for True.
+ New_Aug : constant Augmented_Token_Access := new Augmented_Token'
+ (ID => Tree.ID (Token),
+ Tree_Index => Token,
+ Byte_Region => (First | Last =>
Before_Aug.Byte_Region.First),
+ Line => Before_Aug.Line,
+ Column => Before_Aug.Column,
+ Char_Region => (First | Last =>
Before_Aug.Char_Region.First),
+ Deleted => False,
+ First => Before_Aug.First,
+ Paren_State => Before_Aug.Paren_State,
+ First_Terminals_Index => Invalid_Token_Index,
+ Last_Terminals_Index => Invalid_Token_Index,
+ First_Indent_Line => Indent_Line,
+ Last_Indent_Line => Indent_Line,
+ First_Trailing_Comment_Line => Invalid_Line_Number,
+ Last_Trailing_Comment_Line => Invalid_Line_Number,
+ Non_Grammar => Non_Grammar_Token_Arrays.Empty_Vector,
+ Inserted_Before => Valid_Node_Index_Arrays.Empty_Vector);
+
+ Prev_Terminal : constant Node_Index := Tree.Prev_Terminal (Token);
+ -- Invalid_Node_Index if Token is inserted before first grammar token
+
+ Insert_After : Boolean := False;
+ begin
+ Tree.Set_Augmented (Token, Base_Token_Class_Access (New_Aug));
+
+ Append (Before_Aug.Inserted_Before, Token);
+
+ if Prev_Terminal /= Invalid_Node_Index and Before_Aug.First then
+ declare
+ use all type Ada.Containers.Count_Type;
+ use all type Ada.Text_IO.Count;
+
+ -- See test/ada_mode-interactive_2.adb, "Typing ..."; three tests.
+ --
+ -- When typing new code, we want a new blank line to be indented
as
+ -- if the code was there already. To accomplish that, we put the
+ -- inserted tokens at the end of the line before the Before token;
+ -- that will be after the non-grammar on the previous terminal.
+ --
+ -- Compare to test/ada_mode-recover_20.adb. There we are not
typing
+ -- new code, but there is a blank line; the right paren is placed
at
+ -- the end of the blank line, causing the comment to be indented.
+
+ Prev_Aug : Aug_Token_Var_Ref renames Get_Aug_Token_Var (Tree,
Prev_Terminal);
+
+ -- Prev_Aug.Non_Grammar must have at least one New_Line, since
+ -- Before_Aug.First is True. The whitespace after the New_Line is
not
+ -- given a token.
+ --
+ -- If the first two tokens in Prev_Non_Grammar are both New_Lines,
+ -- there is a blank line after the code line (and before any
+ -- comments); assume that is the edit point.
+ Insert_On_Blank_Line : constant Boolean :=
Prev_Aug.Non_Grammar.Length >= 2 and then
+ (Prev_Aug.Non_Grammar (Prev_Aug.Non_Grammar.First_Index).ID =
Data.Descriptor.New_Line_ID and
+ Prev_Aug.Non_Grammar (Prev_Aug.Non_Grammar.First_Index +
1).ID = Data.Descriptor.New_Line_ID);
+
+ -- In Ada, 'end' is Insert_After except when Insert_On_Blank_Line
is
+ -- True (see test/ada_mode-interactive_2.adb Record_1), so
Insert_After
+ -- needs Insert_On_Blank_Line.
+ begin
+ Insert_After := Parse_Data_Type'Class (Data).Insert_After (Tree,
Token, Insert_On_Blank_Line);
+
+ if Insert_After then
+ if Insert_On_Blank_Line then
+ declare
+ Prev_Non_Grammar : constant Non_Grammar_Token :=
+ Prev_Aug.Non_Grammar (Prev_Aug.Non_Grammar.First_Index
+ 1);
+ -- The newline nominally after the inserted token.
+ begin
+ New_Aug.Byte_Region := (First | Last =>
Prev_Non_Grammar.Byte_Region.Last - 1);
+ New_Aug.Char_Region := (First | Last =>
Prev_Non_Grammar.Char_Region.Last - 1);
+
+ New_Aug.First := True;
+ New_Aug.Line := Prev_Non_Grammar.Line;
+ New_Aug.Column := Prev_Aug.Column + Ada.Text_IO.Count
(Length (New_Aug.Char_Region)) - 1;
+
+ New_Aug.First_Indent_Line := Prev_Non_Grammar.Line;
+ New_Aug.Last_Indent_Line := Prev_Non_Grammar.Line;
+
+ for I in Prev_Aug.Non_Grammar.First_Index + 1 ..
Prev_Aug.Non_Grammar.Last_Index loop
+ New_Aug.Non_Grammar.Append (Prev_Aug.Non_Grammar (I));
+ end loop;
+
+ Prev_Aug.Non_Grammar.Set_First_Last
+ (Prev_Aug.Non_Grammar.First_Index,
Prev_Aug.Non_Grammar.First_Index);
+ end;
+ else
+ New_Aug.Byte_Region := (First | Last =>
Prev_Aug.Byte_Region.Last);
+ New_Aug.Char_Region := (First | Last =>
Prev_Aug.Char_Region.Last);
+
+ New_Aug.First := False;
+ New_Aug.Line := Prev_Aug.Line;
+ New_Aug.Column := Prev_Aug.Column + Ada.Text_IO.Count
(Length (Prev_Aug.Char_Region)) - 1;
+
+ New_Aug.First_Indent_Line := Invalid_Line_Number;
+ New_Aug.Last_Indent_Line := Invalid_Line_Number;
+
+ New_Aug.Non_Grammar := Prev_Aug.Non_Grammar;
+ Prev_Aug.Non_Grammar :=
Non_Grammar_Token_Arrays.Empty_Vector;
+
+ end if;
+
+ New_Aug.First_Trailing_Comment_Line :=
Prev_Aug.First_Trailing_Comment_Line;
+ New_Aug.Last_Trailing_Comment_Line :=
Prev_Aug.Last_Trailing_Comment_Line;
+
+ Prev_Aug.First_Trailing_Comment_Line := Invalid_Line_Number;
+ Prev_Aug.Last_Trailing_Comment_Line := Invalid_Line_Number;
+ end if;
+ end;
+ end if;
+
+ if New_Aug.First and not Insert_After then
+ Before_Aug.First := False;
+ Before_Aug.First_Indent_Line := Invalid_Line_Number;
+ Before_Aug.Last_Indent_Line := Invalid_Line_Number;
+ end if;
+
+ if New_Aug.ID = Data.Left_Paren_ID then
+ Adjust_Paren_State (Data, Tree, Before_Index, New_Aug.Line + 1, +1);
+
+ elsif New_Aug.ID = Data.Right_Paren_ID then
+ Adjust_Paren_State (Data, Tree, Before_Index, New_Aug.Line + 1, -1);
+ end if;
+ end Insert_Token;
+
+ overriding
procedure Delete_Token
(Data : in out Parse_Data_Type;
+ Tree : in out Syntax_Trees.Tree'Class;
Deleted_Token_Index : in WisiToken.Token_Index)
is
use all type Ada.Containers.Count_Type;
- Deleted_Token : Augmented_Token renames Data.Terminals
(Deleted_Token_Index);
+ Deleted_Token : Augmented_Token renames Get_Aug_Token_Var (Data,
Tree, Deleted_Token_Index);
Prev_Token_Index : Base_Token_Index := Deleted_Token_Index - 1;
Next_Token_Index : Base_Token_Index := Deleted_Token_Index + 1;
begin
@@ -799,7 +1007,7 @@ package body Wisi is
loop
exit when Prev_Token_Index = Base_Token_Index'First;
- exit when Data.Terminals (Prev_Token_Index).Deleted = False;
+ exit when Get_Aug_Token_Const (Data, Tree,
Prev_Token_Index).Deleted = False;
Prev_Token_Index := Prev_Token_Index - 1;
end loop;
@@ -808,7 +1016,7 @@ package body Wisi is
Data.Leading_Non_Grammar.Append (Deleted_Token.Non_Grammar);
else
declare
- Prev_Token : Augmented_Token renames Data.Terminals
(Prev_Token_Index);
+ Prev_Token : Augmented_Token renames Get_Aug_Token_Var (Data,
Tree, Prev_Token_Index);
begin
Prev_Token.Non_Grammar.Append (Deleted_Token.Non_Grammar);
@@ -824,20 +1032,20 @@ package body Wisi is
-- Data.Terminals.Last_Index is Wisi_EOI; it is never deleted
loop
- exit when Data.Terminals (Next_Token_Index).Deleted = False;
+ exit when Get_Aug_Token_Const (Data, Tree, Next_Token_Index).Deleted
= False;
Next_Token_Index := Next_Token_Index + 1;
exit when Next_Token_Index = Data.Terminals.Last_Index;
end loop;
if Deleted_Token.First and
(Next_Token_Index = Data.Terminals.Last_Index or else
- Data.Terminals (Next_Token_Index).Line > Deleted_Token.Line)
+ Get_Aug_Token_Const (Data, Tree, Next_Token_Index).Line >
Deleted_Token.Line)
then
-- Deleted_Token.Line is now blank; add to previous token non
-- grammar.
if Prev_Token_Index > Base_Token_Index'First then
declare
- Prev_Token : Augmented_Token renames Data.Terminals
(Prev_Token_Index);
+ Prev_Token : Augmented_Token renames Get_Aug_Token_Var (Data,
Tree, Prev_Token_Index);
begin
if Prev_Token.First_Trailing_Comment_Line = Invalid_Line_Number
then
Prev_Token.First_Trailing_Comment_Line := Deleted_Token.Line;
@@ -855,15 +1063,23 @@ package body Wisi is
end if;
if Deleted_Token.First and Next_Token_Index < Data.Terminals.Last_Index
then
- if not Data.Terminals (Next_Token_Index).First then
- declare
- Next_Token : Augmented_Token renames Data.Terminals
(Next_Token_Index);
- begin
+ declare
+ Next_Token : Augmented_Token renames Get_Aug_Token_Var (Data,
Tree, Next_Token_Index);
+ begin
+ if not Next_Token.First then
Next_Token.First := True;
Next_Token.First_Indent_Line := Deleted_Token.First_Indent_Line;
Next_Token.Last_Indent_Line := Deleted_Token.Last_Indent_Line;
- end;
- end if;
+ end if;
+ end;
+ end if;
+
+ if Deleted_Token.ID = Data.Left_Paren_ID then
+ Adjust_Paren_State (Data, Tree, Deleted_Token_Index + 1,
Deleted_Token.Line + 1, -1);
+
+ elsif Deleted_Token.ID = Data.Right_Paren_ID then
+ Adjust_Paren_State (Data, Tree, Deleted_Token_Index + 1,
Deleted_Token.Line + 1, +1);
+
end if;
end Delete_Token;
@@ -871,8 +1087,8 @@ package body Wisi is
procedure Reduce
(Data : in out Parse_Data_Type;
Tree : in out Syntax_Trees.Tree'Class;
- Nonterm : in Syntax_Trees.Valid_Node_Index;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array)
is
Aug_Nonterm : constant Augmented_Token_Access := new Augmented_Token'
(ID => Tree.ID (Nonterm),
@@ -885,73 +1101,70 @@ package body Wisi is
for I in reverse Tokens'Range loop
-- 'reverse' to find token containing trailing comments; last
- -- non-virtual and non-empty token.
- if Tree.Byte_Region (Tokens (I)) /= Null_Buffer_Region then
- -- Token not entirely virtual
- declare
- Aug_Token : constant Aug_Token_Ref := Get_Aug_Token (Data,
Tree, Tokens (I));
- begin
+ -- non-empty token.
+ declare
+ Aug_Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
(Tree, Tokens (I));
+ begin
- if Data.Post_Parse_Action = Indent then
- if Aug_Token.First_Terminals_Index /=
Augmented_Token_Arrays.No_Index then
- Aug_Nonterm.First_Terminals_Index :=
Aug_Token.First_Terminals_Index;
- end if;
+ if Data.Post_Parse_Action = Indent then
+ if Aug_Token.First_Terminals_Index /= Invalid_Token_Index then
+ Aug_Nonterm.First_Terminals_Index :=
Aug_Token.First_Terminals_Index;
+ end if;
- if Aug_Nonterm.Last_Terminals_Index =
Augmented_Token_Arrays.No_Index then
- Aug_Nonterm.Last_Terminals_Index :=
Aug_Token.Last_Terminals_Index;
- end if;
+ if Aug_Nonterm.Last_Terminals_Index = Invalid_Token_Index then
+ Aug_Nonterm.Last_Terminals_Index :=
Aug_Token.Last_Terminals_Index;
+ end if;
- Aug_Nonterm.First := Aug_Nonterm.First or Aug_Token.First;
+ Aug_Nonterm.First := Aug_Nonterm.First or Aug_Token.First;
- if Aug_Token.First_Indent_Line /= Invalid_Line_Number then
- Aug_Nonterm.First_Indent_Line :=
Aug_Token.First_Indent_Line;
- elsif Trailing_Comment_Done and
Aug_Token.First_Trailing_Comment_Line /= Invalid_Line_Number then
- Aug_Nonterm.First_Indent_Line :=
Aug_Token.First_Trailing_Comment_Line;
- end if;
+ if Aug_Token.First_Indent_Line /= Invalid_Line_Number then
+ Aug_Nonterm.First_Indent_Line := Aug_Token.First_Indent_Line;
+ elsif Trailing_Comment_Done and
Aug_Token.First_Trailing_Comment_Line /= Invalid_Line_Number then
+ Aug_Nonterm.First_Indent_Line :=
Aug_Token.First_Trailing_Comment_Line;
+ end if;
- if Aug_Nonterm.Last_Indent_Line = Invalid_Line_Number then
- if Trailing_Comment_Done and
Aug_Token.Last_Trailing_Comment_Line /= Invalid_Line_Number then
- Aug_Nonterm.Last_Indent_Line :=
Aug_Token.Last_Trailing_Comment_Line;
- elsif Aug_Token.Last_Indent_Line /= Invalid_Line_Number
then
- Aug_Nonterm.Last_Indent_Line :=
Aug_Token.Last_Indent_Line;
- end if;
+ if Aug_Nonterm.Last_Indent_Line = Invalid_Line_Number then
+ if Trailing_Comment_Done and
Aug_Token.Last_Trailing_Comment_Line /= Invalid_Line_Number then
+ Aug_Nonterm.Last_Indent_Line :=
Aug_Token.Last_Trailing_Comment_Line;
+ elsif Aug_Token.Last_Indent_Line /= Invalid_Line_Number then
+ Aug_Nonterm.Last_Indent_Line :=
Aug_Token.Last_Indent_Line;
end if;
+ end if;
- if not Trailing_Comment_Done then
- Aug_Nonterm.First_Trailing_Comment_Line :=
Aug_Token.First_Trailing_Comment_Line;
- Aug_Nonterm.Last_Trailing_Comment_Line :=
Aug_Token.Last_Trailing_Comment_Line;
- Trailing_Comment_Done := True;
- end if;
+ if not Trailing_Comment_Done then
+ Aug_Nonterm.First_Trailing_Comment_Line :=
Aug_Token.First_Trailing_Comment_Line;
+ Aug_Nonterm.Last_Trailing_Comment_Line :=
Aug_Token.Last_Trailing_Comment_Line;
+ Trailing_Comment_Done := True;
+ end if;
- end if; -- Compute_Indent
+ end if; -- Compute_Indent
- if Aug_Token.Line /= Invalid_Line_Number then
- Aug_Nonterm.Line := Aug_Token.Line;
- Aug_Nonterm.Column := Aug_Token.Column;
- end if;
+ if Aug_Token.Line /= Invalid_Line_Number then
+ Aug_Nonterm.Line := Aug_Token.Line;
+ Aug_Nonterm.Column := Aug_Token.Column;
+ end if;
- if Aug_Nonterm.Char_Region.First > Aug_Token.Char_Region.First
then
- Aug_Nonterm.Char_Region.First := Aug_Token.Char_Region.First;
- end if;
+ if Aug_Nonterm.Char_Region.First > Aug_Token.Char_Region.First then
+ Aug_Nonterm.Char_Region.First := Aug_Token.Char_Region.First;
+ end if;
- if Aug_Nonterm.Char_Region.Last < Aug_Token.Char_Region.Last
then
- Aug_Nonterm.Char_Region.Last := Aug_Token.Char_Region.Last;
- end if;
+ if Aug_Nonterm.Char_Region.Last < Aug_Token.Char_Region.Last then
+ Aug_Nonterm.Char_Region.Last := Aug_Token.Char_Region.Last;
+ end if;
- Aug_Nonterm.Paren_State := Aug_Token.Paren_State;
- end;
- end if; -- Aug_Token not virtual
+ Aug_Nonterm.Paren_State := Aug_Token.Paren_State;
+ end;
end loop;
end Reduce;
procedure Statement_Action
(Data : in out Parse_Data_Type;
Tree : in Syntax_Trees.Tree;
- Nonterm : in Syntax_Trees.Valid_Node_Index;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array;
Params : in Statement_Param_Array)
is
- Nonterm_Tok : constant Aug_Token_Ref := Get_Aug_Token (Data,
Tree, Nonterm);
+ Nonterm_Tok : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
(Tree, Nonterm);
First_Item : Boolean := True;
Start_Set : Boolean := False;
Override_Start_Set : Boolean := False;
@@ -971,11 +1184,12 @@ package body Wisi is
elsif Tree.Byte_Region (Tokens (Pair.Index)) /= Null_Buffer_Region
then
declare
use all type WisiToken.Syntax_Trees.Node_Label;
- Token : constant Aug_Token_Ref :=
- (if Pair.Class = Statement_End and then
- Tree.Label (Tokens (Pair.Index)) =
WisiToken.Syntax_Trees.Nonterm
- then To_Aug_Token_Ref (Data.Terminals
(Tree.Max_Terminal_Index (Tokens (Pair.Index))))
- else Get_Aug_Token (Data, Tree, Tokens (Pair.Index)));
+ Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
+ (Tree,
+ (if Pair.Class = Statement_End and then
+ Tree.Label (Tokens (Pair.Index)) =
WisiToken.Syntax_Trees.Nonterm
+ then Tree.Last_Terminal (Tokens (Pair.Index))
+ else Tokens (Pair.Index)));
Cache_Pos : constant Buffer_Pos :=
Token.Char_Region.First;
Cursor : Navigate_Cache_Trees.Cursor :=
Navigate_Cache_Trees.Find
@@ -1062,15 +1276,15 @@ package body Wisi is
procedure Name_Action
(Data : in out Parse_Data_Type;
Tree : in WisiToken.Syntax_Trees.Tree;
- Nonterm : in Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
Name : in WisiToken.Positive_Index_Type)
is
use all type WisiToken.Syntax_Trees.Node_Label;
begin
if not (Name in Tokens'Range) then
declare
- Token : constant Aug_Token_Ref := Get_Aug_Token (Data, Tree,
Tokens (Tokens'First));
+ Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1 (Tree,
Tokens (Tokens'First));
begin
raise Fatal_Error with Error_Message
(File_Name => Data.Lexer.File_Name,
@@ -1078,7 +1292,7 @@ package body Wisi is
Column => Token.Column,
Message => "wisi-name-action: " & Trimmed_Image
(Tree.Production_ID (Nonterm)) & " name (" &
Trimmed_Image (Name) & ") not in Tokens range (" &
SAL.Peek_Type'Image (Tokens'First) & " .." &
- SAL.Peek_Type'Image (Tokens'Last) & "); bad grammar
action.");
+ SAL.Peek_Type'Image (Tokens'Last) & "); bad grammar action.");
end;
end if;
@@ -1088,7 +1302,7 @@ package body Wisi is
declare
use Name_Cache_Trees;
- Name_Token : constant Aug_Token_Ref := Get_Aug_Token (Data,
Tree, Tokens (Name));
+ Name_Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1 (Tree,
Tokens (Name));
Cursor : constant Name_Cache_Trees.Cursor := Find
(Data.Name_Caches.Iterate, Name_Token.Char_Region.First,
Direction => Name_Cache_Trees.Unknown);
@@ -1110,8 +1324,8 @@ package body Wisi is
procedure Motion_Action
(Data : in out Parse_Data_Type;
Tree : in Syntax_Trees.Tree;
- Nonterm : in Syntax_Trees.Valid_Node_Index;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array;
Params : in Motion_Param_Array)
is
use Navigate_Cache_Trees;
@@ -1130,7 +1344,7 @@ package body Wisi is
if Tree.Byte_Region (Tokens (Param.Index)) /= Null_Buffer_Region then
declare
use all type WisiToken.Syntax_Trees.Node_Label;
- Token : constant Aug_Token_Ref := Get_Aug_Token (Data, Tree,
Tokens (Param.Index));
+ Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
(Tree, Tokens (Param.Index));
Region : constant Buffer_Region := Token.Char_Region;
Skip : Boolean := False;
begin
@@ -1221,8 +1435,8 @@ package body Wisi is
procedure Face_Apply_Action
(Data : in out Parse_Data_Type;
Tree : in Syntax_Trees.Tree;
- Nonterm : in Syntax_Trees.Valid_Node_Index;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array;
Params : in Face_Apply_Param_Array)
is
pragma Unreferenced (Nonterm);
@@ -1236,7 +1450,7 @@ package body Wisi is
for Param of Params loop
if Tree.Byte_Region (Tokens (Param.Index)) /= Null_Buffer_Region then
declare
- Token : constant Aug_Token_Ref := Get_Aug_Token (Data, Tree,
Tokens (Param.Index));
+ Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
(Tree, Tokens (Param.Index));
begin
Cache_Cur := Find (Iter, Token.Char_Region.First, Direction =>
Ascending);
if Has_Element (Cache_Cur) then
@@ -1276,8 +1490,8 @@ package body Wisi is
procedure Face_Apply_List_Action
(Data : in out Parse_Data_Type;
Tree : in Syntax_Trees.Tree;
- Nonterm : in Syntax_Trees.Valid_Node_Index;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array;
Params : in Face_Apply_Param_Array)
is
pragma Unreferenced (Nonterm);
@@ -1289,7 +1503,7 @@ package body Wisi is
for Param of Params loop
if Tree.Byte_Region (Tokens (Param.Index)) /= Null_Buffer_Region then
declare
- Token : constant Aug_Token_Ref := Get_Aug_Token (Data, Tree,
Tokens (Param.Index));
+ Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
(Tree, Tokens (Param.Index));
begin
Cache_Cur := Find_In_Range (Iter, Ascending,
Token.Char_Region.First, Token.Char_Region.Last);
loop
@@ -1316,8 +1530,8 @@ package body Wisi is
procedure Face_Mark_Action
(Data : in out Parse_Data_Type;
Tree : in Syntax_Trees.Tree;
- Nonterm : in Syntax_Trees.Valid_Node_Index;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array;
Params : in Face_Mark_Param_Array)
is
pragma Unreferenced (Nonterm);
@@ -1330,7 +1544,7 @@ package body Wisi is
for Param of Params loop
if Tree.Byte_Region (Tokens (Param.Index)) /= Null_Buffer_Region then
declare
- Token : constant Aug_Token_Ref := Get_Aug_Token (Data, Tree,
Tokens (Param.Index));
+ Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
(Tree, Tokens (Param.Index));
begin
Cache_Cur := Find (Iter, Token.Char_Region.First, Direction =>
Ascending);
if Has_Element (Cache_Cur) then
@@ -1362,8 +1576,8 @@ package body Wisi is
procedure Face_Remove_Action
(Data : in out Parse_Data_Type;
Tree : in Syntax_Trees.Tree;
- Nonterm : in Syntax_Trees.Valid_Node_Index;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array;
Params : in Face_Remove_Param_Array)
is
pragma Unreferenced (Nonterm);
@@ -1376,7 +1590,7 @@ package body Wisi is
for I of Params loop
if Tree.Byte_Region (Tokens (I)) /= Null_Buffer_Region then
declare
- Token : constant Aug_Token_Ref := Get_Aug_Token (Data, Tree,
Tokens (I));
+ Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
(Tree, Tokens (I));
begin
Cache_Cur := Find_In_Range (Iter, Ascending,
Token.Char_Region.First, Token.Char_Region.Last);
loop
@@ -1444,8 +1658,8 @@ package body Wisi is
procedure Indent_Action_0
(Data : in out Parse_Data_Type'Class;
Tree : in Syntax_Trees.Tree;
- Nonterm : in Syntax_Trees.Valid_Node_Index;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array;
Params : in Indent_Param_Array)
is begin
if Trace_Action > Outline then
@@ -1453,14 +1667,14 @@ package body Wisi is
end if;
for I in Tokens'Range loop
- if Tree.Byte_Region (Tokens (I)) /= Null_Buffer_Region and
+ if (Tree.Is_Virtual_Terminal (Tokens (I)) or
+ Tree.Byte_Region (Tokens (I)) /= Null_Buffer_Region) and
I in Params'Range -- in some translated EBNF, not every token has
an indent param
then
declare
- use all type WisiToken.Syntax_Trees.Node_Index;
use all type SAL.Base_Peek_Type;
- Tree_Token : constant Syntax_Trees.Valid_Node_Index :=
Tokens (I);
- Token : constant Aug_Token_Ref :=
Get_Aug_Token (Data, Tree, Tree_Token);
+ Tree_Token : constant Valid_Node_Index := Tokens (I);
+ Token : Aug_Token_Const_Ref renames
Get_Aug_Token_Const_1 (Tree, Tree_Token);
Pair : Indent_Pair renames Params (I);
Code_Delta : Delta_Type;
Comment_Param : Indent_Param;
@@ -1476,7 +1690,7 @@ package body Wisi is
Code_Delta := Indent_Compute_Delta
(Data, Tree, Tokens, Pair.Code_Delta, Tree_Token,
Indenting_Comment => False);
- Indent_Token_1 (Data, Token, Code_Delta, Indenting_Comment
=> False);
+ Indent_Token_1 (Data, Tree, Token, Code_Delta,
Indenting_Comment => False);
end if;
if Token.First_Trailing_Comment_Line /= Invalid_Line_Number then
@@ -1494,7 +1708,7 @@ package body Wisi is
Comment_Delta := Indent_Compute_Delta
(Data, Tree, Tokens, Comment_Param, Tree_Token,
Indenting_Comment => True);
- Indent_Token_1 (Data, Token, Comment_Delta,
Indenting_Comment => True);
+ Indent_Token_1 (Data, Tree, Token, Comment_Delta,
Indenting_Comment => True);
end if;
end if;
end;
@@ -1505,28 +1719,30 @@ package body Wisi is
procedure Indent_Action_1
(Data : in out Parse_Data_Type'Class;
Tree : in Syntax_Trees.Tree;
- Nonterm : in Syntax_Trees.Valid_Node_Index;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array;
N : in Positive_Index_Type;
Params : in Indent_Param_Array)
is
use all type Syntax_Trees.Node_Label;
begin
for I in Tokens'First .. N loop
- if Tree.Label (Tokens (I)) /= Virtual_Terminal and then
- Get_Aug_Token (Data, Tree, Tokens (I)).First
- then
- Indent_Action_0 (Data, Tree, Nonterm, Tokens, Params);
- return;
- end if;
+ declare
+ Aug : Aug_Token_Const_Ref renames Wisi.Get_Aug_Token_Const_1
(Tree, Tokens (I));
+ begin
+ if Tree.Label (Tokens (I)) /= Virtual_Terminal and then Aug.First
then
+ Indent_Action_0 (Data, Tree, Nonterm, Tokens, Params);
+ return;
+ end if;
+ end;
end loop;
end Indent_Action_1;
function Indent_Hanging_1
(Data : in out Parse_Data_Type;
Tree : in Syntax_Trees.Tree;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
- Tree_Indenting : in Syntax_Trees.Valid_Node_Index;
+ Tokens : in Valid_Node_Index_Array;
+ Tree_Indenting : in Valid_Node_Index;
Indenting_Comment : in Boolean;
Delta_1 : in Simple_Indent_Param;
Delta_2 : in Simple_Indent_Param;
@@ -1534,7 +1750,7 @@ package body Wisi is
Accumulate : in Boolean)
return Delta_Type
is
- Indenting_Token : constant Aug_Token_Ref := Get_Aug_Token (Data, Tree,
Tree_Indenting);
+ Indenting_Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
(Tree, Tree_Indenting);
begin
if Indenting_Comment then
return Indent_Compute_Delta
@@ -1570,11 +1786,12 @@ package body Wisi is
is
use all type Ada.Containers.Count_Type;
- Last_Term : constant Base_Token_Index := Parser.Tree.Max_Terminal_Index
(Parser.Tree.Root);
+ Last_Term : constant Node_Index := Parser.Tree.Last_Terminal
(Parser.Tree.Root);
function Get_Last_Char_Pos return Buffer_Pos
is begin
- if Parser.Terminals.Length = 0 then
+
+ if Last_Term = Invalid_Node_Index then
-- All comments, or empty
if Data.Leading_Non_Grammar.Length > 0 then
return Data.Leading_Non_Grammar
(Data.Leading_Non_Grammar.Last_Index).Char_Region.Last;
@@ -1582,21 +1799,15 @@ package body Wisi is
return Buffer_Pos'First;
end if;
else
- if Last_Term = Invalid_Token_Index then
- -- All grammar tokens inserted by recover
- if Data.Leading_Non_Grammar.Length > 0 then
- return Data.Leading_Non_Grammar
(Data.Leading_Non_Grammar.Last_Index).Char_Region.Last;
- else
- return Buffer_Pos'First;
- end if;
- else
- if Data.Terminals (Last_Term).Non_Grammar.Length > 0 then
- return Data.Terminals (Last_Term).Non_Grammar
- (Data.Terminals
(Last_Term).Non_Grammar.Last_Index).Char_Region.Last;
+ declare
+ Aug : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
(Parser.Tree, Last_Term);
+ begin
+ if Aug.Non_Grammar.Length = 0 then
+ return Aug.Char_Region.Last;
else
- return Parser.Terminals (Last_Term).Char_Region.Last;
+ return Aug.Non_Grammar
(Aug.Non_Grammar.Last_Index).Char_Region.Last;
end if;
- end if;
+ end;
end if;
end Get_Last_Char_Pos;
@@ -1604,11 +1815,11 @@ package body Wisi is
function Get_Last_Line return Line_Number_Type
is begin
- for I in Data.Line_Begin_Pos.First_Index ..
Data.Line_Begin_Pos.Last_Index loop
- if Data.Line_Begin_Pos (I) = Invalid_Buffer_Pos then
+ for I in Data.Line_Begin_Char_Pos.First_Index ..
Data.Line_Begin_Char_Pos.Last_Index loop
+ if Data.Line_Begin_Char_Pos (I) = Invalid_Buffer_Pos then
raise SAL.Programmer_Error with "line_begin_pos" &
Line_Number_Type'Image (I) & " invalid";
end if;
- if Data.Line_Begin_Pos (I) > Last_Char_Pos then
+ if Data.Line_Begin_Char_Pos (I) > Last_Char_Pos then
if I > Line_Number_Type'First then
return I - 1;
else
@@ -1616,7 +1827,7 @@ package body Wisi is
end if;
end if;
end loop;
- return Data.Line_Begin_Pos.Last_Index;
+ return Data.Line_Begin_Char_Pos.Last_Index;
end Get_Last_Line;
begin
@@ -1694,7 +1905,7 @@ package body Wisi is
use Ada.Text_IO;
use Semantic_Checks;
- function Safe_Pos (Node : in Syntax_Trees.Valid_Node_Index) return
Buffer_Pos
+ function Safe_Pos (Node : in Valid_Node_Index) return Buffer_Pos
is
-- Return a reasonable position for the error at Node.
--
@@ -1712,7 +1923,7 @@ package body Wisi is
loop
if Tree.Label (N) /= Virtual_Terminal then
declare
- Ref : constant Aug_Token_Ref := Get_Aug_Token (Data, Tree,
N);
+ Ref : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
(Tree, N);
begin
if Ref.Char_Region /= Null_Buffer_Region then
return Ref.Element.Char_Region.First;
@@ -1758,7 +1969,7 @@ package body Wisi is
when Ok => "",
when Error =>
Buffer_Pos'Image (Safe_Pos
(Item.Check_Status.Begin_Name)) &
- Buffer_Pos'Image (Safe_Pos (Item.Check_Status.End_Name)) &
+ Buffer_Pos'Image (Safe_Pos
(Item.Check_Status.End_Name)) &
" ""block name error""]"));
when Parse.LR.Message =>
@@ -1768,7 +1979,7 @@ package body Wisi is
end case;
if Item.Recover.Stack.Depth > 0 then
- Put (Item.Recover, Data.Terminals, Data.Descriptor.all,
Data.Embedded_Quote_Escape_Doubled);
+ Put (Item.Recover, Data, Tree);
end if;
end loop;
end Put;
@@ -1810,24 +2021,9 @@ package body Wisi is
Offset : in Integer)
return Integer
is begin
- return Offset + Integer (Anchor_Token.Char_Region.First -
Data.Line_Begin_Pos (Anchor_Token.Line));
+ return Offset + Integer (Anchor_Token.Char_Region.First -
Data.Line_Begin_Char_Pos (Anchor_Token.Line));
end Current_Indent_Offset;
- function Find
- (Data : in Parse_Data_Type;
- ID : in Token_ID;
- Token : in Augmented_Token'Class)
- return Base_Token_Index
- is begin
- -- linear search for ID.
- for I in Token.First_Terminals_Index .. Token.Last_Terminals_Index loop
- if Data.Terminals (I).ID = ID then
- return I;
- end if;
- end loop;
- return Augmented_Token_Arrays.No_Index;
- end Find;
-
function First_Line
(Token : in Augmented_Token;
Indenting_Comment : in Boolean)
@@ -1844,26 +2040,44 @@ package body Wisi is
else Token.First_Indent_Line));
end First_Line;
- function Get_Aug_Token
- (Data : in Parse_Data_Type'Class;
- Tree : in Syntax_Trees.Tree'Class;
- Tree_Index : in Syntax_Trees.Valid_Node_Index)
- return Aug_Token_Ref
- is
- use all type Syntax_Trees.Node_Label;
- begin
- return
- (case Tree.Label (Tree_Index) is
- when Shared_Terminal => To_Aug_Token_Ref (Data.Terminals
(Tree.Terminal (Tree_Index))),
- when Virtual_Terminal => raise SAL.Programmer_Error with
"wisi_runtime.get_aug_token virtual terminal",
- when Virtual_Identifier => raise SAL.Programmer_Error with
"wisi_runtime.get_aug_token virtual identifier",
- when Nonterm => To_Aug_Token_Ref (Tree.Augmented (Tree_Index)));
- end Get_Aug_Token;
+ function Get_Aug_Token_Const_1
+ (Tree : in Syntax_Trees.Tree'Class;
+ Tree_Index : in Valid_Node_Index)
+ return Aug_Token_Const_Ref
+ is begin
+ return To_Aug_Token_Const_Ref (Tree.Augmented (Tree_Index));
+ end Get_Aug_Token_Const_1;
+
+ function Get_Aug_Token_Const
+ (Data : in Parse_Data_Type;
+ Tree : in WisiToken.Syntax_Trees.Tree'Class;
+ Token : in WisiToken.Token_Index)
+ return Aug_Token_Const_Ref
+ is begin
+ return Get_Aug_Token_Const_1 (Tree, Data.Terminals.all
(Token).Tree_Index);
+ end Get_Aug_Token_Const;
+
+ function Get_Aug_Token_Var
+ (Tree : in Syntax_Trees.Tree'Class;
+ Tree_Index : in Valid_Node_Index)
+ return Aug_Token_Var_Ref
+ is begin
+ return To_Aug_Token_Var_Ref (Tree.Augmented (Tree_Index));
+ end Get_Aug_Token_Var;
+
+ function Get_Aug_Token_Var
+ (Data : in Parse_Data_Type;
+ Tree : in WisiToken.Syntax_Trees.Tree'Class;
+ Token : in WisiToken.Token_Index)
+ return Aug_Token_Var_Ref
+ is begin
+ return Get_Aug_Token_Var (Tree, Data.Terminals.all (Token).Tree_Index);
+ end Get_Aug_Token_Var;
function Get_Text
(Data : in Parse_Data_Type;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tree_Index : in WisiToken.Syntax_Trees.Valid_Node_Index)
+ Tree_Index : in WisiToken.Valid_Node_Index)
return String
is
use all type Syntax_Trees.Node_Label;
@@ -1902,7 +2116,7 @@ package body Wisi is
is
ID_Image : constant String := Image (Item.ID, Descriptor);
begin
- if Item.Line /= Invalid_Line_Number and Trace_Action <= Detail then
+ if Item.Line /= Invalid_Line_Number then
return "(" & ID_Image &
Line_Number_Type'Image (Item.Line) & ":" & Trimmed_Image (Integer
(Item.Column)) & ")";
@@ -1970,13 +2184,13 @@ package body Wisi is
function Indent_Compute_Delta
(Data : in out Parse_Data_Type'Class;
Tree : in Syntax_Trees.Tree;
- Tokens : in Syntax_Trees.Valid_Node_Index_Array;
+ Tokens : in Valid_Node_Index_Array;
Param : in Indent_Param;
- Tree_Indenting : in Syntax_Trees.Valid_Node_Index;
+ Tree_Indenting : in Valid_Node_Index;
Indenting_Comment : in Boolean)
return Delta_Type
is
- Indenting_Token : constant Aug_Token_Ref := Get_Aug_Token (Data, Tree,
Tree_Indenting);
+ Indenting_Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
(Tree, Tree_Indenting);
begin
-- Evaluate wisi-anchored*, wisi-hanging*.
case Param.Label is
@@ -1989,19 +2203,41 @@ package body Wisi is
return (Simple, (Int, Param.Param.Int_Delta));
when Anchored_Label =>
- if Indenting_Token.Byte_Region = Null_Buffer_Region or
- Tree.Byte_Region (Tokens (Param.Param.Anchored_Index)) =
Null_Buffer_Region
- then
- -- One of these is an entirely virtual token
- return Null_Delta;
- else
- declare
- Anchor_Token : constant Aug_Token_Ref := Get_Aug_Token
- (Data, Tree, Tokens (Param.Param.Anchored_Index));
- begin
- case Anchored_Label'(Param.Param.Label) is
- when Anchored_0 =>
- -- [2] wisi-anchored
+ declare
+ Anchor_Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
+ (Tree, Tokens (Param.Param.Anchored_Index));
+ begin
+ case Anchored_Label'(Param.Param.Label) is
+ when Anchored_0 =>
+ -- [2] wisi-anchored
+ return Indent_Anchored_2
+ (Data,
+ Anchor_Line => Anchor_Token.Line,
+ Last_Line => Indenting_Token.Last_Line
(Indenting_Comment),
+ Offset => Current_Indent_Offset (Data, Anchor_Token,
Param.Param.Anchored_Delta),
+ Accumulate => True);
+
+ when Anchored_1 =>
+ -- [2] wisi-anchored%
+ return Indent_Anchored_2
+ (Data,
+ Anchor_Line => Anchor_Token.Line,
+ Last_Line => Indenting_Token.Last_Line
(Indenting_Comment),
+ Offset => Paren_In_Anchor_Line (Data, Tree,
Anchor_Token, Param.Param.Anchored_Delta),
+ Accumulate => True);
+
+ when Anchored_2 =>
+ -- [2] wisi-anchored%-
+ return Indent_Anchored_2
+ (Data,
+ Anchor_Line => Anchor_Token.Line,
+ Last_Line => Indenting_Token.Last_Line
(Indenting_Comment),
+ Offset => Paren_In_Anchor_Line (Data, Tree,
Anchor_Token, Param.Param.Anchored_Delta),
+ Accumulate => False);
+
+ when Anchored_3 =>
+ -- [2] wisi-anchored*
+ if Indenting_Token.First then
return Indent_Anchored_2
(Data,
Anchor_Line => Anchor_Token.Line,
@@ -2009,50 +2245,21 @@ package body Wisi is
Offset => Current_Indent_Offset (Data,
Anchor_Token, Param.Param.Anchored_Delta),
Accumulate => True);
- when Anchored_1 =>
- -- [2] wisi-anchored%
- return Indent_Anchored_2
- (Data,
- Anchor_Line => Anchor_Token.Line,
- Last_Line => Indenting_Token.Last_Line
(Indenting_Comment),
- Offset => Paren_In_Anchor_Line (Data,
Anchor_Token, Param.Param.Anchored_Delta),
- Accumulate => True);
-
- when Anchored_2 =>
- -- [2] wisi-anchored%-
- return Indent_Anchored_2
- (Data,
- Anchor_Line => Anchor_Token.Line,
- Last_Line => Indenting_Token.Last_Line
(Indenting_Comment),
- Offset => Paren_In_Anchor_Line (Data,
Anchor_Token, Param.Param.Anchored_Delta),
- Accumulate => False);
-
- when Anchored_3 =>
- -- [2] wisi-anchored*
- if Indenting_Token.First then
- return Indent_Anchored_2
- (Data,
- Anchor_Line => Anchor_Token.Line,
- Last_Line => Indenting_Token.Last_Line
(Indenting_Comment),
- Offset => Current_Indent_Offset (Data,
Anchor_Token, Param.Param.Anchored_Delta),
- Accumulate => True);
-
- else
- return Null_Delta;
- end if;
+ else
+ return Null_Delta;
+ end if;
- when Anchored_4 =>
- -- [2] wisi-anchored*-
- return Indent_Anchored_2
- (Data,
- Anchor_Line => Anchor_Token.Line,
- Last_Line => Indenting_Token.Last_Line
(Indenting_Comment),
- Offset => Current_Indent_Offset (Data,
Anchor_Token, Param.Param.Anchored_Delta),
- Accumulate => False);
+ when Anchored_4 =>
+ -- [2] wisi-anchored*-
+ return Indent_Anchored_2
+ (Data,
+ Anchor_Line => Anchor_Token.Line,
+ Last_Line => Indenting_Token.Last_Line
(Indenting_Comment),
+ Offset => Current_Indent_Offset (Data, Anchor_Token,
Param.Param.Anchored_Delta),
+ Accumulate => False);
- end case;
- end;
- end if;
+ end case;
+ end;
when Language =>
return Param.Param.Function_Ptr
@@ -2087,6 +2294,7 @@ package body Wisi is
procedure Indent_Token_1
(Data : in out Parse_Data_Type;
+ Tree : in Syntax_Trees.Tree;
Indenting_Token : in Augmented_Token'Class;
Delta_Indent : in Delta_Type;
Indenting_Comment : in Boolean)
@@ -2127,13 +2335,15 @@ package body Wisi is
end loop;
J := Data.Line_Begin_Token.all (I);
- if Line in Data.Terminals (J).First_Trailing_Comment_Line ..
- Data.Terminals (J).Last_Trailing_Comment_Line
- then
- return J;
- else
- return Invalid_Token_Index;
- end if;
+ declare
+ Aug : Augmented_Token renames Get_Aug_Token_Const (Data,
Tree, J);
+ begin
+ if Line in Aug.First_Trailing_Comment_Line ..
Aug.Last_Trailing_Comment_Line then
+ return J;
+ else
+ return Invalid_Token_Index;
+ end if;
+ end;
end Containing_Token;
Indent : Boolean := True;
@@ -2154,7 +2364,7 @@ package body Wisi is
end loop;
elsif Containing /= Invalid_Token_Index then
- for Tok of Data.Terminals (Containing).Non_Grammar loop
+ for Tok of Get_Aug_Token_Const (Data, Tree,
Containing).Non_Grammar loop
if Tok.Line = Line and then
Tok.ID in Data.First_Comment_ID .. Data.Last_Comment_ID
and then
Tok.Column = 0
diff --git a/packages/wisi/wisi.ads b/packages/wisi/wisi.ads
index f871888..db37e5d 100644
--- a/packages/wisi/wisi.ads
+++ b/packages/wisi/wisi.ads
@@ -35,10 +35,14 @@ with WisiToken.Syntax_Trees;
package Wisi is
use all type WisiToken.Base_Buffer_Pos;
+ function Image (Aug : in WisiToken.Base_Token_Class_Access; Descriptor : in
WisiToken.Descriptor) return String;
+ -- For Syntax_Trees.Print_Tree
+
type Post_Parse_Action_Type is (Navigate, Face, Indent);
type Parse_Data_Type
- (Line_Begin_Token : not null access constant
WisiToken.Line_Begin_Token_Vectors.Vector)
+ (Terminals : not null access constant
WisiToken.Base_Token_Arrays.Vector;
+ Line_Begin_Token : not null access constant
WisiToken.Line_Begin_Token_Vectors.Vector)
is new WisiToken.Syntax_Trees.User_Data_Type with private;
procedure Initialize
@@ -63,20 +67,28 @@ package Wisi is
overriding
procedure Lexer_To_Augmented
(Data : in out Parse_Data_Type;
+ Tree : in out WisiToken.Syntax_Trees.Tree'Class;
Token : in WisiToken.Base_Token;
Lexer : not null access WisiToken.Lexer.Instance'Class);
overriding
+ procedure Insert_Token
+ (Data : in out Parse_Data_Type;
+ Tree : in out WisiToken.Syntax_Trees.Tree'Class;
+ Token : in WisiToken.Valid_Node_Index);
+
+ overriding
procedure Delete_Token
(Data : in out Parse_Data_Type;
+ Tree : in out WisiToken.Syntax_Trees.Tree'Class;
Deleted_Token_Index : in WisiToken.Token_Index);
overriding
procedure Reduce
(Data : in out Parse_Data_Type;
Tree : in out WisiToken.Syntax_Trees.Tree'Class;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
type Navigate_Class_Type is (Motion, Statement_End, Statement_Override,
Statement_Start, Misc);
-- Matches [1] wisi-class-list.
@@ -91,16 +103,16 @@ package Wisi is
procedure Statement_Action
(Data : in out Parse_Data_Type;
Tree : in WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
Params : in Statement_Param_Array);
-- Implements [2] wisi-statement-action.
procedure Name_Action
(Data : in out Parse_Data_Type;
Tree : in WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
Name : in WisiToken.Positive_Index_Type);
-- Implements [2] wisi-name-action.
@@ -127,8 +139,8 @@ package Wisi is
procedure Motion_Action
(Data : in out Parse_Data_Type;
Tree : in WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
Params : in Motion_Param_Array);
-- Implements [2] wisi-motion-action.
@@ -143,16 +155,16 @@ package Wisi is
procedure Face_Apply_Action
(Data : in out Parse_Data_Type;
Tree : in WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
Params : in Face_Apply_Param_Array);
-- Implements [2] wisi-face-apply-action.
procedure Face_Apply_List_Action
(Data : in out Parse_Data_Type;
Tree : in WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
Params : in Face_Apply_Param_Array);
-- Implements [2] wisi-face-apply-list-action.
@@ -168,8 +180,8 @@ package Wisi is
procedure Face_Mark_Action
(Data : in out Parse_Data_Type;
Tree : in WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
Params : in Face_Mark_Param_Array);
-- Implements [2] wisi-face-mark-action.
@@ -178,8 +190,8 @@ package Wisi is
procedure Face_Remove_Action
(Data : in out Parse_Data_Type;
Tree : in WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
Params : in Face_Remove_Param_Array);
-- Implements [2] wisi-face-remove-action.
@@ -215,8 +227,8 @@ package Wisi is
type Language_Indent_Function is access function
(Data : in out Parse_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tree_Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
- Tree_Indenting : in WisiToken.Syntax_Trees.Valid_Node_Index;
+ Tree_Tokens : in WisiToken.Valid_Node_Index_Array;
+ Tree_Indenting : in WisiToken.Valid_Node_Index;
Indenting_Comment : in Boolean;
Args : in Indent_Arg_Arrays.Vector)
return Delta_Type;
@@ -286,16 +298,16 @@ package Wisi is
procedure Indent_Action_0
(Data : in out Parse_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
Params : in Indent_Param_Array);
-- Implements [2] wisi-indent-action.
procedure Indent_Action_1
(Data : in out Parse_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
N : in WisiToken.Positive_Index_Type;
Params : in Indent_Param_Array);
-- Implements [2] wisi-indent-action*.
@@ -303,8 +315,8 @@ package Wisi is
function Indent_Hanging_1
(Data : in out Parse_Data_Type;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
- Tree_Indenting : in WisiToken.Syntax_Trees.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
+ Tree_Indenting : in WisiToken.Valid_Node_Index;
Indenting_Comment : in Boolean;
Delta_1 : in Simple_Indent_Param;
Delta_2 : in Simple_Indent_Param;
@@ -377,8 +389,8 @@ private
Paren_State : Integer := 0;
-- Parenthesis nesting count, before token.
- First_Terminals_Index : WisiToken.Base_Token_Index :=
WisiToken.Base_Token_Arrays.No_Index;
- -- For virtual tokens, No_Index.
+ First_Terminals_Index : WisiToken.Base_Token_Index :=
WisiToken.Invalid_Token_Index;
+ -- For virtual tokens, Invalid_Token_Index
--
-- For terminal tokens, index of this token in Parser.Terminals.
--
@@ -410,15 +422,25 @@ private
-- For terminals, non-grammar tokens immediately following. For
-- nonterminals, empty.
+ Inserted_Before : WisiToken.Valid_Node_Index_Arrays.Vector;
+ -- Tokens inserted before this token by error recovery.
+
end record;
type Augmented_Token_Access is access all Augmented_Token;
type Augmented_Token_Access_Constant is access constant Augmented_Token;
- type Aug_Token_Ref (Element : access constant Augmented_Token) is null
record with
+
+ type Aug_Token_Const_Ref (Element : not null access constant
Augmented_Token) is null record with
Implicit_Dereference => Element;
- function To_Aug_Token_Ref (Item : in WisiToken.Base_Token_Class_Access)
return Aug_Token_Ref
+ function To_Aug_Token_Const_Ref (Item : in
WisiToken.Base_Token_Class_Access) return Aug_Token_Const_Ref
is (Element => Augmented_Token_Access_Constant (Item));
+ type Aug_Token_Var_Ref (Element : not null access Augmented_Token) is null
record with
+ Implicit_Dereference => Element;
+
+ function To_Aug_Token_Var_Ref (Item : in WisiToken.Base_Token_Class_Access)
return Aug_Token_Var_Ref
+ is (Element => Augmented_Token_Access (Item));
+
overriding
function Image
(Item : in Augmented_Token;
@@ -440,9 +462,12 @@ private
(WisiToken.Token_Index, Augmented_Token, Default_Element => (others =>
<>));
-- Index matches Base_Token_Arrays.
- function To_Aug_Token_Ref (Item : in
Augmented_Token_Arrays.Constant_Reference_Type) return Aug_Token_Ref
+ function To_Aug_Token_Const_Ref (Item : in
Augmented_Token_Arrays.Constant_Reference_Type) return Aug_Token_Const_Ref
is (Element =>
Augmented_Token_Access_Constant'(Item.Element.all'Unchecked_Access));
+ function To_Aug_Token_Var_Ref (Item : in
Augmented_Token_Arrays.Variable_Reference_Type) return Aug_Token_Var_Ref
+ is (Element =>
Augmented_Token_Access'(Item.Element.all'Unchecked_Access));
+
package Line_Paren_Vectors is new SAL.Gen_Unbounded_Definite_Vectors
(WisiToken.Line_Number_Type, Integer, Default_Element => Integer'Last);
package Line_Begin_Pos_Vectors is new SAL.Gen_Unbounded_Definite_Vectors
@@ -523,7 +548,7 @@ private
when Anchor_Int =>
Anchor_Int_IDs : Anchor_ID_Vectors.Vector; -- Largest ID first.
- Anchor_Int_Indent : Integer;
+ Anchor_Int_Indent : Integer; -- Indent for this token.
when Anchored =>
Anchored_ID : Positive;
@@ -543,7 +568,8 @@ private
(Navigate_Cache_Trees.Cursor, Navigate_Cache_Trees."=");
type Parse_Data_Type
- (Line_Begin_Token : not null access constant
WisiToken.Line_Begin_Token_Vectors.Vector)
+ (Terminals : not null access constant
WisiToken.Base_Token_Arrays.Vector;
+ Line_Begin_Token : not null access constant
WisiToken.Line_Begin_Token_Vectors.Vector)
is new WisiToken.Syntax_Trees.User_Data_Type with
record
-- Aux token info
@@ -556,20 +582,20 @@ private
-- Data from parsing
- Terminals : Augmented_Token_Arrays.Vector;
- -- All terminal grammar tokens, in lexical order. Each contains any
- -- immediately following non-grammar tokens. Does not contain
- -- nonterminal or virtual tokens.
+ -- All Augmented_Tokens are stored in the syntax tree.
+ Last_Terminal_Node : WisiToken.Node_Index :=
WisiToken.Invalid_Node_Index;
Leading_Non_Grammar : Non_Grammar_Token_Arrays.Vector;
-- non-grammar tokens before first grammar token.
- Line_Begin_Pos : Line_Begin_Pos_Vectors.Vector;
+ Line_Begin_Char_Pos : Line_Begin_Pos_Vectors.Vector;
-- Character position at the start of the first token on each line.
+ -- Cached from Line_Begin_Token to simplify indent computations.
Line_Paren_State : Line_Paren_Vectors.Vector;
-- Parenthesis nesting state at the start of each line; used by
- -- Indent. Set by Lexer_To_Augmented on New_Line_ID.
+ -- Indent. Set by Lexer_To_Augmented on New_Line_ID, updated by
+ -- Insert_Token, Delete_Token.
Current_Paren_State : Integer;
-- Current parenthesis nesting state; used by Indent. Set by
@@ -665,25 +691,43 @@ private
-- Return offset from beginning of first token on line containing
-- Anchor_Token, to beginning of Anchor_Token, plus Offset.
- function Find
+ function Get_Aug_Token_Const_1
+ (Tree : in WisiToken.Syntax_Trees.Tree'Class;
+ Tree_Index : in WisiToken.Valid_Node_Index)
+ return Aug_Token_Const_Ref;
+ -- WORKAROUND: GNAT Community 2019 can't do the overload resolution
+ -- between the two Get_Aug_Token_Const without an explicit renames,
+ -- so we add _1 to this one.
+
+ function Get_Aug_Token_Const
(Data : in Parse_Data_Type;
- ID : in WisiToken.Token_ID;
- Token : in Augmented_Token'Class)
- return WisiToken.Base_Token_Index;
- -- Return index in Parser.Terminals of first token in
- -- Token.Char_Region with ID. If not found, return
- -- No_Index.
-
- function Get_Aug_Token
- (Data : in Parse_Data_Type'Class;
- Tree : in WisiToken.Syntax_Trees.Tree'Class;
- Tree_Index : in WisiToken.Syntax_Trees.Valid_Node_Index)
- return Aug_Token_Ref;
+ Tree : in WisiToken.Syntax_Trees.Tree'Class;
+ Token : in WisiToken.Token_Index)
+ return Aug_Token_Const_Ref;
+
+ function Get_Aug_Token_Var
+ (Tree : in WisiToken.Syntax_Trees.Tree'Class;
+ Tree_Index : in WisiToken.Valid_Node_Index)
+ return Aug_Token_Var_Ref;
+
+ function Get_Aug_Token_Var
+ (Data : in Parse_Data_Type;
+ Tree : in WisiToken.Syntax_Trees.Tree'Class;
+ Token : in WisiToken.Token_Index)
+ return Aug_Token_Var_Ref;
+
+ -- function Get_First_Terminal
+ -- (Data : in Parse_Data_Type;
+ -- Tree : in WisiToken.Syntax_Trees.Tree'Class;
+ -- Token : in WisiToken.Token_Index)
+ -- return Aug_Token_Const_Ref;
+ -- Return Augmented for first Token.Inserted_Before, or if that is
+ -- empty, for Token.
function Get_Text
(Data : in Parse_Data_Type;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tree_Index : in WisiToken.Syntax_Trees.Valid_Node_Index)
+ Tree_Index : in WisiToken.Valid_Node_Index)
return String;
-- Return text contained by Tree_Index token in source file
-- (lexer.buffer).
@@ -702,14 +746,15 @@ private
function Indent_Compute_Delta
(Data : in out Parse_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
Param : in Indent_Param;
- Tree_Indenting : in WisiToken.Syntax_Trees.Valid_Node_Index;
+ Tree_Indenting : in WisiToken.Valid_Node_Index;
Indenting_Comment : in Boolean)
return Delta_Type;
procedure Indent_Token_1
(Data : in out Parse_Data_Type;
+ Tree : in WisiToken.Syntax_Trees.Tree;
Indenting_Token : in Augmented_Token'Class;
Delta_Indent : in Delta_Type;
Indenting_Comment : in Boolean);
diff --git a/packages/wisi/wisi.el b/packages/wisi/wisi.el
index 6cdf2b5..7dce87b 100644
--- a/packages/wisi/wisi.el
+++ b/packages/wisi/wisi.el
@@ -7,7 +7,7 @@
;; Keywords: parser
;; indentation
;; navigation
-;; Version: 3.0.1
+;; Version: 3.1.0
;; package-requires: ((emacs "25.0") (seq "2.20"))
;; URL: http://stephe-leake.org/ada/wisitoken.html
;;
@@ -197,15 +197,9 @@ If PARSE-RESULT is non-nil, use it instead of calling
`syntax-ppss'."
;; point may be in the middle of a word, so insert newline first,
;; then go back and indent.
(insert "\n")
- (unless (and (wisi-partial-parse-p (line-beginning-position)
(line-end-position))
- (save-excursion (progn (forward-char -1)(looking-back
"begin\\|else" (line-beginning-position)))))
- ;; Partial parse may think 'begin' is just the start of a
- ;; statement, when it's actually part of a larger declaration. So
- ;; don't indent 'begin'. Similarly for 'else'; error recovery will
- ;; probably insert 'if then' immediately before it
- (forward-char -1)
- (funcall indent-line-function)
- (forward-char 1))
+ (forward-char -1)
+ (funcall indent-line-function)
+ (forward-char 1)
(funcall indent-line-function))
;;;; token info cache
@@ -428,9 +422,11 @@ Truncate any region that overlaps POS."
"Force a parse."
(interactive)
(syntax-ppss-flush-cache (point-min)) ;; necessary after edit during
ediff-regions
- (wisi-invalidate-cache 'indent (point-min))
- (wisi-invalidate-cache 'face (point-min))
- (wisi-invalidate-cache 'navigate (point-min))
+ (setq wisi--cached-regions ;; necessary instead of wisi-invalidate after
ediff-regions
+ (list
+ (cons 'face nil)
+ (cons 'navigate nil)
+ (cons 'indent nil)))
(wisi-set-parse-try t 'indent)
(wisi-set-parse-try t 'face)
(wisi-set-parse-try t 'navigate)
@@ -782,7 +778,9 @@ Usefull if the parser appears to be hung."
(with-current-buffer wisi-error-buffer
(setq buffer-read-only nil)
(erase-buffer)
- (setq buffer-read-only t))))
+ (setq buffer-read-only t)
+ (when (get-buffer-window wisi-error-buffer)
+ (delete-window (get-buffer-window wisi-error-buffer))))))
(condition-case-unless-debug err
(save-excursion
@@ -814,6 +812,8 @@ Usefull if the parser appears to be hung."
nil))
(setq wisi-parse-failed t)
;; parser should have stored this error message in parser-error-msgs
+ (when (> wisi-debug 0)
+ (signal (car err) (cdr err)))
)
(error
;; parser failed for other reason
@@ -1439,84 +1439,6 @@ If non-nil, only repair errors in BEG END region."
))
;;; xref integration
-(defconst wisi-xref-ident-regexp "\\([^<]*\\)\\(?:<\\([0-9]+\\)>\\)?"
- "Match line number encoded into identifier by
`wisi-xref-identifier-at-point'.")
-
-(defun wisi-xref-ident-make (identifier &optional other-function)
- "Return an xref-item for IDENTIFIER."
- (let* ((t-prop (get-text-property 0 'xref-identifier identifier))
- ;; If t-prop is non-nil: identifier is from
- ;; identifier-at-point, the desired location is the ’other’
- ;; (spec/body).
- ;;
- ;; If t-prop is nil: identifier is from prompt/completion,
- ;; the line number may be included in the identifier wrapped
- ;; in <>, and the desired location is that line in the current
- ;; file.
- (ident
- (if t-prop
- (substring-no-properties identifier 0 nil)
- (string-match wisi-xref-ident-regexp identifier)
- (match-string 1 identifier)
- ))
- (file
- (if t-prop
- (plist-get t-prop ':file)
- (buffer-file-name)))
- (line
- (if t-prop
- (plist-get t-prop ':line)
- (when (match-string 2 identifier)
- (string-to-number (match-string 2 identifier)))))
- (column
- (if t-prop
- (plist-get t-prop ':column)
- 0))
- )
-
- (if t-prop
- (funcall other-function ident file line column)
-
- (xref-make ident (xref-make-file-location file (or line 1) column))
- )))
-
-(defun wisi-xref-item (identifier)
- "Given IDENTIFIER, return an xref-item, with line, column nil if unknown.
-IDENTIFIER is from a user prompt with completion, or from
-`xref-backend-identifier-at-point'."
- (let* ((t-prop (get-text-property 0 'xref-identifier identifier))
- ;; If t-prop is non-nil: identifier is from
- ;; identifier-at-point.
- ;;
- ;; If t-prop is nil: identifier is from prompt/completion,
- ;; the line number may be included in the identifier
- ;; wrapped in <>.
- (ident
- (if t-prop
- (substring-no-properties identifier 0 nil)
- (string-match wisi-xref-ident-regexp identifier)
- (match-string 1 identifier)
- ))
- (file
- (if t-prop
- (plist-get t-prop ':file)
- (buffer-file-name)))
- (line
- (if t-prop
- (plist-get t-prop ':line)
- (when (match-string 2 identifier)
- (string-to-number (match-string 2 identifier)))))
- (column
- (when t-prop
- (plist-get t-prop ':column)))
- )
-
- (unless (file-name-absolute-p file)
- (setq file (locate-file file compilation-search-path)))
-
- (let ((eieio-skip-typecheck t)) ;; allow line, column nil.
- (xref-make ident (xref-make-file-location file line column)))
- ))
(defun wisi-xref-identifier-at-point ()
(let ((ident (thing-at-point 'symbol)))
@@ -1524,9 +1446,9 @@ IDENTIFIER is from a user prompt with completion, or from
(put-text-property
0 1
'xref-identifier
- (list ':file (buffer-file-name)
- ':line (line-number-at-pos)
- ':column (current-column))
+ (list :file (buffer-file-name)
+ :line (line-number-at-pos)
+ :column (current-column))
ident)
ident)))
@@ -1558,9 +1480,14 @@ IDENTIFIER is from a user prompt with completion, or from
(let ((region (wisi-prev-name-region)))
(buffer-substring-no-properties (car region) (cdr region))))
-(defun wisi-names (append-lines)
+(defconst wisi-names-regexp "\\([^<]*\\)<\\([0-9]+\\)>"
+ "Match line number encoded into identifier by `wisi-names'.")
+
+(defun wisi-names (append-lines alist)
"List of names; each is text from one 'wisi-name property in current buffer.
-If APPEND-LINES is non-nil, each has the line number it occurs on appended."
+If APPEND-LINES is non-nil, each name has the line number it
+occurs on appended. If ALIST is non-nil, the result is an alist
+where the car is a list (FILE LINE COL)."
(when wisi--parser
;; wisi--parser is nil in a non-language buffer, like Makefile
(wisi-validate-cache (point-min) (point-max) t 'navigate)
@@ -1573,13 +1500,19 @@ If APPEND-LINES is non-nil, each has the line number it
occurs on appended."
;; number in the identifier string. This also serves to
;; disambiguate overloaded identifiers in the user interface.
(setq end-pos (next-single-property-change pos 'wisi-name))
- (push
- (if append-lines
- (format "%s<%d>"
- (buffer-substring-no-properties pos end-pos)
- (line-number-at-pos pos))
- (buffer-substring-no-properties pos end-pos))
- table)
+ (let* ((line (line-number-at-pos pos))
+ (summary
+ (if append-lines
+ (format "%s<%d>"
+ (buffer-substring-no-properties pos end-pos)
+ line)
+ (buffer-substring-no-properties pos end-pos))))
+ (if alist
+ (save-excursion
+ (goto-char pos)
+ (push (cons summary (list (buffer-file-name) line
(current-column)))
+ table))
+ (push summary table)))
(setq pos end-pos)
)
table)))
@@ -1758,7 +1691,6 @@ If APPEND-LINES is non-nil, each has the line number it
occurs on appended."
(cons 'navigate nil)
(cons 'indent nil)))
- ;; file local variables may have modified wisi-indent-calculate-functions
(setq wisi-indent-calculate-functions (append
wisi-indent-calculate-functions indent-calculate))
(set (make-local-variable 'indent-line-function) #'wisi-indent-line)
(set (make-local-variable 'indent-region-function) #'wisi-indent-region)
@@ -1773,6 +1705,8 @@ If APPEND-LINES is non-nil, each has the line number it
occurs on appended."
(set (make-local-variable 'comment-indent-function) 'wisi-comment-indent)
+ (add-hook 'completion-at-point-functions #'wisi-completion-at-point -90 t)
+
(add-hook 'hack-local-variables-hook 'wisi-post-local-vars nil t)
)
diff --git a/packages/wisi/wisi.info b/packages/wisi/wisi.info
new file mode 100644
index 0000000..e338347
--- /dev/null
+++ b/packages/wisi/wisi.info
@@ -0,0 +1,1294 @@
+This is wisi.info, produced by makeinfo version 6.7 from wisi.texi.
+
+Copyright (C) 1999 - 2020 Free Software Foundation, Inc.
+
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation License,
+ Version 1.3 or any later version published by the Free Software
+ Foundation; with no Invariant Sections, with the Front-Cover texts
+ being "A GNU Manual", and with the Back-Cover Texts as in (a)
+ below. A copy of the license is included in the section entitled
+ "GNU Free Documentation License".
+
+ (a) The FSF's Back-Cover Text is: "You have the freedom to copy and
+ modify this GNU manual. Buying copies from the FSF supports it in
+ developing GNU and promoting software freedom."
+INFO-DIR-SECTION Emacs
+START-INFO-DIR-ENTRY
+* Wisi: (wisi). Error-correcting LR parsers and project integration.
+END-INFO-DIR-ENTRY
+
+
+File: wisi.info, Node: Top, Next: Overview, Up: (dir)
+
+Top
+***
+
+Wisi Version 3.1.0
+
+* Menu:
+
+* Overview::
+* Grammar actions::
+* Project extension::
+* GNU Free Documentation License::
+* Index::
+
+
+File: wisi.info, Node: Overview, Next: Grammar actions, Prev: Top, Up: Top
+
+1 Overview
+**********
+
+"wisi" used to be an acronym, but now it's just a name.
+
+ The wisi package provides an elisp interface to an external parser.
+It assumes the parser generator package WisiToken
+(<http://stephe-leake.org/ada/wisitoken.html>, implemented in Ada), but
+can use any parser that meets the same API. wisi provides several
+grammar actions, to implement indentation, navigating, and syntax
+highlighting (fontification).
+
+ wisi also provides an extension to Emacs 'project.el', providing
+operations useful for compilation and cross-reference.
+
+
+File: wisi.info, Node: Grammar actions, Next: Project extension, Prev:
Overview, Up: Top
+
+2 Grammar Actions
+*****************
+
+Grammar actions are specified in the grammar file, in a nonterminal
+declaration. We assume the user is familiar with parser grammars and
+grammar actions. For example, a simple "if" statement can be declared
+as:
+
+ if_statement
+ : IF expression THEN statements elsif_list ELSE statements END IF
SEMICOLON
+ %((wisi-statement-action [1 statement-start 3 motion 6 motion 10
statement-end])
+ (wisi-motion-action [1 3 5 6 10])
+ (wisi-indent-action [nil
+ [(wisi-hanging% ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken]
+ nil
+ [ada-indent ada-indent] nil nil
+ [ada-indent ada-indent] nil nil nil]))%
+
+ The item before ':' is the "left hand side", or "nonterminal". The
+list of tokens after ':' is the "right hand side"; in general there can
+be more than one right hand side for each nonterminal (separated by
+'|').
+
+ The items enclosed in "%()%" are the grammar actions. They are
+specified as list of elisp forms; an earlier version of the wisi package
+generated an elisp parser. We keep the elisp form because it is
+compact, and easier to read and write than the equivalent Ada code. The
+'wisi-bnf-generate' tool converts the elisp into the required Ada
+statements.
+
+ There are two classes of actions; in-parse and post-parse. WisiToken
+calls these "semantic checks" and "user actions". The in-parse actions
+are done as parsing procedes; they provide extra checks that can cause
+the parse to fail. Currently the only one provided is 'match-names'; it
+is used to check that the declaration and end names in named Ada blocks
+are the same (which can aid significantly in error correction). In the
+grammar file, in-parse actions are specified in a second '%()%' block,
+which can be omitted if empty. In this document, the term "action"
+means "post-parse action", we use "in-parse action" unless the meaning
+is clear from context.
+
+ Executing the wisi grammar actions creates text properties in the
+source file; those text properties are then used by elisp code for
+various purposes.
+
+ The text properties applied are:
+
+'wisi-cache'
+ This should be named 'wisi-navigate', but isn't for historical
+ reasons (there used to be only one kind of text property).
+
+ The property contains a 'wisi-cache' object, containing:
+
+ 'nonterm'
+ The nonterminal in the grammar production that specified the
+ action that produced this text property.
+
+ 'token'
+ A token identifier naming a token in the production right hand
+ side containing the text this text property is applied to.
+
+ 'last'
+ The position of the last character in the token, relative to
+ the first character (0 indexed). The text property is only
+ applied to the first character in the token (mostly for
+ historical reasons).
+
+ 'class'
+ A token class; see the list of possible values in
+ 'wisi-statement-action' below.
+
+ 'containing'
+ A marker pointing to the start of the containing token for
+ this token; only 'nil' for the outermost containing token in a
+ file.
+
+ 'prev'
+ A marker pointing to the previous "motion token" in the
+ statement or declaration. These are normally language
+ keywords, but can be other things.
+
+ 'next'
+ A marker pointing to the next "motion token" in the statement
+ or declaration.
+
+ 'end'
+ A marker pointing to the end of the statement or declaration.
+
+ wisi provides motion commands for going to the various markers.
+
+'wisi-name'
+ Contains no data, applied to a "name" of some sort. wisi provides
+ commands for finding the next/previous name, and returning the
+ text. Useful for the names of subprograms, which can then be used
+ to build a completion table; see
+ 'wisi-xref-identifier-completion-table'.
+
+'font-lock-face'
+ The standard font-lock property, specifying the face for the text.
+
+ Some major modes do not use this for simple keywords; they use
+ font-lock regular expressions instead. One reason for this is so
+ keywords are still highlighted when the parser fails, which can
+ happen if there are severe syntax errors.
+
+ Other items, like function and package names, are typically marked
+ with 'font-lock-face' by the parser.
+
+'fontified'
+ Another standard font-lock text property; applied whenever
+ 'font-lock-face' is.
+
+'wisi-indent'
+ Contains the indent (in characters) for the next line; applied to
+ the newline character on the preceding line. The first line in a
+ buffer is assumed to have indent 0.
+
+ Each action is classified as one of 'navigate, face, indent,
+in-parse'; when actions are executed, only one of the first three
+classes is executed (in-parse is always executed). This reflects the
+reasons the parser is run; to figure out how to go somehere (end of
+current statement, start of current procedure, etc), to apply faces for
+syntax highlighting, or to indent the code.
+
+* Menu:
+
+* Navigate actions::
+* Face actions::
+* Indent actions::
+* In-parse actions::
+
+
+File: wisi.info, Node: Navigate actions, Next: Face actions, Up: Grammar
actions
+
+2.1 Navigate actions
+====================
+
+'wisi-statement-action [TOKEN CLASS ...]'
+ The argument is a vector; alternating items are a token index (an
+ integer or label indicating a token in the right hand side) and a
+ "token class"; one of:
+
+ 'motion'
+ Create a 'wisi-cache' text property on the token, for use in a
+ subsequent 'wisi-motion-action'.
+
+ 'statement-end'
+ Create a 'wisi-cache' text property on the token, enter a
+ pointer to it in the other 'wisi-cache' objects in the
+ statement or declaration.
+
+ 'statement-start'
+ Create a 'wisi-cache' text property on the token, enter a
+ pointer to it in the other 'wisi-cache' objects (in the
+ 'containing' slot) in the statement or declaration.
+
+ 'statement-override'
+ Same as 'statement-start'; marks the token to be used as the
+ statement start if the first token is optional.
+
+ 'misc'
+ Create a 'wisi-cache' text property on the token, to be used
+ for some other purpose. It is good style to indicate the
+ purpose in a comment.
+
+ For example, ada-mode uses a 'misc' property on left
+ parentheses that start a subprogram parameter list; this
+ distinquishes them from other left parentheses, and makes it
+ possible to automatically call 'ada-format-paramlist' to
+ format the parameter list, instead of using the standard Emacs
+ 'align'.
+
+'wisi-motion-action [TOKEN ...]'
+ The argument is a vector, where each element is either a token
+ index or a vector [INDEX ID].
+
+ Each terminal token must already have a 'wisi-cache' created by a
+ 'wisi-statement-action' (this is checked at action execution, not
+ during grammar generation). This action sets the 'prev, next'
+ slots for the chain of tokens, creating a chain of motion tokens.
+
+ If TOKEN is a nonterminal without an ID specified, the 'wisi-cache'
+ must be on the first token in the nonterminal, and it is assumed to
+ have a valid pointer in the 'next' slot, indicating a chain of
+ motion tokens. That chain is linked into the chain for the current
+ right hand side.
+
+ If TOKEN is a nonterminal with an ID, the region contained by the
+ nonterminal is searched for all 'wisi-cache' with that token ID,
+ and for each one where prev/next is not already set, it is linked
+ into the motion chain.
+
+ Note that the "search" described here is done in the parser
+ process, on a tree data structure containing the data that will
+ eventually be stored in Emacs text properties.
+
+'wisi-name-action TOKEN'
+ TOKEN is a token index. Create a 'wisi-name' text property on the
+ token.
+
+
+File: wisi.info, Node: Face actions, Next: Indent actions, Prev: Navigate
actions, Up: Grammar actions
+
+2.2 Face actions
+================
+
+'wisi-face-mark-action [INDEX CLASS ...]'
+ The argument is a vector; alternating elements form pairs of INDEX
+ CLASS, where class is one of 'prefix, suffix'.
+
+ Mark the tokens as part of a compound name, for use by later face
+ actions.
+
+'wisi-face-apply-action [TOKEN PREFIX-FACE SUFFIX-FACE ...]'
+ The argument is a vector; triples of items specify TOKEN,
+ PREFIX-FACE, SUFFIX-FACE. The faces are the elisp names of face
+ objects (which must declared by an '%elisp_face' declaration).
+
+ If the token is a nonterminal, and it has been marked by a previous
+ 'wisi-face-mark-action', the specified faces are applied to the
+ prefix and suffix in the token as 'font-lock-face' text properties.
+
+ If the token is a terminal, or a non-terminal with no face mark,
+ the suffix face is applied to the entire text contained by the
+ token.
+
+'wisi-face-apply-list-action [TOKEN PREFIX-FACE SUFFIX-FACE ...]'
+ Similar to ’wisi-face-apply-action’, but applies faces to all
+ tokens marked by 'wisi-face-mark-action' in each indicated
+ production token, and does not apply a face if there are no such
+ marks.
+
+
+File: wisi.info, Node: Indent actions, Next: In-parse actions, Prev: Face
actions, Up: Grammar actions
+
+2.3 Indent actions
+==================
+
+Indents are computed for each line in a cumulative way as the grammar
+actions are executed. Initially, each indent is set to 'nil', which
+means "not computed"; this is not the same as the value '0'. The
+grammar actions are executed in a bottom-up fashion; low level
+productions are executed before higher level ones. In general, the
+indent action for a production specifies a "delta indent"; the indent is
+incremented by that amount. When all productions have been processed,
+the indent has been computed for all lines.
+
+ Indents are often given as a function call; the arguments to the
+function can be other function calls, or integer expressions.
+'wisitoken-bnf-generate' supports only simple integer expressions; those
+using integers, integer-valued variables, parenthesis, + (plus), -
+(minus), and * (multiply).
+
+'wisi-indent-action [INDENT ...]'
+ The argument is a vector, giving an indent for each token in the
+ production right-hand side.
+
+ For terminals, the indents only have meaning, and are only
+ computed, if the token is the first on a line. For nonterminals
+ where the indent is not a variant of 'wisi-hanging', the indent is
+ only computed if the first terminal token in the nonterminal is the
+ first on a line. See 'wisi-hanging' in *note Indent functions::
+ for the remaining case.
+
+ An indent can have several forms. In the descriptions below, the
+ "current token" is given by the position of the indent expression
+ in the 'wisi-indent-action' argument list.
+
+ An integer
+ This gives a delta indent; it is added to the total indent for
+ the line.
+
+ A variable name
+ The name is translated to an Ada identifier by replacing "-"
+ with "_", and applying 'Camel_Case'. The translated name must
+ identify a directly visible run-time Ada integer variable;
+ this is checked at Ada compile time. It provides an integer
+ delta indent.
+
+ For example, in Ada two indent variable names are 'ada-indent'
+ and 'ada-indent-broken', giving the basic ident, and the
+ continuation line indent. They are runtime variables so
+ different projects can specify them as part of a coding
+ standard.
+
+ A function call
+ A function that computes a delta indent. See *note Indent
+ functions::.
+
+ [CODE-INDENT , COMMENT-INDENT]
+ A vector giving separate indents for code and comments.
+
+ Normally, the indent for trailing comments (on lines with no
+ code, after all code in the token) is given by the indent of
+ the following token in the production. When the current token
+ is the last, or the following tokens may be empty, or the
+ indent of the following token would be wrong for some reason
+ (for example, it is a block end), the comment indent may be
+ specified separately. If it is not specified, and the indent
+ from the next token is not available, the indent for the
+ current token is used for code and comments.
+
+ Comment lines that are not trailing are indented by
+ CODE-INDENT.
+
+ (label . INDENT)
+ If token labels are used in a right hand side, they must be
+ given explicitly in the indent arguments, using he lisp "cons"
+ syntax. Labels are normally only used with EBNF grammars,
+ which expand into multiple right hand sides, with optional
+ tokens simply left out. Explicit labels on the indent
+ arguments allow them to be left out as well.
+
+* Menu:
+
+* Indent functions::
+* Indent example::
+
+
+File: wisi.info, Node: Indent functions, Next: Indent example, Up: Indent
actions
+
+2.3.1 Indent functions
+----------------------
+
+'wisi-anchored TOKEN OFFSET'
+ Sets the indent for the current token to be OFFSET (an integer
+ expression) from the start of TOKEN (a token index); the current
+ token is "anchored to" TOKEN.
+
+'wisi-anchored* TOKEN OFFSET'
+ Sets the indent for the current token to be OFFSET from the start
+ of TOKEN, but only if TOKEN is the first token on a line; otherwise
+ no indent
+
+'wisi-anchored*- TOKEN OFFSET'
+ Sets the indent for the current token to be OFFSET from the start
+ of TOKEN, but only if TOKEN is the first token on a line and the
+ indent for the current token accumulated so far is nil.
+
+'wisi-anchored% TOKEN OFFSET'
+ If there is an opening parenthesis containing TOKEN in the line
+ containing TOKEN, set the current indent to OFFSET from that
+ parenthesis. Otherwise, OFFSET gives an indent delta.
+
+'wisi-anchored%- TOKEN OFFSET'
+ Same as 'wisi-anchored%', but only if the current token accumulated
+ indent is nil.
+
+'wisi-hanging DELTA-1 DELTA-2'
+ The current token is assumed to be a nonterminal. If the text it
+ contains spans multiple lines, use DELTA-1 for the first line,
+ DELTA-2 for the rest. If the current token is only on one line,
+ use DELTA-1.
+
+ DELTA-1 and DELTA-2 can be any IDENT expression, except a variant
+ of 'wisi-hanging'.
+
+'wisi-hanging% DELTA-1 DELTA-2'
+ Similar to 'wisi-hanging'; if the first terminal token in the
+ current nonterminal is the first token on the first line, use
+ DELTA-1 for the first line and DELTA-2 for the rest. Otherwise,
+ use DELTA-1 for all lines.
+
+'wisi-hanging%- DELTA-1 DELTA-2'
+ Same as 'wisi-hanging%', except applied only if the current token
+ accumulated indent is nil.
+
+'Language-specific function'
+ Language-specific indent functions are specified by an
+ '%elisp_indent' declaration in the grammar file. Each function
+ specifies how many arguments it accepts; this is checked at action
+ runtime, not during grammar generation. Each argument is an INDENT
+ as described above, or a token ID prefixed by ''' (to allow
+ distinguishing token IDs from variable names).
+
+
+File: wisi.info, Node: Indent example, Prev: Indent functions, Up: Indent
actions
+
+2.3.2 Indent example
+--------------------
+
+The example 'if_statement' grammar nonterminal is:
+
+ if_statement
+ : IF expression THEN statements elsif_list ELSE statements END IF
SEMICOLON
+ %((wisi-indent-action [nil
+ [(wisi-hanging% ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken]
+ nil
+ [ada-indent ada-indent] nil nil
+ [ada-indent ada-indent] nil nil nil]))%
+
+ We trace how the indent is computed for this sample Ada code:
+
+ 1: if A < B and
+ 2: C < D
+ 3: -- comment on expression
+ 4: then
+ 5: if E then
+ 6: Do_E;
+ 7: -- comment on statement
+ 8: elsif F then
+ 9: G := A + Compute_Something
+ 10: (arg_1, arg_2);
+ 11: end if;
+ 12: end if;
+
+ First, the indent for the lower-level nonterminals ('expression,
+statements, elsif_list') are computed. Assume they set the indent for
+line 10 to 2 (for the hanging expression) and leave the rest at nil.
+
+ Next, the action for the inner 'if_statement' is executed. Most of
+the tokens specify an indent of 'nil', which means the current
+accumulated indent is not changed. For the others, the action is as
+follows:
+
+'expression:'
+ The expression 'E' is contained on one line, and it is not the
+ first token on that line, so the indent for line 5 is not changed.
+
+'statements: [ada-indent ada-indent]'
+ This specifies separate indents for code and trailing comments,
+ because otherwise the trailing comments would be indented with the
+ following 'THEN'; instead they are indented with the expression
+ code; see the comment on line 7.
+
+ Here 'ada-indent' is 3, so the indent for lines 6 and 7 (for the
+ first occurence of 'statments') is incremented from 'nil' to '3'.
+
+ For the second occurence of 'statements', line 9 is incremented
+ from 'nil' to '3', and line 10 from '2' to '5'.
+
+ At this point, the accumulated indents are (the indent is given after
+the line number):
+ 1: nil : if A < B and
+ 2: nil : C < D
+ 3: nil : -- comment on expression
+ 4: nil : then
+ 5: nil : if E then
+ 6: 3 : Do_E;
+ 7: 3 : -- comment on statement
+ 8: nil : elsif F then
+ 9: 3 : G := A + Compute_Something
+ 10: 5 : (arg_1, arg_2);
+ 11: nil : end if;
+ 12: nil : end if;
+
+ Then the action is executed for the outer 'if_statement':
+
+'expression: [(wisi-hanging% ada-indent-broken (* 2 ada-indent-broken))
ada-indent-broken]'
+ This specifies separate indents for code and trailing comments,
+ because otherwise the trailing comments would be indented with the
+ following 'THEN'; instead they are indented with the expression
+ code; see the comment on line 3.
+
+ In this case, 'wisi-hanging%' returns DELTA-1, which is
+ 'ada-indent-broken', which is 2. So the indent for line 2 is
+ incremented from 'nil' to '2'.
+
+ The indent for line 3 is also incremented from 'nil' to '2'.
+
+'statements: [ada-indent ada-indent]'
+ Here there is only one statement; the nested 'if_statement'. The
+ indent for lines 5 .. 11 are each incremented by 3.
+
+ The final result is:
+ 1: nil : if A < B and
+ 2: 2 : C < D
+ 3: 2 : -- comment on expression
+ 4: nil : then
+ 5: 3 : if E then
+ 6: 6 : Do_E;
+ 7: 6 : -- comment on statement
+ 8: 3 : elsif F then
+ 9: 6 : G := A + Compute_Something
+ 10: 8 : (arg_1, arg_2);
+ 11: 6 : end if;
+ 12: nil : end if;
+
+ In a full grammar, the top production should specify an indent of 0,
+not nil, for tokens that are not indented; then every line will have a
+non-nil indent. However, in normal operation a nil indent is treated as
+0; the 'wisi-indent' text property is not set for lines that have nil
+indent, and 'wisi-indent-region' detects that and uses 0 for the indent.
+You can set the variable 'wisi-debug' to a value > 0 to signal an error
+for nil indents; this is useful to catch indent errors during grammar
+development.
+
+
+File: wisi.info, Node: In-parse actions, Prev: Indent actions, Up: Grammar
actions
+
+2.4 In-parse actions
+====================
+
+'wisi-propagate-name TOKEN'
+ The argument is a token index. Set the 'name' component of the
+ left-hand-side parse-time token object to the 'name' component of
+ the identified token, if it is not empty. Otherwise use the
+ 'byte_region' component.
+
+'wisi-merge-name FIRST-TOKEN, LAST-TOKEN'
+ The arguments are token indices, giving a range of tokens.
+ LAST-TOKEN may be omitted if it is the same as FIRST-TOKEN.
+
+ Set the 'name' component of the left-hand-side to the merger of the
+ 'name' or 'byte-region' components of the identified tokens.
+
+'wisi-match-name START-TOKEN END-TOKEN'
+ The arguments are token indices. Compare the text contained by the
+ 'name' (or 'byte_region' if 'name' is empty) token components for
+ START-TOKEN and END-TOKEN; signal a parse error if they are
+ different.
+
+ The behavior when a name is missing is determined by the runtime
+ language variable given in the '%end_names_optional_option'
+ declaration; if True, a missing name that is supposed to match a
+ present name is an error. Both names missing is not an error
+ (assuming that is allowed by the grammar).
+
+
+File: wisi.info, Node: Project extension, Next: GNU Free Documentation
License, Prev: Grammar actions, Up: Top
+
+3 Project extension
+*******************
+
+wisi defines the 'cl-defstuct' 'wisi-prj', with operations suitable for
+compilation and cross-reference.
+
+ In order to use wisi projects, the user must write project files and
+customize 'project-find-functions' and 'xref-backend-functions'.
+
+* Menu:
+
+* Project files::
+* Selecting projects::
+* Casing exception files::
+* Other project functions::
+
+
+File: wisi.info, Node: Project files, Next: Selecting projects, Up: Project
extension
+
+3.1 Project files
+=================
+
+Project file names must have an extension given by
+'wisi-prj-file-extensions' (default '.adp, .prj').
+
+ Project files have a simple syntax; they may be edited directly.
+Each line specifies a project variable name and its value, separated by
+"=":
+
+ src_dir=/Projects/my_project/src_1
+ src_dir=/Projects/my_project/src_2
+
+ There must be no space between the variable name and "=", and no
+trailing spaces after the value.
+
+ Any line that does not have an "=" is a comment.
+
+ Some variables (like 'src_dir') are lists; each line in the project
+file specifies one element of the list. The value on the last line is
+the last element in the list.
+
+ A variable name that starts with '$' is set as a process environment
+variable, for processes launched from Emacs for the project.
+
+ In values, process environment variables can be referenced using the
+normal '$var' syntax.
+
+ In values, relative file names are expanded relative to the directory
+containing the project file.
+
+ Here is the list of project variables defined by wisi; major modes
+may add more.
+
+'casing' [slot: 'case-exception-files']
+ List of files containing casing exceptions. *Note Casing exception
+ files::.
+
+'src_dir' [slot: 'source-path']
+ A list of directories to search for source files.
+
+
+File: wisi.info, Node: Selecting projects, Next: Casing exception files,
Prev: Project files, Up: Project extension
+
+3.2 Selecting projects
+======================
+
+The current project can either be indicated by a global variable (called
+a "selected project"), or depend on the current buffer.
+
+ In addition, the project file can be parsed each time it is needed,
+or the result cached to improve response time,
+
+ One reason to use a selected project is to handle a hierarchy of
+projects; if projects B and C both depend on library project A, then
+when in a file of project A, there is no way to determine which of the
+three projects to return. So the user must indicate which is active, by
+using one of 'wisi-prj-select-file' or 'wisi-prj-select-cache'.
+
+ In addition, if changing from one project to another requires setting
+global resources that must also be unset (such as a syntax propertize
+hook or compilation filter hook), then the project should define
+'wisi-prj-deselect' in addition to 'wisi-prj-select'. Such projects
+require having a selected current project, so it can be deselected
+before a new one is selected. One example of such projects is ada-mode.
+
+ One way to declare each project is to add a Local Variables section
+in the main Makefile for the project; when the Makefile is first
+visited, the project is declared. In the examples here, we assume that
+approach is used; each gives an :eval line.
+
+ Note that 'wisi-prj-current-parse' and 'wisi-prj-current-cached'
+always succeed after some project is selected; no functions after them
+on 'project-find-functions' will be called. That's why the depth is 90
+for those in the examples.
+
+No caching, current project depends on current buffer
+
+ (add-hook 'project-find-functions #'wisi-prj-find-dominating-parse 0)
+
+ :eval (wisi-prj-set-dominating "foo.prj" (foo-prj-default
"prj-name"))
+
+ 'wisi-prj-set-dominating' declares the name of a project file with
+ a default project object, and ensures that the current buffer file
+ name is in 'wisi-prj--dominating'.
+
+ 'wisi-prj-find-dominating-parse' looks for the filenames in
+ 'wisi-prj--dominiating' in the parent directories of the current
+ buffer. When one is found, the associated project file is parsed,
+ using the default project object to dispatch to the appropriate
+ parsers. Then the final project object is returned.
+
+Caching, current project depends on current buffer
+
+ (add-hook 'project-find-functions #'wisi-prj-find-dominating-cached
0)
+
+ :eval (wisi-prj-cache-dominating "foo.prj" (foo-prj-default
"prj-name"))
+
+ 'wisi-prj-cache-dominating' declares the project file, parses it,
+ and saves the project object in a cache indexed by the absolute
+ project file name.
+
+ 'wisi-prj-find-dominating-cached' finds the dominating project
+ file, and retrieves the object from the cache.
+
+No caching, last selected project is current
+
+ (add-hook 'project-find-functions #'wisi-prj-current-parse 90)
+
+ :eval: (wisi-prj-select-file <prj-file> (foo-prj-default "prj-name"))
+
+ 'wisi-prj-select-file' sets the project file as the current
+ project, and saves the default project object.
+
+ 'wisi-prj-current-parse' parses the current project file, using the
+ saved default project object, and returns the project object.
+
+Caching, last selected project is current
+
+ (add-hook 'project-find-functions #'wisi-prj-current-cached 90)
+
+ :eval: (wisi-prj-select-cache <prj-file> (foo-prj-default
"prj-name"))
+
+ 'wisi-prj-select-cache' parses the project file, caches the project
+ object.
+
+ 'wisi-prj-current-cached' returns the cached current project
+ object.
+
+ In addition, the user should set 'xref-backend-functions'.
+Currently, there is only one choice for wisi projects:
+
+ (add-to-list 'xref-backend-functions #'wisi-prj-xref-backend 90)
+
+ 'wisi-prj-xref-backend' returns the current wisi project object.
+
+
+File: wisi.info, Node: Casing exception files, Next: Other project
functions, Prev: Selecting projects, Up: Project extension
+
+3.3 Casing exception files
+==========================
+
+Each line in a case exception file specifies the casing of one word or
+word fragment. If an exception is defined in multiple files, the first
+occurrence is used.
+
+ If the word starts with an asterisk ('*'), it defines the casing of a
+word fragment (or "substring"); part of a word between two underscores
+or word boundary.
+
+ For example:
+
+ DOD
+ *IO
+ GNAT
+
+ The word fragment '*IO' applies to any word containing "_io";
+'Text_IO', 'Hardware_IO', etc.
+
+
+File: wisi.info, Node: Other project functions, Prev: Casing exception
files, Up: Project extension
+
+3.4 Other project functions
+===========================
+
+'wisi-refresh-prj-cache (not-full)'
+ Refreshes all cached data in the project, and re-selects the
+ project. If NOT-FULL is non-nil, slow refresh operations are
+ skipped.
+
+ This reparses the project file, and any cross reference
+ information.
+
+'wisi-prj-select-dominating (dominating-file)'
+ Find a wisi-prj matching DOMINATING-FILE (defaults to the current
+ buffer file). If the associated project is current, do nothing.
+ If it is not current, select it.
+
+ This is useful before running 'compilation-start', to ensure the
+ correct project is current.
+
+
+File: wisi.info, Node: GNU Free Documentation License, Next: Index, Prev:
Project extension, Up: Top
+
+Appendix A GNU Free Documentation License
+*****************************************
+
+ Version 1.3, 3 November 2008
+
+ Copyright (C) 2000, 2001, 2002, 2007, 2008, 2009 Free Software
Foundation, Inc.
+ <http://fsf.org/>
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ 0. PREAMBLE
+
+ The purpose of this License is to make a manual, textbook, or other
+ functional and useful document "free" in the sense of freedom: to
+ assure everyone the effective freedom to copy and redistribute it,
+ with or without modifying it, either commercially or
+ noncommercially. Secondarily, this License preserves for the
+ author and publisher a way to get credit for their work, while not
+ being considered responsible for modifications made by others.
+
+ This License is a kind of "copyleft", which means that derivative
+ works of the document must themselves be free in the same sense.
+ It complements the GNU General Public License, which is a copyleft
+ license designed for free software.
+
+ We have designed this License in order to use it for manuals for
+ free software, because free software needs free documentation: a
+ free program should come with manuals providing the same freedoms
+ that the software does. But this License is not limited to
+ software manuals; it can be used for any textual work, regardless
+ of subject matter or whether it is published as a printed book. We
+ recommend this License principally for works whose purpose is
+ instruction or reference.
+
+ 1. APPLICABILITY AND DEFINITIONS
+
+ This License applies to any manual or other work, in any medium,
+ that contains a notice placed by the copyright holder saying it can
+ be distributed under the terms of this License. Such a notice
+ grants a world-wide, royalty-free license, unlimited in duration,
+ to use that work under the conditions stated herein. The
+ "Document", below, refers to any such manual or work. Any member
+ of the public is a licensee, and is addressed as "you". You accept
+ the license if you copy, modify or distribute the work in a way
+ requiring permission under copyright law.
+
+ A "Modified Version" of the Document means any work containing the
+ Document or a portion of it, either copied verbatim, or with
+ modifications and/or translated into another language.
+
+ A "Secondary Section" is a named appendix or a front-matter section
+ of the Document that deals exclusively with the relationship of the
+ publishers or authors of the Document to the Document's overall
+ subject (or to related matters) and contains nothing that could
+ fall directly within that overall subject. (Thus, if the Document
+ is in part a textbook of mathematics, a Secondary Section may not
+ explain any mathematics.) The relationship could be a matter of
+ historical connection with the subject or with related matters, or
+ of legal, commercial, philosophical, ethical or political position
+ regarding them.
+
+ The "Invariant Sections" are certain Secondary Sections whose
+ titles are designated, as being those of Invariant Sections, in the
+ notice that says that the Document is released under this License.
+ If a section does not fit the above definition of Secondary then it
+ is not allowed to be designated as Invariant. The Document may
+ contain zero Invariant Sections. If the Document does not identify
+ any Invariant Sections then there are none.
+
+ The "Cover Texts" are certain short passages of text that are
+ listed, as Front-Cover Texts or Back-Cover Texts, in the notice
+ that says that the Document is released under this License. A
+ Front-Cover Text may be at most 5 words, and a Back-Cover Text may
+ be at most 25 words.
+
+ A "Transparent" copy of the Document means a machine-readable copy,
+ represented in a format whose specification is available to the
+ general public, that is suitable for revising the document
+ straightforwardly with generic text editors or (for images composed
+ of pixels) generic paint programs or (for drawings) some widely
+ available drawing editor, and that is suitable for input to text
+ formatters or for automatic translation to a variety of formats
+ suitable for input to text formatters. A copy made in an otherwise
+ Transparent file format whose markup, or absence of markup, has
+ been arranged to thwart or discourage subsequent modification by
+ readers is not Transparent. An image format is not Transparent if
+ used for any substantial amount of text. A copy that is not
+ "Transparent" is called "Opaque".
+
+ Examples of suitable formats for Transparent copies include plain
+ ASCII without markup, Texinfo input format, LaTeX input format,
+ SGML or XML using a publicly available DTD, and standard-conforming
+ simple HTML, PostScript or PDF designed for human modification.
+ Examples of transparent image formats include PNG, XCF and JPG.
+ Opaque formats include proprietary formats that can be read and
+ edited only by proprietary word processors, SGML or XML for which
+ the DTD and/or processing tools are not generally available, and
+ the machine-generated HTML, PostScript or PDF produced by some word
+ processors for output purposes only.
+
+ The "Title Page" means, for a printed book, the title page itself,
+ plus such following pages as are needed to hold, legibly, the
+ material this License requires to appear in the title page. For
+ works in formats which do not have any title page as such, "Title
+ Page" means the text near the most prominent appearance of the
+ work's title, preceding the beginning of the body of the text.
+
+ The "publisher" means any person or entity that distributes copies
+ of the Document to the public.
+
+ A section "Entitled XYZ" means a named subunit of the Document
+ whose title either is precisely XYZ or contains XYZ in parentheses
+ following text that translates XYZ in another language. (Here XYZ
+ stands for a specific section name mentioned below, such as
+ "Acknowledgements", "Dedications", "Endorsements", or "History".)
+ To "Preserve the Title" of such a section when you modify the
+ Document means that it remains a section "Entitled XYZ" according
+ to this definition.
+
+ The Document may include Warranty Disclaimers next to the notice
+ which states that this License applies to the Document. These
+ Warranty Disclaimers are considered to be included by reference in
+ this License, but only as regards disclaiming warranties: any other
+ implication that these Warranty Disclaimers may have is void and
+ has no effect on the meaning of this License.
+
+ 2. VERBATIM COPYING
+
+ You may copy and distribute the Document in any medium, either
+ commercially or noncommercially, provided that this License, the
+ copyright notices, and the license notice saying this License
+ applies to the Document are reproduced in all copies, and that you
+ add no other conditions whatsoever to those of this License. You
+ may not use technical measures to obstruct or control the reading
+ or further copying of the copies you make or distribute. However,
+ you may accept compensation in exchange for copies. If you
+ distribute a large enough number of copies you must also follow the
+ conditions in section 3.
+
+ You may also lend copies, under the same conditions stated above,
+ and you may publicly display copies.
+
+ 3. COPYING IN QUANTITY
+
+ If you publish printed copies (or copies in media that commonly
+ have printed covers) of the Document, numbering more than 100, and
+ the Document's license notice requires Cover Texts, you must
+ enclose the copies in covers that carry, clearly and legibly, all
+ these Cover Texts: Front-Cover Texts on the front cover, and
+ Back-Cover Texts on the back cover. Both covers must also clearly
+ and legibly identify you as the publisher of these copies. The
+ front cover must present the full title with all words of the title
+ equally prominent and visible. You may add other material on the
+ covers in addition. Copying with changes limited to the covers, as
+ long as they preserve the title of the Document and satisfy these
+ conditions, can be treated as verbatim copying in other respects.
+
+ If the required texts for either cover are too voluminous to fit
+ legibly, you should put the first ones listed (as many as fit
+ reasonably) on the actual cover, and continue the rest onto
+ adjacent pages.
+
+ If you publish or distribute Opaque copies of the Document
+ numbering more than 100, you must either include a machine-readable
+ Transparent copy along with each Opaque copy, or state in or with
+ each Opaque copy a computer-network location from which the general
+ network-using public has access to download using public-standard
+ network protocols a complete Transparent copy of the Document, free
+ of added material. If you use the latter option, you must take
+ reasonably prudent steps, when you begin distribution of Opaque
+ copies in quantity, to ensure that this Transparent copy will
+ remain thus accessible at the stated location until at least one
+ year after the last time you distribute an Opaque copy (directly or
+ through your agents or retailers) of that edition to the public.
+
+ It is requested, but not required, that you contact the authors of
+ the Document well before redistributing any large number of copies,
+ to give them a chance to provide you with an updated version of the
+ Document.
+
+ 4. MODIFICATIONS
+
+ You may copy and distribute a Modified Version of the Document
+ under the conditions of sections 2 and 3 above, provided that you
+ release the Modified Version under precisely this License, with the
+ Modified Version filling the role of the Document, thus licensing
+ distribution and modification of the Modified Version to whoever
+ possesses a copy of it. In addition, you must do these things in
+ the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title
+ distinct from that of the Document, and from those of previous
+ versions (which should, if there were any, be listed in the
+ History section of the Document). You may use the same title
+ as a previous version if the original publisher of that
+ version gives permission.
+
+ B. List on the Title Page, as authors, one or more persons or
+ entities responsible for authorship of the modifications in
+ the Modified Version, together with at least five of the
+ principal authors of the Document (all of its principal
+ authors, if it has fewer than five), unless they release you
+ from this requirement.
+
+ C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+
+ D. Preserve all the copyright notices of the Document.
+
+ E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+
+ F. Include, immediately after the copyright notices, a license
+ notice giving the public permission to use the Modified
+ Version under the terms of this License, in the form shown in
+ the Addendum below.
+
+ G. Preserve in that license notice the full lists of Invariant
+ Sections and required Cover Texts given in the Document's
+ license notice.
+
+ H. Include an unaltered copy of this License.
+
+ I. Preserve the section Entitled "History", Preserve its Title,
+ and add to it an item stating at least the title, year, new
+ authors, and publisher of the Modified Version as given on the
+ Title Page. If there is no section Entitled "History" in the
+ Document, create one stating the title, year, authors, and
+ publisher of the Document as given on its Title Page, then add
+ an item describing the Modified Version as stated in the
+ previous sentence.
+
+ J. Preserve the network location, if any, given in the Document
+ for public access to a Transparent copy of the Document, and
+ likewise the network locations given in the Document for
+ previous versions it was based on. These may be placed in the
+ "History" section. You may omit a network location for a work
+ that was published at least four years before the Document
+ itself, or if the original publisher of the version it refers
+ to gives permission.
+
+ K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the section
+ all the substance and tone of each of the contributor
+ acknowledgements and/or dedications given therein.
+
+ L. Preserve all the Invariant Sections of the Document, unaltered
+ in their text and in their titles. Section numbers or the
+ equivalent are not considered part of the section titles.
+
+ M. Delete any section Entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+
+ N. Do not retitle any existing section to be Entitled
+ "Endorsements" or to conflict in title with any Invariant
+ Section.
+
+ O. Preserve any Warranty Disclaimers.
+
+ If the Modified Version includes new front-matter sections or
+ appendices that qualify as Secondary Sections and contain no
+ material copied from the Document, you may at your option designate
+ some or all of these sections as invariant. To do this, add their
+ titles to the list of Invariant Sections in the Modified Version's
+ license notice. These titles must be distinct from any other
+ section titles.
+
+ You may add a section Entitled "Endorsements", provided it contains
+ nothing but endorsements of your Modified Version by various
+ parties--for example, statements of peer review or that the text
+ has been approved by an organization as the authoritative
+ definition of a standard.
+
+ You may add a passage of up to five words as a Front-Cover Text,
+ and a passage of up to 25 words as a Back-Cover Text, to the end of
+ the list of Cover Texts in the Modified Version. Only one passage
+ of Front-Cover Text and one of Back-Cover Text may be added by (or
+ through arrangements made by) any one entity. If the Document
+ already includes a cover text for the same cover, previously added
+ by you or by arrangement made by the same entity you are acting on
+ behalf of, you may not add another; but you may replace the old
+ one, on explicit permission from the previous publisher that added
+ the old one.
+
+ The author(s) and publisher(s) of the Document do not by this
+ License give permission to use their names for publicity for or to
+ assert or imply endorsement of any Modified Version.
+
+ 5. COMBINING DOCUMENTS
+
+ You may combine the Document with other documents released under
+ this License, under the terms defined in section 4 above for
+ modified versions, provided that you include in the combination all
+ of the Invariant Sections of all of the original documents,
+ unmodified, and list them all as Invariant Sections of your
+ combined work in its license notice, and that you preserve all
+ their Warranty Disclaimers.
+
+ The combined work need only contain one copy of this License, and
+ multiple identical Invariant Sections may be replaced with a single
+ copy. If there are multiple Invariant Sections with the same name
+ but different contents, make the title of each such section unique
+ by adding at the end of it, in parentheses, the name of the
+ original author or publisher of that section if known, or else a
+ unique number. Make the same adjustment to the section titles in
+ the list of Invariant Sections in the license notice of the
+ combined work.
+
+ In the combination, you must combine any sections Entitled
+ "History" in the various original documents, forming one section
+ Entitled "History"; likewise combine any sections Entitled
+ "Acknowledgements", and any sections Entitled "Dedications". You
+ must delete all sections Entitled "Endorsements."
+
+ 6. COLLECTIONS OF DOCUMENTS
+
+ You may make a collection consisting of the Document and other
+ documents released under this License, and replace the individual
+ copies of this License in the various documents with a single copy
+ that is included in the collection, provided that you follow the
+ rules of this License for verbatim copying of each of the documents
+ in all other respects.
+
+ You may extract a single document from such a collection, and
+ distribute it individually under this License, provided you insert
+ a copy of this License into the extracted document, and follow this
+ License in all other respects regarding verbatim copying of that
+ document.
+
+ 7. AGGREGATION WITH INDEPENDENT WORKS
+
+ A compilation of the Document or its derivatives with other
+ separate and independent documents or works, in or on a volume of a
+ storage or distribution medium, is called an "aggregate" if the
+ copyright resulting from the compilation is not used to limit the
+ legal rights of the compilation's users beyond what the individual
+ works permit. When the Document is included in an aggregate, this
+ License does not apply to the other works in the aggregate which
+ are not themselves derivative works of the Document.
+
+ If the Cover Text requirement of section 3 is applicable to these
+ copies of the Document, then if the Document is less than one half
+ of the entire aggregate, the Document's Cover Texts may be placed
+ on covers that bracket the Document within the aggregate, or the
+ electronic equivalent of covers if the Document is in electronic
+ form. Otherwise they must appear on printed covers that bracket
+ the whole aggregate.
+
+ 8. TRANSLATION
+
+ Translation is considered a kind of modification, so you may
+ distribute translations of the Document under the terms of section
+ 4. Replacing Invariant Sections with translations requires special
+ permission from their copyright holders, but you may include
+ translations of some or all Invariant Sections in addition to the
+ original versions of these Invariant Sections. You may include a
+ translation of this License, and all the license notices in the
+ Document, and any Warranty Disclaimers, provided that you also
+ include the original English version of this License and the
+ original versions of those notices and disclaimers. In case of a
+ disagreement between the translation and the original version of
+ this License or a notice or disclaimer, the original version will
+ prevail.
+
+ If a section in the Document is Entitled "Acknowledgements",
+ "Dedications", or "History", the requirement (section 4) to
+ Preserve its Title (section 1) will typically require changing the
+ actual title.
+
+ 9. TERMINATION
+
+ You may not copy, modify, sublicense, or distribute the Document
+ except as expressly provided under this License. Any attempt
+ otherwise to copy, modify, sublicense, or distribute it is void,
+ and will automatically terminate your rights under this License.
+
+ However, if you cease all violation of this License, then your
+ license from a particular copyright holder is reinstated (a)
+ provisionally, unless and until the copyright holder explicitly and
+ finally terminates your license, and (b) permanently, if the
+ copyright holder fails to notify you of the violation by some
+ reasonable means prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+ reinstated permanently if the copyright holder notifies you of the
+ violation by some reasonable means, this is the first time you have
+ received notice of violation of this License (for any work) from
+ that copyright holder, and you cure the violation prior to 30 days
+ after your receipt of the notice.
+
+ Termination of your rights under this section does not terminate
+ the licenses of parties who have received copies or rights from you
+ under this License. If your rights have been terminated and not
+ permanently reinstated, receipt of a copy of some or all of the
+ same material does not give you any rights to use it.
+
+ 10. FUTURE REVISIONS OF THIS LICENSE
+
+ The Free Software Foundation may publish new, revised versions of
+ the GNU Free Documentation License from time to time. Such new
+ versions will be similar in spirit to the present version, but may
+ differ in detail to address new problems or concerns. See
+ <http://www.gnu.org/copyleft/>.
+
+ Each version of the License is given a distinguishing version
+ number. If the Document specifies that a particular numbered
+ version of this License "or any later version" applies to it, you
+ have the option of following the terms and conditions either of
+ that specified version or of any later version that has been
+ published (not as a draft) by the Free Software Foundation. If the
+ Document does not specify a version number of this License, you may
+ choose any version ever published (not as a draft) by the Free
+ Software Foundation. If the Document specifies that a proxy can
+ decide which future versions of this License can be used, that
+ proxy's public statement of acceptance of a version permanently
+ authorizes you to choose that version for the Document.
+
+ 11. RELICENSING
+
+ "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+ World Wide Web server that publishes copyrightable works and also
+ provides prominent facilities for anybody to edit those works. A
+ public wiki that anybody can edit is an example of such a server.
+ A "Massive Multiauthor Collaboration" (or "MMC") contained in the
+ site means any set of copyrightable works thus published on the MMC
+ site.
+
+ "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+ license published by Creative Commons Corporation, a not-for-profit
+ corporation with a principal place of business in San Francisco,
+ California, as well as future copyleft versions of that license
+ published by that same organization.
+
+ "Incorporate" means to publish or republish a Document, in whole or
+ in part, as part of another Document.
+
+ An MMC is "eligible for relicensing" if it is licensed under this
+ License, and if all works that were first published under this
+ License somewhere other than this MMC, and subsequently
+ incorporated in whole or in part into the MMC, (1) had no cover
+ texts or invariant sections, and (2) were thus incorporated prior
+ to November 1, 2008.
+
+ The operator of an MMC Site may republish an MMC contained in the
+ site under CC-BY-SA on the same site at any time before August 1,
+ 2009, provided the MMC is eligible for relicensing.
+
+ADDENDUM: How to use this License for your documents
+====================================================
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and license
+notices just after the title page:
+
+ Copyright (C) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+ Texts. A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+
+ If you have Invariant Sections, Front-Cover Texts and Back-Cover
+Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with
+ the Front-Cover Texts being LIST, and with the Back-Cover Texts
+ being LIST.
+
+ If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+ If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of free
+software license, such as the GNU General Public License, to permit
+their use in free software.
+
+
+File: wisi.info, Node: Index, Prev: GNU Free Documentation License, Up: Top
+
+Index
+*****
+
+
+
+Tag Table:
+Node: Top920
+Node: Overview1119
+Node: Grammar actions1761
+Node: Navigate actions7174
+Node: Face actions10027
+Node: Indent actions11338
+Node: Indent functions15148
+Node: Indent example17443
+Node: In-parse actions21781
+Node: Project extension23077
+Node: Project files23586
+Node: Selecting projects25006
+Node: Casing exception files29008
+Node: Other project functions29666
+Node: GNU Free Documentation License30424
+Node: Index55580
+
+End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git a/packages/wisi/wisi.texi b/packages/wisi/wisi.texi
new file mode 100644
index 0000000..3b9594a
--- /dev/null
+++ b/packages/wisi/wisi.texi
@@ -0,0 +1,812 @@
+\input texinfo @c -*-texinfo-*-
+@settitle Wisi
+
+@copying
+Copyright @copyright{} 1999 - 2020 Free Software Foundation, Inc.
+
+@quotation
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
+and with the Back-Cover Texts as in (a) below. A copy of the license
+is included in the section entitled ``GNU Free Documentation License''.
+
+(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
+modify this GNU manual. Buying copies from the FSF supports it in
+developing GNU and promoting software freedom.''
+@end quotation
+@end copying
+
+@dircategory Emacs
+@direntry
+* Wisi: (wisi). Error-correcting LR parsers and project integration.
+@end direntry
+
+@titlepage
+@sp 10
+@title Wisi Version 3.1.0
+@page
+@vskip 0pt plus 1filll
+@insertcopying
+@end titlepage
+
+@contents
+
+@ifnottex
+@node Top
+@top Top
+
+Wisi Version 3.1.0
+@end ifnottex
+
+@menu
+* Overview::
+* Grammar actions::
+* Project extension::
+* GNU Free Documentation License::
+* Index::
+@end menu
+
+@node Overview
+@chapter Overview
+``wisi'' used to be an acronym, but now it's just a name.
+
+The wisi package provides an elisp interface to an external parser. It
+assumes the parser generator package WisiToken
+(@url{http://stephe-leake.org/ada/wisitoken.html}, implemented in
+Ada), but can use any parser that meets the same API. wisi provides
+several grammar actions, to implement indentation, navigating, and
+syntax highlighting (fontification).
+
+wisi also provides an extension to Emacs @file{project.el}, providing
+operations useful for compilation and cross-reference.
+
+@node Grammar actions
+@chapter Grammar Actions
+
+Grammar actions are specified in the grammar file, in a nonterminal
+declaration. We assume the user is familiar with parser grammars and
+grammar actions. For example, a simple ``if'' statement can be
+declared as:
+
+@example
+if_statement
+ : IF expression THEN statements elsif_list ELSE statements END IF SEMICOLON
+ %((wisi-statement-action [1 statement-start 3 motion 6 motion 10
statement-end])
+ (wisi-motion-action [1 3 5 6 10])
+ (wisi-indent-action [nil
+ [(wisi-hanging% ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken]
+ nil
+ [ada-indent ada-indent] nil nil
+ [ada-indent ada-indent] nil nil nil]))%
+@end example
+
+The item before @code{:} is the ``left hand side'', or
+``nonterminal''. The list of tokens after @code{:} is the ``right hand
+side''; in general there can be more than one right hand side for each
+nonterminal (separated by @code{|}).
+
+The items enclosed in ``%()%'' are the grammar actions. They are
+specified as list of elisp forms; an earlier version of the wisi
+package generated an elisp parser. We keep the elisp form because it
+is compact, and easier to read and write than the equivalent Ada
+code. The @code{wisi-bnf-generate} tool converts the elisp into the
+required Ada statements.
+
+There are two classes of actions; in-parse and post-parse. WisiToken
+calls these ``semantic checks'' and ``user actions''. The in-parse
+actions are done as parsing procedes; they provide extra checks that
+can cause the parse to fail. Currently the only one provided is
+@code{match-names}; it is used to check that the declaration and end
+names in named Ada blocks are the same (which can aid significantly in
+error correction). In the grammar file, in-parse actions are specified
+in a second @code{%()%} block, which can be omitted if empty. In this
+document, the term ``action'' means ``post-parse action'', we use
+``in-parse action'' unless the meaning is clear from context.
+
+Executing the wisi grammar actions creates text properties in the
+source file; those text properties are then used by elisp code for
+various purposes.
+
+The text properties applied are:
+
+@table @code
+@item wisi-cache
+This should be named @code{wisi-navigate}, but isn't for historical
+reasons (there used to be only one kind of text property).
+
+The property contains a @code{wisi-cache} object, containing:
+
+@table @code
+@item nonterm
+The nonterminal in the grammar production that specified the action
+that produced this text property.
+
+@item token
+A token identifier naming a token in the production right hand side
+containing the text this text property is applied to.
+
+@item last
+The position of the last character in the token, relative to the first
+character (0 indexed). The text property is only applied to the first
+character in the token (mostly for historical reasons).
+
+@item class
+A token class; see the list of possible values in
+@code{wisi-statement-action} below.
+
+@item containing
+A marker pointing to the start of the containing token for this token;
+only @code{nil} for the outermost containing token in a file.
+
+@item prev
+A marker pointing to the previous ``motion token'' in the statement or
+declaration. These are normally language keywords, but can be other
+things.
+
+@item next
+A marker pointing to the next ``motion token'' in the statement or
+declaration.
+
+@item end
+A marker pointing to the end of the statement or declaration.
+
+@end table
+
+wisi provides motion commands for going to the various markers.
+
+@item wisi-name
+Contains no data, applied to a ``name'' of some sort. wisi provides
+commands for finding the next/previous name, and returning the
+text. Useful for the names of subprograms, which can then be used to
+build a completion table; see @code{wisi-xref-identifier-completion-table}.
+
+@item font-lock-face
+The standard font-lock property, specifying the face for the
+text.
+
+Some major modes do not use this for simple keywords; they use
+font-lock regular expressions instead. One reason for this
+is so keywords are still highlighted when the parser fails, which
+can happen if there are severe syntax errors.
+
+Other items, like function and package names, are typically marked
+with @code{font-lock-face} by the parser.
+
+@item fontified
+Another standard font-lock text property; applied whenever
+@code{font-lock-face} is.
+
+@item wisi-indent
+Contains the indent (in characters) for the next line; applied to
+the newline character on the preceding line. The first line in a
+buffer is assumed to have indent 0.
+
+@end table
+
+Each action is classified as one of @code{navigate, face, indent,
+in-parse}; when actions are executed, only one of the first three classes
+is executed (in-parse is always executed). This reflects the reasons
+the parser is run; to figure out how to go somehere (end of current
+statement, start of current procedure, etc), to apply faces for syntax
+highlighting, or to indent the code.
+
+@menu
+* Navigate actions::
+* Face actions::
+* Indent actions::
+* In-parse actions::
+@end menu
+
+@node Navigate actions
+@section Navigate actions
+@table @code
+@item wisi-statement-action [TOKEN CLASS ...]
+The argument is a vector; alternating items are a token index (an
+integer or label indicating a token in the right hand side) and a
+``token class''; one of:
+
+@table @code
+@item motion
+Create a @code{wisi-cache} text property on the token, for use in a
+subsequent @code{wisi-motion-action}.
+
+@item statement-end
+Create a @code{wisi-cache} text property on the token, enter a pointer
+to it in the other @code{wisi-cache} objects in the statement or
+declaration.
+
+@item statement-start
+Create a @code{wisi-cache} text property on the token, enter a pointer
+to it in the other @code{wisi-cache} objects (in the @code{containing}
+slot) in the statement or declaration.
+
+@item statement-override
+Same as @code{statement-start}; marks the token to be used as the
+statement start if the first token is optional.
+
+@item misc
+Create a @code{wisi-cache} text property on the token, to be used for
+some other purpose. It is good style to indicate the purpose in a
+comment.
+
+For example, ada-mode uses a 'misc' property on left parentheses that
+start a subprogram parameter list; this distinquishes them from other
+left parentheses, and makes it possible to automatically call
+@code{ada-format-paramlist} to format the
+parameter list, instead of using the standard Emacs @code{align}.
+
+@end table
+
+@item wisi-motion-action [TOKEN ...]
+The argument is a vector, where each element is either a token index
+or a vector [INDEX ID].
+
+Each terminal token must already have a @code{wisi-cache} created by a
+@code{wisi-statement-action} (this is checked at action execution, not
+during grammar generation). This action sets the @code{prev, next}
+slots for the chain of tokens, creating a chain of motion tokens.
+
+If TOKEN is a nonterminal without an ID specified, the @code{wisi-cache}
+must be on the first token in the nonterminal, and it is assumed to
+have a valid pointer in the @code{next} slot, indicating a chain of
+motion tokens. That chain is linked into the chain for the current
+right hand side.
+
+If TOKEN is a nonterminal with an ID, the region contained by the
+nonterminal is searched for all @code{wisi-cache} with that token ID,
+and for each one where prev/next is not already set, it is linked into
+the motion chain.
+
+Note that the ``search'' described here is done in the parser process, on
+a tree data structure containing the data that will eventually be
+stored in Emacs text properties.
+
+@item wisi-name-action TOKEN
+TOKEN is a token index. Create a @code{wisi-name} text property on the
+token.
+
+@end table
+
+@node Face actions
+@section Face actions
+@table @code
+@item wisi-face-mark-action [INDEX CLASS ...]
+The argument is a vector; alternating elements form pairs of INDEX
+CLASS, where class is one of @code{prefix, suffix}.
+
+Mark the tokens as part of a compound name, for use by later face
+actions.
+
+@item wisi-face-apply-action [TOKEN PREFIX-FACE SUFFIX-FACE ...]
+The argument is a vector; triples of items specify TOKEN,
+PREFIX-FACE, SUFFIX-FACE. The faces are the elisp names of face
+objects (which must declared by an @code{%elisp_face} declaration).
+
+If the token is a nonterminal, and it has been marked by a previous
+@code{wisi-face-mark-action}, the specified faces are applied to the
+prefix and suffix in the token as @code{font-lock-face} text
+properties.
+
+If the token is a terminal, or a non-terminal with no face mark, the
+suffix face is applied to the entire text contained by the token.
+
+@item wisi-face-apply-list-action [TOKEN PREFIX-FACE SUFFIX-FACE ...]
+Similar to ’wisi-face-apply-action’, but applies faces to all tokens
+marked by @code{wisi-face-mark-action} in each indicated production
+token, and does not apply a face if there are no such marks.
+
+@end table
+
+@node Indent actions
+@section Indent actions
+
+Indents are computed for each line in a cumulative way as the grammar
+actions are executed. Initially, each indent is set to @code{nil},
+which means ``not computed''; this is not the same as the value
+@code{0}. The grammar actions are executed in a bottom-up fashion; low
+level productions are executed before higher level ones. In general,
+the indent action for a production specifies a ``delta indent''; the
+indent is incremented by that amount. When all productions have been
+processed, the indent has been computed for all lines.
+
+Indents are often given as a function call; the arguments to the
+function can be other function calls, or integer
+expressions. @code{wisitoken-bnf-generate} supports only simple integer
+expressions; those using integers, integer-valued variables,
+parenthesis, + (plus), - (minus), and * (multiply).
+
+@table @code
+@item wisi-indent-action [INDENT ...]
+The argument is a vector, giving an indent for each token in the
+production right-hand side.
+
+For terminals, the indents only have meaning, and are only computed,
+if the token is the first on a line. For nonterminals where the indent
+is not a variant of @code{wisi-hanging}, the indent is only computed
+if the first terminal token in the nonterminal is the first on a
+line. See @code{wisi-hanging} in @ref{Indent functions} for the
+remaining case.
+
+An indent can have several forms. In the descriptions below, the
+``current token'' is given by the position of the indent expression in
+the @code{wisi-indent-action} argument list.
+
+@table @asis
+@item An integer
+This gives a delta indent; it is added to the total indent for the
+line.
+
+@item A variable name
+The name is translated to an Ada identifier by replacing ``-'' with
+``_'', and applying @code{Camel_Case}. The translated name must
+identify a directly visible run-time Ada integer variable; this is
+checked at Ada compile time. It provides an integer delta indent.
+
+For example, in Ada two indent variable names are @code{ada-indent}
+and @code{ada-indent-broken}, giving the basic ident, and the
+continuation line indent. They are runtime variables so different
+projects can specify them as part of a coding standard.
+
+@item A function call
+A function that computes a delta indent. See @ref{Indent functions}.
+
+@item [CODE-INDENT , COMMENT-INDENT]
+A vector giving separate indents for code and comments.
+
+Normally, the indent for trailing comments (on lines with no code,
+after all code in the token) is given by the indent of the following
+token in the production. When the current token is the last, or the
+following tokens may be empty, or the indent of the following token
+would be wrong for some reason (for example, it is a block end), the
+comment indent may be specified separately. If it is not specified,
+and the indent from the next token is not available, the indent for
+the current token is used for code and comments.
+
+Comment lines that are not trailing are indented by CODE-INDENT.
+
+@item (label . INDENT)
+If token labels are used in a right hand side, they must be given
+explicitly in the indent arguments, using he lisp ``cons''
+syntax. Labels are normally only used with EBNF grammars, which expand
+into multiple right hand sides, with optional tokens simply left
+out. Explicit labels on the indent arguments allow them to be left out
+as well.
+
+@end table
+
+@end table
+
+@menu
+* Indent functions::
+* Indent example::
+@end menu
+
+@node Indent functions
+@subsection Indent functions
+@table @code
+@item wisi-anchored TOKEN OFFSET
+Sets the indent for the current token to be OFFSET (an integer
+expression) from the start of TOKEN (a token index); the
+current token is ``anchored to'' TOKEN.
+
+@item wisi-anchored* TOKEN OFFSET
+Sets the indent for the current token to be OFFSET from the start of
+TOKEN, but only if TOKEN is the first token on a line; otherwise no indent
+
+@item wisi-anchored*- TOKEN OFFSET
+Sets the indent for the current token to be OFFSET from the start of
+TOKEN, but only if TOKEN is the first token on a line and the indent
+for the current token accumulated so far is nil.
+
+@item wisi-anchored% TOKEN OFFSET
+If there is an opening parenthesis containing TOKEN in the line
+containing TOKEN, set the current indent to OFFSET from that
+parenthesis. Otherwise, OFFSET gives an indent delta.
+
+@item wisi-anchored%- TOKEN OFFSET
+Same as @code{wisi-anchored%}, but only if the current token
+accumulated indent is nil.
+
+@item wisi-hanging DELTA-1 DELTA-2
+The current token is assumed to be a nonterminal. If the text it
+contains spans multiple lines, use DELTA-1 for the first line, DELTA-2
+for the rest. If the current token is only on one line, use DELTA-1.
+
+DELTA-1 and DELTA-2 can be any IDENT expression, except a variant of
+@code{wisi-hanging}.
+
+@item wisi-hanging% DELTA-1 DELTA-2
+Similar to @code{wisi-hanging}; if the first terminal token in the
+current nonterminal is the first token on the first line, use DELTA-1
+for the first line and DELTA-2 for the rest. Otherwise, use DELTA-1
+for all lines.
+
+@item wisi-hanging%- DELTA-1 DELTA-2
+Same as @code{wisi-hanging%}, except applied only if the current token
+accumulated indent is nil.
+
+@item Language-specific function
+Language-specific indent functions are specified by an
+@code{%elisp_indent} declaration in the grammar file. Each function
+specifies how many arguments it accepts; this is checked at action
+runtime, not during grammar generation. Each argument is an INDENT as
+described above, or a token ID prefixed by @code{'} (to allow
+distinguishing token IDs from variable names).
+@end table
+
+@node Indent example
+@subsection Indent example
+
+The example @code{if_statement} grammar nonterminal is:
+
+@example
+if_statement
+ : IF expression THEN statements elsif_list ELSE statements END IF SEMICOLON
+ %((wisi-indent-action [nil
+ [(wisi-hanging% ada-indent-broken (* 2
ada-indent-broken))
+ ada-indent-broken]
+ nil
+ [ada-indent ada-indent] nil nil
+ [ada-indent ada-indent] nil nil nil]))%
+@end example
+
+We trace how the indent is computed for this sample Ada code:
+
+@example
+ 1: if A < B and
+ 2: C < D
+ 3: -- comment on expression
+ 4: then
+ 5: if E then
+ 6: Do_E;
+ 7: -- comment on statement
+ 8: elsif F then
+ 9: G := A + Compute_Something
+10: (arg_1, arg_2);
+11: end if;
+12: end if;
+@end example
+
+First, the indent for the lower-level nonterminals (@code{expression,
+statements, elsif_list}) are computed. Assume they set the indent for
+line 10 to 2 (for the hanging expression) and leave the rest at nil.
+
+Next, the action for the inner @code{if_statement} is executed. Most
+of the tokens specify an indent of @code{nil}, which means the current
+accumulated indent is not changed. For the others, the action is as
+follows:
+
+@table @code
+@item expression:
+The expression @code{E} is contained on one line, and it is not the
+first token on that line, so the indent for line 5 is not changed.
+
+@item statements: [ada-indent ada-indent]
+This specifies separate indents for code and trailing comments,
+because otherwise the trailing comments would be indented with the
+following @code{THEN}; instead they are indented with the expression
+code; see the comment on line 7.
+
+Here @code{ada-indent} is 3, so the indent for lines 6 and 7 (for the
+first occurence of @code{statments}) is
+incremented from @code{nil} to @code{3}.
+
+For the second occurence of @code{statements}, line 9 is incremented
+from @code{nil} to @code{3}, and line 10 from @code{2} to @code{5}.
+@end table
+
+At this point, the accumulated indents are (the indent is given after
+the line number):
+@example
+ 1: nil : if A < B and
+ 2: nil : C < D
+ 3: nil : -- comment on expression
+ 4: nil : then
+ 5: nil : if E then
+ 6: 3 : Do_E;
+ 7: 3 : -- comment on statement
+ 8: nil : elsif F then
+ 9: 3 : G := A + Compute_Something
+10: 5 : (arg_1, arg_2);
+11: nil : end if;
+12: nil : end if;
+@end example
+
+Then the action is executed for the outer @code{if_statement}:
+
+@table @code
+@item expression: [(wisi-hanging% ada-indent-broken (* 2 ada-indent-broken))
ada-indent-broken]
+This specifies separate indents for code and trailing comments,
+because otherwise the trailing comments would be indented with the
+following @code{THEN}; instead they are indented with the expression
+code; see the comment on line 3.
+
+In this case, @code{wisi-hanging%} returns DELTA-1, which is
+@code{ada-indent-broken}, which is 2. So the indent for line 2 is
+incremented from @code{nil} to @code{2}.
+
+The indent for line 3 is also incremented from @code{nil} to @code{2}.
+
+@item statements: [ada-indent ada-indent]
+Here there is only one statement; the nested @code{if_statement}. The
+indent for lines 5 .. 11 are each incremented by 3.
+@end table
+
+The final result is:
+@example
+ 1: nil : if A < B and
+ 2: 2 : C < D
+ 3: 2 : -- comment on expression
+ 4: nil : then
+ 5: 3 : if E then
+ 6: 6 : Do_E;
+ 7: 6 : -- comment on statement
+ 8: 3 : elsif F then
+ 9: 6 : G := A + Compute_Something
+10: 8 : (arg_1, arg_2);
+11: 6 : end if;
+12: nil : end if;
+@end example
+
+In a full grammar, the top production should specify an indent of 0,
+not nil, for tokens that are not indented; then every line will have a
+non-nil indent. However, in normal operation a nil indent is treated
+as 0; the @code{wisi-indent} text property is not set for lines that
+have nil indent, and @code{wisi-indent-region} detects that and uses 0
+for the indent. You can set the variable @code{wisi-debug} to a value
+> 0 to signal an error for nil indents; this is useful to catch indent
+errors during grammar development.
+
+@node In-parse actions
+@section In-parse actions
+@table @code
+
+@item wisi-propagate-name TOKEN
+The argument is a token index. Set the @code{name} component of the
+left-hand-side parse-time token object to the @code{name} component of
+the identified token, if it is not empty. Otherwise use the
+@code{byte_region} component.
+
+@item wisi-merge-name FIRST-TOKEN, LAST-TOKEN
+The arguments are token indices, giving a range of
+tokens. LAST-TOKEN may be omitted if it is the same as FIRST-TOKEN.
+
+Set the @code{name} component of the left-hand-side to the merger of
+the @code{name} or @code{byte-region} components of the identified tokens.
+
+@item wisi-match-name START-TOKEN END-TOKEN
+The arguments are token indices. Compare the text contained by the
+@code{name} (or @code{byte_region} if @code{name} is empty) token
+components for START-TOKEN and END-TOKEN; signal a parse error if they
+are different.
+
+The behavior when a name is missing is determined by the runtime
+language variable given in the @code{%end_names_optional_option}
+declaration; if True, a missing name that is supposed to match a
+present name is an error. Both names missing is not an error (assuming
+that is allowed by the grammar).
+
+@end table
+
+@node Project extension
+@chapter Project extension
+wisi defines the @code{cl-defstuct} @code{wisi-prj}, with operations
+suitable for compilation and cross-reference.
+
+In order to use wisi projects, the user must write project files and
+customize @code{project-find-functions} and
+@code{xref-backend-functions}.
+
+@menu
+* Project files::
+* Selecting projects::
+* Casing exception files::
+* Other project functions::
+@end menu
+
+@node Project files
+@section Project files
+
+Project file names must have an extension given by
+@code{wisi-prj-file-extensions} (default @file{.adp, .prj}).
+
+Project files have a simple syntax; they may be edited directly. Each
+line specifies a project variable name and its value, separated by
+``='':
+
+@example
+src_dir=/Projects/my_project/src_1
+src_dir=/Projects/my_project/src_2
+@end example
+
+There must be no space between the variable name and ``='', and no
+trailing spaces after the value.
+
+Any line that does not have an ``='' is a comment.
+
+Some variables (like @code{src_dir}) are lists; each line in the
+project file specifies one element of the list. The value on the last
+line is the last element in the list.
+
+A variable name that starts with @code{$} is set as a process
+environment variable, for processes launched from Emacs for the
+project.
+
+In values, process environment variables can be referenced
+using the normal @code{$var} syntax.
+
+In values, relative file names are expanded relative to the
+directory containing the project file.
+
+Here is the list of project variables defined by wisi; major modes may
+add more.
+
+@table @asis
+@item @code{casing} [slot: @code{case-exception-files}]
+List of files containing casing exceptions. @xref{Casing exception files}.
+
+@item @code{src_dir} [slot: @code{source-path}]
+A list of directories to search for source files.
+
+@end table
+
+@node Selecting projects
+@section Selecting projects
+The current project can either be indicated by a global variable
+(called a ``selected project''), or depend on the current buffer.
+
+In addition, the project file can be parsed each time it is needed, or
+the result cached to improve response time,
+
+One reason to use a selected project is to handle a hierarchy of
+projects; if projects B and C both depend on library project A, then
+when in a file of project A, there is no way to determine which of the
+three projects to return. So the user must indicate which is active,
+by using one of @code{wisi-prj-select-file} or
+@code{wisi-prj-select-cache}.
+
+In addition, if changing from one project to another requires setting
+global resources that must also be unset (such as a syntax propertize
+hook or compilation filter hook), then the project should define
+@code{wisi-prj-deselect} in addition to @code{wisi-prj-select}. Such
+projects require having a selected current project, so it can be
+deselected before a new one is selected. One example of such projects
+is ada-mode.
+
+One way to declare each project is to add a Local Variables section
+in the main Makefile for the project; when the Makefile is first
+visited, the project is declared. In the examples here, we assume
+that approach is used; each gives an :eval line.
+
+Note that @code{wisi-prj-current-parse} and
+@code{wisi-prj-current-cached} always succeed after some project is
+selected; no functions after them on @code{project-find-functions} will
+be called. That's why the depth is 90 for those in the examples.
+
+@table @asis
+@item No caching, current project depends on current buffer
+
+@example
+(add-hook 'project-find-functions #'wisi-prj-find-dominating-parse 0)
+
+:eval (wisi-prj-set-dominating "foo.prj" (foo-prj-default "prj-name"))
+@end example
+
+@code{wisi-prj-set-dominating} declares the name of a project file with a
+default project object, and ensures that the current buffer file name
+is in @code{wisi-prj--dominating}.
+
+@code{wisi-prj-find-dominating-parse} looks for the filenames in
+@code{wisi-prj--dominiating} in the parent directories of the current
+buffer. When one is found, the associated project file is parsed,
+using the default project object to dispatch to the appropriate
+parsers. Then the final project object is returned.
+
+@item Caching, current project depends on current buffer
+
+@example
+(add-hook 'project-find-functions #'wisi-prj-find-dominating-cached 0)
+
+:eval (wisi-prj-cache-dominating "foo.prj" (foo-prj-default "prj-name"))
+@end example
+
+@code{wisi-prj-cache-dominating} declares the project file, parses it,
+and saves the project object in a cache indexed by the absolute
+project file name.
+
+@code{wisi-prj-find-dominating-cached} finds the dominating
+project file, and retrieves the object from the cache.
+
+@item No caching, last selected project is current
+
+@example
+(add-hook 'project-find-functions #'wisi-prj-current-parse 90)
+
+:eval: (wisi-prj-select-file <prj-file> (foo-prj-default "prj-name"))
+@end example
+
+@code{wisi-prj-select-file} sets the project file as the current
+project, and saves the default project object.
+
+@code{wisi-prj-current-parse} parses the current project file, using
+the saved default project object, and returns the project object.
+
+@item Caching, last selected project is current
+
+@example
+(add-hook 'project-find-functions #'wisi-prj-current-cached 90)
+
+:eval: (wisi-prj-select-cache <prj-file> (foo-prj-default "prj-name"))
+@end example
+
+@code{wisi-prj-select-cache} parses the project file, caches the
+project object.
+
+@code{wisi-prj-current-cached} returns the cached current project
+object.
+
+@end table
+
+In addition, the user should set @code{xref-backend-functions}. Currently,
+there is only one choice for wisi projects:
+
+@example
+(add-to-list 'xref-backend-functions #'wisi-prj-xref-backend 90)
+@end example
+
+@code{wisi-prj-xref-backend} returns the current wisi project object.
+
+@node Casing exception files
+@section Casing exception files
+Each line in a case exception
+file specifies the casing of one word or word fragment. If an
+exception is defined in multiple files, the first occurrence is used.
+
+If the word starts with an asterisk (@code{*}), it defines the casing
+of a word fragment (or ``substring''); part of a word between two
+underscores or word boundary.
+
+For example:
+
+@example
+DOD
+*IO
+GNAT
+@end example
+
+The word fragment @code{*IO} applies to any word containing ``_io'';
+@code{Text_IO}, @code{Hardware_IO}, etc.
+
+@node Other project functions
+@section Other project functions
+
+@table @code
+@item wisi-refresh-prj-cache (not-full)
+Refreshes all cached data in the project, and re-selects the
+project. If NOT-FULL is non-nil, slow refresh operations are skipped.
+
+This reparses the project file, and any cross reference information.
+
+@item wisi-prj-select-dominating (dominating-file)
+ Find a wisi-prj matching DOMINATING-FILE (defaults to the current
+buffer file). If the associated project is current, do nothing. If it
+is not current, select it.
+
+This is useful before running `compilation-start', to ensure the correct
+project is current.
+
+@end table
+
+@node GNU Free Documentation License
+@appendix GNU Free Documentation License
+@include doclicense.texi
+
+@node Index, , GNU Free Documentation License, Top
+@unnumbered Index
+
+@printindex fn
+
+@bye
diff --git a/packages/wisi/wisitoken-bnf-generate.adb
b/packages/wisi/wisitoken-bnf-generate.adb
index a7616b4..1fe407a 100644
--- a/packages/wisi/wisitoken-bnf-generate.adb
+++ b/packages/wisi/wisitoken-bnf-generate.adb
@@ -3,7 +3,7 @@
-- Parser for Wisi grammar files, producing Ada source
-- files for a parser.
--
--- Copyright (C) 2012 - 2015, 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2012 - 2015, 2017 - 2020 Free Software Foundation, Inc.
--
-- The WisiToken package is free software; you can redistribute it
-- and/or modify it under terms of the GNU General Public License as
@@ -50,9 +50,7 @@ is
use Ada.Text_IO;
First : Boolean := True;
begin
- -- verbosity meaning is actually determined by output choice;
- -- they should be consistent with this description.
- Put_Line (Standard_Error, "version 1.3.1");
+ Put_Line (Standard_Error, "version 2.0"); -- matches release version in
Docs/wisitoken.html
Put_Line (Standard_Error, "wisitoken-bnf-generate [options] {wisi
grammar file}");
Put_Line (Standard_Error, "Generate source code implementing a parser
for the grammar.");
New_Line (Standard_Error);
@@ -104,7 +102,11 @@ is
New_Line (Standard_Error);
Put_Line (Standard_Error, "options:");
Put_Line (Standard_Error, " --help: show this help");
- Put_Line (Standard_Error, " -v level: sets verbosity (default 0):");
+
+ -- verbosity meaning is actually determined by output choice;
+ -- they should be consistent with this description.
+ Put_Line
+ (Standard_Error, " -v <EBNF level> <Table level> <Minimal_Complete
level>: sets verbosity (default 0):");
Put_Line (Standard_Error, " 0 - only error messages to standard
error");
Put_Line (Standard_Error, " 1 - add diagnostics to standard out");
Put_Line (Standard_Error, " 2 - more diagnostics to standard out,
ignore unused tokens, unknown conflicts");
@@ -183,7 +185,11 @@ begin
elsif Argument (Arg_Next) = "-v" then
Arg_Next := Arg_Next + 1;
- WisiToken.Trace_Generate := Integer'Value (Argument (Arg_Next));
+ WisiToken.Trace_Generate_EBNF := Integer'Value (Argument
(Arg_Next));
+ Arg_Next := Arg_Next + 1;
+ WisiToken.Trace_Generate_Table := Integer'Value (Argument
(Arg_Next));
+ Arg_Next := Arg_Next + 1;
+ WisiToken.Trace_Generate_Minimal_Complete := Integer'Value
(Argument (Arg_Next));
Arg_Next := Arg_Next + 1;
elsif Argument (Arg_Next) = "--ignore_conflicts" then
@@ -284,9 +290,6 @@ begin
use all type Ada.Strings.Unbounded.Unbounded_String;
use Ada.Text_IO;
- -- Create a .parse_table file unless verbosity > 0
- Parse_Table_File : File_Type;
-
Generate_Set : Generate_Set_Access;
Multiple_Tuples : Boolean;
@@ -332,11 +335,11 @@ begin
declare
Tree : WisiToken.Syntax_Trees.Tree renames
Grammar_Parser.Parsers.First_State_Ref.Tree;
begin
- if Trace_Generate > Outline then
+ if Trace_Generate_EBNF > Outline then
Ada.Text_IO.Put_Line ("Translate EBNF tree to BNF");
end if;
- if Trace_Generate > Detail then
+ if Trace_Generate_EBNF > Detail then
Ada.Text_IO.Put_Line ("EBNF tree:");
Tree.Print_Tree (Wisitoken_Grammar_Actions.Descriptor);
Ada.Text_IO.New_Line;
@@ -344,7 +347,7 @@ begin
WisiToken_Grammar_Runtime.Translate_EBNF_To_BNF (Tree,
Input_Data);
- if Trace_Generate > Detail then
+ if Trace_Generate_EBNF > Detail then
Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line ("BNF tree:");
Tree.Print_Tree (Wisitoken_Grammar_Actions.Descriptor);
@@ -410,8 +413,28 @@ begin
(Generate_Data.Descriptor.First_Terminal,
Generate_Data.Descriptor.First_Nonterminal,
Generate_Data.Descriptor.Last_Nonterminal);
- Do_Parse_Table_File : constant Boolean := WisiToken.Trace_Generate
= 0 and
- Tuple.Gen_Alg in LALR .. Packrat_Proc;
+ Parse_Table_File_Name : constant String :=
+ (if WisiToken.Trace_Generate_Table = 0 and Tuple.Gen_Alg in LALR
.. Packrat_Proc
+ then -Output_File_Name_Root & "_" & To_Lower
(Generate_Algorithm'Image (Tuple.Gen_Alg)) &
+ (if Input_Data.If_Lexer_Present
+ then "_" & Lexer_Image (Input_Data.User_Lexer).all
+ else "") &
+ ".parse_table"
+ else "");
+
+ procedure Parse_Table_Append_Stats
+ is
+ Parse_Table_File : File_Type;
+ begin
+ Open (Parse_Table_File, Append_File, Parse_Table_File_Name);
+ Set_Output (Parse_Table_File);
+ Generate_Data.Parser_State_Count :=
+ Generate_Data.LR_Parse_Table.State_Last -
Generate_Data.LR_Parse_Table.State_First + 1;
+ WisiToken.BNF.Generate_Utils.Put_Stats (Input_Data,
Generate_Data);
+ Set_Output (Standard_Output);
+ Close (Parse_Table_File);
+ end Parse_Table_Append_Stats;
+
begin
if not Lexer_Done (Input_Data.User_Lexer) then
Lexer_Done (Input_Data.User_Lexer) := True;
@@ -424,17 +447,6 @@ begin
end case;
end if;
- if Do_Parse_Table_File then
- Create
- (Parse_Table_File, Out_File,
- -Output_File_Name_Root & "_" & To_Lower
(Generate_Algorithm'Image (Tuple.Gen_Alg)) &
- (if Input_Data.If_Lexer_Present
- then "_" & Lexer_Image (Input_Data.User_Lexer).all
- else "") &
- ".parse_table");
- Set_Output (Parse_Table_File);
- end if;
-
case Tuple.Gen_Alg is
when None =>
-- Just translate EBNF to BNF, done in Parse_Check
@@ -450,7 +462,7 @@ begin
Generate_Utils.To_Conflicts
(Generate_Data, Input_Data.Conflicts,
Input_Data.Grammar_Lexer.File_Name),
Generate_Utils.To_McKenzie_Param (Generate_Data,
Input_Data.McKenzie_Recover),
- Put_Parse_Table => True,
+ Parse_Table_File_Name,
Include_Extra => Test_Main,
Ignore_Conflicts => Ignore_Conflicts,
Partial_Recursion =>
Input_Data.Language_Params.Partial_Recursion);
@@ -464,9 +476,9 @@ begin
Duration'Image (To_Duration (Time_End - Time_Start)));
end if;
- Generate_Data.Parser_State_Count :=
- Generate_Data.LR_Parse_Table.State_Last -
Generate_Data.LR_Parse_Table.State_First + 1;
- WisiToken.BNF.Generate_Utils.Put_Stats (Input_Data,
Generate_Data);
+ if Parse_Table_File_Name /= "" then
+ Parse_Table_Append_Stats;
+ end if;
when LR1 =>
Time_Start := Clock;
@@ -477,7 +489,7 @@ begin
Generate_Utils.To_Conflicts
(Generate_Data, Input_Data.Conflicts,
Input_Data.Grammar_Lexer.File_Name),
Generate_Utils.To_McKenzie_Param (Generate_Data,
Input_Data.McKenzie_Recover),
- Put_Parse_Table => True,
+ Parse_Table_File_Name,
Include_Extra => Test_Main,
Ignore_Conflicts => Ignore_Conflicts,
Partial_Recursion =>
Input_Data.Language_Params.Partial_Recursion);
@@ -491,9 +503,9 @@ begin
Duration'Image (To_Duration (Time_End - Time_Start)));
end if;
- Generate_Data.Parser_State_Count :=
- Generate_Data.LR_Parse_Table.State_Last -
Generate_Data.LR_Parse_Table.State_First + 1;
- WisiToken.BNF.Generate_Utils.Put_Stats (Input_Data,
Generate_Data);
+ if Parse_Table_File_Name /= "" then
+ Parse_Table_Append_Stats;
+ end if;
when Packrat_Generate_Algorithm =>
-- The only significant computation done for Packrat is First,
done
@@ -503,11 +515,21 @@ begin
(Input_Data.Grammar_Lexer.File_Name, Generate_Data.Grammar,
Generate_Data.Source_Line_Map,
Generate_Data.Descriptor.First_Terminal);
- Put_Line ("Tokens:");
- WisiToken.Put_Tokens (Generate_Data.Descriptor.all);
- New_Line;
- Put_Line ("Productions:");
- WisiToken.Productions.Put (Generate_Data.Grammar,
Generate_Data.Descriptor.all);
+ if Parse_Table_File_Name /= "" then
+ declare
+ Parse_Table_File : File_Type;
+ begin
+ Create (Parse_Table_File, Out_File,
Parse_Table_File_Name);
+ Set_Output (Parse_Table_File);
+ Put_Line ("Tokens:");
+ WisiToken.Put_Tokens (Generate_Data.Descriptor.all);
+ New_Line;
+ Put_Line ("Productions:");
+ WisiToken.Productions.Put (Generate_Data.Grammar,
Generate_Data.Descriptor.all);
+ Set_Output (Standard_Output);
+ Close (Parse_Table_File);
+ end;
+ end if;
Packrat_Data.Check_All (Generate_Data.Descriptor.all);
@@ -515,11 +537,6 @@ begin
null;
end case;
- if Do_Parse_Table_File then
- Set_Output (Standard_Output);
- Close (Parse_Table_File);
- end if;
-
if WisiToken.Generate.Error then
raise WisiToken.Grammar_Error with "errors: aborting";
end if;
diff --git a/packages/wisi/wisitoken-bnf-generate_packrat.adb
b/packages/wisi/wisitoken-bnf-generate_packrat.adb
index 8c785c6..e76fbee 100644
--- a/packages/wisi/wisitoken-bnf-generate_packrat.adb
+++ b/packages/wisi/wisitoken-bnf-generate_packrat.adb
@@ -6,7 +6,7 @@
--
-- See wisitoken-parse-packrat.ads.
--
--- Copyright (C) 2018 Free Software Foundation, Inc.
+-- Copyright (C) 2018, 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -153,7 +153,7 @@ is
else Action_Names (Prod.LHS)(RHS_Index).all &
"'Access,"));
if RHS.Tokens.Length = 0 then
- Indent_Line (" Children => (1 .. 0 =>
Syntax_Trees.Invalid_Node_Index),");
+ Indent_Line (" Children => (1 .. 0 =>
Invalid_Node_Index),");
elsif RHS.Tokens.Length = 1 then
Indent_Start (" Children => ");
diff --git a/packages/wisi/wisitoken-bnf-generate_utils.adb
b/packages/wisi/wisitoken-bnf-generate_utils.adb
index 65f64e6..0e6eb4d 100644
--- a/packages/wisi/wisitoken-bnf-generate_utils.adb
+++ b/packages/wisi/wisitoken-bnf-generate_utils.adb
@@ -2,7 +2,7 @@
--
-- see spec
--
--- Copyright (C) 2014, 2015, 2017 - 2019 All Rights Reserved.
+-- Copyright (C) 2014, 2015, 2017 - 2020 All Rights Reserved.
--
-- This program is free software; you can redistribute it and/or
-- modify it under terms of the GNU General Public License as
@@ -134,7 +134,8 @@ package body WisiToken.BNF.Generate_Utils is
I := I + 1;
end loop;
end if;
- RHSs (RHS_Index) := (Tokens => Tokens, Action => null, Check
=> null);
+ RHSs (RHS_Index) :=
+ (Tokens => Tokens, Action => null, Check => null,
Recursion => <>);
if Length (Right_Hand_Side.Action) > 0 then
Action_All_Empty := False;
Action_Names (RHS_Index) := new String'
@@ -287,9 +288,8 @@ package body WisiToken.BNF.Generate_Utils is
end case;
end Constant_Reference;
- type Token_Access_Constant is access constant Token_Container;
- type Iterator is new Iterator_Interfaces.Forward_Iterator with record
- Container : Token_Access_Constant;
+ type Iterator (Container : not null access constant Token_Container)
+ is new Iterator_Interfaces.Forward_Iterator with record
Non_Grammar : Boolean;
Nonterminals : Boolean;
end record;
diff --git a/packages/wisi/wisitoken-bnf-generate_utils.ads
b/packages/wisi/wisitoken-bnf-generate_utils.ads
index 0cd7508..a2f31a2 100644
--- a/packages/wisi/wisitoken-bnf-generate_utils.ads
+++ b/packages/wisi/wisitoken-bnf-generate_utils.ads
@@ -3,7 +3,7 @@
-- Utilities for translating input file structures to WisiToken
-- structures needed for LALR.Generate.
--
--- Copyright (C) 2014, 2015, 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2014, 2015, 2017 - 2020 Free Software Foundation, Inc.
--
-- The WisiToken package is free software; you can redistribute it
-- and/or modify it under terms of the GNU General Public License as
@@ -33,8 +33,7 @@ package WisiToken.BNF.Generate_Utils is
WisiToken_Accept_Name : constant String := "wisitoken_accept";
- type Generate_Data is limited record
- Tokens : access constant WisiToken.BNF.Tokens;
+ type Generate_Data (Tokens : not null access constant WisiToken.BNF.Tokens)
is limited record
Descriptor : WisiToken.Descriptor_Access;
Grammar : WisiToken.Productions.Prod_Arrays.Vector;
@@ -77,7 +76,7 @@ package WisiToken.BNF.Generate_Utils is
is null record
with Implicit_Dereference => Element;
- type Token_Cursor is private;
+ type Token_Cursor (<>) is private;
-- Iterate thru Keywords, Tokens, Rules in a canonical order:
--
-- 1. Non_Grammar
@@ -163,8 +162,7 @@ private
type Token_Cursor_Kind is
(Non_Grammar_Kind, Terminals_Keywords, Terminals_Others, EOI,
WisiToken_Accept, Nonterminal, Done);
- type Token_Cursor is record
- Data : not null access constant Generate_Data;
+ type Token_Cursor (Data : not null access constant Generate_Data) is record
Kind : Token_Cursor_Kind;
ID : Token_ID;
Token_Kind : WisiToken.BNF.Token_Lists.Cursor; -- Non_Grammar or
Tokens, depending on Kind
diff --git a/packages/wisi/wisitoken-bnf-output_ada.adb
b/packages/wisi/wisitoken-bnf-output_ada.adb
index 944e216..3857a0f 100644
--- a/packages/wisi/wisitoken-bnf-output_ada.adb
+++ b/packages/wisi/wisitoken-bnf-output_ada.adb
@@ -4,7 +4,7 @@
-- parameters, and a parser for that grammar. The grammar parser
-- actions must be Ada.
--
--- Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2017 - 2020 Free Software Foundation, Inc.
--
-- The WisiToken package is free software; you can redistribute it
-- and/or modify it under terms of the GNU General Public License as
@@ -187,8 +187,8 @@ is
Indent_Line ("procedure " & Name);
Indent_Line (" (User_Data : in out
WisiToken.Syntax_Trees.User_Data_Type'Class;");
Indent_Line (" Tree : in out
WisiToken.Syntax_Trees.Tree;");
- Indent_Line (" Nonterm : in
WisiToken.Syntax_Trees.Valid_Node_Index;");
- Indent_Line (" Tokens : in
WisiToken.Syntax_Trees.Valid_Node_Index_Array)");
+ Indent_Line (" Nonterm : in
WisiToken.Valid_Node_Index;");
+ Indent_Line (" Tokens : in
WisiToken.Valid_Node_Index_Array)");
Indent_Line ("is");
Indent := Indent + 3;
diff --git a/packages/wisi/wisitoken-bnf-output_ada_common.adb
b/packages/wisi/wisitoken-bnf-output_ada_common.adb
index ed4ef64..3a594bb 100644
--- a/packages/wisi/wisitoken-bnf-output_ada_common.adb
+++ b/packages/wisi/wisitoken-bnf-output_ada_common.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2017 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -34,7 +34,7 @@ package body WisiToken.BNF.Output_Ada_Common is
is
use Parse.LR;
Action_Node : Parse_Action_Node_Ptr;
- First : Boolean := True;
+ First : Boolean := True;
Action : Reduce_Action_Rec;
begin
for Node of State.Action_List loop
@@ -47,8 +47,8 @@ package body WisiToken.BNF.Output_Ada_Common is
end if;
if First then
- Action := Action_Node.Item;
- First := False;
+ Action := Action_Node.Item;
+ First := False;
else
if not Equal (Action, Action_Node.Item) then
return False;
@@ -58,6 +58,9 @@ package body WisiToken.BNF.Output_Ada_Common is
return True;
end Duplicate_Reduce;
+ function Image (Item : in Boolean) return String
+ is (if Item then "True" else "False");
+
function Symbols_Image (State : in Parse.LR.Parse_State) return String
is
use all type Ada.Containers.Count_Type;
@@ -209,8 +212,8 @@ package body WisiToken.BNF.Output_Ada_Common is
Indent_Line ("procedure " & Name.all);
Indent_Line (" (User_Data : in out
WisiToken.Syntax_Trees.User_Data_Type'Class;");
Indent_Line (" Tree : in out
WisiToken.Syntax_Trees.Tree;");
- Indent_Line (" Nonterm : in
WisiToken.Syntax_Trees.Valid_Node_Index;");
- Indent_Line (" Tokens : in
WisiToken.Syntax_Trees.Valid_Node_Index_Array);");
+ Indent_Line (" Nonterm : in
WisiToken.Valid_Node_Index;");
+ Indent_Line (" Tokens : in
WisiToken.Valid_Node_Index_Array);");
end if;
end loop;
end if;
@@ -556,34 +559,37 @@ package body WisiToken.BNF.Output_Ada_Common is
Trimmed_Image (Table.States (State_Index).Action_List.Length)
& ");");
if Duplicate_Reduce (Table.States (State_Index)) then
- declare
- Node : Action_Node renames Table.States
(State_Index).Action_List (1);
- Action : constant Reduce_Action_Rec := Node.Actions.Item;
- begin
- Set_Col (Indent);
- Line := +"Add_Action (Table.States (" & Trimmed_Image
(State_Index) & "), " &
- Symbols_Image (Table.States (State_Index)) & ", " &
- Image (Action.Production) & "," &
- Count_Type'Image (Action.Token_Count) & ", ";
-
- Append
- ((if Generate_Data.Action_Names (Action.Production.LHS) =
null then "null"
- elsif Generate_Data.Action_Names
- (Action.Production.LHS)(Action.Production.RHS) = null
then "null"
- else Generate_Data.Action_Names
- (Action.Production.LHS)(Action.Production.RHS).all &
"'Access"));
- Append (", ");
- Append
- ((if Generate_Data.Check_Names (Action.Production.LHS) =
null then "null"
- elsif Generate_Data.Check_Names
- (Action.Production.LHS)(Action.Production.RHS) = null
then "null"
- else Generate_Data.Check_Names
- (Action.Production.LHS)(Action.Production.RHS).all &
"'Access"));
-
- Indent_Wrap (-Line & ");");
- Line_Count := Line_Count + 1;
- Indent := Base_Indent;
- end;
+ if Table.States (State_Index).Action_List.Length > 0 then
+ -- We only get here with Length = 0 when there's a bug in
LALR_Generate.
+ declare
+ Node : Action_Node renames Table.States
(State_Index).Action_List (1);
+ Action : constant Reduce_Action_Rec := Node.Actions.Item;
+ begin
+ Set_Col (Indent);
+ Line := +"Add_Action (Table.States (" & Trimmed_Image
(State_Index) & "), " &
+ Symbols_Image (Table.States (State_Index)) & ", " &
+ Image (Action.Production) & ", " &
+ Count_Type'Image (Action.Token_Count) & ", ";
+
+ Append
+ ((if Generate_Data.Action_Names (Action.Production.LHS)
= null then "null"
+ elsif Generate_Data.Action_Names
+ (Action.Production.LHS)(Action.Production.RHS) =
null then "null"
+ else Generate_Data.Action_Names
+ (Action.Production.LHS)(Action.Production.RHS).all
& "'Access"));
+ Append (", ");
+ Append
+ ((if Generate_Data.Check_Names (Action.Production.LHS)
= null then "null"
+ elsif Generate_Data.Check_Names
+ (Action.Production.LHS)(Action.Production.RHS) =
null then "null"
+ else Generate_Data.Check_Names
+ (Action.Production.LHS)(Action.Production.RHS).all
& "'Access"));
+
+ Indent_Wrap (-Line & ");");
+ Line_Count := Line_Count + 1;
+ Indent := Base_Indent;
+ end;
+ end if;
else
for Node of Table.States (State_Index).Action_List loop
@@ -594,8 +600,8 @@ package body WisiToken.BNF.Output_Ada_Common is
case Action_Node.Item.Verb is
when Shift =>
Line := +"Add_Action (Table.States (" & Trimmed_Image
(State_Index) & "), " &
- Trimmed_Image (Node.Symbol);
- Append (", ");
+ Trimmed_Image (Node.Symbol) & ", ";
+ Append (Image (Action_Node.Item.Production) & ", ");
Append (Trimmed_Image (Action_Node.Item.State));
Append (");");
@@ -608,7 +614,7 @@ package body WisiToken.BNF.Output_Ada_Common is
Append (", Accept_It");
end if;
Append (", ");
- Append (Image (Action_Node.Item.Production) & ",");
+ Append (Image (Action_Node.Item.Production) & ", ");
Append (Count_Type'Image
(Action_Node.Item.Token_Count) & ", ");
Append
((if Generate_Data.Action_Names
(Action_Node.Item.Production.LHS) = null then "null"
@@ -644,7 +650,7 @@ package body WisiToken.BNF.Output_Ada_Common is
when Reduce | Accept_It =>
Line := +"Add_Conflict (Table.States (" &
Trimmed_Image (State_Index) & "), " &
Trimmed_Image (Node.Symbol) & ", ";
- Append (Image (Action_Node.Item.Production) & ",");
+ Append (Image (Action_Node.Item.Production) & ", ");
Append (Count_Type'Image
(Action_Node.Item.Token_Count) & ", ");
Append
((if Generate_Data.Action_Names
(Action_Node.Item.Production.LHS) = null then "null"
@@ -700,10 +706,6 @@ package body WisiToken.BNF.Output_Ada_Common is
Indent_Wrap
("Table.States (" & Trimmed_Image (State_Index) &
").Minimal_Complete_Actions := To_Vector (" &
Strict_Image (Table.States
(State_Index).Minimal_Complete_Actions, Strict => True) & ");");
- if Table.States
(State_Index).Minimal_Complete_Actions_Recursive then
- Indent_Wrap
- ("Table.States (" & Trimmed_Image (State_Index) &
").Minimal_Complete_Actions_Recursive := True;");
- end if;
end if;
end if;
@@ -737,7 +739,7 @@ package body WisiToken.BNF.Output_Ada_Common is
for Subr in 1 .. Subr_Count loop
Indent_Line ("Subr_" & Trimmed_Image (Subr) & ";");
end loop;
- Indent_Line ("Table.Error_Action := new Parse_Action_Node'((Verb =>
Error), null);");
+ Indent_Line ("Table.Error_Action := new Parse_Action_Node'((Verb =>
Error, others => <>), null);");
Indent := Indent - 3;
Indent_Line ("end;");
end Create_LR_Parser_Table;
@@ -1170,6 +1172,7 @@ package body WisiToken.BNF.Output_Ada_Common is
Put_Line ("/*!re2c");
Indent_Line ("re2c:yyfill:enable = 0;");
+ Indent_Line ("re2c:sentinel = 4;");
New_Line;
-- Regexps used in definitions
@@ -1193,6 +1196,8 @@ package body WisiToken.BNF.Output_Ada_Common is
null;
elsif Kind (I) = "keyword" and
Input_Data.Language_Params.Case_Insensitive then
+ -- This assumes re2c regular expression syntax, where single quote
+ -- means case insensitive.
Indent_Line (Name (I) & " = '" & Strip_Quotes (Value (I)) & "';");
else
diff --git a/packages/wisi/wisitoken-bnf-output_ada_emacs.adb
b/packages/wisi/wisitoken-bnf-output_ada_emacs.adb
index 2de6e0c..c0e91c2 100644
--- a/packages/wisi/wisitoken-bnf-output_ada_emacs.adb
+++ b/packages/wisi/wisitoken-bnf-output_ada_emacs.adb
@@ -12,7 +12,7 @@
-- If run in an Emacs dynamically loaded module, the parser actions
-- call the elisp actions directly.
--
--- Copyright (C) 2012 - 2015, 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2012 - 2015, 2017 - 2020 Free Software Foundation, Inc.
--
-- The WisiToken package is free software; you can redistribute it
-- and/or modify it under terms of the GNU General Public License as
@@ -1150,7 +1150,8 @@ is
"Recover_Active, Nonterm);";
elsif Is_Present (Input_Data.Tokens.Actions, Elisp_Name) then
- -- Language-specific action
+ -- Language-specific action (used in wisitoken grammar mode for
+ -- wisi-check-parens).
declare
Item : Elisp_Action_Type renames Input_Data.Tokens.Actions
(Input_Data.Tokens.Actions.Find (+Elisp_Name));
@@ -1264,8 +1265,8 @@ is
Indent_Line ("procedure " & Name);
Indent_Line (" (User_Data : in out
WisiToken.Syntax_Trees.User_Data_Type'Class;");
Indent_Line (" Tree : in out WisiToken.Syntax_Trees.Tree;");
- Indent_Line (" Nonterm : in
WisiToken.Syntax_Trees.Valid_Node_Index;");
- Indent_Line (" Tokens : in
WisiToken.Syntax_Trees.Valid_Node_Index_Array)");
+ Indent_Line (" Nonterm : in WisiToken.Valid_Node_Index;");
+ Indent_Line (" Tokens : in
WisiToken.Valid_Node_Index_Array)");
Indent_Line ("is");
Indent := Indent + 3;
diff --git a/packages/wisi/wisitoken-bnf.ads b/packages/wisi/wisitoken-bnf.ads
index d586c4a..5263008 100644
--- a/packages/wisi/wisitoken-bnf.ads
+++ b/packages/wisi/wisitoken-bnf.ads
@@ -13,7 +13,7 @@
-- [1] https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form
-- [2] http://www.nongnu.org/ada-mode/wisi/wisi-user_guide.html, (info
"(wisi-user_guide)Top")
--
--- Copyright (C) 2012 - 2015, 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2012 - 2015, 2017 - 2020 Free Software Foundation, Inc.
--
-- The WisiToken package is free software; you can redistribute it
-- and/or modify it under terms of the GNU General Public License as
@@ -211,26 +211,26 @@ package WisiToken.BNF is
-- Of the %mckenzie_cost_default declaration; we assume the others
-- are near.
- Default_Insert : Natural := 0;
- Default_Delete_Terminal : Natural := 0;
- Default_Push_Back : Natural := 0; -- also
default for undo_reduce
- Delete : String_Pair_Lists.List;
- Insert : String_Pair_Lists.List;
- Push_Back : String_Pair_Lists.List;
- Undo_Reduce : String_Pair_Lists.List;
- Minimal_Complete_Cost_Delta : Integer :=
+ Default_Insert : Natural := 0;
+ Default_Delete_Terminal : Natural := 0;
+ Default_Push_Back : Natural := 0; --
also default for undo_reduce
+ Delete : String_Pair_Lists.List;
+ Insert : String_Pair_Lists.List;
+ Push_Back : String_Pair_Lists.List;
+ Undo_Reduce : String_Pair_Lists.List;
+ Minimal_Complete_Cost_Delta : Integer :=
WisiToken.Parse.LR.Default_McKenzie_Param.Minimal_Complete_Cost_Delta;
- Fast_Forward : Integer :=
+ Fast_Forward : Integer :=
WisiToken.Parse.LR.Default_McKenzie_Param.Fast_Forward;
- Matching_Begin : Integer :=
+ Matching_Begin : Integer :=
WisiToken.Parse.LR.Default_McKenzie_Param.Matching_Begin;
- Ignore_Check_Fail : Natural :=
+ Ignore_Check_Fail : Natural :=
WisiToken.Parse.LR.Default_McKenzie_Param.Ignore_Check_Fail;
- Check_Limit : WisiToken.Token_Index :=
+ Check_Limit : WisiToken.Token_Index :=
WisiToken.Parse.LR.Default_McKenzie_Param.Check_Limit;
- Check_Delta_Limit : Natural :=
+ Check_Delta_Limit : Natural :=
WisiToken.Parse.LR.Default_McKenzie_Param.Check_Delta_Limit;
- Enqueue_Limit : Natural :=
+ Enqueue_Limit : Natural :=
WisiToken.Parse.LR.Default_McKenzie_Param.Enqueue_Limit;
end record;
diff --git a/packages/wisi/wisitoken-generate-lr-lalr_generate.adb
b/packages/wisi/wisitoken-generate-lr-lalr_generate.adb
index 3631f64..e544078 100644
--- a/packages/wisi/wisitoken-generate-lr-lalr_generate.adb
+++ b/packages/wisi/wisitoken-generate-lr-lalr_generate.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2002 - 2005, 2008 - 2015, 2017 - 2019 Free Software
Foundation, Inc.
+-- Copyright (C) 2002 - 2005, 2008 - 2015, 2017 - 2020 Free Software
Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -22,21 +22,48 @@ pragma License (Modified_GPL);
with Ada.Containers;
with Ada.Text_IO;
-with SAL.Gen_Definite_Doubly_Linked_Lists;
+with SAL.Gen_Definite_Doubly_Linked_Lists_Sorted;
package body WisiToken.Generate.LR.LALR_Generate is
- package Item_List_Cursor_Lists is new SAL.Gen_Definite_Doubly_Linked_Lists
(LR1_Items.Item_Lists.Cursor);
+ type Item_ID is record
+ State : Unknown_State_Index := Unknown_State;
+ LHS : Token_ID := Invalid_Token_ID;
+ RHS : Productions.RHS_Arrays.Extended_Index :=
Productions.RHS_Arrays.No_Index;
+ Dot : Token_ID_Arrays.Extended_Index :=
Token_ID_Arrays.No_Index;
+ end record;
+
+ function Image (Item : in Item_ID) return String
+ is ("(" & Item.State'Image & ", " & Trimmed_Image ((Item.LHS, Item.RHS))
& ")");
+
+ function Compare (Left, Right : in Item_ID) return SAL.Compare_Result
+ is (if Left.State < Right.State then SAL.Less
+ elsif Left.State > Right.State then SAL.Greater
+ elsif Left.LHS < Right.LHS then SAL.Less
+ elsif Left.LHS > Right.LHS then SAL.Greater
+ elsif Left.RHS < Right.RHS then SAL.Less
+ elsif Left.RHS > Right.RHS then SAL.Greater
+ elsif Left.Dot < Right.Dot then SAL.Less
+ elsif Left.Dot > Right.Dot then SAL.Greater
+ else SAL.Equal);
+
+ package Item_ID_Lists is new SAL.Gen_Definite_Doubly_Linked_Lists_Sorted
(Item_ID, Compare);
type Item_Map is record
- -- Keep track of all copies of Item, so Lookaheads can be updated
- -- after they are initially copied.
- From : LR1_Items.Item_Lists.Cursor;
- To : Item_List_Cursor_Lists.List;
+ From : Item_ID;
+ To : Item_ID_Lists.List;
end record;
- package Item_Map_Lists is new SAL.Gen_Definite_Doubly_Linked_Lists
(Item_Map);
- -- IMPROVEME: should be a 3D array indexed by Prod, rhs_index,
- -- dot_index. But it's not broken or slow, so we're not fixing it.
+ function Compare (Left, Right : in Item_Map) return SAL.Compare_Result
+ is (Compare (Left.From, Right.From));
+
+ package Propagation_Lists is new
SAL.Gen_Definite_Doubly_Linked_Lists_Sorted (Item_Map, Compare);
+
+ function Item_Ref
+ (Kernels : in out LR1_Items.Item_Set_List;
+ ID : in Item_ID)
+ return LR1_Items.Item_Lists.Variable_Reference_Type
+ is (LR1_Items.Item_Lists.Variable_Ref
+ (LR1_Items.Find (Prod => (ID.LHS, ID.RHS), Dot => ID.Dot, Set =>
Kernels (ID.State))));
function Propagate_Lookahead (Descriptor : in WisiToken.Descriptor) return
Token_ID_Set_Access
is begin
@@ -51,22 +78,15 @@ package body WisiToken.Generate.LR.LALR_Generate is
----------
-- Debug output
- procedure Put
- (Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
- Descriptor : in WisiToken.Descriptor;
- Propagations : in Item_Map_Lists.List)
+ procedure Put (Propagations : in Propagation_Lists.List)
is
- use LR1_Items.Item_Lists;
+ use Item_ID_Lists;
begin
for Map of Propagations loop
- Ada.Text_IO.Put ("From ");
- LR1_Items.Put (Grammar, Descriptor, Constant_Ref (Map.From),
Show_Lookaheads => True);
- Ada.Text_IO.New_Line;
+ Ada.Text_IO.Put_Line ("From " & Image (Map.From));
- for Cur of Map.To loop
- Ada.Text_IO.Put ("To ");
- LR1_Items.Put (Grammar, Descriptor, Constant_Ref (Cur),
Show_Lookaheads => True);
- Ada.Text_IO.New_Line;
+ for ID of Map.To loop
+ Ada.Text_IO.Put_Line ("To " & Image (ID));
end loop;
end loop;
end Put;
@@ -87,62 +107,68 @@ package body WisiToken.Generate.LR.LALR_Generate is
use LR1_Items.Item_Lists;
Goto_Set : Item_Set;
- Dot_ID : Token_ID;
begin
for Item of Kernel.Set loop
- if Has_Element (Item.Dot) then
-
- Dot_ID := Element (Item.Dot);
- -- ID of token after Dot
-
- -- If Symbol = EOF_Token, this is the start symbol accept
- -- production; don't need a kernel with dot after EOF.
- if (Dot_ID = Symbol and Symbol /= Descriptor.EOI_ID) and then
- not Has_Element (Find (Item.Prod, Next (Item.Dot), Goto_Set))
- then
- Goto_Set.Set.Insert
- ((Prod => Item.Prod,
- Dot => Next (Item.Dot),
- Lookaheads => new Token_ID_Set'(Item.Lookaheads.all)));
-
- if Trace_Generate > Detail then
- Ada.Text_IO.Put_Line ("LALR_Goto_Transitions 1 " & Image
(Symbol, Descriptor));
- Put (Grammar, Descriptor, Goto_Set);
+ if Item.Dot /= No_Index then
+
+ declare
+ Dot : constant Token_ID_Arrays.Cursor :=
Productions.Constant_Ref_RHS
+ (Grammar, Item.Prod).Tokens.To_Cursor (Item.Dot);
+ Dot_ID : constant Token_ID := Element (Dot);
+ Next_Dot : constant Token_ID_Arrays.Cursor := Next (Dot);
+ begin
+ -- If Symbol = EOF_Token, this is the start symbol accept
+ -- production; don't need a kernel with dot after EOF.
+
+ if (Dot_ID = Symbol and Symbol /= Descriptor.EOI_ID) and then
+ not Has_Element (Find (Item, Goto_Set))
+ then
+ Goto_Set.Set.Insert
+ ((Prod => Item.Prod,
+ Dot => To_Index (Next_Dot),
+ Lookaheads => new Token_ID_Set'(Item.Lookaheads.all)));
+
+ if Trace_Generate_Table > Detail then
+ Ada.Text_IO.Put_Line ("LALR_Goto_Transitions 1 " & Image
(Symbol, Descriptor));
+ Put (Grammar, Descriptor, Goto_Set);
+ end if;
end if;
- end if;
- if Dot_ID in Descriptor.First_Nonterminal ..
Descriptor.Last_Nonterminal and then
- First_Nonterm_Set (Dot_ID, Symbol)
- then
- -- Find the production(s) that create Dot_ID with first token
Symbol
- -- and put them in.
- for Prod of Grammar loop
- for RHS_2_I in Prod.RHSs.First_Index .. Prod.RHSs.Last_Index
loop
- declare
- P_ID : constant Production_ID := (Prod.LHS,
RHS_2_I);
- Dot_2 : constant Token_ID_Arrays.Cursor := Prod.RHSs
(RHS_2_I).Tokens.First;
- begin
- if (Dot_ID = Prod.LHS or First_Nonterm_Set (Dot_ID,
Prod.LHS)) and
- (Has_Element (Dot_2) and then Element (Dot_2) =
Symbol)
- then
- if not Has_Element (Find (P_ID, Next (Dot_2),
Goto_Set)) then
- Goto_Set.Set.Insert
- ((Prod => P_ID,
- Dot => Next (Dot_2),
- Lookaheads => Null_Lookahead (Descriptor)));
-
- -- else already in goto set
+ if Dot_ID in Descriptor.First_Nonterminal ..
Descriptor.Last_Nonterminal and then
+ First_Nonterm_Set (Dot_ID, Symbol)
+ then
+ -- Find the production(s) that create Dot_ID with first
token Symbol
+ -- and put them in.
+ for Prod of Grammar loop
+ for RHS_2_I in Prod.RHSs.First_Index ..
Prod.RHSs.Last_Index loop
+ declare
+ P_ID : constant Production_ID :=
(Prod.LHS, RHS_2_I);
+ Tokens : Token_ID_Arrays.Vector renames
Prod.RHSs (RHS_2_I).Tokens;
+ Dot_2 : constant Token_ID_Arrays.Cursor :=
Tokens.First;
+ Next_Dot_2 : constant Token_ID_Arrays.Cursor :=
Next (Dot_2);
+ begin
+ if (Dot_ID = Prod.LHS or First_Nonterm_Set (Dot_ID,
Prod.LHS)) and
+ (Has_Element (Dot_2) and then Element (Dot_2) =
Symbol)
+ then
+ if not Has_Element (Find (P_ID, To_Index
(Next_Dot_2), Goto_Set)) then
+ Goto_Set.Set.Insert
+ ((Prod => P_ID,
+ Dot => To_Index (Next_Dot_2),
+ Lookaheads => Null_Lookahead
(Descriptor)));
+
+ -- else already in goto set
+ end if;
end if;
- end if;
- end;
+ end;
+ end loop;
end loop;
- end loop;
- if Trace_Generate > Detail then
- Ada.Text_IO.Put_Line ("LALR_Goto_Transitions 2 " & Image
(Symbol, Descriptor));
- Put (Grammar, Descriptor, Goto_Set);
+ if Trace_Generate_Table > Detail then
+ Ada.Text_IO.Put_Line ("LALR_Goto_Transitions 2 " & Image
(Symbol, Descriptor));
+ Put (Grammar, Descriptor, Goto_Set);
+ end if;
end if;
- end if;
+ end;
end if; -- item.dot /= null
end loop;
@@ -155,7 +181,6 @@ package body WisiToken.Generate.LR.LALR_Generate is
Descriptor : in WisiToken.Descriptor)
return LR1_Items.Item_Set_List
is
- use all type Token_ID_Arrays.Cursor;
use all type Ada.Containers.Count_Type;
use LR1_Items;
@@ -164,28 +189,28 @@ package body WisiToken.Generate.LR.LALR_Generate is
Kernel_Tree : LR1_Items.Item_Set_Trees.Tree; -- for fast find
States_To_Check : State_Index_Queues.Queue;
Checking_State : State_Index;
-
- New_Item_Set : Item_Set :=
- (Set => Item_Lists.To_List
- ((Prod => (Grammar.First_Index, 0),
- Dot => Grammar (Grammar.First_Index).RHSs (0).Tokens.First,
- Lookaheads => Null_Lookahead (Descriptor))),
- Goto_List => <>,
- Dot_IDs => <>,
- State => First_State_Index);
-
- Found_State : Unknown_State_Index;
begin
Kernels.Set_First_Last (First_State_Index, First_State_Index - 1);
- Add (New_Item_Set, Kernels, Kernel_Tree, Descriptor, Include_Lookaheads
=> False);
+ Add (Grammar,
+ (Set => Item_Lists.To_List
+ ((Prod => (Grammar.First_Index, 0),
+ Dot => Grammar (Grammar.First_Index).RHSs
(0).Tokens.First_Index,
+ Lookaheads => Null_Lookahead (Descriptor))),
+ Goto_List => <>,
+ Dot_IDs => <>,
+ State => First_State_Index),
+ Kernels,
+ Kernel_Tree,
+ Descriptor,
+ Include_Lookaheads => False);
States_To_Check.Put (First_State_Index);
loop
exit when States_To_Check.Is_Empty;
Checking_State := States_To_Check.Get;
- if Trace_Generate > Detail then
+ if Trace_Generate_Table > Detail then
Ada.Text_IO.Put ("Checking ");
Put (Grammar, Descriptor, Kernels (Checking_State));
end if;
@@ -195,50 +220,53 @@ package body WisiToken.Generate.LR.LALR_Generate is
-- Item_Set.Dot_IDs, so we can't iterate on that here as we do in
-- LR1_Generate.
- New_Item_Set := LALR_Goto_Transitions
- (Kernels (Checking_State), Symbol, First_Nonterm_Set, Grammar,
Descriptor);
-
- if New_Item_Set.Set.Length > 0 then
-
- Found_State := Find (New_Item_Set, Kernel_Tree,
Match_Lookaheads => False);
-
- if Found_State = Unknown_State then
- New_Item_Set.State := Kernels.Last_Index + 1;
+ declare
+ New_Item_Set : Item_Set := LALR_Goto_Transitions
+ (Kernels (Checking_State), Symbol, First_Nonterm_Set,
Grammar, Descriptor);
+ Found_State : Unknown_State_Index;
+ begin
+ if New_Item_Set.Set.Length > 0 then
- States_To_Check.Put (New_Item_Set.State);
+ Found_State := Find (New_Item_Set, Kernel_Tree,
Match_Lookaheads => False);
- Add (New_Item_Set, Kernels, Kernel_Tree, Descriptor,
Include_Lookaheads => False);
+ if Found_State = Unknown_State then
+ New_Item_Set.State := Kernels.Last_Index + 1;
- if Trace_Generate > Detail then
- Ada.Text_IO.Put_Line (" adding state" &
Unknown_State_Index'Image (Kernels.Last_Index));
+ States_To_Check.Put (New_Item_Set.State);
- Ada.Text_IO.Put_Line
- (" state" & Unknown_State_Index'Image (Checking_State)
&
- " adding goto on " & Image (Symbol, Descriptor) & "
to state" &
- Unknown_State_Index'Image (Kernels.Last_Index));
- end if;
+ Add (Grammar, New_Item_Set, Kernels, Kernel_Tree,
Descriptor, Include_Lookaheads => False);
- Kernels (Checking_State).Goto_List.Insert ((Symbol,
Kernels.Last_Index));
- else
+ if Trace_Generate_Table > Detail then
+ Ada.Text_IO.Put_Line (" adding state" &
Unknown_State_Index'Image (Kernels.Last_Index));
- -- If there's not already a goto entry between these two
sets, create one.
- if not Is_In ((Symbol, Found_State), Kernels
(Checking_State).Goto_List) then
- if Trace_Generate > Detail then
Ada.Text_IO.Put_Line
(" state" & Unknown_State_Index'Image
(Checking_State) &
" adding goto on " & Image (Symbol, Descriptor) &
" to state" &
- Unknown_State_Index'Image (Found_State));
-
+ Unknown_State_Index'Image (Kernels.Last_Index));
end if;
- Kernels (Checking_State).Goto_List.Insert ((Symbol,
Found_State));
+ Kernels (Checking_State).Goto_List.Insert ((Symbol,
Kernels.Last_Index));
+ else
+
+ -- If there's not already a goto entry between these two
sets, create one.
+ if not Is_In ((Symbol, Found_State), Kernels
(Checking_State).Goto_List) then
+ if Trace_Generate_Table > Detail then
+ Ada.Text_IO.Put_Line
+ (" state" & Unknown_State_Index'Image
(Checking_State) &
+ " adding goto on " & Image (Symbol,
Descriptor) & " to state" &
+ Unknown_State_Index'Image (Found_State));
+
+ end if;
+
+ Kernels (Checking_State).Goto_List.Insert ((Symbol,
Found_State));
+ end if;
end if;
end if;
- end if;
+ end;
end loop;
end loop;
- if Trace_Generate > Detail then
+ if Trace_Generate_Table > Detail then
Ada.Text_IO.New_Line;
end if;
@@ -248,60 +276,35 @@ package body WisiToken.Generate.LR.LALR_Generate is
-- Add a propagation entry (if it doesn't already exist) from From in
-- From_Set to To_Item.
procedure Add_Propagation
- (From : in LR1_Items.Item;
- From_Set : in LR1_Items.Item_Set;
+ (From_Item : in LR1_Items.Item;
+ From_State : in State_Index;
To_Item : in LR1_Items.Item_Lists.Cursor;
- Propagations : in out Item_Map_Lists.List)
+ To_State : in State_Index;
+ Propagations : in out Propagation_Lists.List)
is
- use Item_Map_Lists;
- use Item_List_Cursor_Lists;
+ use Propagation_Lists;
use LR1_Items;
use LR1_Items.Item_Lists;
+ use Item_ID_Lists;
+
+ To_Item_Ref : constant LR1_Items.Item_Lists.Constant_Reference_Type :=
Constant_Ref (To_Item);
- From_Cur : constant Item_Lists.Cursor := Find (From, From_Set);
+ From_ID : constant Item_ID := (From_State, From_Item.Prod.LHS,
From_Item.Prod.RHS, From_Item.Dot);
+ To_ID : constant Item_ID := (To_State, To_Item_Ref.Prod.LHS,
To_Item_Ref.Prod.RHS, To_Item_Ref.Dot);
- From_Match : Item_Map_Lists.Cursor := Propagations.First;
- To_Match : Item_List_Cursor_Lists.Cursor;
+ From_Match : constant Propagation_Lists.Cursor := Propagations.Find
((From_ID, Item_ID_Lists.Empty_List));
begin
- Find_From :
- loop
- exit Find_From when not Has_Element (From_Match);
+ if not Has_Element (From_Match) then
+ Propagations.Insert ((From_ID, To_List (To_ID)));
+ else
declare
- Map : Item_Map renames Constant_Ref (From_Match);
+ To_Match : constant Item_ID_Lists.Cursor := Constant_Ref
(From_Match).To.Find (To_ID);
begin
- if From_Cur = Map.From then
-
- To_Match := Map.To.First;
- loop
- exit when not Has_Element (To_Match);
-
- declare
- use all type SAL.Compare_Result;
- Cur : Item_Lists.Cursor renames Constant_Ref
(To_Match);
- Test_Item : LR1_Items.Item renames Constant_Ref (Cur);
- begin
- if Equal = LR1_Items.Item_Compare (Test_Item,
Constant_Ref (To_Item)) then
- exit Find_From;
- end if;
- end;
- Next (To_Match);
- end loop;
- exit Find_From;
+ if not Has_Element (To_Match) then
+ Variable_Ref (From_Match).To.Insert (To_ID);
end if;
end;
-
- Next (From_Match);
- end loop Find_From;
-
- if not Has_Element (From_Match) then
- Propagations.Append ((From_Cur, To_List (To_Item)));
-
- elsif not Has_Element (To_Match) then
- Variable_Ref (From_Match).To.Append (To_Item);
-
- else
- raise SAL.Programmer_Error with "Add_Propagation: unexpected case";
end if;
end Add_Propagation;
@@ -317,7 +320,7 @@ package body WisiToken.Generate.LR.LALR_Generate is
(Source_Item : in LR1_Items.Item;
Source_Set : in LR1_Items.Item_Set;
Closure_Item : in LR1_Items.Item;
- Propagations : in out Item_Map_Lists.List;
+ Propagations : in out Propagation_Lists.List;
Descriptor : in WisiToken.Descriptor;
Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
Kernels : in out LR1_Items.Item_Set_List)
@@ -328,62 +331,65 @@ package body WisiToken.Generate.LR.LALR_Generate is
Spontaneous_Count : Integer := 0;
begin
- if Trace_Generate > Outline then
+ if Trace_Generate_Table > Outline then
Ada.Text_IO.Put_Line (" closure_item: ");
LR1_Items.Put (Grammar, Descriptor, Closure_Item);
Ada.Text_IO.New_Line;
end if;
- if not Has_Element (Closure_Item.Dot) then
+ if Closure_Item.Dot = No_Index then
return;
end if;
declare
- ID : constant Token_ID := Element
(Closure_Item.Dot);
- Next_Dot : constant Token_ID_Arrays.Cursor := Next
(Closure_Item.Dot);
+ Dot : constant Token_ID_Arrays.Cursor :=
Productions.Constant_Ref_RHS
+ (Grammar, Closure_Item.Prod).Tokens.To_Cursor (Closure_Item.Dot);
+ ID : constant Token_ID := Element (Dot);
+ Next_Dot : constant Token_ID_Arrays.Cursor := Next (Dot);
Goto_State : constant Unknown_State_Index := LR1_Items.Goto_State
(Source_Set, ID);
- To_Item : constant Item_Lists.Cursor :=
- (if Goto_State = Unknown_State then Item_Lists.No_Element
- else LR1_Items.Find (Closure_Item.Prod, Next_Dot, Kernels
(Goto_State)));
begin
- if Closure_Item.Lookaheads (Descriptor.Last_Lookahead) and
Has_Element (To_Item) then
- Add_Propagation
- (From => Source_Item,
- From_Set => Source_Set,
- To_Item => To_Item,
- Propagations => Propagations);
- end if;
+ if Goto_State /= Unknown_State then
+ declare
+ To_Item : constant Item_Lists.Cursor :=
+ LR1_Items.Find (Closure_Item.Prod, To_Index (Next_Dot),
Kernels (Goto_State));
+ begin
+ if Closure_Item.Lookaheads (Descriptor.Last_Lookahead) then
+ Add_Propagation
+ (From_Item => Source_Item,
+ From_State => Source_Set.State,
+ To_Item => To_Item,
+ To_State => Goto_State,
+ Propagations => Propagations);
+ end if;
- if Has_Element (To_Item) then
- if Trace_Generate > Outline then
- Spontaneous_Count := Spontaneous_Count + 1;
- Ada.Text_IO.Put_Line (" spontaneous: " & Lookahead_Image
(Closure_Item.Lookaheads.all, Descriptor));
- end if;
+ if Trace_Generate_Table > Outline then
+ Spontaneous_Count := Spontaneous_Count + 1;
+ Ada.Text_IO.Put_Line (" spontaneous: " & Lookahead_Image
(Closure_Item.Lookaheads.all, Descriptor));
+ end if;
- LR1_Items.Include (Variable_Ref (To_Item),
Closure_Item.Lookaheads.all, Descriptor);
+ LR1_Items.Include (Variable_Ref (To_Item),
Closure_Item.Lookaheads.all, Descriptor);
+ end;
end if;
end;
end Generate_Lookahead_Info;
procedure Propagate_Lookaheads
- (List : in Item_Map_Lists.List;
- Descriptor : in WisiToken.Descriptor)
+ (Propagations : in Propagation_Lists.List;
+ Kernels : in out LR1_Items.Item_Set_List;
+ Descriptor : in WisiToken.Descriptor)
is
- -- In List, update all To lookaheads from From lookaheads,
+ -- In Propagations, update all To lookaheads from From lookaheads,
-- recursively.
-
- use LR1_Items.Item_Lists;
-
More_To_Check : Boolean := True;
Added_One : Boolean;
begin
while More_To_Check loop
More_To_Check := False;
- for Mapping of List loop
- for Copy of Mapping.To loop
+ for Map of Propagations loop
+ for ID of Map.To loop
LR1_Items.Include
- (Variable_Ref (Copy), Constant_Ref
(Mapping.From).Lookaheads.all, Added_One, Descriptor);
+ (Item_Ref (Kernels, ID), Item_Ref (Kernels,
Map.From).Lookaheads.all, Added_One, Descriptor);
More_To_Check := More_To_Check or Added_One;
end loop;
@@ -401,53 +407,41 @@ package body WisiToken.Generate.LR.LALR_Generate is
Kernels : in out LR1_Items.Item_Set_List;
Descriptor : in WisiToken.Descriptor)
is
- pragma Warnings (Off, """Kernel_Item_Set"" is not modified, could be
declared constant");
- -- WORKAROUND: GNAT GPL 2018 complains Kernel_Item_Set could be a
constant, but
- -- when we declare that, it complains the target of the assignment of
- -- .Prod, .Dot below must be a variable.
-
- Kernel_Item_Set : LR1_Items.Item_Set := -- used for temporary arg to
Closure
- (Set => LR1_Items.Item_Lists.To_List
- ((Prod => <>,
- Dot => <>,
- Lookaheads => Propagate_Lookahead (Descriptor))),
- Goto_List => <>,
- Dot_IDs => <>,
- State => <>);
-
Closure : LR1_Items.Item_Set;
-
- Propagation_List : Item_Map_Lists.List;
-
+ Propagations : Propagation_Lists.List;
begin
for Kernel of Kernels loop
- if Trace_Generate > Outline then
+ if Trace_Generate_Table > Outline then
Ada.Text_IO.Put ("Adding lookaheads for ");
LR1_Items.Put (Grammar, Descriptor, Kernel);
end if;
for Kernel_Item of Kernel.Set loop
- Kernel_Item_Set.Set (Kernel_Item_Set.Set.First).Prod :=
Kernel_Item.Prod;
- Kernel_Item_Set.Set (Kernel_Item_Set.Set.First).Dot :=
Kernel_Item.Dot;
-
Closure := LR1_Items.Closure
- (Kernel_Item_Set, Has_Empty_Production, First_Terminal_Sequence,
Grammar, Descriptor);
+ ((Set => LR1_Items.Item_Lists.To_List
+ ((Prod => Kernel_Item.Prod,
+ Dot => Kernel_Item.Dot,
+ Lookaheads => Propagate_Lookahead (Descriptor))),
+ Goto_List => <>,
+ Dot_IDs => <>,
+ State => <>),
+ Has_Empty_Production, First_Terminal_Sequence, Grammar,
Descriptor);
for Closure_Item of Closure.Set loop
Generate_Lookahead_Info
- (Kernel_Item, Kernel, Closure_Item, Propagation_List,
Descriptor, Grammar, Kernels);
+ (Kernel_Item, Kernel, Closure_Item, Propagations, Descriptor,
Grammar, Kernels);
end loop;
end loop;
end loop;
- if Trace_Generate > Outline then
+ if Trace_Generate_Table > Outline then
Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line ("Propagations:");
- Put (Grammar, Descriptor, Propagation_List);
+ Put (Propagations);
Ada.Text_IO.New_Line;
end if;
- Propagate_Lookaheads (Propagation_List, Descriptor);
+ Propagate_Lookaheads (Propagations, Kernels, Descriptor);
end Fill_In_Lookaheads;
-- Add actions for all Kernels to Table.
@@ -475,38 +469,39 @@ package body WisiToken.Generate.LR.LALR_Generate is
Conflict_Counts, Conflicts, Descriptor);
end loop;
- if Trace_Generate > Detail then
+ if Trace_Generate_Table > Detail then
Ada.Text_IO.New_Line;
end if;
end Add_Actions;
function Generate
- (Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
- Descriptor : in WisiToken.Descriptor;
- Known_Conflicts : in Conflict_Lists.List := Conflict_Lists.Empty_List;
- McKenzie_Param : in McKenzie_Param_Type := Default_McKenzie_Param;
- Put_Parse_Table : in Boolean := False;
- Include_Extra : in Boolean := False;
- Ignore_Conflicts : in Boolean := False;
- Partial_Recursion : in Boolean := True)
+ (Grammar : in out WisiToken.Productions.Prod_Arrays.Vector;
+ Descriptor : in WisiToken.Descriptor;
+ Known_Conflicts : in Conflict_Lists.List :=
Conflict_Lists.Empty_List;
+ McKenzie_Param : in McKenzie_Param_Type :=
Default_McKenzie_Param;
+ Parse_Table_File_Name : in String := "";
+ Include_Extra : in Boolean := False;
+ Ignore_Conflicts : in Boolean := False;
+ Partial_Recursion : in Boolean := True)
return Parse_Table_Ptr
is
use all type Ada.Containers.Count_Type;
- Ignore_Unused_Tokens : constant Boolean := WisiToken.Trace_Generate
> Detail;
- Ignore_Unknown_Conflicts : constant Boolean := Ignore_Conflicts or
WisiToken.Trace_Generate > Detail;
+ Ignore_Unused_Tokens : constant Boolean :=
WisiToken.Trace_Generate_Table > Detail;
+ Ignore_Unknown_Conflicts : constant Boolean := Ignore_Conflicts or
WisiToken.Trace_Generate_Table > Detail;
Unused_Tokens : constant Boolean :=
WisiToken.Generate.Check_Unused_Tokens (Descriptor, Grammar);
Table : Parse_Table_Ptr;
- Has_Empty_Production : constant Token_ID_Set :=
WisiToken.Generate.Has_Empty_Production (Grammar);
+ Nullable : constant Token_Array_Production_ID :=
WisiToken.Generate.Nullable (Grammar);
+ Has_Empty_Production : constant Token_ID_Set :=
WisiToken.Generate.Has_Empty_Production (Nullable);
Recursions : constant WisiToken.Generate.Recursions :=
(if Partial_Recursion
- then WisiToken.Generate.Compute_Partial_Recursion (Grammar)
- else WisiToken.Generate.Compute_Full_Recursion (Grammar));
+ then WisiToken.Generate.Compute_Partial_Recursion (Grammar,
Descriptor)
+ else WisiToken.Generate.Compute_Full_Recursion (Grammar, Descriptor));
Minimal_Terminal_Sequences : constant Minimal_Sequence_Array :=
- Compute_Minimal_Terminal_Sequences (Descriptor, Grammar, Recursions);
+ Compute_Minimal_Terminal_Sequences (Descriptor, Grammar);
Minimal_Terminal_First : constant Token_Array_Token_ID :=
Compute_Minimal_Terminal_First (Descriptor,
Minimal_Terminal_Sequences);
@@ -526,6 +521,11 @@ package body WisiToken.Generate.LR.LALR_Generate is
begin
WisiToken.Generate.Error := False; -- necessary in unit tests; some
previous test might have encountered an error.
+ if Trace_Generate_Table + Trace_Generate_Minimal_Complete > Outline then
+ Ada.Text_IO.New_Line;
+ Ada.Text_IO.Put_Line ("LALR_Generate");
+ end if;
+
Fill_In_Lookaheads (Grammar, Has_Empty_Production,
First_Terminal_Sequence, Kernels, Descriptor);
if Unused_Tokens then
@@ -533,7 +533,7 @@ package body WisiToken.Generate.LR.LALR_Generate is
Ada.Text_IO.New_Line;
end if;
- if Trace_Generate > Detail then
+ if Trace_Generate_Table > Detail then
Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line ("LR(1) Kernels:");
LR1_Items.Put (Grammar, Descriptor, Kernels, Show_Lookaheads => True);
@@ -575,17 +575,17 @@ package body WisiToken.Generate.LR.LALR_Generate is
Unknown_Conflicts, Table.all, Descriptor);
for State in Table.States'Range loop
- if Trace_Generate > Extra then
+ if Trace_Generate_Minimal_Complete > Extra then
Ada.Text_IO.Put_Line ("Set_Minimal_Complete_Actions:" &
State_Index'Image (State));
end if;
WisiToken.Generate.LR.Set_Minimal_Complete_Actions
- (Table.States (State), Kernels (State), Descriptor, Grammar,
Minimal_Terminal_Sequences,
+ (Table.States (State), Kernels (State), Descriptor, Grammar,
Nullable, Minimal_Terminal_Sequences,
Minimal_Terminal_First);
end loop;
- if Put_Parse_Table then
+ if Parse_Table_File_Name /= "" then
WisiToken.Generate.LR.Put_Parse_Table
- (Table, "LALR", Grammar, Recursions, Minimal_Terminal_Sequences,
Kernels, Conflict_Counts, Descriptor,
+ (Table, Parse_Table_File_Name, "LALR", Grammar, Recursions,
Kernels, Conflict_Counts, Descriptor,
Include_Extra);
end if;
diff --git a/packages/wisi/wisitoken-generate-lr-lalr_generate.ads
b/packages/wisi/wisitoken-generate-lr-lalr_generate.ads
index 9e33931..7527a9c 100644
--- a/packages/wisi/wisitoken-generate-lr-lalr_generate.ads
+++ b/packages/wisi/wisitoken-generate-lr-lalr_generate.ads
@@ -2,7 +2,7 @@
--
-- Generalized LALR parse table generator.
--
--- Copyright (C) 2002 - 2003, 2009 - 2010, 2013 - 2015, 2017 - 2019 Free
Software Foundation, Inc.
+-- Copyright (C) 2002 - 2003, 2009 - 2010, 2013 - 2015, 2017 - 2020 Free
Software Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -25,14 +25,14 @@ with WisiToken.Productions;
package WisiToken.Generate.LR.LALR_Generate is
function Generate
- (Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
- Descriptor : in WisiToken.Descriptor;
- Known_Conflicts : in Conflict_Lists.List := Conflict_Lists.Empty_List;
- McKenzie_Param : in McKenzie_Param_Type := Default_McKenzie_Param;
- Put_Parse_Table : in Boolean := False;
- Include_Extra : in Boolean := False;
- Ignore_Conflicts : in Boolean := False;
- Partial_Recursion : in Boolean := True)
+ (Grammar : in out WisiToken.Productions.Prod_Arrays.Vector;
+ Descriptor : in WisiToken.Descriptor;
+ Known_Conflicts : in Conflict_Lists.List :=
Conflict_Lists.Empty_List;
+ McKenzie_Param : in McKenzie_Param_Type :=
Default_McKenzie_Param;
+ Parse_Table_File_Name : in String := "";
+ Include_Extra : in Boolean := False;
+ Ignore_Conflicts : in Boolean := False;
+ Partial_Recursion : in Boolean := True)
return Parse_Table_Ptr
with Pre =>
Descriptor.Last_Lookahead = Descriptor.First_Nonterminal and
diff --git a/packages/wisi/wisitoken-generate-lr-lr1_generate.adb
b/packages/wisi/wisitoken-generate-lr-lr1_generate.adb
index d148c67..8f688c9 100644
--- a/packages/wisi/wisitoken-generate-lr-lr1_generate.adb
+++ b/packages/wisi/wisitoken-generate-lr-lr1_generate.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2017 - 2020 Free Software Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -41,15 +41,23 @@ package body WisiToken.Generate.LR.LR1_Generate is
Goto_Set : Item_Set;
begin
for Item of Set.Set loop
- if Item.Dot /= No_Element then
- if Element (Item.Dot) = Symbol and
- -- We don't need a state with dot after EOI in the
- -- accept production. EOI should only appear in the
- -- accept production.
- Symbol /= Descriptor.EOI_ID
- then
- Goto_Set.Set.Insert ((Item.Prod, Next (Item.Dot), new
Token_ID_Set'(Item.Lookaheads.all)));
- end if;
+ if Item.Dot /= No_Index then
+ declare
+ Dot : constant Token_ID_Arrays.Cursor :=
Productions.Constant_Ref_RHS
+ (Grammar, Item.Prod).Tokens.To_Cursor (Item.Dot);
+ begin
+ if Element (Dot) = Symbol and
+ -- We don't need a state with dot after EOI in the
+ -- accept production. EOI should only appear in the
+ -- accept production.
+ Symbol /= Descriptor.EOI_ID
+ then
+ Goto_Set.Set.Insert
+ ((Item.Prod,
+ To_Index (Next (Dot)),
+ new Token_ID_Set'(Item.Lookaheads.all)));
+ end if;
+ end;
end if;
end loop;
@@ -90,7 +98,7 @@ package body WisiToken.Generate.LR.LR1_Generate is
New_Item_Set : Item_Set := Closure
((Set => Item_Lists.To_List
((Prod => (Grammar.First_Index, 0),
- Dot => Grammar (Grammar.First_Index).RHSs
(0).Tokens.First,
+ Dot => Grammar (Grammar.First_Index).RHSs
(0).Tokens.First_Index,
Lookaheads => new Token_ID_Set'(To_Lookahead (Descriptor.EOI_ID,
Descriptor)))),
Goto_List => <>,
Dot_IDs => <>,
@@ -102,14 +110,14 @@ package body WisiToken.Generate.LR.LR1_Generate is
begin
C.Set_First_Last (First_State_Index, First_State_Index - 1);
- Add (New_Item_Set, C, C_Tree, Descriptor, Include_Lookaheads => True);
+ Add (Grammar, New_Item_Set, C, C_Tree, Descriptor, Include_Lookaheads =>
True);
States_To_Check.Put (First_State_Index);
loop
exit when States_To_Check.Is_Empty;
I := States_To_Check.Get;
- if Trace_Generate > Outline then
+ if Trace_Generate_Table > Outline then
Ada.Text_IO.Put ("Checking ");
Put (Grammar, Descriptor, C (I), Show_Lookaheads => True,
Show_Goto_List => True);
end if;
@@ -134,9 +142,9 @@ package body WisiToken.Generate.LR.LR1_Generate is
States_To_Check.Put (New_Item_Set.State);
- Add (New_Item_Set, C, C_Tree, Descriptor, Include_Lookaheads
=> True);
+ Add (Grammar, New_Item_Set, C, C_Tree, Descriptor,
Include_Lookaheads => True);
- if Trace_Generate > Outline then
+ if Trace_Generate_Table > Outline then
Ada.Text_IO.Put_Line
(" adding state" & Unknown_State_Index'Image
(C.Last_Index) & ": from state" &
Unknown_State_Index'Image (I) & " on " & Image
(Symbol, Descriptor));
@@ -148,7 +156,7 @@ package body WisiToken.Generate.LR.LR1_Generate is
-- If there's not already a goto entry between these two
sets, create one.
if not Is_In ((Symbol, Found_State), Goto_List => C
(I).Goto_List) then
- if Trace_Generate > Outline then
+ if Trace_Generate_Table > Outline then
Ada.Text_IO.Put_Line
(" adding goto on " & Image (Symbol, Descriptor) &
" to state" &
Unknown_State_Index'Image (Found_State));
@@ -162,7 +170,7 @@ package body WisiToken.Generate.LR.LR1_Generate is
end loop;
end loop;
- if Trace_Generate > Outline then
+ if Trace_Generate_Table > Outline then
Ada.Text_IO.New_Line;
end if;
@@ -186,38 +194,39 @@ package body WisiToken.Generate.LR.LR1_Generate is
(Item_Set, Table, Grammar, Has_Empty_Production, First_Nonterm_Set,
Conflict_Counts, Conflicts, Descriptor);
end loop;
- if Trace_Generate > Outline then
+ if Trace_Generate_Table > Outline then
Ada.Text_IO.New_Line;
end if;
end Add_Actions;
function Generate
- (Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
- Descriptor : in WisiToken.Descriptor;
- Known_Conflicts : in Conflict_Lists.List := Conflict_Lists.Empty_List;
- McKenzie_Param : in McKenzie_Param_Type := Default_McKenzie_Param;
- Put_Parse_Table : in Boolean := False;
- Include_Extra : in Boolean := False;
- Ignore_Conflicts : in Boolean := False;
- Partial_Recursion : in Boolean := True)
+ (Grammar : in out WisiToken.Productions.Prod_Arrays.Vector;
+ Descriptor : in WisiToken.Descriptor;
+ Known_Conflicts : in Conflict_Lists.List :=
Conflict_Lists.Empty_List;
+ McKenzie_Param : in McKenzie_Param_Type :=
Default_McKenzie_Param;
+ Parse_Table_File_Name : in String := "";
+ Include_Extra : in Boolean := False;
+ Ignore_Conflicts : in Boolean := False;
+ Partial_Recursion : in Boolean := True)
return Parse_Table_Ptr
is
use type Ada.Containers.Count_Type;
- Ignore_Unused_Tokens : constant Boolean := WisiToken.Trace_Generate
> Detail;
- Ignore_Unknown_Conflicts : constant Boolean := Ignore_Conflicts or
WisiToken.Trace_Generate > Detail;
+ Ignore_Unused_Tokens : constant Boolean :=
WisiToken.Trace_Generate_Table > Detail;
+ Ignore_Unknown_Conflicts : constant Boolean := Ignore_Conflicts or
WisiToken.Trace_Generate_Table > Detail;
Unused_Tokens : constant Boolean :=
WisiToken.Generate.Check_Unused_Tokens (Descriptor, Grammar);
Table : Parse_Table_Ptr;
- Has_Empty_Production : constant Token_ID_Set :=
WisiToken.Generate.Has_Empty_Production (Grammar);
+ Nullable : constant Token_Array_Production_ID :=
WisiToken.Generate.Nullable (Grammar);
+ Has_Empty_Production : constant Token_ID_Set :=
WisiToken.Generate.Has_Empty_Production (Nullable);
Recursions : constant WisiToken.Generate.Recursions :=
(if Partial_Recursion
- then WisiToken.Generate.Compute_Partial_Recursion (Grammar)
- else WisiToken.Generate.Compute_Full_Recursion (Grammar));
+ then WisiToken.Generate.Compute_Partial_Recursion (Grammar,
Descriptor)
+ else WisiToken.Generate.Compute_Full_Recursion (Grammar, Descriptor));
Minimal_Terminal_Sequences : constant Minimal_Sequence_Array :=
- Compute_Minimal_Terminal_Sequences (Descriptor, Grammar, Recursions);
+ Compute_Minimal_Terminal_Sequences (Descriptor, Grammar);
Minimal_Terminal_First : constant Token_Array_Token_ID :=
Compute_Minimal_Terminal_First (Descriptor,
Minimal_Terminal_Sequences);
@@ -235,10 +244,13 @@ package body WisiToken.Generate.LR.LR1_Generate is
Unknown_Conflicts : Conflict_Lists.List;
Known_Conflicts_Edit : Conflict_Lists.List := Known_Conflicts;
begin
- if Trace_Generate > Outline then
+ if Trace_Generate_Table + Trace_Generate_Minimal_Complete > Outline then
Ada.Text_IO.New_Line;
- Ada.Text_IO.Put_Line ("LR(1) Item_Sets:");
- LR1_Items.Put (Grammar, Descriptor, Item_Sets);
+ Ada.Text_IO.Put_Line ("LR1_Generate:");
+ if Trace_Generate_Table > Outline then
+ Ada.Text_IO.Put_Line ("Item_Sets:");
+ LR1_Items.Put (Grammar, Descriptor, Item_Sets);
+ end if;
end if;
Table := new Parse_Table
@@ -277,22 +289,22 @@ package body WisiToken.Generate.LR.LR1_Generate is
Conflict_Counts, Unknown_Conflicts, Table.all, Descriptor);
for State in Table.States'Range loop
- if Trace_Generate > Extra then
+ if Trace_Generate_Minimal_Complete > Extra then
Ada.Text_IO.Put_Line ("Set_Minimal_Complete_Actions:" &
State_Index'Image (State));
end if;
WisiToken.Generate.LR.Set_Minimal_Complete_Actions
(Table.States (State),
LR1_Items.Filter (Item_Sets (State), Grammar, Descriptor,
LR1_Items.In_Kernel'Access),
- Descriptor, Grammar, Minimal_Terminal_Sequences,
Minimal_Terminal_First);
+ Descriptor, Grammar, Nullable, Minimal_Terminal_Sequences,
Minimal_Terminal_First);
end loop;
- if Put_Parse_Table then
+ if Parse_Table_File_Name /= "" then
WisiToken.Generate.LR.Put_Parse_Table
- (Table, "LR1", Grammar, Recursions, Minimal_Terminal_Sequences,
Item_Sets, Conflict_Counts, Descriptor,
+ (Table, Parse_Table_File_Name, "LR1", Grammar, Recursions,
Item_Sets, Conflict_Counts, Descriptor,
Include_Extra);
end if;
- if Trace_Generate > Outline then
+ if Trace_Generate_Table > Outline then
Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line ("Has_Empty_Production: " & Image
(Has_Empty_Production, Descriptor));
diff --git a/packages/wisi/wisitoken-generate-lr-lr1_generate.ads
b/packages/wisi/wisitoken-generate-lr-lr1_generate.ads
index 6e8ade6..d0f2d9f 100644
--- a/packages/wisi/wisitoken-generate-lr-lr1_generate.ads
+++ b/packages/wisi/wisitoken-generate-lr-lr1_generate.ads
@@ -7,7 +7,7 @@
-- [dragon] "Compilers Principles, Techniques, and Tools" by Aho,
-- Sethi, and Ullman (aka: "The [Red] Dragon Book").
--
--- Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2017 - 2020 Free Software Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -30,20 +30,22 @@ with WisiToken.Productions;
package WisiToken.Generate.LR.LR1_Generate is
function Generate
- (Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
- Descriptor : in WisiToken.Descriptor;
- Known_Conflicts : in Conflict_Lists.List := Conflict_Lists.Empty_List;
- McKenzie_Param : in McKenzie_Param_Type := Default_McKenzie_Param;
- Put_Parse_Table : in Boolean := False;
- Include_Extra : in Boolean := False;
- Ignore_Conflicts : in Boolean := False;
- Partial_Recursion : in Boolean := True)
+ (Grammar : in out WisiToken.Productions.Prod_Arrays.Vector;
+ Descriptor : in WisiToken.Descriptor;
+ Known_Conflicts : in Conflict_Lists.List :=
Conflict_Lists.Empty_List;
+ McKenzie_Param : in McKenzie_Param_Type :=
Default_McKenzie_Param;
+ Parse_Table_File_Name : in String := "";
+ Include_Extra : in Boolean := False;
+ Ignore_Conflicts : in Boolean := False;
+ Partial_Recursion : in Boolean := True)
return Parse_Table_Ptr
with Pre => Descriptor.First_Nonterminal = Descriptor.Accept_ID;
-- Generate a generalized LR1 parse table for Grammar. The
-- grammar start symbol is the LHS of the first production in
-- Grammar.
--
+ -- Sets Recursive components in Grammar.
+ --
-- If Trace, output debug info to Standard_Error about generation
-- process. We don't use WisiToken.Trace here; we often want to
-- see a trace of the parser execution without the parser
diff --git a/packages/wisi/wisitoken-generate-lr.adb
b/packages/wisi/wisitoken-generate-lr.adb
index 54ddfd6..d66746d 100644
--- a/packages/wisi/wisitoken-generate-lr.adb
+++ b/packages/wisi/wisitoken-generate-lr.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2017 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -40,8 +40,8 @@ package body WisiToken.Generate.LR is
Min_RHS : Natural := Natural'Last;
begin
for RHS in Item.First_Index .. Item.Last_Index loop
- if RHS_Set (RHS) and then Min_Length > Item (RHS).Sequence.Length then
- Min_Length := Item (RHS).Sequence.Length;
+ if RHS_Set (RHS) and then Min_Length > Item (RHS).Length then
+ Min_Length := Item (RHS).Length;
Min_RHS := RHS;
end if;
end loop;
@@ -52,63 +52,15 @@ package body WisiToken.Generate.LR is
end if;
end Min;
- function Net_Recursion (Cycle : in Recursion_Cycle; RHS : in Natural)
return Recursion
- is
- Result : Recursion := None;
- begin
- if Cycle'Length = 1 then
- for E of Cycle (Cycle'First).Edges loop
- if E.Data.RHS = RHS then
- Result := Net_Recursion (Result, E.Data.Recursive);
- end if;
- end loop;
- else
- for Item of Cycle loop
- for E of Item.Edges loop
- Result := Net_Recursion (Result, E.Data.Recursive);
- end loop;
- end loop;
- end if;
- return Result;
- end Net_Recursion;
-
- function Worst_Recursion (Cycle : in Recursion_Cycle; RHS : in Natural)
return Recursion
- is
- Result : Recursion := None;
- begin
- if Cycle'Length = 1 then
- for E of Cycle (Cycle'First).Edges loop
- if E.Data.RHS = RHS then
- Result := Worst_Recursion (Result, E.Data.Recursive);
- end if;
- end loop;
- else
- for Item of Cycle loop
- for E of Item.Edges loop
- Result := Worst_Recursion (Result, E.Data.Recursive);
- end loop;
- end loop;
- end if;
- return Result;
- end Worst_Recursion;
-
- function Worst_Recursion
- (Recursion_IDs : in Recursion_Lists.List;
- Recursions : in Generate.Recursions;
- RHS : in Natural)
- return Recursion
- is
- Result : Recursion := None;
- begin
- for ID of Recursion_IDs loop
- Result := Worst_Recursion
- (Result,
- (if Recursions.Full
- then Net_Recursion (Recursions.Recursions (ID), RHS)
- else Worst_Recursion (Recursions.Recursions (ID), RHS)));
- end loop;
- return Result;
- end Worst_Recursion;
+ function Image
+ (Nonterm : in Token_ID;
+ Sequences : in Minimal_Sequence_Array;
+ Descriptor : in WisiToken.Descriptor)
+ return String
+ is begin
+ return Trimmed_Image (Nonterm) & " " & Image (Nonterm, Descriptor) & "
==> (" &
+ Sequences (Nonterm).Min_RHS'Image & ", " & Image (Sequences
(Nonterm).Sequence, Descriptor) & ")";
+ end Image;
procedure Terminal_Sequence
(Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
@@ -132,8 +84,8 @@ package body WisiToken.Generate.LR is
is
Prod : Productions.Instance renames Grammar (LHS);
begin
- if All_Sequences (LHS).Length = 0 then
- All_Sequences (LHS).Set_First_Last (Prod.RHSs.First_Index,
Prod.RHSs.Last_Index);
+ if All_Sequences (LHS).Sequence.Length = 0 then
+ All_Sequences (LHS).Sequence.Set_First_Last
(Prod.RHSs.First_Index, Prod.RHSs.Last_Index);
end if;
if RHS_Seq_Set (LHS).Length = 0 then
RHS_Seq_Set (LHS).Set_First_Last (Prod.RHSs.First_Index,
Prod.RHSs.Last_Index);
@@ -155,12 +107,12 @@ package body WisiToken.Generate.LR is
for RHS in Prod.RHSs.First_Index .. Prod.RHSs.Last_Index loop
if not RHS_Seq_Set (Nonterm)(RHS) then
- if Trace_Generate > Extra then
+ if Trace_Generate_Minimal_Complete > Extra then
Ada.Text_IO.Put_Line (Trimmed_Image ((Nonterm, RHS)) & " " &
Image (Nonterm, Descriptor) & " compute");
end if;
if Prod.RHSs (RHS).Tokens.Length = 0 then
RHS_Seq_Set (Nonterm)(RHS) := True;
- if Trace_Generate > Extra then
+ if Trace_Generate_Minimal_Complete > Extra then
Ada.Text_IO.Put_Line (Trimmed_Image (Production_ID'(Nonterm,
RHS)) & " => () empty");
end if;
@@ -170,7 +122,7 @@ package body WisiToken.Generate.LR is
ID : Token_ID renames Prod.RHSs (RHS).Tokens (I);
begin
if ID in Terminals then
- All_Sequences (Nonterm) (RHS).Sequence.Append (ID);
+ All_Sequences (Nonterm).Sequence (RHS).Append (ID);
else
if (for some RHS of RHS_Seq_Set (ID) => RHS) then
@@ -179,7 +131,7 @@ package body WisiToken.Generate.LR is
else
if ID = Nonterm or Recursing (ID) then
-- Clear partial minimal sequence; we are
starting over.
- All_Sequences (Nonterm)(RHS).Sequence.Clear;
+ All_Sequences (Nonterm).Sequence (RHS).Clear;
goto Skip;
else
@@ -192,24 +144,26 @@ package body WisiToken.Generate.LR is
-- Found a minimal sequence for ID; use it
null;
else
- All_Sequences (Nonterm)(RHS).Sequence.Clear;
+ All_Sequences (Nonterm).Sequence (RHS).Clear;
goto Skip;
end if;
end if;
end if;
declare
- Min_RHS : constant Integer := Min (All_Sequences
(ID), RHS_Seq_Set (ID));
+ Min_RHS : constant Integer := Min (All_Sequences
(ID).Sequence, RHS_Seq_Set (ID));
begin
- All_Sequences (Nonterm)(RHS).Sequence.Append
(All_Sequences (ID)(Min_RHS).Sequence);
+ All_Sequences (ID).Min_RHS := Min_RHS;
+
+ All_Sequences (Nonterm).Sequence (RHS).Append
(All_Sequences (ID).Sequence (Min_RHS));
end;
end if;
end;
end loop;
RHS_Seq_Set (Nonterm)(RHS) := True;
- if Trace_Generate > Extra then
+ if Trace_Generate_Minimal_Complete > Extra then
Ada.Text_IO.Put_Line
(Trimmed_Image (Production_ID'(Nonterm, RHS)) & " => " &
- Image (All_Sequences (Nonterm)(RHS), Descriptor));
+ Image (All_Sequences (Nonterm).Sequence (RHS),
Descriptor));
end if;
end if;
end if;
@@ -221,7 +175,7 @@ package body WisiToken.Generate.LR is
if (for some RHS of RHS_Seq_Set (Nonterm) => not RHS) then
-- Some RHSs are have unresolved recursion; we will
-- eventually try again when the recursion is resolved.
- if Trace_Generate > Extra then
+ if Trace_Generate_Minimal_Complete > Extra then
Ada.Text_IO.Put_Line
(Trimmed_Image (Nonterm) & " " & Image (Nonterm, Descriptor)
& " skipped some recursive");
end if;
@@ -231,10 +185,8 @@ package body WisiToken.Generate.LR is
All_Seq_Set (Nonterm) := True;
- if Trace_Generate > Extra then
- Ada.Text_IO.Put_Line
- (Trimmed_Image (Nonterm) & " " & Image (Nonterm, Descriptor) & "
==> " &
- Image (All_Sequences (Nonterm), Descriptor));
+ if Trace_Generate_Minimal_Complete > Extra then
+ Ada.Text_IO.Put_Line (Image (Nonterm, All_Sequences, Descriptor));
end if;
end Terminal_Sequence;
@@ -265,7 +217,7 @@ package body WisiToken.Generate.LR is
is
Matching_Action : constant Action_Arrays.Find_Reference_Type :=
Action_List.Find (Symbol);
begin
- if Trace_Generate > Detail then
+ if Trace_Generate_Table > Detail then
Ada.Text_IO.Put (Image (Symbol, Descriptor) & " => ");
Put (Descriptor, Action);
Ada.Text_IO.New_Line;
@@ -274,7 +226,7 @@ package body WisiToken.Generate.LR is
if Matching_Action.Element /= null then
if Is_In (Action, Matching_Action.Actions) then
-- Action is already in the list.
- if Trace_Generate > Detail then
+ if Trace_Generate_Table > Detail then
Ada.Text_IO.Put_Line (" - already present");
end if;
return;
@@ -352,11 +304,11 @@ package body WisiToken.Generate.LR is
-- item set. Only add it to conflicts once.
Conflicts.Append (New_Conflict);
- if Trace_Generate > Detail then
+ if Trace_Generate_Table > Detail then
Ada.Text_IO.Put_Line (" - conflict added: " & Image
(New_Conflict, Descriptor));
end if;
else
- if Trace_Generate > Detail then
+ if Trace_Generate_Table > Detail then
Ada.Text_IO.Put_Line (" - conflict duplicate: " & Image
(New_Conflict, Descriptor));
end if;
end if;
@@ -383,71 +335,78 @@ package body WisiToken.Generate.LR is
Conflicts : in out Conflict_Lists.List;
Descriptor : in WisiToken.Descriptor)
is
- use WisiToken.Token_ID_Arrays;
+ use Token_ID_Arrays;
State : constant State_Index := Closure.State;
begin
- if Trace_Generate > Detail then
+ if Trace_Generate_Table > Detail then
Ada.Text_IO.Put_Line ("adding actions for state" & State_Index'Image
(State));
end if;
for Item of Closure.Set loop
- if Item.Dot = No_Element then
- -- Pointer is at the end of the production; add a reduce action.
+ declare
+ Dot : constant Token_ID_Arrays.Cursor :=
Productions.Constant_Ref_RHS
+ (Grammar, Item.Prod).Tokens.To_Cursor (Item.Dot);
+ begin
+ if not Has_Element (Dot) then
+ Add_Lookahead_Actions
+ (Item, Table.States (State).Action_List, Grammar,
Has_Empty_Production, First_Nonterm_Set,
+ Conflict_Counts, Conflicts, Closure, Descriptor);
- Add_Lookahead_Actions
- (Item, Table.States (State).Action_List, Grammar,
Has_Empty_Production, First_Nonterm_Set,
- Conflict_Counts, Conflicts, Closure, Descriptor);
+ elsif Element (Dot) in
+ Descriptor.First_Terminal .. Descriptor.Last_Terminal
+ then
+ -- Dot is before a terminal token.
+ declare
+ use all type Ada.Containers.Count_Type;
- elsif Element (Item.Dot) in Descriptor.First_Terminal ..
Descriptor.Last_Terminal then
- -- Dot is before a terminal token.
- declare
- use all type Ada.Containers.Count_Type;
+ P_ID : constant Production_ID := Item.Prod;
- Dot_ID : constant Token_ID := Element (Item.Dot);
- -- ID of token after Item.Dot
+ Dot_ID : constant Token_ID := Element (Dot);
+ -- ID of token after Item.Dot
- Goto_State : constant Unknown_State_Index :=
LR1_Items.Goto_State (Closure, Dot_ID);
- begin
- if Dot_ID = Descriptor.EOI_ID then
- -- This is the start symbol production with dot before EOF.
- declare
- P_ID : constant Production_ID := Item.Prod;
- RHS : Productions.Right_Hand_Side renames Grammar
(P_ID.LHS).RHSs (P_ID.RHS);
- begin
- Add_Action
- (Dot_ID,
- (Accept_It, P_ID, RHS.Action, RHS.Check,
RHS.Tokens.Length - 1),
- -- EOF is not pushed on stack in parser, because the
action for EOF
- -- is Accept, not Shift.
- Table.States (State).Action_List, Closure,
- Grammar, Has_Empty_Production, First_Nonterm_Set,
Conflict_Counts, Conflicts, Descriptor);
- end;
- else
- if Goto_State /= Unknown_State then
- Add_Action
- (Dot_ID,
- (Shift, Goto_State),
- Table.States (State).Action_List,
- Closure, Grammar, Has_Empty_Production,
First_Nonterm_Set,
- Conflict_Counts, Conflicts, Descriptor);
+ Goto_State : constant Unknown_State_Index :=
LR1_Items.Goto_State (Closure, Dot_ID);
+ begin
+ if Dot_ID = Descriptor.EOI_ID then
+ -- This is the start symbol production with dot before
EOF.
+ declare
+ RHS : Productions.Right_Hand_Side renames Grammar
(P_ID.LHS).RHSs (P_ID.RHS);
+ begin
+ Add_Action
+ (Dot_ID,
+ (Accept_It, P_ID, RHS.Action, RHS.Check,
RHS.Tokens.Length - 1),
+ -- EOF is not pushed on stack in parser, because
the action for EOF
+ -- is Accept, not Shift.
+ Table.States (State).Action_List, Closure,
+ Grammar, Has_Empty_Production, First_Nonterm_Set,
Conflict_Counts, Conflicts, Descriptor);
+ end;
+ else
+ if Goto_State /= Unknown_State then
+ Add_Action
+ (Dot_ID,
+ (Shift, P_ID, Goto_State),
+ Table.States (State).Action_List,
+ Closure, Grammar, Has_Empty_Production,
First_Nonterm_Set,
+ Conflict_Counts, Conflicts, Descriptor);
+ end if;
end if;
+ end;
+ else
+ -- Dot is before a non-terminal token; no action.
+ if Trace_Generate_Table > Detail then
+ Ada.Text_IO.Put_Line (Image (Element (Dot), Descriptor) & "
=> no action");
end if;
- end;
- else
- -- Dot is before a non-terminal token; no action.
- if Trace_Generate > Detail then
- Ada.Text_IO.Put_Line (Image (Element (Item.Dot), Descriptor) &
" => no action");
end if;
- end if;
+ end;
end loop;
-- We don't place a default error action at the end of every state;
-- Parse.LR.Action_For returns Table.Error_Action when Symbol is not
found.
- Table.Error_Action := new Parse_Action_Node'((Verb =>
WisiToken.Parse.LR.Error), null);
+ Table.Error_Action := new Parse_Action_Node'((Verb =>
WisiToken.Parse.LR.Error, others => <>), null);
for Item of Closure.Goto_List loop
if Item.Symbol in Descriptor.First_Nonterminal ..
Descriptor.Last_Nonterminal then
+ -- FIXME: Goto_List has terminals; either don't need to add
those, or can use that instead of above code.
Add_Goto (Table.States (State), Item.Symbol, Item.State); -- note
list is already sorted.
end if;
end loop;
@@ -468,7 +427,7 @@ package body WisiToken.Generate.LR is
RHS : Productions.Right_Hand_Side renames Prod.RHSs (Item.Prod.RHS);
Action : constant Parse_Action_Rec := (Reduce, Item.Prod, RHS.Action,
RHS.Check, RHS.Tokens.Length);
begin
- if Trace_Generate > Detail then
+ if Trace_Generate_Table > Detail then
Ada.Text_IO.Put_Line ("processing lookaheads");
end if;
@@ -534,8 +493,6 @@ package body WisiToken.Generate.LR is
return Token_ID
is
use WisiToken.Token_ID_Arrays;
-
- ID_I : Cursor;
begin
case Action.Verb is
when Reduce | Accept_It =>
@@ -553,30 +510,34 @@ package body WisiToken.Generate.LR is
-- one, use that.
for Item of Closure.Set loop
if LR1_Items.In_Kernel (Grammar, Descriptor, Item) then
- ID_I := Item.Dot;
- loop
- if ID_I = No_Element then
- if Item.Lookaheads (Lookahead) then
- return Item.Prod.LHS;
- end if;
- else
- declare
- Dot_ID : Token_ID renames Element (ID_I);
- begin
- if Dot_ID = Lookahead or
- (Dot_ID in Descriptor.First_Nonterminal ..
Descriptor.Last_Nonterminal and then
- First (Dot_ID, Lookahead))
- then
+ declare
+ Dot : Token_ID_Arrays.Cursor := Productions.Constant_Ref_RHS
+ (Grammar, Item.Prod).Tokens.To_Cursor (Item.Dot);
+ begin
+ loop
+ if not Has_Element (Dot) then
+ if Item.Lookaheads (Lookahead) then
return Item.Prod.LHS;
end if;
- exit when Dot_ID in Descriptor.First_Nonterminal ..
Descriptor.Last_Nonterminal and then
- not Has_Empty_Production (Dot_ID);
- end;
- end if;
+ else
+ declare
+ Dot_ID : constant Token_ID := Element (Dot);
+ begin
+ if Dot_ID = Lookahead or
+ (Dot_ID in Descriptor.First_Nonterminal ..
Descriptor.Last_Nonterminal and then
+ First (Dot_ID, Lookahead))
+ then
+ return Item.Prod.LHS;
+ end if;
+ exit when Dot_ID in Descriptor.First_Nonterminal ..
Descriptor.Last_Nonterminal and then
+ not Has_Empty_Production (Dot_ID);
+ end;
+ end if;
- exit when ID_I = No_Element;
- Next (ID_I);
- end loop;
+ exit when not Has_Element (Dot);
+ Next (Dot);
+ end loop;
+ end;
end if;
end loop;
@@ -586,25 +547,29 @@ package body WisiToken.Generate.LR is
-- Lookahead (the token shifted) is starting a nonterm in a state
-- production; it is in First of that nonterm.
if LR1_Items.In_Kernel (Grammar, Descriptor, Item) then
- ID_I := Item.Dot;
- loop
- exit when ID_I = No_Element;
- declare
- Dot_ID : Token_ID renames Element (ID_I);
- begin
- if Dot_ID = Lookahead or
- (Dot_ID in Descriptor.First_Nonterminal ..
Descriptor.Last_Nonterminal and then
- First (Dot_ID, Lookahead))
- then
- return Item.Prod.LHS;
- end if;
+ declare
+ Dot : Token_ID_Arrays.Cursor := Productions.Constant_Ref_RHS
+ (Grammar, Item.Prod).Tokens.To_Cursor (Item.Dot);
+ begin
+ loop
+ exit when not Has_Element (Dot);
+ declare
+ Dot_ID : constant Token_ID := Element (Dot);
+ begin
+ if Dot_ID = Lookahead or
+ (Dot_ID in Descriptor.First_Nonterminal ..
Descriptor.Last_Nonterminal and then
+ First (Dot_ID, Lookahead))
+ then
+ return Item.Prod.LHS;
+ end if;
- exit when Dot_ID in Descriptor.First_Nonterminal ..
Descriptor.Last_Nonterminal and then
- not Has_Empty_Production (Dot_ID);
- end;
+ exit when Dot_ID in Descriptor.First_Nonterminal ..
Descriptor.Last_Nonterminal and then
+ not Has_Empty_Production (Dot_ID);
+ end;
- Next (ID_I);
- end loop;
+ Next (Dot);
+ end loop;
+ end;
end if;
end loop;
@@ -661,13 +626,20 @@ package body WisiToken.Generate.LR is
----------
-- Minimal terminal sequences.
- function Image (Item : in RHS_Sequence; Descriptor : in
WisiToken.Descriptor) return String
- is begin
- return "(" & Image (Item.Recursion) & ", " & Recursion'Image
(Item.Worst_Recursion) & ", " &
- Image (Item.Sequence, Descriptor) & ")";
- end Image;
+ function Min_Length (Item : in RHS_Sequence_Arrays.Vector) return
Ada.Containers.Count_Type
+ is
+ use Ada.Containers;
+ Min : Count_Type := Count_Type'Last;
+ begin
+ for RHS of Item loop
+ if RHS.Length < Min then
+ Min := RHS.Length;
+ end if;
+ end loop;
+ return Min;
+ end Min_Length;
- function Min (Item : in RHS_Sequence_Arrays.Vector) return RHS_Sequence
+ function Min (Item : in RHS_Sequence_Arrays.Vector) return
Token_ID_Arrays.Vector
is
use all type Ada.Containers.Count_Type;
Min_Length : Ada.Containers.Count_Type := Ada.Containers.Count_Type'Last;
@@ -675,8 +647,8 @@ package body WisiToken.Generate.LR is
begin
-- This version assumes all RHS are computed.
for RHS in Item.First_Index .. Item.Last_Index loop
- if Min_Length > Item (RHS).Sequence.Length then
- Min_Length := Item (RHS).Sequence.Length;
+ if Min_Length > Item (RHS).Length then
+ Min_Length := Item (RHS).Length;
Min_RHS := RHS;
end if;
end loop;
@@ -689,8 +661,7 @@ package body WisiToken.Generate.LR is
function Compute_Minimal_Terminal_Sequences
(Descriptor : in WisiToken.Descriptor;
- Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
- Recursions : in Generate.Recursions)
+ Grammar : in WisiToken.Productions.Prod_Arrays.Vector)
return Minimal_Sequence_Array
is
-- Result (ID).Sequence.Length = 0 is a valid result (ie the
@@ -711,8 +682,8 @@ package body WisiToken.Generate.LR is
loop
exit when (for all B of All_Seq_Set => B);
Pass_Count := Pass_Count + 1;
- if Trace_Generate > Detail then
- if Trace_Generate > Extra then
+ if Trace_Generate_Minimal_Complete > Detail then
+ if Trace_Generate_Minimal_Complete > Extra then
Ada.Text_IO.New_Line;
end if;
Ada.Text_IO.Put_Line ("Compute_Minimal_Terminal_Sequences pass"
& Integer'Image (Pass_Count));
@@ -728,45 +699,10 @@ package body WisiToken.Generate.LR is
Last_Seq_Count := This_Count;
end loop;
- -- Set Result.Recursions
- for Recursion_ID in Recursions.Recursions.First_Index ..
Recursions.Recursions.Last_Index loop
- declare
- Cycle : Recursion_Cycle renames Recursions.Recursions
(Recursion_ID);
- begin
- for I in Cycle'Range loop
- declare
- Edges : constant Grammar_Graphs.Edge_Lists.List :=
- (if Recursions.Full then
- (if I = Cycle'Last
- then Cycle (Cycle'First).Edges
- else Cycle (I + 1).Edges)
- else Cycle (I).Edges);
- begin
- for E of Edges loop
- Result (Cycle (I).Vertex)(E.Data.RHS).Recursion.Append
(Recursion_ID);
- end loop;
- end;
- end loop;
- end;
- end loop;
-
- -- Set Result.Worst_Recursions
- for Nonterm in Result'Range loop
- for RHS in Result (Nonterm).First_Index .. Result
(Nonterm).Last_Index loop
- declare
- RHS_Seq : RHS_Sequence renames Result (Nonterm)(RHS);
- begin
- RHS_Seq.Worst_Recursion := Worst_Recursion
(RHS_Seq.Recursion, Recursions, RHS);
- end;
- end loop;
- end loop;
-
- if Trace_Generate > Detail then
+ if Trace_Generate_Minimal_Complete > Detail then
Ada.Text_IO.Put_Line ("Minimal_Terminal_Sequences:");
for LHS in Result'Range loop
- Ada.Text_IO.Put_Line
- (Trimmed_Image (LHS) & " " & Image (LHS, Descriptor) & " ==>
" &
- Image (Result (LHS), Descriptor));
+ Ada.Text_IO.Put_Line (Image (LHS, Result, Descriptor));
end loop;
end if;
end return;
@@ -777,13 +713,13 @@ package body WisiToken.Generate.LR is
Minimal_Terminal_Sequences : in Minimal_Sequence_Array)
return Token_Array_Token_ID
is
- use all type Ada.Containers.Count_Type;
use Token_ID_Arrays;
begin
return Result : Token_Array_Token_ID (Descriptor.First_Nonterminal ..
Descriptor.Last_Nonterminal) do
for ID in Result'Range loop
declare
- Min_Seq : Token_ID_Arrays.Vector renames Min
(Minimal_Terminal_Sequences (ID)).Sequence;
+ use all type Ada.Containers.Count_Type;
+ Min_Seq : Token_ID_Arrays.Vector renames Min
(Minimal_Terminal_Sequences (ID).Sequence);
begin
if Min_Seq.Length = 0 then
Result (ID) := Invalid_Token_ID;
@@ -800,6 +736,7 @@ package body WisiToken.Generate.LR is
Kernel : in LR1_Items.Item_Set;
Descriptor : in WisiToken.Descriptor;
Grammar : in
WisiToken.Productions.Prod_Arrays.Vector;
+ Nullable : in Token_Array_Production_ID;
Minimal_Terminal_Sequences : in Minimal_Sequence_Array;
Minimal_Terminal_First : in Token_Array_Token_ID)
is
@@ -809,20 +746,20 @@ package body WisiToken.Generate.LR is
subtype Terminals is Token_ID range Descriptor.First_Terminal ..
Descriptor.Last_Terminal;
- Working_Set : LR1_Items.Item_Lists.List := Kernel.Set;
- Recursive : Boolean := False;
-
function Find_Action (List : in Action_Arrays.Vector; ID : in Token_ID)
return Minimal_Action
is begin
+ -- ID is a terminal after Dot in an item in a kernel that has List as
+ -- the actions; return the appropriate action.
for Node of List loop
if Node.Symbol = ID then
case Node.Actions.Item.Verb is
when Shift =>
- return (Shift, ID, Node.Actions.Item.State);
+ return (Shift, Node.Actions.Item.Production, ID,
Node.Actions.Item.State);
when Reduce =>
-- Item.Dot is a nonterm that starts with a nullable
nonterm; reduce
- -- to that first.
- return (Reduce, Node.Actions.Item.Production.LHS, 0);
+ -- to that first. After any more such reductions, the
action will be
+ -- Shift ID.
+ return (Reduce, Node.Actions.Item.Production, 0);
when Accept_It | WisiToken.Parse.LR.Error =>
raise SAL.Programmer_Error;
end case;
@@ -831,337 +768,339 @@ package body WisiToken.Generate.LR is
raise SAL.Programmer_Error;
end Find_Action;
- function Min_Length (Item : in RHS_Sequence_Arrays.Vector) return
Ada.Containers.Count_Type
- is
- use Ada.Containers;
- Min : Count_Type := Count_Type'Last;
- begin
- for RHS of Item loop
- if RHS.Sequence.Length < Min then
- Min := RHS.Sequence.Length;
+ function Compute_Action (ID : in Token_ID) return Minimal_Action
+ is begin
+ if ID in Terminals then
+ return Find_Action (State.Action_List, ID);
+
+ else
+ if Minimal_Terminal_First (ID) = Invalid_Token_ID then
+ -- Item.Dot is a nullable nonterm; include a reduce to the null
+ -- nonterm, rather than a shift of the following terminal;
recover
+ -- must do the reduce first.
+ return (Reduce, (ID, Minimal_Terminal_Sequences (ID).Min_RHS),
Token_Count => 0);
+
+ else
+ return Find_Action (State.Action_List, Minimal_Terminal_First
(ID));
end if;
- end loop;
- return Min;
- end Min_Length;
+ end if;
+ end Compute_Action;
- function After_Dot_Length (Item : in LR1_Items.Item) return
Ada.Containers.Count_Type
+ function Length_After_Dot (Item : in LR1_Items.Item) return
Ada.Containers.Count_Type
is
use Ada.Containers;
Prod : constant Production_ID := Item.Prod;
- I : Token_ID_Arrays.Cursor := Item.Dot;
Result : Count_Type := 0;
Tokens : Vector renames Grammar (Prod.LHS).RHSs (Prod.RHS).Tokens;
+ I : Token_ID_Arrays.Cursor := Tokens.To_Cursor (Item.Dot);
begin
+ if not Has_Element (I) then
+ -- Can only compute this at runtime.
+ return 0;
+ end if;
+
loop
- exit when I = Token_ID_Arrays.No_Element;
+ exit when not Has_Element (I);
- if Tokens (I) in Terminals then
+ if Element (I) in Terminals then
Result := Result + 1;
else
- Result := Result + Min_Length (Minimal_Terminal_Sequences
(Tokens (I)));
+ Result := Result + Min_Length (Minimal_Terminal_Sequences
(Tokens (I)).Sequence);
end if;
Next (I);
end loop;
return Result;
- end After_Dot_Length;
+ end Length_After_Dot;
- procedure Delete_Non_Minimal
- is
- use Ada.Containers;
+ begin
+ if Kernel.State = 0 then
+ -- State 0 has dot before all tokens, which is never needed in the
+ -- Minimal_Complete_Action algorithm.
+ return;
- Min_Length : Count_Type := Count_Type'Last;
- I : LR1_Items.Item_Lists.Cursor;
- Recursive_Count : Count_Type := 0;
- Delete_Recursive : Boolean;
+ elsif (for some Item of Kernel.Set =>
+ Item.Prod.LHS = Descriptor.Accept_ID and
+ (Item.Dot /= No_Index and then Productions.Constant_Ref_RHS
+ (Grammar, Item.Prod).Tokens (Item.Dot) = Descriptor.EOI_ID))
+ then
+ -- No actions
+ return;
+ end if;
+
+ -- Set State.Kernel, and delete Items from Working_Set that are known
+ -- to be non-minimal.
+ declare
+ use Ada.Containers;
- function Immediate_Recursive return Boolean
+ function Before_Dot (Item : in LR1_Items.Item) return Token_ID
is
- -- Direct left recursion is never minimal; for example, consider
- -- ada_lite LALR state 149:
- --
- -- 61.0:association_list <= association_list ^ COMMA
association_opt
- --
- -- If we already have an association_list, adding a COMMA to it
- -- cannot be minimal.
- --
- -- Similarly, indirect left recursion is not minimal; consider
- -- ada_lite LALR states 29 and 60:
- --
- -- State 29:
- -- 103.3:name <= selected_component ^,
- --
- -- State 60:
- -- 94.0:function_specification <= FUNCTION name ^
parameter_and_result_profile
- -- 103.0:name <= name ^ LEFT_PAREN range_list
- -- 103.1:name <= name ^ actual_parameter_part
- -- 123.0:selected_component <= name ^ DOT IDENTIFIER
- --
- -- If we already have a name, adding actual_parameter_part or DOT
IDENTIFIER cannot be
- -- minimal.
-
- -- There is a trade off here between error recovery power and
risk of
- -- recursive loops. Consider ada_lite state 152:
- --
- -- 103.0:name <= name LEFT_PAREN range_list ^ RIGHT_PAREN
- -- 117.0:range_list <= range_list ^ COMMA range_g
- --
- -- Both productions are Left_Recursive, but in the first item,
dot is past
- -- the recursion, and can be usefully completed.
- --
- -- However, that might allow loops; see java_enum_ch19.wy.
- --
- -- A similar argument applies to right recursive items; from
- -- java_expressions_ch19.wy:
- --
- -- State 7:
- -- 27.0:Assignment <= LeftHandSide ^ EQUAL Expression
- --
- -- State 22:
- -- 28.0:LeftHandSide <= Identifier ^
- -- 34.0:ClassType <= Identifier ^
- --
- -- State 25:
- -- 24.1:Expression <= AssignmentExpression ^
- --
- -- State 26:
- -- 26.1:AssignmentExpression <= Assignment ^
- --
- -- Choosing LeftHandSide for the minimal action in state 22 will
lead
- -- to a loop thru state 7. However, Assignment can also occur in
- -- Statement, where it is not recursive:
- --
- -- State 1:
- -- 23.0:Statement <= LEFT_CURLY_BRACKET ^ Assignment
RIGHT_CURLY_BRACKET
- --
- -- This is not easy to check for.
- --
- -- It is not expensive to check for loops in
Minimal_Complete_Action
- -- at run-time, so given all the above we allow items that are
"past
- -- the recursion" here.
-
- Item : LR1_Items.Item renames Constant_Ref (I).Element.all;
- Prod : constant WisiToken.Production_ID := Item.Prod;
- Min_Seq : RHS_Sequence renames Minimal_Terminal_Sequences
(Prod.LHS)(Prod.RHS);
+ Tokens : Token_ID_Arrays.Vector renames Grammar
(Item.Prod.LHS).RHSs (Item.Prod.RHS).Tokens;
begin
- return Min_Seq.Worst_Recursion in Right | Left and then
- (Has_Element (Item.Dot) and then
- Item.Dot = To_Cursor (Grammar (Prod.LHS).RHSs
(Prod.RHS).Tokens, 2));
- end Immediate_Recursive;
-
- begin
- -- The absolute minimal production for an LHS may not be in this
- -- state. For example, for an Ada aggregate, the absolute minimal
- -- terminal sequence is:
- --
- -- aggregate <= LEFT_PAREN RIGHT_PAREN
- --
- -- but one state has only:
- --
- -- aggregate <= LEFT_PAREN expression_opt WITH ^ NULL RECORD
RIGHT_PAREN
- -- aggregate <= LEFT_PAREN expression_opt WITH ^ association_list
RIGHT_PAREN
- --
- -- Find the minimum tokens after dot of the productions that are
present
-
- -- First see if all are recursive
- I := Working_Set.First;
- loop
- exit when not Has_Element (I);
-
- if Immediate_Recursive then
- Recursive_Count := Recursive_Count + 1;
+ if Item.Dot = Token_ID_Arrays.No_Index then
+ return Tokens (Tokens.Last_Index);
+ else
+ return Tokens (Item.Dot - 1);
end if;
+ end Before_Dot;
+
+ type State_Label is (Unknown, Keep_Always, Keep_If_Minimal, Drop);
+ type Item_State (Label : State_Label := Unknown)
+ is record
+ case Label is
+ when Keep_Always | Keep_If_Minimal =>
+ Minimal_Action : WisiToken.Parse.LR.Minimal_Action;
+ -- Minimal_Action.Production = Invalid_Production_ID (the
default) if it is unknown.
+ when Unknown | Drop =>
+ null;
+ end case;
+ end record;
- Next (I);
- end loop;
-
- Delete_Recursive := Recursive_Count < Working_Set.Length;
+ subtype Kernel_Index is Count_Type range 1 .. Kernel.Set.Length;
+ Item_States : array (Kernel_Index) of Item_State;
+ I : Kernel_Index := Kernel_Index'First;
+ Min_Length : Count_Type := Count_Type'Last;
+ begin
+ State.Kernel.Set_First_Last (Kernel_Index'First, Kernel_Index'Last);
+ for Item of Kernel.Set loop
+ declare
+ RHS : WisiToken.Productions.Right_Hand_Side renames
+ Grammar (Item.Prod.LHS).RHSs (Item.Prod.RHS);
+ Dot_ID : constant Token_ID :=
+ (if Item.Dot = No_Index
+ then Invalid_Token_ID
+ else RHS.Tokens (Item.Dot));
+
+ -- Kernel components
+ Length_After_Dot : constant Count_Type :=
Set_Minimal_Complete_Actions.Length_After_Dot (Item);
+ Reduce_Production : constant Production_ID :=
+ (if Length_After_Dot = 0
+ then (if Dot_ID in Nullable'Range then Nullable (Dot_ID)
else Item.Prod)
+ else Invalid_Production_ID);
+ Reduce_Count : constant Count_Type :=
+ (if Reduce_Production = Invalid_Production_ID
+ then 0
+ else Grammar (Reduce_Production.LHS).RHSs
(Reduce_Production.RHS).Tokens.Length);
+ begin
+ -- Here we must compute Item_State (I).Label and
.Minimal_Action,
+ -- considering recursion.
+ --
+ -- Insert_Minimal_Complete_Actions does not need any recursion
+ -- information at runtim, because we elminate all cases where
it
+ -- might here.
+ --
+ -- The strategy in Insert_Minimal_Complete_Actions when
+ -- Item.Length_After_Dot = 0 is to compute Length_After_Dot by
doing
+ -- Reduce until a Shift is encountered, and using
Length_After_Dot
+ -- for that item. --
+ --
+ -- Consider these kernel items with possible recursion (from
+ -- ada_lite_lalr.parse_table - not listed in state order here,
to
+ -- group related productions). The recursion of each
production is
+ -- shown after ';', if not all None.
+ --
+ -- State 2:
+ -- 86.0:exit_statement <= EXIT ^ identifier_opt WHEN
expression_opt SEMICOLON
+ -- 86.1:exit_statement <= EXIT ^ identifier_opt SEMICOLON
+ --
+ -- State 43:
+ -- 103.2:name <= IDENTIFIER ^
+ --
+ -- State 30:
+ -- 103.3:name <= selected_component ^ ; ( 1 => Other_Left)
+ --
+ -- State 47:
+ -- 103.0:name <= name ^ LEFT_PAREN range_list RIGHT_PAREN
; ( 1 => Direct_Left, 3 => Other)
+ -- 103.1:name <= name ^ actual_parameter_part ; ( 1 =>
Direct_Left, 2 => Other)
+ -- 113.2:primary <= name ^ ; ( 1 => Other_Left)
+ -- 124.0:selected_component <= name ^ DOT IDENTIFIER ; ( 1
=> Other_Left)
+ --
+ -- State 68:
+ -- 95.1:generic_instantiation <= PROCEDURE name ^ IS NEW
name SEMICOLON
+ -- 103.0:name <= name ^ LEFT_PAREN range_list RIGHT_PAREN
; ( 1 => Direct_Left, 3 => Other)
+ -- 103.1:name <= name ^ actual_parameter_part ; ( 1 =>
Direct_Left, 2 => Other)
+ -- 115.0:procedure_specification <= PROCEDURE name ^
parameter_profile_opt
+ -- 124.0:selected_component <= name ^ DOT IDENTIFIER ; ( 1
=> Other_Left)
+ --
+ -- State 50:
+ -- 87.1:expression <= relation_and_list ^ ; ( 1 =>
Other_Left)
+ -- 119.0:relation_and_list <= relation_and_list ^ AND
relation ; ( 1 => Direct_Left, 3 => Other)
+ --
+ --
+ -- State 77:
+ -- 57.0:actual_parameter_part <= LEFT_PAREN ^
association_list RIGHT_PAREN ; ( 2 => Other)
+ -- 103.0:name <= name LEFT_PAREN ^ range_list RIGHT_PAREN
; ( 1 => Direct_Left, 3 => Other)
+ --
+ -- State 154:
+ -- 103.0:name <= name LEFT_PAREN range_list ^ RIGHT_PAREN
+ -- 118.0:range_list <= range_list ^ COMMA range_g
+ --
+ -- State 251:
+ -- 110.0:parameter_specification <= IDENTIFIER COLON
IDENTIFIER ^ COLON_EQUAL expression_opt
+ -- 110.1:parameter_specification <= IDENTIFIER COLON
IDENTIFIER ^
+ --
+ -- From java_enum_ch19_lr1.parse_table:
+ --
+ -- State 8:
+ -- 9.1:EnumConstantList <= EnumConstantList COMMA ^
EnumConstant ; (1 => Direct_Left, 3 => Other)
+ -- 11.0:EnumBody <= LEFT_CURLY_BRACKET EnumConstantList
COMMA ^ RIGHT_CURLY_BRACKET
+ --
+ -- From empty_production_2_lalar.parse_table:
+ --
+ -- State 5:
+ -- 8.0:declarations <= declarations ^ declaration
+ -- 9.0:body <= IS declarations ^ BEGIN SEMICOLON
+
+ -- case 0: In states 43 and 30, there is only one possible
action, so
+ -- recursion is not considered. Minimal_Action is
+ -- computed by Compute_Minimal_Action, Label is Keep_Always.
+ --
+ -- In the following, we only consider kernels where there is
more
+ -- than one item.
+ --
+ -- case 1: In state 47 production 113.2, Length_After_Dot is
0, so
+ -- recursion is not considered. We set Label to Keep_Always,
since
+ -- the true Length_After_Dot must be computed at runtime.
+ -- Minimal_Action is Reduce_Production.
+ --
+ -- Similarly in state 68 production 115.0, Length_After_Dot is 0
+ -- because parameter_profile_opt is nullable, and we set Label
to
+ -- Keep_Always, Minimal_Action to Reduce_Production.
+ --
+ -- case 2: In state 47, if LEFT_PAREN or First
+ -- (actual_parameter_part) is inserted, a recursion cycle is
followed
+ -- via 103.0 or 103.1; these have Direct_Left recursion, can
never be
+ -- minimal, and we set Label to Drop. 113.2 breaks the
recursion; it
+ -- has Length_After_Dot = 0 and is covered by case 1. 124.0 has
+ -- Other_Left; since Length_After_Dot is > 0, it follows the
+ -- recursion cycle and is never minimal, so it is the same as
+ -- Direct_Left. Similarly, in java_enum_ch19_lr1.parse_table
state 8
+ -- production 9.1, inserting EnumConstant continues the
recursion
+ -- cycle; left recursion applies even when it is not just
before the
+ -- parse point. On the other hand, in ada_lite state 154, both
+ -- productions are left recursive; 103.0 could be preserved.
In the
+ -- current algorithm, both are dropped.
+ --
+ -- It is possible for both case 1 and case 2 to apply; see
+ -- empty_production_2_lalar.parse_table State 5 above and
+ -- ada_lite_ebnf_lalr.parse_table state 46. case 1 has
precedence if
+ -- Dot = No_Element.
+ --
+ -- case 3: In state 251, there is no recursion, and
Length_After_Dot
+ -- is correct; Label is set to Keep_If_Minimal, Minimal_Action
to
+ -- Compute_Minimal_Action. In State 77, Dot_ID is
association_list
+ -- which has Other recursion; we say "there is recursion at
the parse
+ -- point". However, Length_After_Dot is correct; it assumes the
+ -- recursion-breaking case for the expansion of
association_list. So
+ -- this is the same as no recursion at the parse point
+ --
+ -- It is possible for both case 2 and 3 to be true; see
+ -- empty_production_2_lalr.parse_table state 5. Case 2 has
+ -- precedence (left recursion is worse).
+
+ if Item_States'Length = 1 then
+ -- case 0
+ Item_States (I) :=
+ (Keep_Always,
+ (if Length_After_Dot = 0
+ then (Reduce, Reduce_Production, Reduce_Count)
+ else Compute_Action (Dot_ID)));
+
+ elsif Length_After_Dot = 0 then
+ if Item.Dot /= No_Index and RHS.Recursion (1) in Direct_Left
| Other_Left then
+ -- case 2
+ Item_States (I) := (Label => Drop);
+ else
+ -- case 1
+ Item_States (I) :=
+ (Label => Keep_Always,
+ Minimal_Action => (Reduce, Reduce_Production,
Reduce_Count));
+ end if;
- I := Working_Set.First;
- loop
- exit when not Has_Element (I);
+ elsif RHS.Recursion (1) in Direct_Left | Other_Left then
+ -- case 2
+ Item_States (I) := (Label => Drop);
- if Delete_Recursive and Immediate_Recursive then
- if Trace_Generate > Extra then
- Ada.Text_IO.Put_Line ("delete " & Image (Constant_Ref
(I).Prod) & " recursive");
+ else
+ -- case 3
+ Item_States (I) := (Keep_If_Minimal, Compute_Action
(Dot_ID));
end if;
- declare
- Del : LR1_Items.Item_Lists.Cursor := I;
- begin
- Next (I);
- Working_Set.Delete (Del);
- end;
-
- else
- Recursive := Recursive or Minimal_Terminal_Sequences
- (Constant_Ref (I).Prod.LHS)(Constant_Ref
(I).Prod.RHS).Worst_Recursion in
- Left | Right;
-
- declare
- Prod_Length : constant Count_Type := After_Dot_Length
(Constant_Ref (I));
- begin
- if Min_Length > Prod_Length then
- Min_Length := Prod_Length;
- end if;
- end;
- Next (I);
- end if;
- end loop;
-
- -- Now we have the minimum length; check remaining items against that
- I := Working_Set.First;
- loop
- exit when not Has_Element (I);
- if Min_Length < After_Dot_Length (Constant_Ref (I)) then
- declare
- Del : LR1_Items.Item_Lists.Cursor := I;
- begin
- if Trace_Generate > Extra then
- Ada.Text_IO.Put_Line ("delete " & Image (Constant_Ref
(I).Prod));
+ State.Kernel (I) :=
+ (Production => Item.Prod,
+ Before_Dot => Before_Dot (Item),
+ Length_After_Dot => Length_After_Dot,
+ Reduce_Production => Reduce_Production,
+ Reduce_Count => Reduce_Count);
+
+ if Item_States (I).Label = Keep_If_Minimal then
+ if Length_After_Dot < Min_Length then
+ Min_Length := Length_After_Dot;
end if;
- Next (I);
- Working_Set.Delete (Del);
- end;
- else
- if Trace_Generate > Extra then
- Ada.Text_IO.Put_Line ("keep " & Image (Constant_Ref
(I).Prod));
end if;
- Next (I);
- end if;
- end loop;
- end Delete_Non_Minimal;
- begin
- if Kernel.State > 0 then
- declare
- use Ada.Containers;
- I : Count_Type := 1;
+ if Trace_Generate_Minimal_Complete > Extra then
+ Ada.Text_IO.Put_Line
+ ("kernel" & I'Image & " " & Strict_Image (State.Kernel
(I)) &
+ " ; " & Item_States (I).Label'Image &
+ " " & State.Kernel (I).Length_After_Dot'Image);
+ end if;
- function Before_Dot (Item : in LR1_Items.Item) return Token_ID
- is
- Tokens : Token_ID_Arrays.Vector renames Grammar
(Item.Prod.LHS).RHSs (Item.Prod.RHS).Tokens;
- begin
- if Item.Dot = Token_ID_Arrays.No_Element then
- return Tokens (Tokens.Last_Index);
- else
- return Tokens (Prev (Item.Dot));
+ if I < Kernel_Index'Last then
+ I := I + 1;
end if;
- end Before_Dot;
- begin
- State.Kernel.Set_First_Last (1, Kernel.Set.Length);
- for Item of Kernel.Set loop
- State.Kernel (I) :=
- (LHS => Item.Prod.LHS,
- Before_Dot => Before_Dot (Item),
- Length_After_Dot => After_Dot_Length (Item),
- Recursive => Minimal_Terminal_Sequences
- (Item.Prod.LHS)(Item.Prod.RHS).Worst_Recursion in Right |
Left);
+ end;
+ end loop;
- I := I + 1;
- end loop;
- end;
- end if;
+ -- It is tempting to Assert that if all items are dropped, there is a
+ -- grammar recursion cycle with no exit. But that is not true; see
+ -- java_expressions_ch19_lr1.parse_table, state 8. However, that
+ -- state should never be encountered during Insert_Minimal_Complete,
+ -- because it is never minimal. So we set Minimal_Actions to empty.
- -- The actions computed here are used in the error recovery
- -- algorithm, to decide what terminals to insert in the input stream
- -- in order to correct an error. The strategy is to complete a high
- -- level production (ie declaration or statement) as quickly as
- -- possible, because the next real token is known to be the start of
- -- a high level production, or the end of a containing block-style
- -- production.
- --
- -- The actions are empty in a state that includes the accept
- -- production. That tells the error recovery algorithm to stop using
- -- the minimal complete actions strategy.
+ -- Update State_Items based on Min_Length
+ for I in Item_States'Range loop
- if (for some Item of Working_Set =>
- Item.Prod.LHS = Descriptor.Accept_ID and
- (Has_Element (Item.Dot) and then Element (Item.Dot) =
Descriptor.EOI_ID))
- then
- -- No actions
- return;
- end if;
+ case Item_States (I).Label is
+ when Unknown =>
+ null;
- Delete_Non_Minimal;
+ when Keep_Always =>
+ pragma Assert (Item_States (I).Minimal_Action.Production /=
Invalid_Production_ID);
- State.Minimal_Complete_Actions_Recursive := Recursive;
+ when Keep_If_Minimal =>
+ if State.Kernel (I).Length_After_Dot = Min_Length then
+ null;
+ else
+ Item_States (I) := (Label => Drop);
+ end if;
- if Working_Set.Length > 0 then
- -- There are one or more productions with equal after-dot length in
- -- this state, all equally valid; the choice is determined by what
- -- input error recovery inserts.
- --
- -- We could simply choose one arbitrarily, but that can lead to loops
- -- (see discussion above in Immediate_Recursive). So we consider the
- -- higher level production. However, in general we cannot precompute
- -- what higher-level productions might be completed from each state;
- -- we must use the parse stack during error recovery. In that case,
- -- we store multiple minimal actions in the state (see
- -- Insert_Minimal_Complete_Actions in
- -- wisitoken-parse-lr-mckenzie_recover-explore.adb).
+ when Drop =>
+ null;
+ end case;
+ end loop;
- declare
- Actions : Minimal_Action_Array (1 .. Working_Set.Length) :=
(others => (others => <>));
+ -- Set State.Minimal_Actions
+ for Item_State of Item_States loop
+ case Item_State.Label is
+ when Unknown | Drop =>
+ null;
- I : Ada.Containers.Count_Type := 1;
- Skip : Boolean;
- begin
- for Item of Working_Set loop
-
- if not Has_Element (Item.Dot) then
- -- Item has no next terminal. Include a reduce action; the
- -- Minimal_Terminal_First for the resulting state will be
used.
- Actions (I) :=
- (Reduce, Item.Prod.LHS,
- Token_Count => Grammar (Item.Prod.LHS).RHSs
(Item.Prod.RHS).Tokens.Length);
+ when Keep_Always | Keep_If_Minimal =>
+ if (for some A of State.Minimal_Complete_Actions => A =
Item_State.Minimal_Action) then
+ -- Duplicate action; see
three_action_conflict_lalr.parse_table state
+ -- 3 or lalr_generator_bug_01_lalr.parse_table state 28
+ null;
else
- declare
- ID : constant Token_ID := Element (Item.Dot);
- begin
- if ID in Terminals then
- Actions (I) := Find_Action (State.Action_List, ID);
-
- else
- if Minimal_Terminal_First (ID) = Invalid_Token_ID then
- -- Item.Dot is a nullable nonterm; include a
reduce to the null
- -- nonterm, rather than a shift of the following
terminal; recover
- -- must do the reduce first.
- Actions (I) := (Reduce, ID, Token_Count => 0);
-
- else
- Actions (I) := Find_Action (State.Action_List,
Minimal_Terminal_First (ID));
- end if;
- end if;
- end;
+ pragma Assert (Item_State.Minimal_Action.Production /=
Invalid_Production_ID);
+ State.Minimal_Complete_Actions.Append
(Item_State.Minimal_Action);
end if;
- I := I + 1;
- end loop;
-
- if Actions'Length = 1 then
- State.Minimal_Complete_Actions :=
Minimal_Action_Arrays.To_Vector (Actions (Actions'First));
- else
- -- Check for duplicates; see
three_action_conflict_lalr.parse_table
- -- state 3 or lalr_generator_bug_01_lalr.parse_table state 28
- for I in Actions'Range loop
- Skip := False;
- for J in Actions'First .. I - 1 loop
- if Actions (I) = Actions (J) then
- Skip := True;
- exit;
- end if;
- end loop;
- if not Skip then
- State.Minimal_Complete_Actions.Append (Actions (I));
- end if;
- end loop;
- end if;
+ end case;
+ end loop;
- if Trace_Generate > Extra then
- Ada.Text_IO.Put_Line
- (Image (State.Minimal_Complete_Actions, Descriptor) & (if
Recursive then " recursive" else ""));
- end if;
- end;
- end if;
+ if Trace_Generate_Minimal_Complete > Extra then
+ Ada.Text_IO.Put_Line (Image (State.Minimal_Complete_Actions,
Descriptor));
+ end if;
+ end;
end Set_Minimal_Complete_Actions;
----------
@@ -1201,16 +1140,14 @@ package body WisiToken.Generate.LR is
Node_J : Parse_Action_Node_Ptr := Node_I.Actions;
begin
loop
- Put (File, Parse_Action_Verbs'Image (Node_J.Item.Verb));
+ Put (File, Node_J.Item.Verb'Image);
+ Put (File, Node_J.Item.Production.LHS'Image &
Node_J.Item.Production.RHS'Image);
case Node_J.Item.Verb is
when Shift =>
Put (File, State_Index'Image (Node_J.Item.State));
when Reduce | Accept_It =>
- Put (File, Token_ID'Image (Node_J.Item.Production.LHS) &
- Integer'Image (Node_J.Item.Production.RHS));
-
if Action_Names (Node_J.Item.Production.LHS) /= null and
then
Action_Names
(Node_J.Item.Production.LHS)(Node_J.Item.Production.RHS) /= null
then
@@ -1256,15 +1193,18 @@ package body WisiToken.Generate.LR is
New_Line (File);
if State.Kernel.Length = 0 then
- -- Not set for state 0
+ -- Kernel not set for state 0
Put_Line (File, "0 -1");
else
Put (File, Count_Type'Image (State.Kernel.First_Index));
Put (File, Count_Type'Image (State.Kernel.Last_Index));
for Item of State.Kernel loop
- Put (File, Token_ID'Image (Item.LHS) & Token_ID'Image
(Item.Before_Dot) &
- Count_Type'Image (Item.Length_After_Dot));
+ Put (File, Token_ID'Image (Item.Production.LHS) &
Item.Production.RHS'Image);
+ Put (File, Item.Before_Dot'Image);
+ Put (File, Count_Type'Image (Item.Length_After_Dot));
+ Put (File, Token_ID'Image (Item.Reduce_Production.LHS) &
Item.Reduce_Production.RHS'Image);
+ Put (File, Item.Reduce_Count'Image);
end loop;
New_Line (File);
end if;
@@ -1276,13 +1216,13 @@ package body WisiToken.Generate.LR is
Put (File, Count_Type'Image
(State.Minimal_Complete_Actions.Last_Index));
for Action of State.Minimal_Complete_Actions loop
Put (File, " ");
+ Put (File, Action.Verb'Image);
+ Put (File, Action.Production.LHS'Image &
Action.Production.RHS'Image);
case Action.Verb is
when Shift =>
- Put (File, Minimal_Verbs'Image (Action.Verb));
Put (File, Token_ID'Image (Action.ID) & State_Index'Image
(Action.State));
when Reduce =>
- Put (File, Minimal_Verbs'Image (Action.Verb));
- Put (File, Token_ID'Image (Action.Nonterm) &
Ada.Containers.Count_Type'Image (Action.Token_Count));
+ Put (File, Action.Token_Count'Image);
end case;
end loop;
end if;
@@ -1369,14 +1309,18 @@ package body WisiToken.Generate.LR is
case Item.Verb is
when Shift =>
Put ("shift and goto state" & State_Index'Image (Item.State));
+ Put (" " & Trimmed_Image (Item.Production));
+
when Reduce =>
Put
("reduce" & Count_Type'Image (Item.Token_Count) & " tokens to " &
Image (Item.Production.LHS, Descriptor));
Put (" " & Trimmed_Image (Item.Production));
+
when Accept_It =>
Put ("accept it");
Put (" " & Trimmed_Image (Item.Production));
+
when Parse.LR.Error =>
Put ("ERROR");
end case;
@@ -1439,66 +1383,56 @@ package body WisiToken.Generate.LR is
when Shift =>
Put (Image (Action.ID, Descriptor));
when Reduce =>
- Put (Image (Action.Nonterm, Descriptor));
+ Put (Image (Action.Production.LHS, Descriptor));
end case;
+ Put (" " & Trimmed_Image (Action.Production));
end;
when others =>
Put ("(");
for I in State.Minimal_Complete_Actions.First_Index ..
State.Minimal_Complete_Actions.Last_Index loop
- case State.Minimal_Complete_Actions (I).Verb is
- when Shift =>
- Put (Image (State.Minimal_Complete_Actions (I).ID, Descriptor));
- when Reduce =>
- Put (Image (State.Minimal_Complete_Actions (I).Nonterm,
Descriptor));
- end case;
+ declare
+ Action : Minimal_Action renames State.Minimal_Complete_Actions
(I);
+ begin
+ case Action.Verb is
+ when Shift =>
+ Put (Image (Action.ID, Descriptor));
+ when Reduce =>
+ Put (Image (Action.Production.LHS, Descriptor));
+ end case;
+ Put (" " & Trimmed_Image (Action.Production));
+ end;
if I < State.Minimal_Complete_Actions.Last_Index then
Put (", ");
end if;
end loop;
Put (")");
end case;
- if State.Minimal_Complete_Actions_Recursive then
- Put_Line (" recursive");
- else
- New_Line;
- end if;
+ New_Line;
end Put;
procedure Put_Parse_Table
- (Table : in Parse_Table_Ptr;
- Title : in String;
- Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
- Recursions : in Generate.Recursions;
- Minimal_Terminal_Sequences : in Minimal_Sequence_Array;
- Kernels : in LR1_Items.Item_Set_List;
- Conflicts : in Conflict_Count_Lists.List;
- Descriptor : in WisiToken.Descriptor;
- Include_Extra : in Boolean := False)
+ (Table : in Parse_Table_Ptr;
+ Parse_Table_File_Name : in String;
+ Title : in String;
+ Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
+ Recursions : in Generate.Recursions;
+ Kernels : in LR1_Items.Item_Set_List;
+ Conflicts : in Conflict_Count_Lists.List;
+ Descriptor : in WisiToken.Descriptor;
+ Include_Extra : in Boolean := False)
is
use all type Ada.Containers.Count_Type;
use Ada.Text_IO;
+ Parse_Table_File : File_Type;
begin
+ Create (Parse_Table_File, Out_File, Parse_Table_File_Name);
+ Set_Output (Parse_Table_File);
Put_Line ("Tokens:");
WisiToken.Put_Tokens (Descriptor);
New_Line;
Put_Line ("Productions:");
- for LHS in Grammar.First_Index .. Grammar.Last_Index loop
- declare
- Prod : WisiToken.Productions.Instance renames Grammar (LHS);
- begin
- for RHS in Prod.RHSs.First_Index .. Prod.RHSs.Last_Index loop
- Put (WisiToken.Productions.Image (Prod.LHS, RHS, Prod.RHSs
(RHS).Tokens, Descriptor));
- if not Include_Extra or Minimal_Terminal_Sequences
(LHS)(RHS).Recursion.Length = 0 then
- New_Line;
- else
- Put_Line
- (" ; " & Image (Minimal_Terminal_Sequences
(LHS)(RHS).Recursion) & " " &
- Recursion'Image (Minimal_Terminal_Sequences
(LHS)(RHS).Worst_Recursion));
- end if;
- end loop;
- end;
- end loop;
+ WisiToken.Productions.Put (Grammar, Descriptor);
if Include_Extra then
New_Line;
@@ -1509,8 +1443,8 @@ package body WisiToken.Generate.LR is
end if;
if Table.McKenzie_Param.Check_Limit /=
Default_McKenzie_Param.Check_Limit or
- Table.McKenzie_Param.Check_Delta_Limit /=
Default_McKenzie_Param.Check_Delta_Limit or
- Table.McKenzie_Param.Enqueue_Limit /=
Default_McKenzie_Param.Enqueue_Limit
+ Table.McKenzie_Param.Check_Delta_Limit /=
Default_McKenzie_Param.Check_Delta_Limit or
+ Table.McKenzie_Param.Enqueue_Limit /=
Default_McKenzie_Param.Enqueue_Limit
then
New_Line;
Put_Line ("McKenzie:");
@@ -1521,8 +1455,18 @@ package body WisiToken.Generate.LR is
Put_Line (Title & " Parse Table:");
for State_Index in Table.States'Range loop
- LR1_Items.Put
- (Grammar, Descriptor, Kernels (State_Index), Kernel_Only => True,
Show_Lookaheads => Include_Extra);
+ Put_Line ("State" & Unknown_State_Index'Image (State_Index) & ":");
+
+ declare
+ use WisiToken.Generate.LR1_Items;
+ begin
+ for Item of Kernels (State_Index).Set loop
+ if In_Kernel (Grammar, Descriptor, Item) then
+ Put (" " & Image (Grammar, Descriptor, Item,
Show_Lookaheads => False));
+ New_Line;
+ end if;
+ end loop;
+ end;
New_Line;
Put (Descriptor, Table.States (State_Index));
@@ -1559,6 +1503,8 @@ package body WisiToken.Generate.LR is
New_Line;
Put_Line (" 0 accept/reduce conflicts, 0 shift/reduce conflicts, 0
reduce/reduce conflicts");
end if;
+ Set_Output (Standard_Output);
+ Close (Parse_Table_File);
end Put_Parse_Table;
end WisiToken.Generate.LR;
diff --git a/packages/wisi/wisitoken-generate-lr.ads
b/packages/wisi/wisitoken-generate-lr.ads
index 1bb9e2b..00257fe 100644
--- a/packages/wisi/wisitoken-generate-lr.ads
+++ b/packages/wisi/wisitoken-generate-lr.ads
@@ -2,7 +2,7 @@
--
-- Common utilities for LR parser table generators.
--
--- Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2017 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -127,33 +127,27 @@ package WisiToken.Generate.LR is
----------
-- Minimal terminal sequences.
- type RHS_Sequence is
- record
- Recursion : Recursion_Lists.List;
- -- All recursion cycles involving this RHS.
-
- Worst_Recursion : WisiToken.Recursion := None; -- worst case of all
Recursion.
-
- Sequence : Token_ID_Arrays.Vector;
- end record;
-
package RHS_Sequence_Arrays is new SAL.Gen_Unbounded_Definite_Vectors
- (Natural, RHS_Sequence, Default_Element => (others => <>));
+ (Natural, Token_ID_Arrays.Vector, Default_Element =>
Token_ID_Arrays.Empty_Vector);
- function Image (Item : in RHS_Sequence; Descriptor : in
WisiToken.Descriptor) return String;
- -- Positional Ada aggregate syntax.
+ function Image is new RHS_Sequence_Arrays.Gen_Image_Aux (Descriptor,
Trimmed_Image, Image_No_Assoc);
- function Image is new RHS_Sequence_Arrays.Gen_Image_Aux (Descriptor,
Trimmed_Image, Image);
+ function Min_Length (Item : in RHS_Sequence_Arrays.Vector) return
Ada.Containers.Count_Type;
+ -- Return minimum length of elements of Item.
- function Min (Item : in RHS_Sequence_Arrays.Vector) return RHS_Sequence;
+ function Min (Item : in RHS_Sequence_Arrays.Vector) return
Token_ID_Arrays.Vector;
-- Return element of Item with minimum length;
- type Minimal_Sequence_Array is array (Token_ID range <>) of
RHS_Sequence_Arrays.Vector;
+ type Minimal_Sequence_Item is record
+ Min_RHS : Natural := Natural'Last;
+ Sequence : RHS_Sequence_Arrays.Vector;
+ end record;
+
+ type Minimal_Sequence_Array is array (Token_ID range <>) of
Minimal_Sequence_Item;
function Compute_Minimal_Terminal_Sequences
(Descriptor : in WisiToken.Descriptor;
- Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
- Recursions : in Generate.Recursions)
+ Grammar : in WisiToken.Productions.Prod_Arrays.Vector)
return Minimal_Sequence_Array;
-- For each production in Grammar, compute the minimal sequence of
-- terminals that will complete it. Result is an empty sequence if
@@ -172,12 +166,12 @@ package WisiToken.Generate.LR is
Kernel : in LR1_Items.Item_Set;
Descriptor : in WisiToken.Descriptor;
Grammar : in
WisiToken.Productions.Prod_Arrays.Vector;
+ Nullable : in Token_Array_Production_ID;
Minimal_Terminal_Sequences : in Minimal_Sequence_Array;
Minimal_Terminal_First : in Token_Array_Token_ID);
-- Set State.Minimal_Complete_Actions to the set of actions that will
-- most quickly complete the productions in Kernel (which must be for
- -- State). Useful in error correction when we know the next actual
- -- terminal is a block ending or statement start.
+ -- State). Useful in error correction.
--
-- The Minimal_Complete_Actions will be empty in a state where there
-- is nothing useful to do; the accept state, or one where all
@@ -206,15 +200,15 @@ package WisiToken.Generate.LR is
-- Put Item to Ada.Text_IO.Current_Output in parse table format.
procedure Put_Parse_Table
- (Table : in Parse_Table_Ptr;
- Title : in String;
- Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
- Recursions : in Generate.Recursions;
- Minimal_Terminal_Sequences : in Minimal_Sequence_Array;
- Kernels : in LR1_Items.Item_Set_List;
- Conflicts : in Conflict_Count_Lists.List;
- Descriptor : in WisiToken.Descriptor;
- Include_Extra : in Boolean := False);
- -- "Extra" is recursions, lookaheads.
+ (Table : in Parse_Table_Ptr;
+ Parse_Table_File_Name : in String;
+ Title : in String;
+ Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
+ Recursions : in Generate.Recursions;
+ Kernels : in LR1_Items.Item_Set_List;
+ Conflicts : in Conflict_Count_Lists.List;
+ Descriptor : in WisiToken.Descriptor;
+ Include_Extra : in Boolean := False);
+ -- "Extra" is recursions.
end WisiToken.Generate.LR;
diff --git a/packages/wisi/wisitoken-generate-lr1_items.adb
b/packages/wisi/wisitoken-generate-lr1_items.adb
index f394b67..37e6f0e 100644
--- a/packages/wisi/wisitoken-generate-lr1_items.adb
+++ b/packages/wisi/wisitoken-generate-lr1_items.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2002, 2003, 2008, 2009, 2012 - 2015, 2017 - 2019 Free
Software Foundation, Inc.
+-- Copyright (C) 2002, 2003, 2008, 2009, 2012 - 2015, 2017 - 2020 Free
Software Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -35,25 +35,34 @@ package body WisiToken.Generate.LR1_Items is
----------
-- body subprograms
- function Get_Dot_IDs (Set : in Item_Lists.List; Descriptor : in
WisiToken.Descriptor) return Token_ID_Arrays.Vector
+ function Get_Dot_IDs
+ (Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
+ Set : in Item_Lists.List;
+ Descriptor : in WisiToken.Descriptor)
+ return Token_ID_Arrays.Vector
is
- use all type Token_ID_Arrays.Cursor;
use Item_Lists;
IDs : Token_ID_Set (Descriptor.First_Terminal ..
Descriptor.Last_Nonterminal) := (others => False);
begin
for Item of Set loop
- if Item.Dot /= Token_ID_Arrays.No_Element then
- if Element (Item.Dot) /= Descriptor.EOI_ID then
- IDs (Element (Item.Dot)) := True;
+ declare
+ use Token_ID_Arrays;
+ Dot : constant Token_ID_Arrays.Cursor :=
+ WisiToken.Productions.Constant_Ref_RHS (Grammar,
Item.Prod).Tokens.To_Cursor (Item.Dot);
+ begin
+ if Has_Element (Dot) then
+ if Element (Dot) /= Descriptor.EOI_ID then
+ IDs (Element (Dot)) := True;
+ end if;
end if;
- end if;
+ end;
end loop;
return To_Array (IDs);
end Get_Dot_IDs;
function Merge
(Prod : in Production_ID;
- Dot : in Token_ID_Arrays.Cursor;
+ Dot : in Token_ID_Arrays.Extended_Index;
Lookaheads : in Lookahead;
Existing_Set : in out Item_Set)
return Boolean
@@ -66,7 +75,7 @@ package body WisiToken.Generate.LR1_Items is
Found : constant Item_Lists.Cursor := Find (Prod, Dot, Existing_Set);
Modified : Boolean := False;
begin
- if Found = No_Element then
+ if not Has_Element (Found) then
Existing_Set.Set.Insert ((Prod, Dot, new Token_ID_Set'(Lookaheads)));
Modified := True;
@@ -104,32 +113,13 @@ package body WisiToken.Generate.LR1_Items is
end Lookahead_Image;
function Item_Compare (Left, Right : in Item) return SAL.Compare_Result
- is begin
- if Left.Prod.LHS > Right.Prod.LHS then
- return SAL.Greater;
- elsif Left.Prod.LHS < Right.Prod.LHS then
- return SAL.Less;
-
- elsif Left.Prod.RHS > Right.Prod.RHS then
- return SAL.Greater;
- elsif Left.Prod.RHS < Right.Prod.RHS then
- return SAL.Less;
-
- else
- declare
- Left_Index : Integer renames Token_ID_Arrays.To_Index (Left.Dot);
- Right_Index : Integer renames Token_ID_Arrays.To_Index (Right.Dot);
- begin
- if Left_Index > Right_Index then
- return SAL.Greater;
- elsif Left_Index < Right_Index then
- return SAL.Less;
- else
- return SAL.Equal;
- end if;
- end;
- end if;
- end Item_Compare;
+ is (if Left.Prod.LHS > Right.Prod.LHS then SAL.Greater
+ elsif Left.Prod.LHS < Right.Prod.LHS then SAL.Less
+ elsif Left.Prod.RHS > Right.Prod.RHS then SAL.Greater
+ elsif Left.Prod.RHS < Right.Prod.RHS then SAL.Less
+ elsif Left.Dot > Right.Dot then SAL.Greater
+ elsif Left.Dot < Right.Dot then SAL.Less
+ else SAL.Equal);
procedure Include
(Item : in out LR1_Items.Item;
@@ -204,18 +194,19 @@ package body WisiToken.Generate.LR1_Items is
Item : in LR1_Items.Item)
return Boolean
is
+ use all type Ada.Containers.Count_Type;
use Token_ID_Arrays;
Prod : WisiToken.Productions.Instance renames Grammar (Item.Prod.LHS);
RHS : WisiToken.Productions.Right_Hand_Side renames Prod.RHSs
(Item.Prod.RHS);
begin
return
- No_Element /= RHS.Tokens.First and
- (Item.Dot = No_Element or else
+ RHS.Tokens.Length > 0 and
+ (Item.Dot = No_Index or else
((Prod.LHS = Descriptor.Accept_ID and
- Item.Dot = RHS.Tokens.First)
+ Item.Dot = RHS.Tokens.First_Index)
-- Start symbol production with dot before first token.
or
- Item.Dot /= RHS.Tokens.First));
+ Item.Dot /= RHS.Tokens.First_Index));
end In_Kernel;
function Find
@@ -227,32 +218,12 @@ package body WisiToken.Generate.LR1_Items is
end Find;
function Find
- (Prod : in Production_ID;
- Dot : in Token_ID_Arrays.Cursor;
- Right : in Item_Set)
+ (Prod : in Production_ID;
+ Dot : in Token_ID_Arrays.Extended_Index;
+ Set : in Item_Set)
return Item_Lists.Cursor
is begin
- return Right.Set.Find ((Prod, Dot, null));
- end Find;
-
- function Find
- (Prod : in Production_ID;
- Dot : in Token_ID_Arrays.Cursor;
- Right : in Item_Set;
- Lookaheads : in Lookahead)
- return Item_Lists.Cursor
- is
- use Item_Lists;
- Result : constant Cursor := Right.Set.Find ((Prod, Dot, null));
- begin
- -- Item_Equal does not consider lookaheads
- if Result = No_Element then
- return Result;
- elsif Constant_Ref (Result).Lookaheads.all = Lookaheads then
- return Result;
- else
- return No_Element;
- end if;
+ return Set.Set.Find ((Prod, Dot, null));
end Find;
function To_Item_Set_Tree_Key
@@ -270,13 +241,13 @@ package body WisiToken.Generate.LR1_Items is
-- want it to compare first, since it is most likely to be different.
loop
- exit when Cur = No_Element;
+ exit when not Has_Element (Cur);
declare
Item_1 : Item renames Item_Set.Set (Cur);
begin
Result.Append (Integer_16 (Item_1.Prod.LHS));
Result.Append (Integer_16 (Item_1.Prod.RHS));
- Result.Append (Integer_16 (Token_ID_Arrays.To_Index
(Item_1.Dot)));
+ Result.Append (Integer_16 (Item_1.Dot));
if Include_Lookaheads then
for ID in Item_1.Lookaheads'Range loop
if Item_1.Lookaheads (ID) then
@@ -311,7 +282,8 @@ package body WisiToken.Generate.LR1_Items is
end Find;
procedure Add
- (New_Item_Set : in out Item_Set;
+ (Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
+ New_Item_Set : in Item_Set;
Item_Set_Vector : in out Item_Set_List;
Item_Set_Tree : in out Item_Set_Trees.Tree;
Descriptor : in WisiToken.Descriptor;
@@ -320,8 +292,8 @@ package body WisiToken.Generate.LR1_Items is
use Item_Set_Trees;
Key : constant Item_Set_Tree_Key := To_Item_Set_Tree_Key (New_Item_Set,
Include_Lookaheads);
begin
- New_Item_Set.Dot_IDs := Get_Dot_IDs (New_Item_Set.Set, Descriptor);
Item_Set_Vector.Append (New_Item_Set);
+ Item_Set_Vector (Item_Set_Vector.Last_Index).Dot_IDs := Get_Dot_IDs
(Grammar, New_Item_Set.Set, Descriptor);
Item_Set_Tree.Insert ((Key, New_Item_Set.State));
end Add;
@@ -369,65 +341,60 @@ package body WisiToken.Generate.LR1_Items is
-- Taken literally, the algorithm modifies its input; we make a
-- copy instead.
- I : Item_Set; -- The result.
+ I : Item_Set := Set; -- The result.
- Item_I : Item_Lists.Cursor; -- iterator 'for each item in I'
+ Item_I : Item_Lists.Cursor := I.Set.First; -- iterator 'for each
item in I'
Added_Item : Boolean := False; -- 'until no more items can be added'
-
- Beta : Token_ID_Arrays.Cursor; -- into RHS.Tokens
begin
- I := Set;
-
- Item_I := I.Set.First;
loop
declare
Item : LR1_Items.Item renames I.Set (Item_I);
+ Dot : constant Token_ID_Arrays.Cursor :=
+ WisiToken.Productions.Constant_Ref_RHS (Grammar,
Item.Prod).Tokens.To_Cursor (Item.Dot);
begin
-- An item has the structure [A -> alpha Dot B Beta, a].
--
-- If B is a nonterminal, find its productions and place
-- them in the set with lookaheads from FIRST(Beta a).
- if Item.Dot /= No_Element and then
- Element (Item.Dot) in Descriptor.First_Nonterminal ..
Descriptor.Last_Nonterminal
+ if Has_Element (Dot) and then
+ Element (Dot) in Descriptor.First_Nonterminal ..
Descriptor.Last_Nonterminal
then
declare
- Prod : WisiToken.Productions.Instance renames Grammar
(Element (Item.Dot));
+ Prod : WisiToken.Productions.Instance renames Grammar
(Element (Dot));
begin
-
For_Each_RHS :
- for B in Prod.RHSs.First_Index .. Prod.RHSs.Last_Index loop
+ for J in Prod.RHSs.First_Index .. Prod.RHSs.Last_Index loop
declare
- RHS : WisiToken.Productions.Right_Hand_Side renames
Prod.RHSs (B);
- P_ID : constant Production_ID := (Prod.LHS, B);
+ RHS : WisiToken.Productions.Right_Hand_Side renames
Prod.RHSs (J);
+ P_ID : constant Production_ID := (Prod.LHS, J);
+ Beta : Token_ID_Arrays.Cursor := Next (Dot); -- tokens
after nonterminal, possibly null
begin
-- Compute FIRST (<tail of right hand side> a); loop
-- until find a terminal, a nonterminal that
-- cannot be empty, or end of production, adding
-- items on the way.
- Beta := Next (Item.Dot); -- tokens after nonterminal,
possibly null
-
First_Tail :
loop
- if Beta = No_Element then
+ if not Has_Element (Beta) then
-- Use FIRST (a); a = Item.Lookaheads.
-- Lookaheads are all terminals, so
-- FIRST (a) = a.
Added_Item := Added_Item or
- Merge (P_ID, RHS.Tokens.First,
Item.Lookaheads.all, I);
+ Merge (P_ID, To_Index (RHS.Tokens.First),
Item.Lookaheads.all, I);
exit First_Tail;
elsif Element (Beta) in Descriptor.First_Terminal
.. Descriptor.Last_Terminal then
-- FIRST (Beta) = Beta
Added_Item := Added_Item or Merge
- (P_ID, RHS.Tokens.First, To_Lookahead (Element
(Beta), Descriptor), I);
+ (P_ID, To_Index (RHS.Tokens.First),
To_Lookahead (Element (Beta), Descriptor), I);
exit First_Tail;
else
-- Beta is a nonterminal; use FIRST (Beta)
for Terminal of First_Terminal_Sequence (Element
(Beta)) loop
Added_Item := Added_Item or
- Merge (P_ID, RHS.Tokens.First, To_Lookahead
(Terminal, Descriptor), I);
+ Merge (P_ID, To_Index (RHS.Tokens.First),
To_Lookahead (Terminal, Descriptor), I);
end loop;
if Has_Empty_Production (Element (Beta)) then
@@ -444,13 +411,13 @@ package body WisiToken.Generate.LR1_Items is
end if; -- Dot is at non-terminal
end;
- if Item_Lists.Next (Item_I) = Item_Lists.No_Element then
+ if not Has_Element (Item_Lists.Next (Item_I)) then
exit when not Added_Item;
Item_I := I.Set.First;
Added_Item := False;
- if Trace_Generate > Extra then
+ if Trace_Generate_Table > Extra then
Ada.Text_IO.Put_Line (" closure:");
Put (Grammar, Descriptor, I);
end if;
@@ -480,17 +447,15 @@ package body WisiToken.Generate.LR1_Items is
is
use Token_ID_Arrays;
- I : Cursor;
-
Prod : WisiToken.Productions.Instance renames Grammar (Item.Prod.LHS);
RHS : WisiToken.Productions.Right_Hand_Side renames Prod.RHSs
(Item.Prod.RHS);
Result : Ada.Strings.Unbounded.Unbounded_String :=
+Padded_Image (Item.Prod, Width => Prod_ID_Image_Width) & ":" & Image
(Prod.LHS, Descriptor) & " <=";
- begin
- I := RHS.Tokens.First;
- while I /= No_Element loop
- if I = Item.Dot then
+ I : Cursor := RHS.Tokens.First;
+ begin
+ while Has_Element (I) loop
+ if To_Index (I) = Item.Dot then
Result := Result & " ^ ";
else
Result := Result & " ";
@@ -499,7 +464,7 @@ package body WisiToken.Generate.LR1_Items is
Next (I);
end loop;
- if Item.Dot = No_Element then
+ if Item.Dot = No_Index then
Result := Result & " ^";
end if;
diff --git a/packages/wisi/wisitoken-generate-lr1_items.ads
b/packages/wisi/wisitoken-generate-lr1_items.ads
index 0fd8c55..43e2939 100644
--- a/packages/wisi/wisitoken-generate-lr1_items.ads
+++ b/packages/wisi/wisitoken-generate-lr1_items.ads
@@ -2,7 +2,7 @@
--
-- Types and operatorion for LR(1) items.
--
--- Copyright (C) 2003, 2008, 2013 - 2015, 2017 - 2019 Free Software
Foundation, Inc.
+-- Copyright (C) 2003, 2008, 2013 - 2015, 2017 - 2020 Free Software
Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -95,7 +95,7 @@ package WisiToken.Generate.LR1_Items is
type Item is record
Prod : Production_ID;
- Dot : Token_ID_Arrays.Cursor; -- token after item Dot
+ Dot : Token_ID_Arrays.Extended_Index := Token_ID_Arrays.No_Index;
-- token after item Dot
Lookaheads : Token_ID_Set_Access := null;
-- Programmer must remember to copy Item.Lookaheads.all, not
-- Item.Lookaheads. Wrapping this in Ada.Finalization.Controlled
@@ -113,9 +113,19 @@ package WisiToken.Generate.LR1_Items is
function Lookahead_Image (Item : in Lookahead; Descriptor : in
WisiToken.Descriptor) return String;
-- Returns the format used in parse table output.
+ function Image
+ (Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
+ Descriptor : in WisiToken.Descriptor;
+ Item : in LR1_Items.Item;
+ Show_Lookaheads : in Boolean)
+ return String;
+
function Item_Compare (Left, Right : in Item) return SAL.Compare_Result;
-- Sort Item_Lists in ascending order of Prod.Nonterm, Prod.RHS, Dot;
-- ignores Lookaheads.
+ --
+ -- In an LALR kernel there can be only one Item with Prod, but that
+ -- is not true in an Item_Set produced by Closure.
package Item_Lists is new SAL.Gen_Definite_Doubly_Linked_Lists_Sorted
(Item, Item_Compare);
@@ -194,27 +204,13 @@ package WisiToken.Generate.LR1_Items is
-- Return No_Element if not found.
function Find
- (Prod : in Production_ID;
- Dot : in Token_ID_Arrays.Cursor;
- Right : in Item_Set)
- return Item_Lists.Cursor;
- -- Return an item from Right that matches Prod, Dot.
- --
- -- Return No_Element if not found.
-
- function Find
- (Prod : in Production_ID;
- Dot : in Token_ID_Arrays.Cursor;
- Right : in Item_Set;
- Lookaheads : in Lookahead)
+ (Prod : in Production_ID;
+ Dot : in Token_ID_Arrays.Extended_Index;
+ Set : in Item_Set)
return Item_Lists.Cursor;
- -- Return an item from Right that matches Prod, Dot, and
- -- Lookaheads.
+ -- Return an item from Set that matches Prod, Dot.
--
-- Return No_Element if not found.
- --
- -- Not combined with non-Lookaheads version for speed; this is called
- -- a lot.
package Item_Set_Arrays is new SAL.Gen_Unbounded_Definite_Vectors
(State_Index, Item_Set, Default_Element => (others => <>));
@@ -270,7 +266,8 @@ package WisiToken.Generate.LR1_Items is
-- Match_Lookaheads is True in LR1_Generate.
procedure Add
- (New_Item_Set : in out Item_Set;
+ (Grammar : in WisiToken.Productions.Prod_Arrays.Vector;
+ New_Item_Set : in Item_Set;
Item_Set_Vector : in out Item_Set_List;
Item_Set_Tree : in out Item_Set_Trees.Tree;
Descriptor : in WisiToken.Descriptor;
diff --git a/packages/wisi/wisitoken-generate.adb
b/packages/wisi/wisitoken-generate.adb
index eae0ca3..1d7bb7e 100644
--- a/packages/wisi/wisitoken-generate.adb
+++ b/packages/wisi/wisitoken-generate.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2018, 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -152,6 +152,48 @@ package body WisiToken.Generate is
return Unused_Tokens;
end Check_Unused_Tokens;
+ function Nullable (Grammar : in WisiToken.Productions.Prod_Arrays.Vector)
return Token_Array_Production_ID
+ is
+ use all type Ada.Containers.Count_Type;
+
+ subtype Nonterminal is Token_ID range Grammar.First_Index ..
Grammar.Last_Index;
+
+ Result : Token_Array_Production_ID := (Nonterminal =>
Invalid_Production_ID);
+ Changed : Boolean := True;
+ begin
+ loop
+ exit when not Changed;
+ Changed := False;
+
+ for Prod of Grammar loop
+ if Result (Prod.LHS) = Invalid_Production_ID then
+ for RHS_Index in Prod.RHSs.First_Index .. Prod.RHSs.Last_Index
loop
+ declare
+ RHS : WisiToken.Productions.Right_Hand_Side renames
Prod.RHSs (RHS_Index);
+ begin
+ if RHS.Tokens.Length = 0 or else
+ (RHS.Tokens (1) in Nonterminal and then Result
(RHS.Tokens (1)) /= Invalid_Production_ID)
+ then
+ Result (Prod.LHS) := (Prod.LHS, RHS_Index);
+ Changed := True;
+ end if;
+ end;
+ end loop;
+ end if;
+ end loop;
+ end loop;
+ return Result;
+ end Nullable;
+
+ function Has_Empty_Production (Nullable : in Token_Array_Production_ID)
return Token_ID_Set
+ is begin
+ return Result : Token_ID_Set := (Nullable'First .. Nullable'Last =>
False) do
+ for I in Result'Range loop
+ Result (I) := Nullable (I) /= Invalid_Production_ID;
+ end loop;
+ end return;
+ end Has_Empty_Production;
+
function Has_Empty_Production (Grammar : in
WisiToken.Productions.Prod_Arrays.Vector) return Token_ID_Set
is
use all type Ada.Containers.Count_Type;
@@ -360,12 +402,11 @@ package body WisiToken.Generate is
function To_Graph (Grammar : in WisiToken.Productions.Prod_Arrays.Vector)
return Grammar_Graphs.Graph
is
- use all type Ada.Containers.Count_Type;
subtype Nonterminals is Token_ID range Grammar.First_Index ..
Grammar.Last_Index;
Graph : Grammar_Graphs.Graph;
J : Integer := 1;
begin
- if Trace_Generate > Outline then
+ if Trace_Generate_Minimal_Complete > Outline then
Ada.Text_IO.Put_Line ("grammar graph:");
end if;
@@ -379,19 +420,12 @@ package body WisiToken.Generate is
begin
for I in Tokens.First_Index .. Tokens.Last_Index loop
if Tokens (I) in Nonterminals then
- if Trace_Generate > Detail then
+ if Trace_Generate_Minimal_Complete > Detail then
Ada.Text_IO.Put_Line
("(" & Trimmed_Image (LHS) & ", " & Trimmed_Image
(Tokens (I)) & "," & J'Image & ")");
J := J + 1;
end if;
- Graph.Add_Edge
- (LHS, Tokens (I),
- (RHS,
- Recursive =>
- (if Tokens.Length = 1 then Single
- elsif I = Tokens.First_Index then Left
- elsif I = Tokens.Last_Index then Right
- else Middle)));
+ Graph.Add_Edge (LHS, Tokens (I), (RHS, I));
end if;
end loop;
end;
@@ -399,13 +433,68 @@ package body WisiToken.Generate is
end;
end loop;
- if Trace_Generate > Outline then
+ if Trace_Generate_Minimal_Complete > Outline then
Ada.Text_IO.Put_Line ("..." & Graph.Count_Nodes'Image & " nodes" &
Graph.Count_Edges'Image & " edges.");
end if;
return Graph;
end To_Graph;
- function Compute_Full_Recursion (Grammar : in
WisiToken.Productions.Prod_Arrays.Vector) return Recursions
+ function Recursion
+ (LHS : in Token_ID;
+ Token_Index : in Positive;
+ Tokens : in Token_ID_Arrays.Vector)
+ return Recursion_Class
+ is begin
+ return
+ (if Token_Index = Tokens.First_Index then
+ (if LHS = Tokens (Tokens.First_Index)
+ then Direct_Left
+ else Other_Left)
+ elsif Token_Index = Tokens.Last_Index then
+ (if LHS = Tokens (Tokens.Last_Index)
+ then Direct_Right
+ else Other_Right)
+ else Other);
+ end Recursion;
+
+ procedure Set_Grammar_Recursions
+ (Recursions : in WisiToken.Generate.Recursions;
+ Grammar : in out WisiToken.Productions.Prod_Arrays.Vector)
+ is begin
+ for LHS of Grammar loop
+ for RHS of LHS.RHSs loop
+ RHS.Recursion.Set_First_Last (RHS.Tokens.First_Index,
RHS.Tokens.Last_Index);
+ end loop;
+ end loop;
+
+ for Path of Recursions.Recursions loop
+ declare
+ use WisiToken.Productions;
+ Previous_Item_LHS : Token_ID :=
+ (if Recursions.Full then Path (Path'Last).Vertex else
Token_ID'Last);
+ begin
+ for Item of Path loop
+ for Edge of Item.Edges loop
+ declare
+ LHS : constant Token_ID := (if Recursions.Full then
Previous_Item_LHS else Item.Vertex);
+ RHS : Right_Hand_Side renames Grammar (LHS).RHSs
(Edge.Data.RHS);
+ begin
+ RHS.Recursion (Edge.Data.Token_Index) := Recursion
+ (LHS => LHS,
+ Token_Index => Edge.Data.Token_Index,
+ Tokens => RHS.Tokens);
+ end;
+ end loop;
+ Previous_Item_LHS := Item.Vertex;
+ end loop;
+ end;
+ end loop;
+ end Set_Grammar_Recursions;
+
+ function Compute_Full_Recursion
+ (Grammar : in out WisiToken.Productions.Prod_Arrays.Vector;
+ Descriptor : in WisiToken.Descriptor)
+ return Recursions
is
Graph : constant Grammar_Graphs.Graph := To_Graph (Grammar);
begin
@@ -414,7 +503,14 @@ package body WisiToken.Generate is
Recursions => Graph.Find_Cycles)
do
Grammar_Graphs.Sort_Paths.Sort (Result.Recursions);
- if Trace_Generate > Extra then
+
+ Set_Grammar_Recursions (Result, Grammar);
+
+ if Trace_Generate_Minimal_Complete > Extra then
+ Ada.Text_IO.New_Line;
+ Ada.Text_IO.Put_Line ("Productions:");
+ WisiToken.Productions.Put (Grammar, Descriptor);
+ Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line ("full recursions:");
for I in Result.Recursions.First_Index ..
Result.Recursions.Last_Index loop
Ada.Text_IO.Put_Line (Trimmed_Image (I) & " => " &
Grammar_Graphs.Image (Result.Recursions (I)));
@@ -423,7 +519,10 @@ package body WisiToken.Generate is
end return;
end Compute_Full_Recursion;
- function Compute_Partial_Recursion (Grammar : in
WisiToken.Productions.Prod_Arrays.Vector) return Recursions
+ function Compute_Partial_Recursion
+ (Grammar : in out WisiToken.Productions.Prod_Arrays.Vector;
+ Descriptor : in WisiToken.Descriptor)
+ return Recursions
is
use Grammar_Graphs;
Graph : constant Grammar_Graphs.Graph := To_Graph (Grammar);
@@ -457,7 +556,13 @@ package body WisiToken.Generate is
Result.Recursions.Append (Path);
end;
- if Trace_Generate > Extra then
+ Set_Grammar_Recursions (Result, Grammar);
+
+ if Trace_Generate_Minimal_Complete > Extra then
+ Ada.Text_IO.New_Line;
+ Ada.Text_IO.Put_Line ("Productions:");
+ WisiToken.Productions.Put (Grammar, Descriptor);
+ Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line ("partial recursions:");
for I in Result.Recursions.First_Index ..
Result.Recursions.Last_Index loop
Ada.Text_IO.Put_Line (Trimmed_Image (I) & " => " &
Grammar_Graphs.Image (Result.Recursions (I)));
@@ -504,7 +609,7 @@ package body WisiToken.Generate is
exit when I - First + Integer (Indent) <= Max_Line_Length;
I := I - 1;
end loop;
- Indent_Line (Text (First .. I - 1));
+ Indent_Line (Trim (Text (First .. I - 1), Right));
First := I + 1;
exit when Text'Last - First + Integer (Indent) <= Max_Line_Length;
end loop;
diff --git a/packages/wisi/wisitoken-generate.ads
b/packages/wisi/wisitoken-generate.ads
index 45d8c7c..a9c4e5a 100644
--- a/packages/wisi/wisitoken-generate.ads
+++ b/packages/wisi/wisitoken-generate.ads
@@ -12,7 +12,7 @@
--
-- See wisitoken.ads
--
--- Copyright (C) 2018, 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -61,6 +61,12 @@ package WisiToken.Generate is
-- Raises Grammar_Error if there is a non-grammar token used in the
-- grammar.
+ function Nullable (Grammar : in WisiToken.Productions.Prod_Arrays.Vector)
return Token_Array_Production_ID;
+ -- If ID is nullable, Result (ID) is the production that should be
+ -- reduced to produce the null. Otherwise Result (ID) is
+ -- Invalid_Production_ID.
+
+ function Has_Empty_Production (Nullable : in Token_Array_Production_ID)
return Token_ID_Set;
function Has_Empty_Production (Grammar : in
WisiToken.Productions.Prod_Arrays.Vector) return Token_ID_Set;
-- Result (ID) is True if any production for ID can be an empty
-- production, recursively.
@@ -101,22 +107,18 @@ package WisiToken.Generate is
-- Recursion is the result of a cycle in the grammar. We can form a
-- graph representing the grammar by taking the nonterminals as the
- -- graph vertices, and the occurence of a nonterminal in a production
- -- right hand side as a directed edge connecting two nonterminals
- -- (the other is the left hand side of that production. Then
- -- recursion is represented by a cycle in the graph.
-
- type Recursion_Item is record
- RHS : Natural := 0;
- -- The edge leading to this node. We don't need the actual token
- -- number.
-
- Recursive : Recursion := None;
- -- Position of the token in the RHS.
+ -- graph vertices, and the occurrence of a nonterminal in a
+ -- production right hand side as a directed edge from the left hand
+ -- side of the production to that nonterminal. Then recursion is
+ -- represented by a cycle in the graph.
+
+ type Edge_Data is record
+ -- The edge leading to this node.
+ RHS : Natural := Natural'Last;
+ Token_Index : Positive := Positive'Last;
end record;
- function Edge_Image (Edge : in Recursion_Item) return String is
- (Trimmed_Image (Edge.RHS) & " " & Recursion'Image (Edge.Recursive));
+ function Edge_Image (Edge : in Edge_Data) return String is (Trimmed_Image
(Edge.RHS));
type Base_Recursion_Index is range 0 .. Integer'Last;
subtype Recursion_Index is Base_Recursion_Index range 1 ..
Base_Recursion_Index'Last;
@@ -124,7 +126,7 @@ package WisiToken.Generate is
function Trimmed_Image is new SAL.Gen_Trimmed_Image (Base_Recursion_Index);
package Grammar_Graphs is new SAL.Gen_Graphs
- (Edge_Data => Recursion_Item,
+ (Edge_Data => Generate.Edge_Data,
Default_Edge_Data => (others => <>),
Vertex_Index => Token_ID,
Invalid_Vertex => Invalid_Token_ID,
@@ -152,14 +154,23 @@ package WisiToken.Generate is
function To_Graph (Grammar : in WisiToken.Productions.Prod_Arrays.Vector)
return Grammar_Graphs.Graph;
- function Compute_Full_Recursion (Grammar : in
WisiToken.Productions.Prod_Arrays.Vector) return Recursions;
- -- Each element of result is a cycle in the grammar.
-
- function Compute_Partial_Recursion (Grammar : in
WisiToken.Productions.Prod_Arrays.Vector) return Recursions;
+ function Compute_Full_Recursion
+ (Grammar : in out WisiToken.Productions.Prod_Arrays.Vector;
+ Descriptor : in WisiToken.Descriptor)
+ return Recursions;
+ -- Each element of result is a cycle in the grammar. Also sets
+ -- Recursive components in Grammar.
+
+ function Compute_Partial_Recursion
+ (Grammar : in out WisiToken.Productions.Prod_Arrays.Vector;
+ Descriptor : in WisiToken.Descriptor)
+ return Recursions;
-- Each element of the result contains all members of a non-trivial
-- strongly connected component in the grammar, in arbitrary order.
-- This is an approximation to the full recursion, when that is too
-- hard to compute (ie for Java).
+ --
+ -- Also sets Recursive components in Grammar.
----------
-- Indented text output. Mostly used for code generation in wisi,
diff --git a/packages/wisi/wisitoken-lexer-re2c.adb
b/packages/wisi/wisitoken-lexer-re2c.adb
index d66088d..46cccb6 100644
--- a/packages/wisi/wisitoken-lexer-re2c.adb
+++ b/packages/wisi/wisitoken-lexer-re2c.adb
@@ -2,7 +2,7 @@
--
-- see spec.
--
--- Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2017 - 2020 Free Software Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -179,7 +179,8 @@ package body WisiToken.Lexer.re2c is
procedure Build_Token
is begin
Token :=
- (ID => Lexer.ID,
+ (ID => Lexer.ID,
+ Tree_Index => Invalid_Node_Index,
Byte_Region =>
(if Lexer.ID = Lexer.Descriptor.EOI_ID and then
Lexer.Byte_Position = Integer (Base_Buffer_Pos'First)
diff --git a/packages/wisi/wisitoken-lexer-regexp.adb
b/packages/wisi/wisitoken-lexer-regexp.adb
index 3e5a421..d464289 100644
--- a/packages/wisi/wisitoken-lexer-regexp.adb
+++ b/packages/wisi/wisitoken-lexer-regexp.adb
@@ -2,7 +2,7 @@
--
-- See spec
--
--- Copyright (C) 2015, 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2015, 2017 - 2020 Free Software Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -242,6 +242,7 @@ package body WisiToken.Lexer.Regexp is
Token :=
(ID => Lexer.ID,
+ Tree_Index => Invalid_Node_Index,
Byte_Region => (Buffer_Pos (Lexer.Lexeme_Head), Buffer_Pos
(Lexer.Lexeme_Tail)),
Line => Invalid_Line_Number,
Column => Ada.Text_IO.Count (Lexer.Lexeme_Head),
diff --git a/packages/wisi/wisitoken-parse-lr-mckenzie_recover-base.adb
b/packages/wisi/wisitoken-parse-lr-mckenzie_recover-base.adb
index d8b03f3..344461b 100644
--- a/packages/wisi/wisitoken-parse-lr-mckenzie_recover-base.adb
+++ b/packages/wisi/wisitoken-parse-lr-mckenzie_recover-base.adb
@@ -2,7 +2,7 @@
--
-- Base utilities for McKenzie_Recover
--
--- Copyright (C) 2018, 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -30,49 +30,56 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Base is
return Boolean
is
Done_Count : SAL.Base_Peek_Type := 0;
+ Skip : Boolean;
begin
-- Return True if all parsers are done, or if any parser has a config
-- available to check.
for P_Status of Parser_Status loop
+ Skip := False;
+
case P_Status.Recover_State is
when Active | Ready =>
if P_Status.Parser_State.Recover.Config_Heap.Count > 0 then
if P_Status.Parser_State.Recover.Check_Count -
Check_Delta_Limit >= Min_Success_Check_Count then
-- fail; another parser succeeded, this one taking too long.
Done_Count := Done_Count + 1;
+ Skip := True;
elsif Total_Enqueue_Count +
P_Status.Parser_State.Recover.Config_Full_Count >= Enqueue_Limit then
-- fail
Done_Count := Done_Count + 1;
+ Skip := True;
end if;
end if;
- case P_Status.Recover_State is
- when Active =>
- if P_Status.Parser_State.Recover.Config_Heap.Count > 0 then
- -- Still working
- return True;
- else
- if P_Status.Active_Workers = 0 then
- -- fail; no configs left to check.
- Done_Count := Done_Count + 1;
+ if not Skip then
+ case P_Status.Recover_State is
+ when Active =>
+ if P_Status.Parser_State.Recover.Config_Heap.Count > 0 then
+ -- Still working
+ return True;
+ else
+ if P_Status.Active_Workers = 0 then
+ -- fail; no configs left to check.
+ Done_Count := Done_Count + 1;
+ end if;
end if;
- end if;
- when Ready =>
- if P_Status.Parser_State.Recover.Config_Heap.Count > 0 and then
- P_Status.Parser_State.Recover.Config_Heap.Min_Key <=
P_Status.Parser_State.Recover.Results.Min_Key
- then
- -- Still more to check.
- return True;
+ when Ready =>
+ if P_Status.Parser_State.Recover.Config_Heap.Count > 0 and
then
+ P_Status.Parser_State.Recover.Config_Heap.Min_Key <=
P_Status.Parser_State.Recover.Results.Min_Key
+ then
+ -- Still more to check.
+ return True;
- elsif P_Status.Active_Workers = 0 then
- Done_Count := Done_Count + 1;
- end if;
+ elsif P_Status.Active_Workers = 0 then
+ Done_Count := Done_Count + 1;
+ end if;
- when others =>
- null;
- end case;
+ when others =>
+ null;
+ end case;
+ end if;
when Success | Fail =>
Done_Count := Done_Count + 1;
@@ -101,7 +108,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Base is
Error_ID := Ada.Exceptions.Null_Id;
for I in Parsers.Iterate loop
- if Parsers.Reference (I).Recover_Insert_Delete.Length > 0 then
+ if Parsers.Reference (I).Recover_Insert_Delete_Current /=
Recover_Op_Arrays.No_Index then
-- Previous error recovery resume not finished; this is
supposed to
-- be checked in Parser.
raise SAL.Programmer_Error;
@@ -135,6 +142,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Base is
(Parsers, Parser_Status, Min_Success_Check_Count,
Total_Enqueue_Count, Check_Delta_Limit, Enqueue_Limit)
is
Done_Count : SAL.Base_Peek_Type := 0;
+ Skip : Boolean;
Min_Cost : Integer := Integer'Last;
Min_Cost_Index : SAL.Base_Peek_Type;
@@ -168,6 +176,8 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Base is
-- No task_id in outline trace messages, because they may appear in
-- .parse_good
for I in Parser_Status'Range loop
+ Skip := False;
+
declare
P_Status : Base.Parser_Status renames Parser_Status (I);
begin
@@ -186,6 +196,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Base is
P_Status.Fail_Mode := Fail_Check_Delta;
Done_Count := Done_Count + 1;
+ Skip := True;
elsif Total_Enqueue_Count +
P_Status.Parser_State.Recover.Config_Full_Count >= Enqueue_Limit then
if Trace_McKenzie > Outline then
@@ -200,48 +211,51 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Base is
P_Status.Fail_Mode := Fail_Enqueue_Limit;
Done_Count := Done_Count + 1;
+ Skip := True;
end if;
end if;
- case P_Status.Recover_State is
- when Active =>
- if P_Status.Parser_State.Recover.Config_Heap.Count > 0
then
- if P_Status.Parser_State.Recover.Config_Heap.Min_Key <
Min_Cost then
- Min_Cost :=
P_Status.Parser_State.Recover.Config_Heap.Min_Key;
- Min_Cost_Index := I;
- -- not done
- end if;
- else
- if P_Status.Active_Workers = 0 then
- -- No configs left to check (rarely happens with
real languages).
- if Trace_McKenzie > Outline then
- Put_Line
- (Trace.all, P_Status.Parser_State.Label,
"fail; no configs left", Task_ID => False);
+ if not Skip then
+ case P_Status.Recover_State is
+ when Active =>
+ if P_Status.Parser_State.Recover.Config_Heap.Count > 0
then
+ if
P_Status.Parser_State.Recover.Config_Heap.Min_Key < Min_Cost then
+ Min_Cost :=
P_Status.Parser_State.Recover.Config_Heap.Min_Key;
+ Min_Cost_Index := I;
+ -- not done
+ end if;
+ else
+ if P_Status.Active_Workers = 0 then
+ -- No configs left to check (rarely happens
with real languages).
+ if Trace_McKenzie > Outline then
+ Put_Line
+ (Trace.all, P_Status.Parser_State.Label,
"fail; no configs left", Task_ID => False);
+ end if;
+ P_Status.Recover_State := Fail;
+ P_Status.Fail_Mode := Fail_No_Configs_Left;
+
+ Done_Count := Done_Count + 1;
end if;
- P_Status.Recover_State := Fail;
- P_Status.Fail_Mode := Fail_No_Configs_Left;
-
- Done_Count := Done_Count + 1;
end if;
- end if;
- when Ready =>
- if P_Status.Parser_State.Recover.Config_Heap.Count > 0
and then
- P_Status.Parser_State.Recover.Config_Heap.Min_Key <=
- P_Status.Parser_State.Recover.Results.Min_Key
- then
- -- Still more to check. We don't check Min_Cost here
so this parser
- -- can finish quickly.
- Set_Outputs (I);
- return;
-
- elsif P_Status.Active_Workers = 0 then
- P_Status.Recover_State := Success;
- Done_Count := Done_Count + 1;
- end if;
- when others =>
- null;
- end case;
+ when Ready =>
+ if P_Status.Parser_State.Recover.Config_Heap.Count > 0
and then
+ P_Status.Parser_State.Recover.Config_Heap.Min_Key <=
+ P_Status.Parser_State.Recover.Results.Min_Key
+ then
+ -- Still more to check. We don't check Min_Cost
here so this parser
+ -- can finish quickly.
+ Set_Outputs (I);
+ return;
+
+ elsif P_Status.Active_Workers = 0 then
+ P_Status.Recover_State := Success;
+ Done_Count := Done_Count + 1;
+ end if;
+ when others =>
+ null;
+ end case;
+ end if;
when Success | Fail =>
Done_Count := Done_Count + 1;
@@ -395,7 +409,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Base is
Error_Message := +Exception_Message (E);
if Debug_Mode then
Trace.Put_Line (Exception_Name (E) & ": " & Exception_Message (E));
- Trace.Put_Line (GNAT.Traceback.Symbolic.Symbolic_Traceback (E));
+ Trace.Put_Line (GNAT.Traceback.Symbolic.Symbolic_Traceback (E));
-- includes Prefix
end if;
end Fatal;
diff --git a/packages/wisi/wisitoken-parse-lr-mckenzie_recover-explore.adb
b/packages/wisi/wisitoken-parse-lr-mckenzie_recover-explore.adb
index b6c9e43..2741dff 100644
--- a/packages/wisi/wisitoken-parse-lr-mckenzie_recover-explore.adb
+++ b/packages/wisi/wisitoken-parse-lr-mckenzie_recover-explore.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -38,7 +38,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore is
use Config_Op_Arrays;
McKenzie_Param : McKenzie_Param_Type renames Shared.Table.McKenzie_Param;
- Op : constant Config_Op := (Insert, ID, Config.Current_Shared_Token,
State, Config.Stack.Depth);
+ Op : constant Config_Op := (Insert, ID, Config.Current_Shared_Token);
begin
Config.Strategy_Counts (Strategy) := Config.Strategy_Counts (Strategy) +
1;
@@ -69,7 +69,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore is
Super.Config_Full ("do_shift stack", Parser_Index);
raise Bad_Config;
else
- Config.Stack.Push ((State, Syntax_Trees.Invalid_Node_Index, (ID,
Virtual => True, others => <>)));
+ Config.Stack.Push ((State, Invalid_Node_Index, (ID, Virtual => True,
others => <>)));
end if;
if Trace_McKenzie > Detail then
Base.Put
@@ -144,7 +144,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore is
raise Bad_Config;
end if;
- Config.Stack.Push ((New_State, Syntax_Trees.Invalid_Node_Index,
Nonterm));
+ Config.Stack.Push ((New_State, Invalid_Node_Index, Nonterm));
if Trace_McKenzie > Extra and Label'Length > 0 then
Put_Line
@@ -196,7 +196,12 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore is
raise SAL.Programmer_Error with "found test case for Do_Reduce
Accept_It";
when Error =>
- null;
+ if Trace_McKenzie > Extra and Label'Length > 0 then
+ Put_Line
+ (Super.Trace.all, Super.Label (Parser_Index), Label & ": error
on " &
+ Image (Inserted_ID, Super.Trace.Descriptor.all) &
+ " in state" & State_Index'Image (Config.Stack.Peek.State));
+ end if;
end case;
loop
@@ -235,24 +240,35 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
end if;
end Do_Reduce_2;
- function Fast_Forward
+ function Edit_Point_Matches_Ops (Config : in Configuration) return Boolean
+ is
+ use Config_Op_Arrays, Config_Op_Array_Refs;
+ pragma Assert (Length (Config.Ops) > 0);
+ Op : Config_Op renames Constant_Ref (Config.Ops, Last_Index
(Config.Ops));
+ begin
+ return Config.Current_Shared_Token =
+ (case Op.Op is
+ when Fast_Forward => Op.FF_Token_Index,
+ when Undo_Reduce => Invalid_Token_Index, -- ie, "we don't know", so
return False.
+ when Push_Back => Op.PB_Token_Index,
+ when Insert => Op.Ins_Token_Index,
+ when Delete => Op.Del_Token_Index + 1);
+ end Edit_Point_Matches_Ops;
+
+ procedure Fast_Forward
(Super : not null access Base.Supervisor;
Shared : not null access Base.Shared;
Parser_Index : in SAL.Base_Peek_Type;
Local_Config_Heap : in out Config_Heaps.Heap_Type;
- Config : in out Configuration)
- return Non_Success_Status
+ Config : in Configuration)
is
-- Apply the ops in Config; they were inserted by some fix.
- -- Return Abandon if Config should be abandoned, otherwise Continue.
-- Leaves Config.Error_Token, Config.Check_Status set.
- --
- -- If there are conflicts, all are parsed; if more than one succeed,
- -- all are enqueued in Local_Config_Heap, and this returns Abandon.
+ -- If there are conflicts, all are parsed; if more than one succeed.
+ -- All configs are enqueued in Local_Config_Heap.
use Parse.Parse_Item_Arrays;
use Config_Op_Arrays;
- use all type Ada.Containers.Count_Type;
Parse_Items : aliased Parse.Parse_Item_Arrays.Vector;
@@ -262,56 +278,43 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
All_Conflicts => True,
Trace_Prefix => "fast_forward");
begin
- -- This solution is from Language_Fixes; any cost increase is done
there.
+ -- This solution is from Language_Fixes (see gate on call site
+ -- below); any cost increase is done there.
+ --
+ -- We used to handle the Parse_Items.Length = 1 case specially, and
+ -- return Continue. Maintaining that requires too much code
+ -- duplication.
- if Length (Parse_Items) = 1 then
+ for I in First_Index (Parse_Items) .. Last_Index (Parse_Items) loop
declare
- Item : Parse.Parse_Item renames
Parse.Parse_Item_Array_Refs.Constant_Ref (Parse_Items, 1);
+ Item : Parse.Parse_Item renames
Parse.Parse_Item_Array_Refs.Variable_Ref (Parse_Items, I);
begin
if Item.Parsed and Item.Config.Current_Insert_Delete =
No_Insert_Delete then
-- Item.Config.Error_Token.ID, Check_Status are correct.
- Config := Item.Config;
- if Is_Full (Config.Ops) then
- Super.Config_Full ("fast_forward 1", Parser_Index);
- return Abandon;
- else
- Append (Config.Ops, (Fast_Forward,
Config.Current_Shared_Token));
- end if;
- Config.Minimal_Complete_State := None;
- Config.Matching_Begin_Done := False;
- return Continue;
- else
- return Abandon;
- end if;
- end;
- else
- for I in First_Index (Parse_Items) .. Last_Index (Parse_Items) loop
- declare
- Item : Parse.Parse_Item renames
Parse.Parse_Item_Array_Refs.Variable_Ref (Parse_Items, I);
- begin
- if Item.Parsed and Item.Config.Current_Insert_Delete =
No_Insert_Delete then
- if Is_Full (Config.Ops) then
- Super.Config_Full ("fast_forward 2", Parser_Index);
- return Abandon;
+ if not Edit_Point_Matches_Ops (Item.Config) then
+
+ if Is_Full (Item.Config.Ops) then
+ Super.Config_Full ("fast_forward 1", Parser_Index);
+ raise Bad_Config;
else
Append (Item.Config.Ops, (Fast_Forward,
Item.Config.Current_Shared_Token));
end if;
- Item.Config.Minimal_Complete_State := None;
- Item.Config.Matching_Begin_Done := False;
- Local_Config_Heap.Add (Item.Config);
+ end if;
- if Trace_McKenzie > Detail then
- Base.Put ("fast forward enqueue", Super, Shared,
Parser_Index, Item.Config);
- end if;
+ Item.Config.Minimal_Complete_State := None;
+ Item.Config.Matching_Begin_Done := False;
+ Local_Config_Heap.Add (Item.Config);
+
+ if Trace_McKenzie > Detail then
+ Base.Put ("fast forward enqueue", Super, Shared,
Parser_Index, Item.Config);
end if;
- end;
- end loop;
- return Abandon;
- end if;
- exception
- when Bad_Config =>
- return Abandon;
+ end if;
+ exception
+ when Bad_Config =>
+ null;
+ end;
+ end loop;
end Fast_Forward;
function Check
@@ -326,32 +329,38 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
use Parse.Parse_Item_Arrays;
use all type Semantic_Checks.Check_Status_Label;
- McKenzie_Param : McKenzie_Param_Type renames Shared.Table.McKenzie_Param;
-
Parse_Items : aliased Parse.Parse_Item_Arrays.Vector;
Result : Check_Status := Continue;
+ begin
+ if Length (Config.Ops) > 0 then
+ declare
+ Op : Config_Op renames Constant_Ref (Config.Ops, Last_Index
(Config.Ops));
+ begin
+ case Op.Op is
+ when Push_Back =>
+ -- Check would undo the Push_Back, leading to
+ -- duplicate results. See test_mckenzie_recover.adb
Do_Delete_First and
+ -- three_action_conflict_lalr.parse_good for examples.
+ return Continue;
- function Max_Push_Back_Token_Index (Ops : aliased in
Config_Op_Arrays.Vector) return WisiToken.Base_Token_Index
- is
- Result : WisiToken.Base_Token_Index :=
WisiToken.Base_Token_Index'First;
- begin
- -- For Ops since last Fast_Forward, return maximum Token_Index in a
- -- Push_Back. If there are no such ops, return a value that will be
- -- less than the current token index.
- for I in reverse First_Index (Ops) .. Last_Index (Ops) loop
- declare
- Op : Config_Op renames Constant_Ref (Ops, I);
- begin
- exit when Op.Op = Fast_Forward;
- if Op.Op = Push_Back and then Op.PB_Token_Index > Result then
- Result := Op.PB_Token_Index;
+ when Undo_Reduce =>
+ if Config.Check_Status.Label /= Ok then
+ -- This is the "ignore error" solution for a check fail;
check it.
+ Config.Check_Status := (Label => Ok);
+ Config.Error_Token.ID := Invalid_Token_ID;
+
+ else
+ -- Check would undo the Undo_Reduce, leading to
+ -- duplicate results.
+ return Continue;
end if;
- end;
- end loop;
- return Result;
- end Max_Push_Back_Token_Index;
+ when others =>
+ -- Check it
+ null;
+ end case;
+ end;
+ end if;
- begin
if Parse.Parse
(Super, Shared, Parser_Index, Parse_Items, Config,
Config.Resume_Token_Goal,
All_Conflicts => False,
@@ -360,6 +369,9 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore is
Config.Error_Token.ID := Invalid_Token_ID;
-- FIXME: if there were conflicts, enqueue them; they might yield a
-- cheaper or same cost solution?
+ if Trace_McKenzie > Extra then
+ Put_Line (Super.Trace.all, Super.Label (Parser_Index), "check
result: SUCCESS");
+ end if;
return Success;
end if;
@@ -395,37 +407,33 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
end;
-- All Parse_Items either failed or were not parsed; if they failed
- -- and made progress, enqueue them so Language_Fixes can try to fix
- -- them.
+ -- and made progress, enqueue them.
for I in First_Index (Parse_Items) .. Last_Index (Parse_Items) loop
declare
Item : Parse.Parse_Item renames
Parse.Parse_Item_Array_Refs.Variable_Ref (Parse_Items, I);
begin
- if Item.Config.Error_Token.ID /= Invalid_Token_ID and then
- Item.Shift_Count > 0 and then
- Max_Push_Back_Token_Index (Item.Config.Ops) <
Item.Config.Current_Shared_Token - 1
+ -- When Parse starts above, Config.Current_Shared_Token matches
+ -- Config.Ops. So if Item.Config.Current_Shared_Token >
+ -- Config.Current_Shared_Token, it made some progress. Append or
+ -- update a Fast_Forward to indicate the changed edit point.
+ if Item.Config.Error_Token.ID /= Invalid_Token_ID and
+ Item.Config.Current_Shared_Token > Config.Current_Shared_Token
then
- -- Some progress was made; explore at the new error point. It
is
- -- likely that there is only one actual error point, and this
moves
- -- away from it, so we give it a cost.
- begin
- Item.Config.Minimal_Complete_State := None;
- Item.Config.Matching_Begin_Done := False;
- if Constant_Ref (Item.Config.Ops, Last_Index
(Item.Config.Ops)).Op = Fast_Forward then
- Item.Config.Cost := Item.Config.Cost +
McKenzie_Param.Fast_Forward;
- Variable_Ref (Item.Config.Ops, Last_Index
(Item.Config.Ops)).FF_Token_Index :=
- Item.Config.Current_Shared_Token;
- else
- Item.Config.Cost := Item.Config.Cost +
McKenzie_Param.Fast_Forward;
+ Item.Config.Minimal_Complete_State := None;
+ Item.Config.Matching_Begin_Done := False;
- if Is_Full (Item.Config.Ops) then
- Super.Config_Full ("check 1", Parser_Index);
- raise Bad_Config;
- else
- Append (Item.Config.Ops, (Fast_Forward,
Item.Config.Current_Shared_Token));
- end if;
+ if Constant_Ref (Item.Config.Ops, Last_Index
(Item.Config.Ops)).Op = Fast_Forward then
+ -- Update the trailing Fast_Forward.
+ Variable_Ref (Item.Config.Ops, Last_Index
(Item.Config.Ops)).FF_Token_Index :=
+ Item.Config.Current_Shared_Token;
+ else
+ if Is_Full (Item.Config.Ops) then
+ Super.Config_Full ("check 1", Parser_Index);
+ raise Bad_Config;
+ else
+ Append (Item.Config.Ops, (Fast_Forward,
Item.Config.Current_Shared_Token));
end if;
- end;
+ end if;
Local_Config_Heap.Add (Item.Config);
if Trace_McKenzie > Detail then
Base.Put ("new error point ", Super, Shared, Parser_Index,
Item.Config);
@@ -455,7 +463,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore is
function To_Reduce_Action (Item : in Minimal_Action) return
Reduce_Action_Rec
is begin
- return (Reduce, (Item.Nonterm, 0), null, null, Item.Token_Count);
+ return (Reduce, Item.Production, null, null, Item.Token_Count);
end To_Reduce_Action;
Local_Config_Heap : Config_Heaps.Heap_Type; -- never used, because
Do_Language_Fixes is False.
@@ -467,7 +475,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore is
case Actions.Length is
when 0 =>
if (for some Item of Table.States (Config.Stack.Peek.State).Kernel
=>
- Item.LHS = Super.Trace.Descriptor.Accept_ID)
+ Item.Production.LHS = Super.Trace.Descriptor.Accept_ID)
then
return True;
else
@@ -509,6 +517,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore is
is
Trace : WisiToken.Trace'Class renames Super.Trace.all;
McKenzie_Param : McKenzie_Param_Type renames Shared.Table.McKenzie_Param;
+ Prev_Recover : constant WisiToken.Base_Token_Index :=
Super.Parser_State (Parser_Index).Resume_Token_Goal;
Token : constant Recover_Token := Config.Stack.Peek.Token;
begin
@@ -519,10 +528,15 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
-- to give this operation zero cost. But then we keep doing push_back
-- forever, making no progress. So we give it a cost.
- if not Token.Virtual then
- -- If Virtual, this is from earlier in this recover session; no point
- -- in trying to redo it.
+ if Token.Min_Terminal_Index /= Invalid_Token_Index and
+ -- No point in pushing back an empty nonterm; that leads to duplicate
+ -- solutions with Undo_Reduce; see test_mckenzie_recover.adb Error_2.
+ (Prev_Recover = Invalid_Token_Index or else Prev_Recover <
Token.Min_Terminal_Index)
+ -- Don't push back past previous error recover (that would require
+ -- keeping track of previous inserts/deletes, and would not be useful
+ -- in most cases).
+ then
declare
use Config_Op_Arrays;
New_Config : Configuration := Config;
@@ -561,19 +575,59 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
function Just_Pushed_Back_Or_Deleted (Config : in Configuration; ID : in
Token_ID) return Boolean
is
use Config_Op_Arrays, Config_Op_Array_Refs;
- use all type Ada.Containers.Count_Type;
+ Last_Token_Index : WisiToken.Token_Index := Config.Current_Shared_Token;
+ -- Index of token in last op checked.
begin
- if Length (Config.Ops) = 0 then
- return False;
- else
+ -- This function is called when considering whether to insert ID before
+ -- Config.Current_Shared_Token.
+ --
+ -- We need to consider more than one recent op here; see
test_mckenzie_recover.adb
+ -- Check_Multiple_Delete_For_Insert. Checking only one op allows this
solution there:
+ --
+ -- ... (DELETE, END, 7), (DELETE, SEMICOLON, 8), (INSERT, END, 9),
(INSERT, SEMICOLON, 9)
+ --
+ for I in reverse First_Index (Config.Ops) .. Last_Index (Config.Ops) loop
declare
- Last_Op : Config_Op renames Constant_Ref (Config.Ops, Last_Index
(Config.Ops));
+ Op : Config_Op renames Constant_Ref (Config.Ops, I);
begin
- return
- (Last_Op.Op = Push_Back and then Last_Op.PB_ID = ID) or
- (Last_Op.Op = Delete and then Last_Op.Del_ID = ID);
+ case Op.Op is
+ when Push_Back =>
+ -- The case we are preventing for Push_Back is typically one
of:
+ -- (PUSH_BACK, Identifier, 2), (INSERT, Identifier, 2)
+ -- (PUSH_BACK, Identifier, 2), (PUSH_BACK, END, 3), (INSERT,
Identifier, 3), (INSERT, END, 3),
+ if Op.PB_Token_Index = Last_Token_Index then
+ if Op.PB_ID = ID then
+ return True;
+ else
+ if Op.PB_Token_Index = WisiToken.Token_Index'First then
+ return False;
+ else
+ Last_Token_Index := Op.PB_Token_Index - 1;
+ end if;
+ end if;
+ else
+ -- Op is at a different edit point.
+ return False;
+ end if;
+
+ when Delete =>
+ if Op.Del_Token_Index = Last_Token_Index - 1 then
+ if Op.Del_ID = ID then
+ return True;
+ else
+ Last_Token_Index := Op.Del_Token_Index;
+ end if;
+ else
+ -- Op is at a different edit point.
+ return False;
+ end if;
+
+ when Fast_Forward | Insert | Undo_Reduce =>
+ return False;
+ end case;
end;
- end if;
+ end loop;
+ return False;
end Just_Pushed_Back_Or_Deleted;
procedure Try_Undo_Reduce
@@ -583,45 +637,40 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
Config : in Configuration;
Local_Config_Heap : in out Config_Heaps.Heap_Type)
is
- Trace : WisiToken.Trace'Class renames Super.Trace.all;
- McKenzie_Param : McKenzie_Param_Type renames Shared.Table.McKenzie_Param;
+ use Config_Op_Arrays;
- Token : constant Recover_Token := Config.Stack.Peek.Token;
+ Trace : WisiToken.Trace'Class renames Super.Trace.all;
+ McKenzie_Param : McKenzie_Param_Type renames Shared.Table.McKenzie_Param;
+ Token : constant Recover_Token := Config.Stack.Peek.Token;
+ New_Config : Configuration := Config;
+ Token_Count : Ada.Containers.Count_Type;
begin
-- Try expanding the nonterm on the stack top, to allow pushing_back
-- its components, or insert and other operations at that point.
- if Undo_Reduce_Valid (Config.Stack, Super.Parser_State
(Parser_Index).Tree) then
- declare
- use Config_Op_Arrays;
- New_Config : Configuration := Config;
- Token_Count : Ada.Containers.Count_Type;
- begin
- New_Config.Error_Token.ID := Invalid_Token_ID;
- New_Config.Check_Status := (Label =>
WisiToken.Semantic_Checks.Ok);
+ New_Config.Error_Token.ID := Invalid_Token_ID;
+ New_Config.Check_Status := (Label => WisiToken.Semantic_Checks.Ok);
- Token_Count := Undo_Reduce (New_Config.Stack, Super.Parser_State
(Parser_Index).Tree);
+ Token_Count := Undo_Reduce (New_Config.Stack, Super.Parser_State
(Parser_Index).Tree);
- if Token.Min_Terminal_Index /= Invalid_Token_Index then
- -- If Token is empty no cost increase.
- New_Config.Cost := New_Config.Cost + McKenzie_Param.Undo_Reduce
(Token.ID);
- end if;
+ if Token.Min_Terminal_Index /= Invalid_Token_Index then
+ -- If Token is empty no cost increase.
+ New_Config.Cost := New_Config.Cost + McKenzie_Param.Undo_Reduce
(Token.ID);
+ end if;
- if Is_Full (New_Config.Ops) then
- Super.Config_Full ("undo_reduce 1", Parser_Index);
- raise Bad_Config;
- else
- Append (New_Config.Ops, (Undo_Reduce, Token.ID, Token_Count));
- end if;
- New_Config.Strategy_Counts (Undo_Reduce) :=
New_Config.Strategy_Counts (Undo_Reduce) + 1;
+ if Is_Full (New_Config.Ops) then
+ Super.Config_Full ("undo_reduce 1", Parser_Index);
+ raise Bad_Config;
+ else
+ Append (New_Config.Ops, (Undo_Reduce, Token.ID, Token_Count));
+ end if;
+ New_Config.Strategy_Counts (Undo_Reduce) := New_Config.Strategy_Counts
(Undo_Reduce) + 1;
- Local_Config_Heap.Add (New_Config);
+ Local_Config_Heap.Add (New_Config);
- if Trace_McKenzie > Detail then
- Base.Put ("undo_reduce " & Image (Token.ID,
Trace.Descriptor.all), Super, Shared,
- Parser_Index, New_Config);
- end if;
- end;
+ if Trace_McKenzie > Detail then
+ Base.Put ("undo_reduce " & Image (Token.ID, Trace.Descriptor.all),
Super, Shared,
+ Parser_Index, New_Config);
end if;
end Try_Undo_Reduce;
@@ -673,8 +722,8 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore is
": undo push_back");
end if;
elsif ID = Current_Token then
- -- This needed because we allow explore when the error
is not at the
- -- explore point; it prevents inserting useless tokens
(ie
+ -- This is needed because we allow explore when the
error is not at
+ -- the explore point; it prevents inserting useless
tokens (ie
-- 'identifier ;' in ada_lite).
if Trace_McKenzie > Extra then
Put_Line
@@ -759,8 +808,9 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore is
Inserted_Last : Integer := Inserted'First - 1;
type Work_Item is record
- Action : Minimal_Action;
- Config : Configuration;
+ Action : Minimal_Action;
+ Cost_Delta : Integer;
+ Config : Configuration;
end record;
package Item_Queues is new SAL.Gen_Bounded_Definite_Queues (Work_Item);
@@ -771,39 +821,24 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
-- Minimal_Complete_Actions encountered. That is limited by compound
-- statement nesting, and by the frequency of such actions.
- function To_Reduce_Action (Action : in Minimal_Action) return
Reduce_Action_Rec
- is (Reduce, (Action.Nonterm, 0), null, null, Action.Token_Count);
-
- procedure Minimal_Do_Shift (Action : in Minimal_Action; Config : in out
Configuration)
- is
- use Config_Op_Arrays, Config_Op_Array_Refs;
- begin
- -- Check for a cycle. We compare stack depth as well as state, so
- -- nested compound statements don't look like a cycle; see
- -- test_mckenzie_recover Push_Back_1. We don't check for cycles in
- -- Insert_From_Action_List because we assume cost eliminates cycles
- -- there; Minimal_Complete_Delta is usually negative, so cost does
- -- not necessarily increase here.
- for I in reverse First_Index (Config.Ops) .. Last_Index (Config.Ops)
loop
- declare
- Op : Config_Op renames Constant_Ref (Config.Ops, I);
- begin
- if Op.Op = Insert and then
- (Op.Ins_ID = Action.ID and Op.State = Action.State and
Op.Stack_Depth = Config.Stack.Depth)
- then
- if Trace_McKenzie > Extra then
- Put_Line
- (Super.Trace.all, Super.Label (Parser_Index),
"Minimal_Complete_Actions: abandon " &
- Image (Action.ID, Descriptor) & Action.State'Image &
": cycle");
- end if;
- return;
- end if;
- end;
- end loop;
+ procedure Safe_Add_Work (Label : in String; Item : in Work_Item)
+ is begin
+ if Is_Full (Work) then
+ Super.Config_Full ("Minimal_Complete_Actions " & Label,
Parser_Index);
+ raise Bad_Config;
+ else
+ Add (Work, Item);
+ end if;
+ end Safe_Add_Work;
- -- We don't check Action.ID = Current_Token; the error is at the
- -- explore point, so ID is valid.
+ function To_Reduce_Action (Action : in Minimal_Action) return
Reduce_Action_Rec
+ is (Reduce, Action.Production, null, null, Action.Token_Count);
+ procedure Minimal_Do_Shift
+ (Action : in Minimal_Action;
+ Cost_Delta : in Integer;
+ Config : in out Configuration)
+ is begin
if Just_Pushed_Back_Or_Deleted (Config, Action.ID) then
if Trace_McKenzie > Extra then
Put_Line
@@ -814,101 +849,167 @@ package body
WisiToken.Parse.LR.McKenzie_Recover.Explore is
Config.Check_Status := (Label =>
WisiToken.Semantic_Checks.Ok);
Config.Minimal_Complete_State := Active;
Inserted_Last := Inserted_Last + 1;
- Inserted (Inserted_Last) := Action.ID;
+ if Inserted_Last <= Inserted'Last then
+ Inserted (Inserted_Last) := Action.ID;
+ else
+ Super.Config_Full ("minimal_do_shift Inserted", Parser_Index);
+ raise Bad_Config;
+ end if;
Do_Shift
("Minimal_Complete_Actions", Super, Shared, Parser_Index,
Local_Config_Heap, Config,
- Action.State, Action.ID,
Table.McKenzie_Param.Minimal_Complete_Cost_Delta,
+ Action.State, Action.ID, Cost_Delta,
Strategy => Minimal_Complete);
end if;
end Minimal_Do_Shift;
procedure Enqueue_Min_Actions
- (Label : in String;
- Actions : in Minimal_Action_Arrays.Vector;
- Recursive : in Boolean;
- Config : in Configuration;
- Reduce_Only : in Boolean)
+ (Label : in String;
+ Actions : in Minimal_Action_Arrays.Vector;
+ Config : in Configuration)
is
use SAL;
Length : array (Actions.First_Index .. Actions.Last_Index) of
Count_Type := (others => Count_Type'Last);
- Item_Not_Recursive : array (Actions.First_Index ..
Actions.Last_Index) of Boolean := (others => False);
-
- Not_Recursive_Count : Count_Type := 0;
- Min_Length : Count_Type := Count_Type'Last;
- Use_Recursive : Boolean;
+ Min_Length : Count_Type := Count_Type'Last;
begin
- -- Enqueue non-minimal actions on Work,
if Trace_McKenzie > Extra then
Put_Line
(Super.Trace.all, Super.Label (Parser_Index),
"Minimal_Complete_Actions: " & Label &
- Image (Actions, Descriptor) & (if Recursive then " recursive"
else ""));
+ Image (Actions, Descriptor));
end if;
if Actions.Length = 0 then
return;
elsif Actions.Length = 1 then
- if (not Reduce_Only) or Actions (Actions.First_Index).Verb =
Reduce then
- if Is_Full (Work) then
- Super.Config_Full ("Minimal_Complete_Actions 1",
Parser_Index);
- raise Bad_Config;
- else
- Add (Work, (Actions (Actions.First_Index), Config));
- end if;
- end if;
+ Safe_Add_Work
+ ("1", (Actions (Actions.First_Index),
Table.McKenzie_Param.Minimal_Complete_Cost_Delta, Config));
return;
end if;
+ -- More than one minimal action in State; try to use next states and
+ -- recursion to pick one.
+ Actions_Loop :
for I in Actions.First_Index .. Actions.Last_Index loop
declare
- Action : Minimal_Action renames Actions (I);
- Next_State : constant State_Index :=
+ function Matches (Item : in Kernel_Info; Action : in
Minimal_Action) return Boolean
+ is begin
+ case Action.Verb is
+ when Shift =>
+ return Item.Before_Dot = Action.ID;
+ when Reduce =>
+ return Item.Before_Dot = Action.Production.LHS;
+ end case;
+ end Matches;
+
+ function Length_After_Dot
+ (Item : in Kernel_Info;
+ Action : in Minimal_Action;
+ Stack : in Recover_Stacks.Stack)
+ return Ada.Containers.Count_Type
+ is
+ Match_ID : Token_ID;
+ New_Stack : Recover_Stacks.Stack := Stack;
+ Next_State : Unknown_State_Index;
+ Result : Ada.Containers.Count_Type;
+ Min_Result : Ada.Containers.Count_Type :=
Ada.Containers.Count_Type'Last;
+ begin
+ case Action.Verb is
+ when Shift =>
+ New_Stack.Push
+ ((Action.State, Invalid_Node_Index, (ID => Action.ID,
others => <>)));
+ Next_State := Action.State;
+ Match_ID := Action.ID;
+
+ when Reduce =>
+ New_Stack.Pop (SAL.Base_Peek_Type (Action.Token_Count));
+ Next_State := Goto_For (Shared.Table.all,
New_Stack.Peek.State, Action.Production.LHS);
+ if Next_State = Unknown_State then
+ -- We get here when Insert_From_Action_Table started
us down a bad path
+ raise Bad_Config;
+ end if;
+
+ New_Stack.Push
+ ((Next_State, Invalid_Node_Index, (ID =>
Action.Production.LHS, others => <>)));
+ Match_ID := Action.Production.LHS;
+ end case;
+
+ if Trace_McKenzie > Extra then
+ Super.Trace.Put (Next_State'Image & " " & Trimmed_Image
(Item.Production));
+ end if;
+
+ for Item of Shared.Table.States (Next_State).Kernel loop
+ if Item.Before_Dot = Match_ID then
+ if Item.Length_After_Dot = 0 then
+ Result := Length_After_Dot
+ (Item, (Reduce, Item.Reduce_Production,
Item.Reduce_Count), New_Stack);
+ else
+ Result := Item.Length_After_Dot;
+ end if;
+ end if;
+
+ if Result < Min_Result then
+ Min_Result := Result;
+ end if;
+ end loop;
+ return Min_Result;
+ end Length_After_Dot;
+
+ Action : constant Minimal_Action := Actions (I);
+ Next_State : constant State_Index :=
(case Action.Verb is
- when Shift => Action.State,
+ when Shift => Action.State,
when Reduce => Goto_For
(Shared.Table.all,
Config.Stack.Peek (Base_Peek_Type (Action.Token_Count) +
1).State,
- Action.Nonterm));
- Before_Dot : constant Token_ID :=
- (case Action.Verb is
- when Shift => Action.ID,
- when Reduce => Action.Nonterm);
- Kernel : Kernel_Info_Arrays.Vector renames
Shared.Table.States (Next_State).Kernel;
+ Action.Production.LHS));
begin
- if (not Reduce_Only) or Action.Verb = Reduce then
- for Item of Kernel loop
- Item_Not_Recursive (I) := Item_Not_Recursive (I) or not
Item.Recursive;
- if Item.Before_Dot = Before_Dot and
- Item.Length_After_Dot < Length (I)
- then
- Length (I) := Item.Length_After_Dot;
- if Length (I) < Min_Length then
- Min_Length := Length (I);
+ if Trace_McKenzie > Extra then
+ Super.Trace.Put
+ ("task" & Task_Attributes.Value'Image &
+ Super.Label (Parser_Index)'Image & ":
Minimal_Complete_Actions: " &
+ Image (Action, Descriptor));
+ end if;
+
+ for Item of Shared.Table.States (Next_State).Kernel loop
+
+ if Matches (Item, Action) then
+ -- For Action.Verb = Reduce, more than one item may match
+ if Item.Length_After_Dot = 0 then
+ -- Set Length from a non-zero-length non-recursive
item.
+ Length (I) := Length_After_Dot (Item, Action,
Config.Stack);
+
+ elsif Item.Length_After_Dot < Length (I) then
+ if Trace_McKenzie > Extra then
+ -- Length_After_Dot outputs this in other branch
+ Super.Trace.Put (Next_State'Image & " " &
Trimmed_Image (Item.Production));
end if;
+ Length (I) := Item.Length_After_Dot;
+
end if;
- end loop;
+
+ if Trace_McKenzie > Extra then
+ Super.Trace.Put (" length" & Length (I)'Image);
+ end if;
+ if Length (I) < Min_Length then
+ Min_Length := Length (I);
+ end if;
+ end if;
+ end loop;
+ if Trace_McKenzie > Extra then
+ Super.Trace.New_Line;
end if;
end;
- if Item_Not_Recursive (I) then
- Not_Recursive_Count := Not_Recursive_Count + 1;
- end if;
- end loop;
-
- Use_Recursive := Recursive and Not_Recursive_Count > 0 and
Not_Recursive_Count < Actions.Length;
+ end loop Actions_Loop;
for I in Length'Range loop
- if (Use_Recursive and Item_Not_Recursive (I)) or ((not
Use_Recursive) and Length (I) = Min_Length) then
- if Is_Full (Work) then
- Super.Config_Full ("Minimal_Complete_Actions 2",
Parser_Index);
- raise Bad_Config;
- else
- Add (Work, (Actions (I), Config));
- end if;
+ if Length (I) = Min_Length then
+ Safe_Add_Work ("2", (Actions (I),
Table.McKenzie_Param.Minimal_Complete_Cost_Delta, Config));
+
elsif Trace_McKenzie > Extra then
Put_Line
(Super.Trace.all, Super.Label (Parser_Index),
"Minimal_Complete_Actions: drop " &
- Image (Actions (I), Descriptor));
+ Image (Actions (I), Descriptor) & " not minimal or
recursive");
end if;
end loop;
end Enqueue_Min_Actions;
@@ -927,11 +1028,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
return Token_ID_Arrays.Empty_Vector;
end if;
- Enqueue_Min_Actions
- ("",
- Table.States (Orig_Config.Stack.Peek.State).Minimal_Complete_Actions,
- Table.States
(Orig_Config.Stack.Peek.State).Minimal_Complete_Actions_Recursive,
- Orig_Config, Reduce_Only => False);
+ Enqueue_Min_Actions ("", Table.States
(Orig_Config.Stack.Peek.State).Minimal_Complete_Actions, Orig_Config);
loop
exit when Is_Empty (Work);
@@ -952,7 +1049,6 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore is
declare
Reduce_Action : Reduce_Action_Rec := To_Reduce_Action
(Item.Action);
Actions : Minimal_Action_Arrays.Vector;
- Recursive : Boolean;
begin
loop
Do_Reduce_1
@@ -960,8 +1056,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore is
Reduce_Action,
Do_Language_Fixes => False);
- Actions := Table.States
(Item.Config.Stack.Peek.State).Minimal_Complete_Actions;
- Recursive := Table.States
(Item.Config.Stack.Peek.State).Minimal_Complete_Actions_Recursive;
+ Actions := Table.States
(Item.Config.Stack.Peek.State).Minimal_Complete_Actions;
case Actions.Length is
when 0 =>
@@ -974,32 +1069,36 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
when 1 =>
case Actions (Actions.First_Index).Verb is
when Shift =>
- Minimal_Do_Shift (Actions (Actions.First_Index),
Item.Config);
+ Minimal_Do_Shift (Actions (Actions.First_Index),
Item.Cost_Delta, Item.Config);
exit;
when Reduce =>
Reduce_Action := To_Reduce_Action (Actions
(Actions.First_Index));
end case;
when others =>
- Enqueue_Min_Actions ("multiple actions ", Actions,
Recursive, Item.Config, Reduce_Only => True);
+ Enqueue_Min_Actions ("multiple actions ", Actions,
Item.Config);
exit;
end case;
end loop;
end;
when Shift =>
- Minimal_Do_Shift (Item.Action, Item.Config);
+ Minimal_Do_Shift (Item.Action, Item.Cost_Delta, Item.Config);
end case;
end;
end loop;
if Inserted_Last = Inserted'First - 1 then
+ -- Nothing inserted this round.
if Orig_Config.Minimal_Complete_State = Active then
Orig_Config.Minimal_Complete_State := Done;
end if;
end if;
return To_Vector (Inserted (1 .. Inserted_Last));
+ exception
+ when Bad_Config =>
+ return Token_ID_Arrays.Empty_Vector;
end Insert_Minimal_Complete_Actions;
procedure Insert_Matching_Begin
@@ -1014,7 +1113,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
Descriptor : WisiToken.Descriptor renames Super.Trace.Descriptor.all;
begin
-- We don't check for insert = current token; that's either ok or a
- -- severe bug in Language_Use_Minimal_Complete.
+ -- severe bug in Shared.Language_Matching_Begin_Tokens.
if Config.Matching_Begin_Done then
if Trace_McKenzie > Extra then
@@ -1090,7 +1189,6 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
Local_Config_Heap : in out Config_Heaps.Heap_Type)
is
use all type
WisiToken.Parse.LR.Parser.Language_Matching_Begin_Tokens_Access;
- use all type Ada.Containers.Count_Type;
Tokens : Token_ID_Array_1_3;
Matching_Begin_Tokens : Token_ID_Arrays.Vector;
Forbid_Minimal_Insert : Boolean := False;
@@ -1100,7 +1198,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
if Shared.Language_Matching_Begin_Tokens /= null then
Current_Token_ID_Peek_3
(Shared.Terminals.all, Config.Current_Shared_Token,
Config.Insert_Delete, Config.Current_Insert_Delete,
- Super.Parser_State (Parser_Index).Prev_Deleted, Tokens);
+ Tokens);
Shared.Language_Matching_Begin_Tokens (Tokens, Config,
Matching_Begin_Tokens, Forbid_Minimal_Insert);
end if;
@@ -1115,12 +1213,12 @@ package body
WisiToken.Parse.LR.McKenzie_Recover.Explore is
Insert_Matching_Begin (Super, Shared, Parser_Index, Config,
Local_Config_Heap, Matching_Begin_Tokens);
end if;
- -- We always do all three Insert_Minimal_Complete (unless
+ -- We always do all three; Insert_Minimal_Complete (unless
-- Forbid_Minimal_Insert), Insert_Matching_Begin,
-- Insert_From_Action_List; in general it's not possible to tell when
-- one will be better (see test_mckenzie_recover.adb
-- Always_Minimal_Complete, Always_Matching_Begin).
- -- Insert_From_Action does not insert the Minimal_Inserted tokens,
+ -- Insert_From_Action_List does not insert the Minimal_Inserted tokens,
-- and it will never insert the Matching_Begin_Tokens, so there is no
-- duplication. Insert_From_Action_List will normally be more
-- expensive.
@@ -1150,7 +1248,6 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
Check_Limit : WisiToken.Token_Index renames
Shared.Table.McKenzie_Param.Check_Limit;
Current_Line : constant Line_Number_Type :=
Shared.Terminals.all (Config.Current_Shared_Token).Line;
- Lexer_Error_Token_Index : Base_Token_Index;
Lexer_Error_Token : Base_Token;
function Recovered_Lexer_Error (Line : in Line_Number_Type) return
Base_Token_Index
@@ -1167,6 +1264,8 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
return Invalid_Token_Index;
end Recovered_Lexer_Error;
+ Lexer_Error_Token_Index : constant Base_Token_Index :=
Recovered_Lexer_Error (Current_Line);
+
function String_ID_Set (String_ID : in Token_ID) return Token_ID_Set
is begin
if Shared.Language_String_ID_Set = null then
@@ -1182,8 +1281,6 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
Matching : in SAL.Peek_Type;
String_Literal_ID : in Token_ID)
is
- use Parse.Parse_Item_Arrays;
-
Saved_Shared_Token : constant WisiToken.Token_Index :=
New_Config.Current_Shared_Token;
Tok : Recover_Token;
@@ -1198,8 +1295,13 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
raise Bad_Config;
end if;
for I in 1 .. Matching loop
- Tok := New_Config.Stack.Pop.Token;
- Append (New_Config.Ops, (Push_Back, Tok.ID,
Tok.Min_Terminal_Index));
+ if Push_Back_Valid (New_Config) then
+ Tok := New_Config.Stack.Pop.Token;
+ Append (New_Config.Ops, (Push_Back, Tok.ID,
Tok.Min_Terminal_Index));
+ else
+ -- Probably pushing back thru a previously inserted token
+ raise Bad_Config;
+ end if;
end loop;
New_Config.Current_Shared_Token := Tok.Min_Terminal_Index;
@@ -1230,8 +1332,9 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
raise SAL.Programmer_Error;
end;
- if not Has_Space
- (New_Config.Ops, Ada.Containers.Count_Type (Saved_Shared_Token - 1
- New_Config.Current_Shared_Token))
+ if New_Config.Current_Shared_Token < Saved_Shared_Token - 1 and then
+ (not Has_Space
+ (New_Config.Ops, Ada.Containers.Count_Type (Saved_Shared_Token -
1 - New_Config.Current_Shared_Token)))
then
Super.Config_Full ("insert quote 2 " & Label, Parser_Index);
raise Bad_Config;
@@ -1245,14 +1348,65 @@ package body
WisiToken.Parse.LR.McKenzie_Recover.Explore is
end String_Literal_In_Stack;
+ procedure Push_Back_Tokens
+ (Full_Label : in String;
+ New_Config : in out Configuration;
+ Min_Pushed_Back_Index : out Base_Token_Index)
+ is
+ Item : Recover_Stack_Item;
+ begin
+ loop
+ Item := New_Config.Stack.Peek;
+ if Item.Token.Virtual then
+ -- Don't push back an inserted token
+ exit;
+
+ elsif Item.Token.Byte_Region = Null_Buffer_Region then
+ -- Don't need push_back for an empty token
+ New_Config.Stack.Pop;
+
+ elsif Item.Tree_Index = Invalid_Node_Index then
+ -- Item was pushed on stack during recovery, and we do not know
+ -- its Line. To avoid crossing a line boundary, we stop
push_backs
+ -- here.
+ exit;
+
+ else
+ if Shared.Terminals.all
+ (Super.Parser_State (Parser_Index).Tree.First_Shared_Terminal
(Item.Tree_Index)).Line = Current_Line
+ -- Don't let push_back cross a line boundary.
+ then
+ if Is_Full (New_Config.Ops) then
+ Super.Config_Full (Full_Label, Parser_Index);
+ raise Bad_Config;
+ else
+ New_Config.Stack.Pop;
+ Append (New_Config.Ops, (Push_Back, Item.Token.ID,
Item.Token.Min_Terminal_Index));
+ end if;
+ end if;
+
+ exit;
+ end if;
+ end loop;
+ Min_Pushed_Back_Index := Item.Token.Min_Terminal_Index;
+ end Push_Back_Tokens;
+
procedure Finish
(Label : in String;
New_Config : in out Configuration;
First, Last : in Base_Token_Index)
- is begin
+ is
+ Adj_First : constant Base_Token_Index := (if First =
Invalid_Token_Index then Last else First);
+ Adj_Last : constant Base_Token_Index := (if Last =
Invalid_Token_Index then First else Last);
+ begin
-- Delete tokens First .. Last; either First - 1 or Last + 1 should
-- be a String_Literal. Leave Current_Shared_Token at Last + 1.
+ if Adj_Last = Invalid_Token_Index or Adj_First = Invalid_Token_Index
then
+ pragma Assert (False);
+ raise Bad_Config;
+ end if;
+
New_Config.Error_Token.ID := Invalid_Token_ID;
New_Config.Check_Status := (Label => WisiToken.Semantic_Checks.Ok);
@@ -1264,7 +1418,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
raise Bad_Config;
end if;
- for I in First .. Last loop
+ for I in Adj_First .. Adj_Last loop
Append (New_Config.Ops, (Delete, Shared.Terminals.all (I).ID, I));
end loop;
New_Config.Current_Shared_Token := Last + 1;
@@ -1274,7 +1428,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
if New_Config.Resume_Token_Goal - Check_Limit <
New_Config.Current_Shared_Token then
New_Config.Resume_Token_Goal := New_Config.Current_Shared_Token +
Check_Limit;
- if Trace_McKenzie > Detail then
+ if Trace_McKenzie > Extra then
Put_Line
(Super.Trace.all, Super.Label (Parser_Index),
"resume_token_goal:" & WisiToken.Token_Index'Image
(New_Config.Resume_Token_Goal));
@@ -1296,11 +1450,12 @@ package body
WisiToken.Parse.LR.McKenzie_Recover.Explore is
-- before, at, or after that string literal.
--
-- Here we assume the parse error in Config.Error_Token is due to
- -- putting the balancing quote in the wrong place, and attempt to
- -- find a better place to put the balancing quote. Then all tokens
- -- from the balancing quote to the unbalanced quote are now part of a
- -- string literal, so delete them, leaving just the string literal
- -- created by Lexer error recovery.
+ -- putting the balancing quote in the wrong place (although we do
+ -- check that; see test_mckenzie_recover.adb String_Quote_6), and
+ -- attempt to find a better place to put the balancing quote. Then
+ -- all tokens from the balancing quote to the unbalanced quote are
+ -- now part of a string literal, so delete them, leaving just the
+ -- string literal created by Lexer error recovery.
-- First we check to see if there is an unbalanced quote in the
-- current line; if not, just return. Some lexer errors are for other
@@ -1311,8 +1466,6 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
Config.String_Quote_Checked := Current_Line;
- Lexer_Error_Token_Index := Recovered_Lexer_Error (Current_Line);
-
if Lexer_Error_Token_Index = Invalid_Token_Index then
return;
end if;
@@ -1331,23 +1484,11 @@ package body
WisiToken.Parse.LR.McKenzie_Recover.Explore is
-- test_mckenzie_recover.adb String_Quote_0. So far we have not found
-- a test case for more than one token.
declare
- New_Config : Configuration := Config;
- Token : Recover_Token;
+ New_Config : Configuration := Config;
+ Min_Pushed_Back_Index : Base_Token_Index;
begin
- loop
- Token := New_Config.Stack.Pop.Token;
- if Token.Byte_Region /= Null_Buffer_Region then
- if Is_Full (New_Config.Ops) then
- Super.Config_Full ("insert quote 4 a", Parser_Index);
- raise Bad_Config;
- else
- Append (New_Config.Ops, (Push_Back, Token.ID,
Token.Min_Terminal_Index));
- end if;
- exit;
- end if;
- end loop;
-
- Finish ("a", New_Config, Token.Min_Terminal_Index,
Config.Current_Shared_Token - 1);
+ Push_Back_Tokens ("insert quote 4 a", New_Config,
Min_Pushed_Back_Index);
+ Finish ("a", New_Config, Min_Pushed_Back_Index,
Config.Current_Shared_Token - 1);
Local_Config_Heap.Add (New_Config);
end;
@@ -1412,25 +1553,13 @@ package body
WisiToken.Parse.LR.McKenzie_Recover.Explore is
-- case d: Assume a missing quote belongs somewhere farther before
-- the current token; try one non-empty (as in case a above). See
- -- test_mckenzie_recover.adb String_Quote_4.
+ -- test_mckenzie_recover.adb String_Quote_4, String_Quote_6.
declare
- New_Config : Configuration := Config;
- Token : Recover_Token;
+ New_Config : Configuration := Config;
+ Min_Pushed_Back_Index : Base_Token_Index;
begin
- loop
- Token := New_Config.Stack.Pop.Token;
- if Token.Byte_Region /= Null_Buffer_Region then
- if Is_Full (New_Config.Ops) then
- Super.Config_Full ("insert quote 5 d", Parser_Index);
- raise Bad_Config;
- else
- Append (New_Config.Ops, (Push_Back, Token.ID,
Token.Min_Terminal_Index));
- end if;
- exit;
- end if;
- end loop;
-
- Finish ("d", New_Config, Token.Min_Terminal_Index,
Lexer_Error_Token_Index - 1);
+ Push_Back_Tokens ("insert quote 5 d", New_Config,
Min_Pushed_Back_Index);
+ Finish ("d", New_Config, Min_Pushed_Back_Index,
Lexer_Error_Token_Index - 1);
Local_Config_Heap.Add (New_Config);
exception
when SAL.Container_Empty =>
@@ -1482,7 +1611,6 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
-- Try deleting (= skipping) the current shared input token.
use Config_Op_Arrays, Config_Op_Array_Refs;
- use all type Ada.Containers.Count_Type;
Trace : WisiToken.Trace'Class renames Super.Trace.all;
EOF_ID : Token_ID renames Trace.Descriptor.EOI_ID;
Check_Limit : WisiToken.Token_Index renames
Shared.Table.McKenzie_Param.Check_Limit;
@@ -1496,7 +1624,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
(Length (Config.Ops) = 0 or else
-- Don't delete an ID we just inserted; waste of time
(not Equal (Constant_Ref (Config.Ops, Last_Index (Config.Ops)),
- (Insert, ID, Config.Current_Shared_Token, 1, 0))))
+ (Insert, ID, Config.Current_Shared_Token))))
then
declare
New_Config : Configuration := Config;
@@ -1535,10 +1663,6 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
Append (New_Config.Ops, (Delete, ID,
Config.Current_Shared_Token));
end if;
New_Config.Current_Shared_Token := New_Config.Current_Shared_Token
+ 1;
- loop
- exit when not Super.Parser_State
(Parser_Index).Prev_Deleted.Contains (New_Config.Current_Shared_Token);
- New_Config.Current_Shared_Token :=
New_Config.Current_Shared_Token + 1;
- end loop;
if New_Config.Resume_Token_Goal - Check_Limit <
New_Config.Current_Shared_Token then
New_Config.Resume_Token_Goal := New_Config.Current_Shared_Token
+ Check_Limit;
@@ -1596,24 +1720,16 @@ package body
WisiToken.Parse.LR.McKenzie_Recover.Explore is
-- adding ops to Config (except as noted); Language_Fixes should use
-- McKenzie_Recover.Insert, Delete instead.
if Config.Current_Insert_Delete = 1 then
- -- Config.Current_Insert_Delete > 1 is a programming error.
+ -- Config is from Language_Fixes.
- case Fast_Forward (Super, Shared, Parser_Index, Local_Config_Heap,
Config) is
- when Abandon =>
- -- We know Local_Config_Heap is empty; just tell
- -- Super we are done working.
- Super.Put (Parser_Index, Local_Config_Heap);
- return;
- when Continue =>
- -- We don't increase cost for this Fast_Forward, since it is due
to a
- -- Language_Fixes.
- null;
- end case;
+ Fast_Forward (Super, Shared, Parser_Index, Local_Config_Heap, Config);
+ Super.Put (Parser_Index, Local_Config_Heap);
+ return;
end if;
pragma Assert (Config.Current_Insert_Delete = 0);
+ -- Config.Current_Insert_Delete > 1 is a programming error.
- -- Language_Fixes: let it enqueue configs.
if Config.Error_Token.ID /= Invalid_Token_ID then
if Shared.Language_Fixes = null then
null;
@@ -1625,58 +1741,55 @@ package body
WisiToken.Parse.LR.McKenzie_Recover.Explore is
-- The solutions enqueued by Language_Fixes should be lower cost
than
-- others (typically 0), so they will be checked first.
+ end if;
- if Config.Check_Status.Label = Ok then
- -- Parse table Error action.
- --
- -- We don't clear Config.Error_Token here, because
- -- Language_Use_Minimal_Complete_Actions needs it. We only
clear it
- -- when a parse results in no error (or a different error), or
a
- -- push_back moves the Current_Token.
- null;
+ if Config.Check_Status.Label = Ok then
+ -- Parse table Error action.
+ --
+ -- We don't clear Config.Error_Token here, because
+ -- Language_Use_Minimal_Complete_Actions needs it. We only clear
it
+ -- when a parse results in no error (or a different error), or a
+ -- push_back moves the Current_Token.
+ null;
- else
- -- Assume "ignore check error" is a viable solution. But give
it a
- -- cost, so a solution provided by Language_Fixes is preferred.
+ else
+ -- Assume "ignore check error" is a viable solution. But give it a
+ -- cost, so a solution provided by Language_Fixes is preferred.
- declare
- New_State : Unknown_State_Index;
- begin
- Config.Cost := Config.Cost +
Table.McKenzie_Param.Ignore_Check_Fail;
+ declare
+ New_State : Unknown_State_Index;
+ begin
+ Config.Cost := Config.Cost +
Table.McKenzie_Param.Ignore_Check_Fail;
+ Config.Strategy_Counts (Ignore_Error) := Config.Strategy_Counts
(Ignore_Error) + 1;
- -- finish reduce.
- Config.Stack.Pop (SAL.Base_Peek_Type
(Config.Check_Token_Count));
+ -- finish reduce.
+ Config.Stack.Pop (SAL.Base_Peek_Type
(Config.Check_Token_Count));
- New_State := Goto_For (Table, Config.Stack.Peek.State,
Config.Error_Token.ID);
+ New_State := Goto_For (Table, Config.Stack.Peek.State,
Config.Error_Token.ID);
- if New_State = Unknown_State then
- if Config.Stack.Depth = 1 then
- -- Stack is empty, and we did not get Accept; really
bad syntax got
- -- us here; abandon this config. See
ada_mode-recover_bad_char.adb.
- Super.Put (Parser_Index, Local_Config_Heap);
- return;
- else
- raise SAL.Programmer_Error with
- "process_one found test case for new_state =
Unknown; old state " &
- Trimmed_Image (Config.Stack.Peek.State) & " nonterm
" & Image
- (Config.Error_Token.ID, Trace.Descriptor.all);
- end if;
+ if New_State = Unknown_State then
+ if Config.Stack.Depth = 1 then
+ -- Stack is empty, and we did not get Accept; really bad
syntax got
+ -- us here; abandon this config. See
ada_mode-recover_bad_char.adb.
+ Super.Put (Parser_Index, Local_Config_Heap);
+ return;
+ else
+ raise SAL.Programmer_Error with
+ "process_one found test case for new_state = Unknown;
old state " &
+ Trimmed_Image (Config.Stack.Peek.State) & " nonterm " &
Image
+ (Config.Error_Token.ID, Trace.Descriptor.all);
end if;
+ end if;
- Config.Stack.Push ((New_State,
Syntax_Trees.Invalid_Node_Index, Config.Error_Token));
-
- -- We clear Check_Status and Error_Token so the check error
is ignored.
- Config.Check_Status := (Label => Ok);
+ Config.Stack.Push ((New_State, Invalid_Node_Index,
Config.Error_Token));
- Config.Error_Token.ID := Invalid_Token_ID;
- end;
- end if;
+ -- We _don't_ clear Check_Status and Error_Token here; Check
needs
+ -- them, and sets them as appropriate.
+ end;
end if;
end if;
- -- Call Check to see if this config succeeds. Note that Check does
- -- more than Fast_Forward, so the fact that Fast_Forward succeeds
- -- does not mean we don't need to call Check.
+ -- Call Check to see if this config succeeds.
case Check (Super, Shared, Parser_Index, Config, Local_Config_Heap) is
when Success =>
Super.Success (Parser_Index, Config, Local_Config_Heap);
@@ -1711,14 +1824,15 @@ package body
WisiToken.Parse.LR.McKenzie_Recover.Explore is
Try_Insert_Terminal (Super, Shared, Parser_Index, Config,
Local_Config_Heap);
- if None_Since_FF (Config.Ops, Delete) and then
- None_Since_FF (Config.Ops, Insert) and then
- Config.Stack.Depth > 1 and then -- can't delete the first state
+ if Push_Back_Valid (Config) and then
(not Check_Reduce_To_Start (Super, Shared, Parser_Index, Config))
- -- If Config reduces to the start nonterm, there's no point in
push_back.
+ -- If Config reduces to the start nonterm, there's no point in
Push_Back or Undo_Reduce.
then
Try_Push_Back (Super, Shared, Parser_Index, Config,
Local_Config_Heap);
- Try_Undo_Reduce (Super, Shared, Parser_Index, Config,
Local_Config_Heap);
+
+ if Undo_Reduce_Valid (Config.Stack, Super.Parser_State
(Parser_Index).Tree) then
+ Try_Undo_Reduce (Super, Shared, Parser_Index, Config,
Local_Config_Heap);
+ end if;
end if;
if None_Since_FF (Config.Ops, Insert) then
@@ -1733,9 +1847,11 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Explore
is
Config.String_Quote_Checked < Shared.Terminals.all
(Config.Current_Shared_Token).Line)
then
-- See if there is a mismatched quote. The solution is to delete
- -- tokens, replacing them with a string literal. So we try this when
- -- it is ok to try delete.
- Try_Insert_Quote (Super, Shared, Parser_Index, Config,
Local_Config_Heap);
+ -- tokens, nominally replacing them with an expanded string literal.
+ -- So we try this when it is ok to try delete.
+ if None_Since_FF (Config.Ops, Insert) then
+ Try_Insert_Quote (Super, Shared, Parser_Index, Config,
Local_Config_Heap);
+ end if;
end if;
Super.Put (Parser_Index, Local_Config_Heap);
diff --git a/packages/wisi/wisitoken-parse-lr-mckenzie_recover-parse.adb
b/packages/wisi/wisitoken-parse-lr-mckenzie_recover-parse.adb
index 5db933e..b56bba6 100644
--- a/packages/wisi/wisitoken-parse-lr-mckenzie_recover-parse.adb
+++ b/packages/wisi/wisitoken-parse-lr-mckenzie_recover-parse.adb
@@ -2,7 +2,7 @@
--
-- See spec
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -110,8 +110,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Parse is
-- Parse_Items.
use Parse_Item_Arrays;
- use Sorted_Insert_Delete_Arrays;
- use all type Ada.Containers.Count_Type;
+ use Config_Op_Arrays;
use all type Semantic_Checks.Check_Status_Label;
Trace : WisiToken.Trace'Class renames Super.Trace.all;
@@ -130,8 +129,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Parse is
Terminals_Current => Config.Current_Shared_Token,
Restore_Terminals_Current => Restore_Terminals_Current,
Insert_Delete => Config.Insert_Delete,
- Current_Insert_Delete => Config.Current_Insert_Delete,
- Prev_Deleted => Super.Parser_State
(Parser_Index).Prev_Deleted);
+ Current_Insert_Delete => Config.Current_Insert_Delete);
New_State : Unknown_State_Index;
Success : Boolean := True;
@@ -202,7 +200,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Parse is
Config.Stack.Push
((Action.Item.State,
- Syntax_Trees.Invalid_Node_Index,
+ Invalid_Node_Index,
(Current_Token.ID,
Byte_Region => Current_Token.Byte_Region,
Min_Terminal_Index =>
@@ -217,8 +215,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Parse is
Terminals_Current => Config.Current_Shared_Token,
Restore_Terminals_Current => Restore_Terminals_Current,
Insert_Delete => Config.Insert_Delete,
- Current_Insert_Delete => Config.Current_Insert_Delete,
- Prev_Deleted => Super.Parser_State
(Parser_Index).Prev_Deleted);
+ Current_Insert_Delete => Config.Current_Insert_Delete);
when Reduce =>
declare
@@ -244,7 +241,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover.Parse is
raise Bad_Config;
end if;
- Config.Stack.Push ((New_State,
Syntax_Trees.Invalid_Node_Index, Nonterm));
+ Config.Stack.Push ((New_State, Invalid_Node_Index, Nonterm));
when Semantic_Checks.Error =>
Config.Error_Token := Nonterm;
diff --git a/packages/wisi/wisitoken-parse-lr-mckenzie_recover.adb
b/packages/wisi/wisitoken-parse-lr-mckenzie_recover.adb
index 6fa41d8..24c33d2 100644
--- a/packages/wisi/wisitoken-parse-lr-mckenzie_recover.adb
+++ b/packages/wisi/wisitoken-parse-lr-mckenzie_recover.adb
@@ -140,7 +140,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
when Message => raise SAL.Programmer_Error));
if Trace_McKenzie > Extra then
Put_Line
- (Trace, Parser_State.Label, Parser_Lists.Image
+ (Trace, Parser_State.Label, "stack: " & Parser_Lists.Image
(Parser_State.Stack, Trace.Descriptor.all,
Parser_State.Tree));
end if;
end if;
@@ -168,6 +168,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
if Shared_Parser.Language_Fixes = null then
-- The only fix is to ignore the error.
if Trace_McKenzie > Detail then
+ Config.Strategy_Counts (Ignore_Error) := 1;
Put ("enqueue", Trace, Parser_State.Label,
Shared_Parser.Terminals, Config,
Task_ID => False);
end if;
@@ -207,7 +208,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
Parsers : Parser_Lists.List renames Shared_Parser.Parsers;
- Current_Parser : Parser_Lists.Cursor;
+ Skip_Next : Boolean := False;
Super : aliased Base.Supervisor
(Trace'Access,
@@ -287,15 +288,13 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
end if;
end;
- -- Adjust parser state for each successful recovery.
+ -- Spawn new parsers for multiple solutions.
--
-- One option here would be to keep only the parser with the least
-- cost fix. However, the normal reason for having multiple parsers
-- is to resolve a grammar ambiguity; the least cost fix might
-- resolve the ambiguity the wrong way. As could any other fix, of
-- course.
-
- -- Spawn new parsers for multiple solutions.
--
-- We could try to check here for redundant solutions; configs for a
-- parser that have the same or "equivalent" ops. But those will be
@@ -375,339 +374,273 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
-- We don't use 'for Parser_State of Parsers loop' here,
-- because we might need to terminate a parser.
- Current_Parser := Parsers.First;
- loop
- exit when Current_Parser.Is_Done;
-
- if Current_Parser.State_Ref.Recover.Success then
- begin
- -- Can't have active 'renames State_Ref' when terminate a
parser
- declare
- use Parser_Lists;
- use Config_Op_Arrays, Config_Op_Array_Refs;
- use Sorted_Insert_Delete_Arrays;
-
- Parser_State : Parser_Lists.Parser_State renames
Current_Parser.State_Ref;
-
- Descriptor : WisiToken.Descriptor renames
Shared_Parser.Trace.Descriptor.all;
- Tree : Syntax_Trees.Tree renames Parser_State.Tree;
- Data : McKenzie_Data renames Parser_State.Recover;
- Result : Configuration renames Data.Results.Peek;
+ declare
+ Current_Parser : Parser_Lists.Cursor := Parsers.First;
+ begin
+ loop
+ exit when Current_Parser.Is_Done;
- Min_Op_Token_Index : WisiToken.Token_Index :=
WisiToken.Token_Index'Last;
- Min_Push_Back_Token_Index : WisiToken.Token_Index :=
WisiToken.Token_Index'Last;
+ if Current_Parser.State_Ref.Recover.Success then
+ begin
+ -- Can't have active 'renames State_Ref' when terminate a
parser
+ declare
+ use Parser_Lists;
+ use Config_Op_Arrays, Config_Op_Array_Refs;
- Stack_Matches_Ops : Boolean := True;
- Shared_Token_Changed : Boolean := False;
- Current_Token_Virtual : Boolean := False;
+ Parser_State : Parser_Lists.Parser_State renames
Current_Parser.State_Ref;
- Sorted_Insert_Delete : aliased
Sorted_Insert_Delete_Arrays.Vector;
+ Descriptor : WisiToken.Descriptor renames
Shared_Parser.Trace.Descriptor.all;
+ Stack : Parser_Stacks.Stack renames
Parser_State.Stack;
+ Tree : Syntax_Trees.Tree renames Parser_State.Tree;
+ Data : McKenzie_Data renames Parser_State.Recover;
+ Result : Configuration renames Data.Results.Peek;
- procedure Apply_Prev_Token
- is begin
- loop
- exit when not Parser_State.Prev_Deleted.Contains
(Parser_State.Shared_Token);
- Parser_State.Shared_Token := Parser_State.Shared_Token
+ 1;
- end loop;
- end Apply_Prev_Token;
-
- begin
- -- The verb will be reset by the main parser; just indicate
the
- -- parser recovered from the error.
- Parser_State.Set_Verb (Shift);
-
- Parser_State.Errors (Parser_State.Errors.Last).Recover :=
Result;
-
- Parser_State.Resume_Token_Goal := Result.Resume_Token_Goal;
-
- if Trace_McKenzie > Extra then
- Put_Line (Trace, Parser_State.Label, "before Ops
applied:", Task_ID => False);
- Put_Line
- (Trace, Parser_State.Label, "stack " & Image
(Parser_State.Stack, Descriptor, Tree),
- Task_ID => False);
- Put_Line
- (Trace, Parser_State.Label, "Shared_Token " & Image
- (Parser_State.Shared_Token, Shared_Parser.Terminals,
Descriptor),
- Task_ID => False);
- Put_Line
- (Trace, Parser_State.Label, "Current_Token " &
Parser_State.Tree.Image
- (Parser_State.Current_Token, Descriptor),
- Task_ID => False);
- end if;
+ Stack_Matches_Ops : Boolean := True;
+ Shared_Token_Changed : Boolean := False;
+ Current_Token_Virtual : Boolean := False;
+ First_Insert : Boolean := True;
+ begin
+ -- The verb will be reset by the main parser; just
indicate the
+ -- parser recovered from the error.
+ Parser_State.Set_Verb (Shift);
+
+ Parser_State.Errors (Parser_State.Errors.Last).Recover :=
Result;
+
+ Parser_State.Resume_Token_Goal :=
Result.Resume_Token_Goal;
+
+ if Trace_McKenzie > Extra then
+ Put_Line (Trace, Parser_State.Label, "before Ops
applied:", Task_ID => False);
+ Put_Line
+ (Trace, Parser_State.Label, "stack " & Image (Stack,
Descriptor, Tree),
+ Task_ID => False);
+ Put_Line
+ (Trace, Parser_State.Label, "Shared_Token " & Image
+ (Parser_State.Shared_Token,
Shared_Parser.Terminals, Descriptor),
+ Task_ID => False);
+ Put_Line
+ (Trace, Parser_State.Label, "Current_Token " &
Parser_State.Tree.Image
+ (Parser_State.Current_Token, Descriptor),
+ Task_ID => False);
+ end if;
+
+ -- We don't apply all Ops to the parser stack here,
because there can
+ -- be other input tokens between the inserts and
deletes, and there
+ -- can be conflicts; we let the main parser handle that.
We can apply
+ -- all ops up to the first insert.
+ --
+ -- Other than Add_Terminal, there's no need to modify
+ -- Parser_State.Tree. Any tree nodes created by the
failed parse that
+ -- are pushed back are useful for error repair, and will
just be
+ -- ignored in future parsing. This also avoids enlarging
a
+ -- non-flushed branched tree, which saves time and space.
+ --
+ -- Language_Fixes may abuse the rules about adding Ops,
so we check
+ -- that as much as is reasonable here. We use Assert to
get an
+ -- immediate error in a debug build, and raise
Bad_Config to avoid
+ -- further corruption in a release build.
+
+ for I in First_Index (Result.Ops) .. Last_Index
(Result.Ops) loop
+ declare
+ Op : Config_Op renames Constant_Ref (Result.Ops, I);
+ begin
+ case Op.Op is
+ when Fast_Forward =>
+ -- The parser would do shifts and reduces for
the tokens we are
+ -- skipping here
+ Stack_Matches_Ops := False;
- -- We don't apply all Ops to the parser stack here, because
that
- -- requires updating the syntax tree as well, and we want
to let the
- -- main parser do that, partly as a double check on the
algorithms
- -- here.
- --
- -- However, the main parser can only apply Insert and
Delete ops; we
- -- must apply Push_Back and Undo_Reduce here. Note that
Fast_Forward
- -- ops are just for bookkeeping.
- --
- -- In order to apply Undo_Reduce, we also need to apply any
preceding
- -- ops. See test_mckenzie_recover.adb Missing_Name_2 for an
example
- -- of multiple Undo_Reduce. On the other hand, Push_Back
can be
- -- applied without the preceding ops.
- --
- -- A Push_Back can go back past preceding ops, including
Undo_Reduce;
- -- there's no point in applying ops that are later
superceded by such
- -- a Push_Back. See test_mckenzie_recover.adb
Out_Of_Order_Ops for an
- -- example.
- --
- -- Push_Back can also go back past a previous error
recovery; we must
- -- apply Parser_State.Prev_Deleted here as well, when
computing
- -- Shared_Token.
- --
- -- So first we go thru Ops to find the earliest Push_Back.
Then we
- -- apply ops that are before that point, up to the first
Insert or
- -- Fast_Forward. After that, we enqueue Insert and Delete
ops on
- -- Parser_State.Recover_Insert_Delete, in token_index
order, and any
- -- Undo_Reduce are rejected.
- --
- -- Then the main parser parses the edited input stream.
- --
- -- There's no need to modify Parser_State.Tree. Any tree
nodes
- -- created by the failed parse that are pushed back are
useful for
- -- error repair, and will just be ignored in future
parsing. This
- -- also avoids enlarging a non-flushed branched tree, which
saves
- -- time and space.
-
- for I in First_Index (Result.Ops) .. Last_Index (Result.Ops)
loop
- declare
- Op : Config_Op renames Constant_Ref (Result.Ops, I);
- begin
- case Op.Op is
- when Fast_Forward =>
- if Op.FF_Token_Index < Min_Op_Token_Index then
- Min_Op_Token_Index := Op.FF_Token_Index;
- end if;
-
- when Undo_Reduce =>
- null;
-
- when Push_Back =>
- if Op.PB_Token_Index /= Invalid_Token_Index then
- if Op.PB_Token_Index < Min_Op_Token_Index then
- Min_Op_Token_Index := Op.PB_Token_Index;
- end if;
- if Op.PB_Token_Index < Min_Push_Back_Token_Index
then
- Min_Push_Back_Token_Index :=
Op.PB_Token_Index;
- end if;
- end if;
+ when Undo_Reduce =>
+ -- If Stack_Matches_Ops, we must do the
Stack.Pop and Pushes, and we
+ -- can use Stack.Peek to check if the
Undo_Reduce is valid.
+ --
+ -- If not Stack_Matches_Ops, we have to assume
Undo_Reduce is valid.
+ --
+ -- See test_mckenzie_recover.adb Extra_Begin
for an example of Undo_Reduce
+ -- after other ops.
+ if Stack_Matches_Ops then
+ if not (Tree.Is_Nonterm (Stack.Peek.Token) and
+ (I = First_Index (Result.Ops) or
else
+ Push_Back_Valid
+ (Tree.First_Shared_Terminal
(Stack.Peek.Token), Result.Ops, I - 1)))
+ then
+ pragma Assert (False);
+ if Trace_McKenzie > Outline then
+ Put_Line
+ (Trace, Parser_State.Label, "invalid
Undo_Reduce in apply config",
+ Task_ID => False);
+ end if;
+ raise Bad_Config;
+ end if;
- when Insert =>
- if Op.Ins_Token_Index /= Invalid_Token_Index then
- if Op.Ins_Token_Index < Min_Op_Token_Index then
- Min_Op_Token_Index := Op.Ins_Token_Index;
- end if;
- if Op.Ins_Token_Index <
Min_Push_Back_Token_Index then
- Min_Push_Back_Token_Index :=
Op.Ins_Token_Index;
+ for C of Tree.Children (Stack.Pop.Token) loop
+ Stack.Push ((Tree.State (C), C));
+ end loop;
end if;
- end if;
- when Delete =>
- if Op.Del_Token_Index /= Invalid_Token_Index then
- if Op.Del_Token_Index < Min_Op_Token_Index then
- Min_Op_Token_Index := Op.Del_Token_Index;
- end if;
- if Op.Del_Token_Index <
Min_Push_Back_Token_Index then
- Min_Push_Back_Token_Index :=
Op.Del_Token_Index;
- end if;
- end if;
-
- end case;
- end;
- end loop;
-
- for I in First_Index (Result.Ops) .. Last_Index (Result.Ops)
loop
- declare
- Op : Config_Op renames Constant_Ref (Result.Ops, I);
- begin
- case Op.Op is
- when Fast_Forward =>
- Stack_Matches_Ops := False;
-
- when Undo_Reduce =>
- if not Stack_Matches_Ops then
- if Trace_McKenzie > Outline then
- Put_Line
- (Trace, Parser_State.Label, "Undo_Reduce
after insert or fast_forward",
- Task_ID => False);
- end if;
- raise Bad_Config;
- end if;
-
- declare
- Item : constant Parser_Lists.Parser_Stack_Item
:= Parser_State.Stack.Pop;
- begin
- case Tree.Label (Item.Token) is
- when Syntax_Trees.Shared_Terminal |
- Syntax_Trees.Virtual_Identifier |
- Syntax_Trees.Virtual_Terminal =>
+ when Push_Back =>
+ -- If Stack_Matches_Ops, we must do the
Stack.Pop, and can use that
+ -- to check if the Push_Back is valid.
+ --
+ -- If not Stack_Matches_Ops, we have to assume
Op.PB_Token_Index is
+ -- correct, and we do not do Stack.Pop. We can
still check the target
+ -- token index against the previous ops.
+ --
+ -- See test_mckenzie_recover.adb Erorr_2 for an
example of Push_Back
+ -- after other ops.
+ if not
+ (I = First_Index (Result.Ops) or else
+ Push_Back_Valid
+ (Target_Token_Index =>
+ (if Stack_Matches_Ops
+ then Tree.First_Shared_Terminal
(Stack.Peek.Token)
+ else Op.PB_Token_Index),
+ Ops => Result.Ops,
+ Prev_Op => I - 1))
+ then
if Trace_McKenzie > Outline then
Put_Line
- (Trace, Parser_State.Label, "expecting
nonterminal, found " &
- Image (Tree.ID (Item.Token),
Trace.Descriptor.all),
+ (Trace, Parser_State.Label, "invalid
Push_Back in apply config op" & I'Image,
Task_ID => False);
end if;
+ pragma Assert (False);
raise Bad_Config;
-
- when Syntax_Trees.Nonterm =>
- for C of Tree.Children (Item.Token) loop
- Parser_State.Stack.Push ((Tree.State (C),
C));
- end loop;
- end case;
- end;
-
- when Push_Back =>
- if Stack_Matches_Ops then
- Parser_State.Stack.Pop;
- if Op.PB_Token_Index /= Invalid_Token_Index then
- Parser_State.Shared_Token :=
Op.PB_Token_Index;
- Shared_Token_Changed := True;
end if;
- elsif Op.PB_Token_Index = Min_Op_Token_Index then
- loop
- -- Multiple push_backs can have the same
Op.PB_Token_Index, so we may
- -- already be at the target.
- exit when Parser_State.Shared_Token <=
Op.PB_Token_Index and
- (Parser_State.Stack.Depth = 1 or else
- Tree.Min_Terminal_Index
(Parser_State.Stack (1).Token) /= Invalid_Token_Index);
- -- also push back empty tokens.
-
- declare
- Item : constant
Parser_Lists.Parser_Stack_Item := Parser_State.Stack.Pop;
-
- Min_Index : constant Base_Token_Index :=
- Parser_State.Tree.Min_Terminal_Index
(Item.Token);
- begin
- if Min_Index /= Invalid_Token_Index then
- Shared_Token_Changed := True;
- Parser_State.Shared_Token := Min_Index;
- end if;
- end;
- end loop;
- pragma Assert (Parser_State.Shared_Token =
Op.PB_Token_Index);
- end if;
-
- when Insert =>
- if Stack_Matches_Ops and Op.Ins_Token_Index =
Parser_State.Shared_Token then
- -- This is the first Insert. Even if a later
Push_Back supercedes it,
- -- we record Stack_Matches_Ops false here.
- Stack_Matches_Ops := False;
+ if Stack_Matches_Ops then
+ Stack.Pop;
- if Op.Ins_Token_Index <=
Min_Push_Back_Token_Index then
- Parser_State.Current_Token :=
Parser_State.Tree.Add_Terminal (Op.Ins_ID);
- Current_Token_Virtual := True;
- else
- if Is_Full (Sorted_Insert_Delete) then
- raise Bad_Config;
- else
- Insert (Sorted_Insert_Delete, Op);
+ if Op.PB_Token_Index /= Invalid_Token_Index
then
+ -- Pushing back an empty nonterm has no
effect on the input stream.
+ Parser_State.Shared_Token :=
Op.PB_Token_Index;
+ Shared_Token_Changed := True;
end if;
end if;
- else
- if Is_Full (Sorted_Insert_Delete) then
- raise Bad_Config;
- else
- Insert (Sorted_Insert_Delete, Op);
+
+ when Insert =>
+ Recover_Op_Arrays.Append
+ (Parser_State.Recover_Insert_Delete,
+ (Op => Insert,
+ Ins_ID => Op.Ins_ID,
+ Ins_Token_Index => Op.Ins_Token_Index,
+ Ins_Tree_Node => Invalid_Node_Index));
+
+ if Parser_State.Recover_Insert_Delete_Current =
No_Index then
+ Parser_State.Recover_Insert_Delete_Current :=
+ Recover_Op_Arrays.Last_Index
(Parser_State.Recover_Insert_Delete);
end if;
- end if;
-
- when Delete =>
- if Stack_Matches_Ops and Op.Del_Token_Index =
Parser_State.Shared_Token then
- -- We can apply multiple deletes.
- Parser_State.Shared_Token := Op.Del_Token_Index
+ 1;
- Apply_Prev_Token;
- Shared_Token_Changed := True;
- else
- if Is_Full (Sorted_Insert_Delete) then
- raise Bad_Config;
+
+ if First_Insert and Op.Ins_Token_Index =
Parser_State.Shared_Token then
+ -- We need First_Insert here, not just
Stack_Matches_Ops, when the
+ -- first insert is preceeded only by
Push_Back and Undo_Reduce, with
+ -- at least one Undo_Reduce (so
Stack_Matches_Ops is False when we
+ -- get here). See test_mckenzie_recover.adb
Missing_Name_3
+
+ First_Insert := False;
+
+ -- Normally Insert is completed by
Stack.Push; we let the main parser
+ -- do that.
+ Stack_Matches_Ops := False;
+
+ -- Add_Terminal is normally done in the
lexer phase, so we do this here.
+ Parser_State.Current_Token :=
Parser_State.Tree.Add_Terminal
+ (Op.Ins_ID, Op.Ins_Token_Index);
+ Recover_Op_Array_Refs.Variable_Ref
+ (Parser_State.Recover_Insert_Delete,
+ Recover_Op_Arrays.Last_Index
(Parser_State.Recover_Insert_Delete)).Ins_Tree_Node :=
+ Parser_State.Current_Token;
+
+ Current_Token_Virtual :=
True;
+ Parser_State.Recover_Insert_Delete_Current :=
No_Index;
else
- Insert (Sorted_Insert_Delete, Op);
+ -- Let main parser handle it
+ null;
end if;
- end if;
- end case;
- end;
- end loop;
-
- -- We may not have processed the current Insert or Delete
above, if
- -- they are after a fast_forward.
- for I in First_Index (Sorted_Insert_Delete) .. Last_Index
(Sorted_Insert_Delete) loop
- declare
- Op : Insert_Delete_Op renames
Insert_Delete_Array_Refs.Constant_Ref (Sorted_Insert_Delete, I);
- begin
- if Token_Index (Op) = Parser_State.Shared_Token and
not Current_Token_Virtual then
- case Insert_Delete_Op_Label'(Op.Op) is
- when Insert =>
- Parser_State.Current_Token :=
Parser_State.Tree.Add_Terminal (ID (Op));
- Current_Token_Virtual := True;
when Delete =>
- Parser_State.Shared_Token := Op.Del_Token_Index
+ 1;
- Apply_Prev_Token;
- Shared_Token_Changed := True;
+ Recover_Op_Arrays.Append
+ (Parser_State.Recover_Insert_Delete,
+ (Op => Delete,
+ Del_ID => Op.Del_ID,
+ Del_Token_Index => Op.Del_Token_Index));
+
+ if Stack_Matches_Ops and Op.Del_Token_Index =
Parser_State.Shared_Token then
+ -- Delete has no effect on Stack, so we can
apply multiple deletes.
+ Parser_State.Shared_Token :=
Op.Del_Token_Index + 1;
+ Shared_Token_Changed := True;
+
+ Parser_State.Recover_Insert_Delete_Current :=
No_Index;
+ else
+ if Parser_State.Recover_Insert_Delete_Current
= No_Index then
+ Parser_State.Recover_Insert_Delete_Current
:=
+ Recover_Op_Arrays.Last_Index
(Parser_State.Recover_Insert_Delete);
+ end if;
+
+ end if;
+
end case;
- else
- Parser_State.Recover_Insert_Delete.Put (Op);
- end if;
- end;
- end loop;
-
- -- If not Shared_Token_Changed, Shared_Token is the error
token,
- -- which is the next token to read. If
Shared_Token_Changed, we have
- -- set Shared_Token consistent with that; it is the next
token to
- -- read. If Current_Token_Virtual, then after all the
virtual tokens
- -- are inserted, the main parser would normally increment
- -- Parser_State.Shared_Token to get the next token, but we
don't want
- -- that now. We could set Shared_Token to 1 less, but this
way the
- -- debug messages all show the expected Shared_Terminal.
-
- Parser_State.Inc_Shared_Token := not Current_Token_Virtual;
-
- -- The main parser always sets Current_Token to be the
syntax tree
- -- node containing Shared_Token; ensure that is true here
(virtual
- -- tokens where handled above).
-
- if (not Current_Token_Virtual) and Shared_Token_Changed then
- Parser_State.Current_Token :=
Parser_State.Tree.Add_Terminal
- (Parser_State.Shared_Token, Shared_Parser.Terminals);
- end if;
+ end;
+ end loop;
- if Trace_McKenzie > Extra then
- Put_Line (Trace, Parser_State.Label, "after Ops
applied:", Task_ID => False);
- Put_Line
- (Trace, Parser_State.Label, "stack " &
Parser_Lists.Image
- (Parser_State.Stack, Descriptor, Tree),
- Task_ID => False);
- Put_Line
- (Trace, Parser_State.Label, "Shared_Token " & Image
- (Parser_State.Shared_Token, Shared_Parser.Terminals,
Descriptor), Task_ID => False);
- Put_Line
- (Trace, Parser_State.Label, "Current_Token " &
Parser_State.Tree.Image
- (Parser_State.Current_Token, Descriptor), Task_ID =>
False);
- Put_Line
- (Trace, Parser_State.Label, "recover_insert_delete " &
Image
- (Parser_State.Recover_Insert_Delete, Descriptor),
Task_ID => False);
- Put_Line
- (Trace, Parser_State.Label, "inc_shared_token " &
Boolean'Image (Parser_State.Inc_Shared_Token) &
- " parser verb " & All_Parse_Action_Verbs'Image
(Parser_State.Verb),
- Task_ID => False);
+ -- If not Shared_Token_Changed, Shared_Token is the
error token,
+ -- which is the next token to read. If
Shared_Token_Changed, we have
+ -- set Shared_Token consistent with that; it is the next
token to
+ -- read. If Current_Token_Virtual, then after all the
virtual tokens
+ -- are inserted, the main parser would normally increment
+ -- Parser_State.Shared_Token to get the next token, but
we don't want
+ -- that now. We could set Shared_Token to 1 less, but
this way the
+ -- debug messages all show the expected Shared_Terminal.
+
+ Parser_State.Inc_Shared_Token := not
Current_Token_Virtual;
+
+ -- The main parser always sets Current_Token to be the
syntax tree
+ -- node containing Shared_Token; ensure that is true
here (virtual
+ -- tokens where handled above).
+
+ if (not Current_Token_Virtual) and Shared_Token_Changed
then
+ Parser_State.Current_Token := Shared_Parser.Terminals
+ (Parser_State.Shared_Token).Tree_Index;
+ end if;
+
+ if Trace_McKenzie > Extra then
+ Put_Line (Trace, Parser_State.Label, "after Ops
applied:", Task_ID => False);
+ Put_Line
+ (Trace, Parser_State.Label, "stack " &
Parser_Lists.Image
+ (Stack, Descriptor, Tree),
+ Task_ID => False);
+ Put_Line
+ (Trace, Parser_State.Label, "Shared_Token " & Image
+ (Parser_State.Shared_Token,
Shared_Parser.Terminals, Descriptor), Task_ID => False);
+ Put_Line
+ (Trace, Parser_State.Label, "Current_Token " &
Parser_State.Tree.Image
+ (Parser_State.Current_Token, Descriptor), Task_ID
=> False);
+ Put_Line
+ (Trace, Parser_State.Label, "recover_insert_delete" &
+ Parser_State.Recover_Insert_Delete_Current'Image
& ":" &
+ Image (Parser_State.Recover_Insert_Delete,
Descriptor), Task_ID => False);
+ Put_Line
+ (Trace, Parser_State.Label, "inc_shared_token " &
+ Boolean'Image (Parser_State.Inc_Shared_Token),
+ Task_ID => False);
+ end if;
+ end;
+ exception
+ when Bad_Config =>
+ if Parsers.Count = 1 then
+ -- Oops. just give up
+ return Fail_Programmer_Error;
end if;
+ Parsers.Terminate_Parser (Current_Parser, "bad config in
recover", Trace, Shared_Parser.Terminals);
+ -- Terminate advances Current_Parser
+ Skip_Next := True;
end;
- exception
- when Bad_Config =>
- if Parsers.Count = 1 then
- -- Oops. just give up
- return Fail_Programmer_Error;
- end if;
- Parsers.Terminate_Parser (Current_Parser, "bad config in
recover", Trace, Shared_Parser.Terminals);
- end;
- end if;
- Current_Parser.Next;
- end loop;
-
+ end if;
+ if Skip_Next then
+ Skip_Next := False;
+ else
+ Current_Parser.Next;
+ end if;
+ end loop;
+ end;
if Shared_Parser.Post_Recover /= null then
Shared_Parser.Post_Recover.all;
end if;
@@ -717,7 +650,8 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
exception
when E : others =>
if Debug_Mode then
- Trace.Put (Ada.Exceptions.Exception_Name (E) & ": " &
Ada.Exceptions.Exception_Message (E));
+ Trace.Put (Ada.Exceptions.Exception_Name (E) & ": " &
Ada.Exceptions.Exception_Message (E), Prefix => True);
+ Trace.New_Line;
raise;
else
return Fail_Programmer_Error;
@@ -737,13 +671,12 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
(Terminals : in Base_Token_Arrays.Vector;
Terminals_Current : in out WisiToken.Base_Token_Index;
Restore_Terminals_Current : out WisiToken.Base_Token_Index;
- Insert_Delete : aliased in out
Sorted_Insert_Delete_Arrays.Vector;
- Current_Insert_Delete : in out SAL.Base_Peek_Type;
- Prev_Deleted : in
Recover_Token_Index_Arrays.Vector)
+ Insert_Delete : aliased in out Config_Op_Arrays.Vector;
+ Current_Insert_Delete : in out SAL.Base_Peek_Type)
return Base_Token
is
- use Sorted_Insert_Delete_Arrays;
- use Insert_Delete_Array_Refs;
+ use Config_Op_Arrays;
+ use Config_Op_Array_Refs;
procedure Inc_I_D
is begin
@@ -778,11 +711,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
return (ID => ID (Op), others => <>);
when Delete =>
- Terminals_Current := Terminals_Current + 1;
- loop
- exit when not Prev_Deleted.Contains (Terminals_Current);
- Terminals_Current := Terminals_Current + 1;
- end loop;
+ Terminals_Current := Terminals_Current + 1;
Restore_Terminals_Current := Terminals_Current;
Inc_I_D;
end case;
@@ -796,11 +725,11 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
function Current_Token_ID_Peek
(Terminals : in Base_Token_Arrays.Vector;
Terminals_Current : in Base_Token_Index;
- Insert_Delete : aliased in Sorted_Insert_Delete_Arrays.Vector;
+ Insert_Delete : aliased in Config_Op_Arrays.Vector;
Current_Insert_Delete : in SAL.Base_Peek_Type)
return Token_ID
is
- use Insert_Delete_Array_Refs;
+ use Config_Op_Array_Refs;
Result : Token_ID;
begin
@@ -836,9 +765,8 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
procedure Current_Token_ID_Peek_3
(Terminals : in Base_Token_Arrays.Vector;
Terminals_Current : in Base_Token_Index;
- Insert_Delete : aliased in
Sorted_Insert_Delete_Arrays.Vector;
+ Insert_Delete : aliased in Config_Op_Arrays.Vector;
Current_Insert_Delete : in SAL.Base_Peek_Type;
- Prev_Deleted : in Recover_Token_Index_Arrays.Vector;
Tokens : out Token_ID_Array_1_3)
is
Terminals_Next : WisiToken.Token_Index := Terminals_Current + 1;
@@ -851,16 +779,9 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
-- First set Tokens from Terminals; may be overridden by
-- Insert_Delete below.
Tokens (1) := Terminals (Terminals_Current).ID;
- loop
- exit when not Prev_Deleted.Contains (Terminals_Next);
- Terminals_Next := Terminals_Next + 1;
- end loop;
if Terminals_Next <= Terminals.Last_Index then
Tokens (2) := Terminals (Terminals_Next).ID;
- loop
- Terminals_Next := Terminals_Next + 1;
- exit when not Prev_Deleted.Contains (Terminals_Next);
- end loop;
+ Terminals_Next := Terminals_Next + 1;
if Terminals_Next <= Terminals.Last_Index then
Tokens (3) := Terminals (Terminals_Next).ID;
else
@@ -876,7 +797,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
else
for I in Tokens'Range loop
declare
- use Sorted_Insert_Delete_Arrays, Insert_Delete_Array_Refs;
+ use Config_Op_Arrays, Config_Op_Array_Refs;
J : constant SAL.Base_Peek_Type := Current_Insert_Delete +
SAL.Peek_Type (I) - 1;
begin
if (J in First_Index (Insert_Delete) .. Last_Index
(Insert_Delete)) and then
@@ -906,7 +827,6 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
ID : in Token_ID)
is
use Config_Op_Arrays;
- use Sorted_Insert_Delete_Arrays;
Op : constant Config_Op := (Delete, ID, Config.Current_Shared_Token);
begin
Check (Terminals (Config.Current_Shared_Token).ID, ID);
@@ -914,7 +834,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
raise Bad_Config;
end if;
Append (Config.Ops, Op);
- Insert (Config.Insert_Delete, Op);
+ Append (Config.Insert_Delete, Op);
Config.Current_Insert_Delete := 1;
end Delete_Check;
@@ -934,18 +854,31 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
Index : in out WisiToken.Token_Index)
is
use Config_Op_Arrays;
- use Sorted_Insert_Delete_Arrays;
Op : constant Config_Op := (Delete, Terminals (Index).ID, Index);
begin
if Is_Full (Config.Ops) or Is_Full (Config.Insert_Delete) then
raise Bad_Config;
end if;
Append (Config.Ops, Op);
- Insert (Config.Insert_Delete, Op);
+ Append (Config.Insert_Delete, Op);
Config.Current_Insert_Delete := 1;
Index := Index + 1;
end Delete;
+ function Find_ID
+ (Config : in Configuration;
+ ID : in Token_ID)
+ return Boolean
+ is begin
+ for I in 1 .. Config.Stack.Depth - 1 loop
+ -- Depth has Invalid_Token_ID
+ if ID = Config.Stack.Peek (I).Token.ID then
+ return True;
+ end if;
+ end loop;
+ return False;
+ end Find_ID;
+
procedure Find_ID
(Config : in Configuration;
ID : in Token_ID;
@@ -1081,14 +1014,13 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
procedure Insert (Config : in out Configuration; Index : in
WisiToken.Token_Index; ID : in Token_ID)
is
use Config_Op_Arrays;
- use Sorted_Insert_Delete_Arrays;
- Op : constant Config_Op := (Insert, ID, Index, Unknown_State, 0);
+ Op : constant Config_Op := (Insert, ID, Index);
begin
if Is_Full (Config.Ops) or Is_Full (Config.Insert_Delete) then
raise Bad_Config;
end if;
Append (Config.Ops, Op);
- Insert (Config.Insert_Delete, Op);
+ Append (Config.Insert_Delete, Op);
Config.Current_Insert_Delete := 1;
end Insert;
@@ -1096,21 +1028,15 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
(Terminals : in Base_Token_Arrays.Vector;
Terminals_Current : in out Base_Token_Index;
Restore_Terminals_Current : in out WisiToken.Base_Token_Index;
- Insert_Delete : aliased in out
Sorted_Insert_Delete_Arrays.Vector;
- Current_Insert_Delete : in out SAL.Base_Peek_Type;
- Prev_Deleted : in
Recover_Token_Index_Arrays.Vector)
+ Insert_Delete : aliased in out Config_Op_Arrays.Vector;
+ Current_Insert_Delete : in out SAL.Base_Peek_Type)
return Base_Token
is
- use Sorted_Insert_Delete_Arrays, Insert_Delete_Array_Refs;
+ use Config_Op_Arrays, Config_Op_Array_Refs;
function Next_Terminal return Base_Token
is begin
- Terminals_Current := Terminals_Current + 1;
- loop
- exit when not Prev_Deleted.Contains (Terminals_Current);
- Terminals_Current := Terminals_Current + 1;
- end loop;
-
+ Terminals_Current := Terminals_Current + 1;
Restore_Terminals_Current := Terminals_Current;
return Terminals (Terminals_Current);
end Next_Terminal;
@@ -1146,10 +1072,82 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
end loop;
end Next_Token;
+ function Push_Back_Valid
+ (Target_Token_Index : in WisiToken.Base_Token_Index;
+ Ops : in Config_Op_Arrays.Vector;
+ Prev_Op : in Positive_Index_Type)
+ return Boolean
+ is
+ use Config_Op_Arrays;
+ Fast_Forward_Seen : Boolean := False;
+ begin
+ -- We require a Fast_Forward after Insert or Delete, to eliminate
+ -- duplicate results from push_back before and after a
+ -- delete (see test_mckenzie_recover.adb Extra_Begin).
+ --
+ -- If Target_Token_Index is greater than the new current terminal
+ -- implied by Prev_Op, the Push_Back is valid. Otherwise, it is
+ -- invalid (it should have been done first); we only need to look at
+ -- one op other than Fast_Forward.
+ for I in reverse First_Index (Ops) .. Prev_Op loop
+ declare
+ Op : Config_Op renames Element (Ops, I);
+ begin
+ case Op.Op is
+ when Fast_Forward =>
+ -- We need to see the op before the Fast_Forward to tell if
Push_Back
+ -- to Target_Token_Index is ok.
+ Fast_Forward_Seen := True;
+
+ when Undo_Reduce =>
+ -- We don't know what the new terminal is from this op. We'll
just
+ -- have to trust the programmers.
+ return True;
+
+ when Push_Back =>
+ -- If neither the proposed Push_Back nor Op is for an empty
token,
+ -- successive Push_Backs have decreasing targets; see
+ -- test_mckenzie_recover.adb Missing_Name_0.
+ --
+ -- However, if there is a Fast_Forward between two Push_Backs,
+ -- Target_Token_Index must be >= Op.PB_Token_Index. See
+ -- ada-mode-recover_27.adb.
+ --
+ -- If called from Undo_Reduce_Valid where the Undo_Reduce
token is
+ -- empty, we get Target_Token_Index = Op.PB_Token_Index.
+ return Target_Token_Index = Invalid_Token_Index or else
+ Op.PB_Token_Index = Invalid_Token_Index or else
+ (if Fast_Forward_Seen
+ then Target_Token_Index > Op.PB_Token_Index
+ else Target_Token_Index <= Op.PB_Token_Index);
+
+ when Insert =>
+ -- If Target_Token_Index = Op.Ins_Token_Index, we want the edit
+ -- point to be at the same token as before; that's ok.
+ --
+ -- If Target_Token_Index > Ins_Token_Index, the Push_Back is
partway
+ -- into a Fast_Forward.
+ return Fast_Forward_Seen and
+ (Target_Token_Index = Invalid_Token_Index or else
+ Target_Token_Index >= Op.Ins_Token_Index);
+
+ when Delete =>
+ -- As for Insert
+ return Fast_Forward_Seen and
+ (Target_Token_Index = Invalid_Token_Index or else
+ Target_Token_Index >= Op.Del_Token_Index);
+ end case;
+ end;
+ end loop;
+ -- We can only get here if the only ops in Ops are Fast_Forward,
+ -- which is a programming error.
+ pragma Assert (False);
+ raise Bad_Config;
+ end Push_Back_Valid;
+
procedure Push_Back (Config : in out Configuration)
is
use Config_Op_Arrays, Config_Op_Array_Refs;
- use Sorted_Insert_Delete_Arrays;
Item : constant Recover_Stack_Item := Config.Stack.Pop;
Token_Index : constant Base_Token_Index :=
Item.Token.Min_Terminal_Index;
@@ -1171,7 +1169,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
if Is_Full (Config.Insert_Delete) then
raise Bad_Config;
end if;
- Insert (Config.Insert_Delete, Constant_Ref (Config.Ops, I),
Ignore_If_Equal => True);
+ Append (Config.Insert_Delete, Constant_Ref (Config.Ops, I));
end if;
end loop;
end if;
@@ -1184,7 +1182,6 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
procedure Push_Back_Check (Config : in out Configuration; Expected_ID : in
Token_ID)
is begin
- pragma Assert (Config.Stack.Depth > 1);
Check (Config.Stack.Peek (1).Token.ID, Expected_ID);
Push_Back (Config);
end Push_Back_Check;
@@ -1192,7 +1189,11 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
procedure Push_Back_Check (Config : in out Configuration; Expected : in
Token_ID_Array)
is begin
for ID of Expected loop
- Push_Back_Check (Config, ID);
+ if Push_Back_Valid (Config) then
+ Push_Back_Check (Config, ID);
+ else
+ raise Bad_Config;
+ end if;
end loop;
end Push_Back_Check;
@@ -1209,7 +1210,7 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
-- Build a string, call trace.put_line once, so output from multiple
-- tasks is not interleaved (mostly).
- use Insert_Delete_Array_Refs;
+ use Config_Op_Array_Refs;
use all type Ada.Strings.Unbounded.Unbounded_String;
use all type WisiToken.Semantic_Checks.Check_Status_Label;
@@ -1269,11 +1270,8 @@ package body WisiToken.Parse.LR.McKenzie_Recover is
is
Nonterm_Item : constant Recover_Stack_Item := Recover_Stacks.Pop (Stack);
begin
- if Nonterm_Item.Token.Byte_Region = Null_Buffer_Region then
- return 0;
- end if;
declare
- Children : constant Syntax_Trees.Valid_Node_Index_Array :=
Tree.Children (Nonterm_Item.Tree_Index);
+ Children : constant Valid_Node_Index_Array := Tree.Children
(Nonterm_Item.Tree_Index);
begin
for C of Children loop
Stack.Push ((Tree.State (C), C, Tree.Recover_Token (C)));
diff --git a/packages/wisi/wisitoken-parse-lr-mckenzie_recover.ads
b/packages/wisi/wisitoken-parse-lr-mckenzie_recover.ads
index dedad36..2f33cd2 100644
--- a/packages/wisi/wisitoken-parse-lr-mckenzie_recover.ads
+++ b/packages/wisi/wisitoken-parse-lr-mckenzie_recover.ads
@@ -11,7 +11,7 @@
-- [Grune 2008] Parsing Techniques, A Practical Guide, Second
-- Edition. Dick Grune, Ceriel J.H. Jacobs.
--
--- Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2017 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -30,6 +30,7 @@ with Ada.Task_Attributes;
with WisiToken.Parse.LR.Parser;
with WisiToken.Lexer;
package WisiToken.Parse.LR.McKenzie_Recover is
+ use all type Ada.Containers.Count_Type;
Bad_Config : exception;
-- Raised when a config is determined to violate some programming
@@ -51,7 +52,6 @@ package WisiToken.Parse.LR.McKenzie_Recover is
-- and forces at least three.
private
- use all type WisiToken.Syntax_Trees.Node_Index;
----------
-- Visible for language-specific child packages. Alphabetical.
@@ -65,9 +65,8 @@ private
(Terminals : in Base_Token_Arrays.Vector;
Terminals_Current : in out Base_Token_Index;
Restore_Terminals_Current : out WisiToken.Base_Token_Index;
- Insert_Delete : aliased in out
Sorted_Insert_Delete_Arrays.Vector;
- Current_Insert_Delete : in out SAL.Base_Peek_Type;
- Prev_Deleted : in
Recover_Token_Index_Arrays.Vector)
+ Insert_Delete : aliased in out Config_Op_Arrays.Vector;
+ Current_Insert_Delete : in out SAL.Base_Peek_Type)
return Base_Token;
-- Return the current token, from either Terminals or Insert_Delete;
-- set up for Next_Token.
@@ -77,7 +76,7 @@ private
function Current_Token_ID_Peek
(Terminals : in Base_Token_Arrays.Vector;
Terminals_Current : in Base_Token_Index;
- Insert_Delete : aliased in Sorted_Insert_Delete_Arrays.Vector;
+ Insert_Delete : aliased in Config_Op_Arrays.Vector;
Current_Insert_Delete : in SAL.Base_Peek_Type)
return Token_ID;
-- Return the current token from either Terminals or
@@ -86,9 +85,8 @@ private
procedure Current_Token_ID_Peek_3
(Terminals : in Base_Token_Arrays.Vector;
Terminals_Current : in Base_Token_Index;
- Insert_Delete : aliased in
Sorted_Insert_Delete_Arrays.Vector;
+ Insert_Delete : aliased in Config_Op_Arrays.Vector;
Current_Insert_Delete : in SAL.Base_Peek_Type;
- Prev_Deleted : in Recover_Token_Index_Arrays.Vector;
Tokens : out Token_ID_Array_1_3);
-- Return the current token (in Tokens (1)) from either Terminals or
-- Insert_Delete, without setting up for Next_Token. Return the two
@@ -124,6 +122,13 @@ private
Index : in out WisiToken.Token_Index);
-- Same as Delete_Check, without the check.
+ function Find_ID
+ (Config : in Configuration;
+ ID : in Token_ID)
+ return Boolean;
+ -- Search Config.Stack for a token with ID, starting at
+ -- stack top. Return True if found, False if not.
+
procedure Find_ID
(Config : in Configuration;
ID : in Token_ID;
@@ -189,9 +194,8 @@ private
(Terminals : in Base_Token_Arrays.Vector;
Terminals_Current : in out Base_Token_Index;
Restore_Terminals_Current : in out Base_Token_Index;
- Insert_Delete : aliased in out
Sorted_Insert_Delete_Arrays.Vector;
- Current_Insert_Delete : in out SAL.Base_Peek_Type;
- Prev_Deleted : in
Recover_Token_Index_Arrays.Vector)
+ Insert_Delete : aliased in out Config_Op_Arrays.Vector;
+ Current_Insert_Delete : in out SAL.Base_Peek_Type)
return Base_Token;
-- Return the next token, from either Terminals or Insert_Delete;
-- update Terminals_Current or Current_Insert_Delete.
@@ -206,24 +210,38 @@ private
-- Insert_Delete contains only Insert and Delete ops, in token_index
-- order. Those ops are applied when Terminals_Current =
-- op.token_index.
- --
- -- Prev_Deleted contains tokens deleted in previous recover
- -- operations; those are skipped.
- procedure Push_Back (Config : in out Configuration);
+ function Push_Back_Valid
+ (Target_Token_Index : in WisiToken.Base_Token_Index;
+ Ops : in Config_Op_Arrays.Vector;
+ Prev_Op : in Positive_Index_Type)
+ return Boolean;
+
+ function Push_Back_Valid (Config : in Configuration) return Boolean
+ is (Config.Stack.Depth > 1 and then
+ (not Config.Stack.Peek.Token.Virtual and
+ -- If Virtual, this is from earlier in this recover session; no
point
+ -- in trying to redo it.
+ (Config_Op_Arrays.Length (Config.Ops) = 0 or else
+ Push_Back_Valid
+ (Config.Stack.Peek.Token.Min_Terminal_Index,
+ Config.Ops,
+ Config_Op_Arrays.Last_Index (Config.Ops)))));
+
+ procedure Push_Back (Config : in out Configuration)
+ with Pre => Push_Back_Valid (Config);
-- Pop the top Config.Stack item, set Config.Current_Shared_Token to
-- the first terminal in that item. If the item is empty,
-- Config.Current_Shared_Token is unchanged.
- --
- -- If any earlier Insert or Delete items in Config.Ops are for a
- -- token_index after that first terminal, they are added to
- -- Config.Insert_Delete in token_index order.
- procedure Push_Back_Check (Config : in out Configuration; Expected_ID : in
Token_ID);
+ procedure Push_Back_Check (Config : in out Configuration; Expected_ID : in
Token_ID)
+ with Pre => Push_Back_Valid (Config);
-- In effect, call Check and Push_Back.
procedure Push_Back_Check (Config : in out Configuration; Expected : in
Token_ID_Array);
-- Call Push_Back_Check for each item in Expected.
+ --
+ -- Raises Bad_Config if any of the push_backs is invalid.
procedure Put
(Message : in String;
@@ -243,19 +261,28 @@ private
-- Put message to Trace, with parser and task info.
function Undo_Reduce_Valid
- (Stack : in Recover_Stacks.Stack;
- Tree : in Syntax_Trees.Tree)
+ (Stack : in Recover_Stacks.Stack;
+ Tree : in Syntax_Trees.Tree)
return Boolean
+ -- Check if Undo_Reduce is valid when there is no previous Config_Op.
+ --
+ -- Undo_Reduce needs to know what tokens the nonterm contains, to
+ -- push them on the stack. Thus we need a valid Tree index. It is
+ -- tempting to also allow an empty nonterm when Tree_Index is
+ -- invalid, but that fails when the real Undo_Reduce results in
+ -- another empty nonterm on the stack; see test_mckenzie_recover.adb
+ -- Error_During_Resume_3.
is (Stack.Depth > 1 and then
- ((Stack.Peek.Tree_Index /=
WisiToken.Syntax_Trees.Invalid_Node_Index and then
- Tree.Is_Nonterm (Stack.Peek.Tree_Index)) or
- (Stack.Peek.Tree_Index =
WisiToken.Syntax_Trees.Invalid_Node_Index and
- (not Stack.Peek.Token.Virtual and
- Stack.Peek.Token.Byte_Region = Null_Buffer_Region))));
- -- Undo_Reduce needs to know what tokens the nonterm contains, to
- -- push them on the stack. Thus we need either a valid Tree index, or
- -- an empty nonterm. If Token.Virtual, we can't trust
- -- Token.Byte_Region to determine empty.
+ Stack.Peek.Tree_Index /= Invalid_Node_Index and then
+ Tree.Is_Nonterm (Stack.Peek.Tree_Index));
+
+ function Undo_Reduce_Valid
+ (Stack : in Recover_Stacks.Stack;
+ Tree : in Syntax_Trees.Tree;
+ Ops : in Config_Op_Arrays.Vector;
+ Prev_Op : in Positive_Index_Type)
+ return Boolean
+ is (Undo_Reduce_Valid (Stack, Tree) and then Push_Back_Valid
(Stack.Peek.Token.Min_Terminal_Index, Ops, Prev_Op));
function Undo_Reduce
(Stack : in out Recover_Stacks.Stack;
diff --git a/packages/wisi/wisitoken-parse-lr-parser.adb
b/packages/wisi/wisitoken-parse-lr-parser.adb
index 44c1ac0..a3dded3 100644
--- a/packages/wisi/wisitoken-parse-lr-parser.adb
+++ b/packages/wisi/wisitoken-parse-lr-parser.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2002 - 2005, 2008 - 2015, 2017 - 2019 Free Software
Foundation, Inc.
+-- Copyright (C) 2002 - 2005, 2008 - 2015, 2017 - 2020 Free Software
Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -36,7 +36,7 @@ package body WisiToken.Parse.LR.Parser is
function Reduce_Stack_1
(Current_Parser : in Parser_Lists.Cursor;
Action : in Reduce_Action_Rec;
- Nonterm : out WisiToken.Syntax_Trees.Valid_Node_Index;
+ Nonterm : out WisiToken.Valid_Node_Index;
Lexer : in WisiToken.Lexer.Handle;
Trace : in out WisiToken.Trace'Class)
return WisiToken.Semantic_Checks.Check_Status_Label
@@ -49,7 +49,7 @@ package body WisiToken.Parse.LR.Parser is
use all type Semantic_Checks.Semantic_Check;
Parser_State : Parser_Lists.Parser_State renames
Current_Parser.State_Ref.Element.all;
- Children_Tree : Syntax_Trees.Valid_Node_Index_Array (1 ..
SAL.Base_Peek_Type (Action.Token_Count));
+ Children_Tree : Valid_Node_Index_Array (1 .. SAL.Base_Peek_Type
(Action.Token_Count));
begin
for I in reverse Children_Tree'Range loop
Children_Tree (I) := Parser_State.Stack.Pop.Token;
@@ -75,7 +75,9 @@ package body WisiToken.Parse.LR.Parser is
begin
Status := Action.Check (Lexer, Nonterm_Token, Children_Token,
Recover_Active => False);
- Parser_State.Tree.Set_Name_Region (Nonterm, Nonterm_Token.Name);
+ if Nonterm_Token.Name /= Null_Buffer_Region then
+ Parser_State.Tree.Set_Name_Region (Nonterm, Nonterm_Token.Name);
+ end if;
if Trace_Parse > Detail then
Trace.Put_Line ("semantic check " & Semantic_Checks.Image
(Status, Trace.Descriptor.all));
@@ -118,7 +120,7 @@ package body WisiToken.Parse.LR.Parser is
Parser_State : Parser_Lists.Parser_State renames
Current_Parser.State_Ref;
Trace : WisiToken.Trace'Class renames Shared_Parser.Trace.all;
- Nonterm : WisiToken.Syntax_Trees.Valid_Node_Index;
+ Nonterm : WisiToken.Valid_Node_Index;
Status : Semantic_Checks.Check_Status_Label;
begin
if Trace_Parse > Detail then
@@ -223,40 +225,47 @@ package body WisiToken.Parse.LR.Parser is
procedure Do_Deletes
(Shared_Parser : in out LR.Parser.Parser;
Parser_State : in out Parser_Lists.Parser_State)
- is begin
+ is
+ use Recover_Op_Arrays, Recover_Op_Array_Refs;
+ Ins_Del : Vector renames Parser_State.Recover_Insert_Delete;
+ Ins_Del_Cur : Extended_Index renames
Parser_State.Recover_Insert_Delete_Current;
+ begin
if Trace_Parse > Extra then
Shared_Parser.Trace.Put_Line
(Integer'Image (Parser_State.Label) & ": shared_token:" &
WisiToken.Token_Index'Image (Parser_State.Shared_Token) &
" inc_shared_token: " & Boolean'Image
(Parser_State.Inc_Shared_Token) &
- " recover_insert_delete: " &
- Image (Parser_State.Recover_Insert_Delete,
Shared_Parser.Trace.Descriptor.all));
+ " recover_insert_delete:" &
+ (if Parser_State.Recover_Insert_Delete_Current = No_Index
+ then ""
+ else Parser_State.Recover_Insert_Delete_Current'Image & " " &
+ Image
+ (Constant_Ref (Parser_State.Recover_Insert_Delete,
Parser_State.Recover_Insert_Delete_Current),
+ Shared_Parser.Trace.Descriptor.all)));
end if;
loop
- if Parser_State.Recover_Insert_Delete.Length > 0 and then
- Parser_State.Recover_Insert_Delete.Peek.Op = Delete and then
- Parser_State.Recover_Insert_Delete.Peek.Del_Token_Index =
- (if Parser_State.Inc_Shared_Token
- then Parser_State.Shared_Token + 1
- else Parser_State.Shared_Token)
- then
- Parser_State.Shared_Token := Parser_State.Shared_Token + 1;
- -- We don't reset Inc_Shared_Token here; only after the next
token is
- -- actually used.
- Parser_State.Prev_Deleted.Append
(Parser_State.Recover_Insert_Delete.Peek.Del_Token_Index);
- Parser_State.Recover_Insert_Delete.Drop;
-
- elsif Parser_State.Prev_Deleted.Contains
- ((if Parser_State.Inc_Shared_Token
- then Parser_State.Shared_Token + 1
- else Parser_State.Shared_Token))
- then
- Parser_State.Shared_Token := Parser_State.Shared_Token + 1;
-
- else
- exit;
- end if;
+ exit when Ins_Del_Cur = Recover_Op_Arrays.No_Index;
+ declare
+ Op : Recover_Op renames Constant_Ref (Ins_Del, Ins_Del_Cur);
+ begin
+ if Op.Op = Delete and then
+ Op.Del_Token_Index =
+ (if Parser_State.Inc_Shared_Token
+ then Parser_State.Shared_Token + 1
+ else Parser_State.Shared_Token)
+ then
+ Parser_State.Shared_Token := Parser_State.Shared_Token + 1;
+ -- We don't reset Inc_Shared_Token here; only after the next
token is
+ -- actually used.
+ Ins_Del_Cur := Ins_Del_Cur + 1;
+ if Ins_Del_Cur > Last_Index (Ins_Del) then
+ Ins_Del_Cur := No_Index;
+ end if;
+ else
+ exit;
+ end if;
+ end;
end loop;
end Do_Deletes;
@@ -296,7 +305,12 @@ package body WisiToken.Parse.LR.Parser is
Parser_State.Set_Verb (Shift);
if Parser_State.Resume_Active then
- if Parser_State.Resume_Token_Goal <= Parser_State.Shared_Token
then
+ -- There may still be ops left in Recover_Insert_Delete after
we get
+ -- to Resume_Token_Goal, probably from a Language_Fix or
string quote
+ -- fix that deletes a lot of tokens.
+ if Parser_State.Resume_Token_Goal <= Parser_State.Shared_Token
and
+ Parser_State.Recover_Insert_Delete_Current =
Recover_Op_Arrays.No_Index
+ then
Parser_State.Resume_Active := False;
if Trace_Parse > Detail then
Shared_Parser.Trace.Put_Line (Integer'Image
(Parser_State.Label) & ": resume_active: False");
@@ -397,14 +411,28 @@ package body WisiToken.Parse.LR.Parser is
Trace : WisiToken.Trace'Class renames Shared_Parser.Trace.all;
- Current_Verb : All_Parse_Action_Verbs;
- Error_Recovered : Boolean := False;
- Current_Parser : Parser_Lists.Cursor;
- Action : Parse_Action_Node_Ptr;
- Zombie_Count : SAL.Base_Peek_Type;
+ Current_Verb : All_Parse_Action_Verbs;
+ Action : Parse_Action_Node_Ptr;
+ Zombie_Count : SAL.Base_Peek_Type;
procedure Check_Error (Check_Parser : in out Parser_Lists.Cursor)
- is begin
+ is
+ procedure Report_Error
+ is begin
+ Shared_Parser.Parsers.First_State_Ref.Errors.Append
+ ((Label => LR.Message,
+ First_Terminal => Trace.Descriptor.First_Terminal,
+ Last_Terminal => Trace.Descriptor.Last_Terminal,
+ Recover => <>,
+ Msg => +"error during resume"));
+ if Debug_Mode then
+ raise SAL.Programmer_Error with Check_Parser.Label'Image & ":
error during resume";
+ else
+ raise Syntax_Error;
+ end if;
+ end Report_Error;
+
+ begin
if Check_Parser.Verb = Error then
-- This parser errored on last input. This is how grammar
conflicts
-- are resolved when the input text is valid, in which case we
should
@@ -423,16 +451,7 @@ package body WisiToken.Parse.LR.Parser is
else
if Shared_Parser.Parsers.Count = 1 then
- if Trace_Parse > Outline then
- Trace.Put_Line (Integer'Image (Check_Parser.Label) & ":
error during resume");
- end if;
- Shared_Parser.Parsers.First_State_Ref.Errors.Append
- ((Label => LR.Message,
- First_Terminal => Trace.Descriptor.First_Terminal,
- Last_Terminal => Trace.Descriptor.Last_Terminal,
- Recover => <>,
- Msg => +"error during resume"));
- raise Syntax_Error;
+ Report_Error;
else
-- This is ok if a conflict occured during resume - we
assume this is
@@ -443,7 +462,7 @@ package body WisiToken.Parse.LR.Parser is
(Check_Parser, "error in conflict during resume",
Shared_Parser.Trace.all,
Shared_Parser.Terminals);
else
- raise SAL.Programmer_Error with "error during resume";
+ Report_Error;
end if;
end if;
end if;
@@ -461,13 +480,13 @@ package body WisiToken.Parse.LR.Parser is
Shared_Parser.User_Data.Reset;
end if;
- Shared_Parser.Lex_All;
-
Shared_Parser.String_Quote_Checked := Invalid_Line_Number;
Shared_Parser.Shared_Tree.Clear;
Shared_Parser.Parsers := Parser_Lists.New_List
(Shared_Tree => Shared_Parser.Shared_Tree'Unchecked_Access);
+ Shared_Parser.Lex_All;
+
Shared_Parser.Parsers.First.State_Ref.Stack.Push
((Shared_Parser.Table.State_First, others => <>));
Main_Loop :
@@ -502,33 +521,62 @@ package body WisiToken.Parse.LR.Parser is
end if;
elsif Parser_State.Verb = Shift then
- if Parser_State.Recover_Insert_Delete.Length > 0 and then
- Parser_State.Recover_Insert_Delete.Peek.Op = Insert and
then
- Parser_State.Recover_Insert_Delete.Peek.Ins_Token_Index =
- (if Parser_State.Inc_Shared_Token
- then Parser_State.Shared_Token + 1
- else Parser_State.Shared_Token)
- then
- Parser_State.Current_Token :=
Parser_State.Tree.Add_Terminal
- (Parser_State.Recover_Insert_Delete.Get.Ins_ID);
+ declare
+ function Insert_Virtual return Boolean
+ is
+ use Recover_Op_Arrays, Recover_Op_Array_Refs;
+ Ins_Del : Vector renames
Parser_State.Recover_Insert_Delete;
+ Ins_Del_Cur : Extended_Index renames
Parser_State.Recover_Insert_Delete_Current;
+ Result : Boolean := False;
+ begin
+ if Ins_Del_Cur /= No_Index then
+ declare
+ Op : Recover_Op renames Variable_Ref (Ins_Del,
Ins_Del_Cur);
+ begin
+ if Op.Op = Insert and then
+ Op.Ins_Token_Index =
+ (if Parser_State.Inc_Shared_Token
+ then Parser_State.Shared_Token + 1
+ else Parser_State.Shared_Token)
+ then
+ Result := True;
+
+ Parser_State.Current_Token :=
Parser_State.Tree.Add_Terminal
+ (Op.Ins_ID, Before => Op.Ins_Token_Index);
+
+ Op.Ins_Tree_Node :=
Parser_State.Current_Token;
+
+ Ins_Del_Cur := Ins_Del_Cur + 1;
+ if Ins_Del_Cur > Last_Index (Ins_Del) then
+ Ins_Del_Cur := No_Index;
+ end if;
+ end if;
+ end;
+ end if;
+ return Result;
+ end Insert_Virtual;
+ begin
+ if Insert_Virtual then
+ null;
- elsif (if Parser_State.Inc_Shared_Token
- then Parser_State.Shared_Token + 1
- else Parser_State.Shared_Token) <=
Shared_Parser.Terminals.Last_Index
- then
- if Parser_State.Inc_Shared_Token then
- -- Inc_Shared_Token is only set False by
McKenzie_Recover; see there
- -- for when/why. Don't increment past wisi_eoi
(happens when input
- -- buffer is empty; test_mckenzie_recover.adb
Empty_Comments).
- Parser_State.Shared_Token := Parser_State.Shared_Token
+ 1;
- else
- Parser_State.Inc_Shared_Token := True;
- end if;
+ elsif (if Parser_State.Inc_Shared_Token
+ then Parser_State.Shared_Token + 1
+ else Parser_State.Shared_Token) <=
Shared_Parser.Terminals.Last_Index
+ then
+ if Parser_State.Inc_Shared_Token then
+ -- Inc_Shared_Token is only set False by
McKenzie_Recover; see there
+ -- for when/why. Don't increment past wisi_eoi
(happens when input
+ -- buffer is empty; test_mckenzie_recover.adb
Empty_Comments).
+ Parser_State.Shared_Token :=
Parser_State.Shared_Token + 1;
+ else
+ Parser_State.Inc_Shared_Token := True;
+ end if;
- Parser_State.Current_Token :=
Parser_State.Tree.Add_Terminal
- (Parser_State.Shared_Token, Shared_Parser.Terminals);
+ Parser_State.Current_Token := Shared_Parser.Terminals
+ (Parser_State.Shared_Token).Tree_Index;
- end if;
+ end if;
+ end;
if Trace_Parse > Extra then
Trace.Put_Line
@@ -542,7 +590,7 @@ package body WisiToken.Parse.LR.Parser is
-- All parsers accepted or are zombies.
declare
Count : constant SAL.Base_Peek_Type :=
Shared_Parser.Parsers.Count;
- Temp : Parser_Lists.Cursor;
+ Current_Parser : Parser_Lists.Cursor :=
Shared_Parser.Parsers.First;
begin
if Count = 1 then
-- Nothing more to do
@@ -550,15 +598,17 @@ package body WisiToken.Parse.LR.Parser is
elsif Zombie_Count + 1 = Count then
-- All but one are zombies
- Current_Parser := Shared_Parser.Parsers.First;
loop
if Current_Parser.Verb = Accept_It then
Current_Parser.Next;
else
- Temp := Current_Parser;
- Current_Parser.Next;
- Shared_Parser.Parsers.Terminate_Parser
- (Temp, "zombie", Shared_Parser.Trace.all,
Shared_Parser.Terminals);
+ declare
+ Temp : Parser_Lists.Cursor := Current_Parser;
+ begin
+ Current_Parser.Next;
+ Shared_Parser.Parsers.Terminate_Parser
+ (Temp, "zombie", Shared_Parser.Trace.all,
Shared_Parser.Terminals);
+ end;
end if;
exit when Current_Parser.Is_Done;
end loop;
@@ -574,8 +624,8 @@ package body WisiToken.Parse.LR.Parser is
Recover_Cost : Integer;
Min_Recover_Cost : Integer :=
Integer'Last;
Recover_Ops_Length : Ada.Containers.Count_Type;
- Max_Recover_Ops_Length : Ada.Containers.Count_Type :=
Ada.Containers.Count_Type'First;
- Recover_Cur : Parser_Lists.Cursor;
+ Min_Recover_Ops_Length : Ada.Containers.Count_Type :=
Ada.Containers.Count_Type'Last;
+ Recover_Cur : Parser_Lists.Cursor :=
Current_Parser;
begin
Current_Parser := Shared_Parser.Parsers.First;
loop
@@ -585,22 +635,23 @@ package body WisiToken.Parse.LR.Parser is
end if;
Current_Parser.Next;
else
- Temp := Current_Parser;
- Current_Parser.Next;
- Shared_Parser.Parsers.Terminate_Parser
- (Temp, "zombie", Shared_Parser.Trace.all,
Shared_Parser.Terminals);
+ declare
+ Temp : Parser_Lists.Cursor := Current_Parser;
+ begin
+ Current_Parser.Next;
+ Shared_Parser.Parsers.Terminate_Parser
+ (Temp, "zombie", Shared_Parser.Trace.all,
Shared_Parser.Terminals);
+ end;
end if;
exit when Current_Parser.Is_Done;
end loop;
if Error_Parser_Count > 0 then
-- There was at least one error. We assume that
caused the ambiguous
- -- parse, and we pick the parser with the minimum
cost and maximum
- -- recover ops length to allow the parse to succeed.
We terminate the
- -- other parsers so the remaining parser executes
actions. Among
- -- equal costs, we pick the maximum recover ops
length because it's
- -- probably due to Minimal_Complete_Actions finishing
a
- -- statement/declaration.
+ -- parse, and we pick the parser with the minimum
cost and minimum
+ -- recover ops length (consistent with
Duplicate_State) to allow the
+ -- parse to succeed. We terminate the other parsers
so the remaining
+ -- parser can do Execute_Actions.
--
-- If there are multiple errors, this metric is not
very meaningful.
--
@@ -610,13 +661,13 @@ package body WisiToken.Parse.LR.Parser is
Recover_Cost := Current_Parser.Min_Recover_Cost;
if Recover_Cost < Min_Recover_Cost then
Min_Recover_Cost := Recover_Cost;
- Max_Recover_Ops_Length :=
Current_Parser.Max_Recover_Ops_Length;
+ Min_Recover_Ops_Length :=
Current_Parser.Max_Recover_Ops_Length;
Recover_Cur := Current_Parser;
elsif Recover_Cost = Min_Recover_Cost then
Recover_Ops_Length :=
Current_Parser.Max_Recover_Ops_Length;
- if Recover_Ops_Length > Max_Recover_Ops_Length
then
- Max_Recover_Ops_Length := Recover_Ops_Length;
+ if Recover_Ops_Length < Min_Recover_Ops_Length
then
+ Min_Recover_Ops_Length := Recover_Ops_Length;
Recover_Cur := Current_Parser;
end if;
end if;
@@ -629,10 +680,18 @@ package body WisiToken.Parse.LR.Parser is
if Current_Parser = Recover_Cur then
Current_Parser.Next;
else
- Temp := Current_Parser;
- Current_Parser.Next;
- Shared_Parser.Parsers.Terminate_Parser
- (Temp, "recover cost/length",
Shared_Parser.Trace.all, Shared_Parser.Terminals);
+ declare
+ Temp : Parser_Lists.Cursor := Current_Parser;
+ begin
+ Current_Parser.Next;
+ Shared_Parser.Parsers.Terminate_Parser
+ (Temp,
+ (if Recover_Cost = Min_Recover_Cost and
then
+ Recover_Ops_Length =
Min_Recover_Ops_Length
+ then "random"
+ else "recover cost/length"),
+ Shared_Parser.Trace.all,
Shared_Parser.Terminals);
+ end;
end if;
exit when Current_Parser.Is_Done;
end loop;
@@ -791,178 +850,179 @@ package body WisiToken.Parse.LR.Parser is
raise WisiToken.Syntax_Error;
end if;
- -- Immediately execute Do_Action for Current_Token, since it
changed
- -- in error recovery; this sets Parser.Verb. This replaces the
- -- execution of Do_Action that resulted in Error.
- Error_Recovered := True;
-
+ -- Recover sets Parser.Verb to Shift for all active parsers, to
+ -- indicate it no longer has an error. Set Current_Verb to
reflect
+ -- that.
+ Current_Verb := Shift;
end;
end case;
-- We don't use 'for Parser_State of Parsers loop' here,
-- because terminate on error and spawn on conflict require
-- changing the parser list.
- Current_Parser := Shared_Parser.Parsers.First;
- Action_Loop :
- loop
- exit Action_Loop when Current_Parser.Is_Done;
-
- -- We don't check duplicate state during resume, because the
tokens
- -- inserted/deleted by error recover may cause initially duplicate
- -- states to diverge.
- if not Current_Parser.State_Ref.Resume_Active and
- Shared_Parser.Terminate_Same_State and
- Current_Verb = Shift and
- (for all Parser of Shared_Parser.Parsers =>
Parser.Recover_Insert_Delete.Count = 0)
- then
- Shared_Parser.Parsers.Duplicate_State
- (Current_Parser, Shared_Parser.Trace.all,
Shared_Parser.Terminals);
- -- If Duplicate_State terminated Current_Parser,
Current_Parser now
- -- points to the next parser. Otherwise it is unchanged.
- end if;
+ declare
+ Current_Parser : Parser_Lists.Cursor :=
Shared_Parser.Parsers.First;
+ begin
+ Action_Loop :
+ loop
+ exit Action_Loop when Current_Parser.Is_Done;
+
+ -- We don't check duplicate state during resume, because the
tokens
+ -- inserted/deleted by error recover may cause initially
duplicate
+ -- states to diverge.
+ if not Current_Parser.State_Ref.Resume_Active and
+ Shared_Parser.Terminate_Same_State and
+ Current_Verb = Shift
+ then
+ Shared_Parser.Parsers.Duplicate_State
+ (Current_Parser, Shared_Parser.Trace.all,
Shared_Parser.Terminals);
+ -- If Duplicate_State terminated Current_Parser,
Current_Parser now
+ -- points to the next parser. Otherwise it is unchanged.
+ end if;
- exit Action_Loop when Current_Parser.Is_Done;
+ exit Action_Loop when Current_Parser.Is_Done;
- if Trace_Parse > Extra then
- if Error_Recovered then
- Trace.Put_Line (Integer'Image (Current_Parser.Label) &
".error_recovered");
- else
+ if Trace_Parse > Extra then
Trace.Put_Line
("current_verb: " & Parse_Action_Verbs'Image
(Current_Verb) &
"," & Integer'Image (Current_Parser.Label) &
".verb: " & Parse_Action_Verbs'Image
(Current_Parser.Verb));
end if;
- end if;
- -- Each branch of the following 'if' calls either
Current_Parser.Free
- -- (which advances to the next parser) or Current_Parser.Next.
+ -- Each branch of the following 'if' calls either
Current_Parser.Free
+ -- (which advances to the next parser) or Current_Parser.Next.
- if Current_Parser.Verb = Error then
- -- This parser is a zombie; see Check_Error above.
- --
- -- Check to see if it is time to terminate it
- if Shared_Parser.Enable_McKenzie_Recover and then
- Current_Parser.State_Ref.Zombie_Token_Count <=
Shared_Parser.Table.McKenzie_Param.Check_Limit
- then
- if Trace_Parse > Detail then
- Trace.Put_Line (Integer'Image (Current_Parser.Label) & ":
zombie");
- end if;
+ if Current_Parser.Verb = Error then
+ -- This parser is a zombie; see Check_Error above.
+ --
+ -- Check to see if it is time to terminate it
+ if Shared_Parser.Enable_McKenzie_Recover and then
+ Current_Parser.State_Ref.Zombie_Token_Count <=
Shared_Parser.Table.McKenzie_Param.Check_Limit
+ then
+ if Trace_Parse > Detail then
+ Trace.Put_Line (Integer'Image (Current_Parser.Label) &
": zombie");
+ end if;
- Current_Parser.Next;
- else
- Shared_Parser.Parsers.Terminate_Parser
- (Current_Parser, "zombie", Shared_Parser.Trace.all,
Shared_Parser.Terminals);
- end if;
+ Current_Parser.Next;
+ else
+ Shared_Parser.Parsers.Terminate_Parser
+ (Current_Parser, "zombie", Shared_Parser.Trace.all,
Shared_Parser.Terminals);
+ end if;
- elsif Current_Parser.Verb = Current_Verb or Error_Recovered then
+ elsif Current_Parser.Verb = Current_Verb then
- if Trace_Parse > Extra then
- Parser_Lists.Put_Top_10 (Trace, Current_Parser);
- end if;
+ if Trace_Parse > Extra then
+ Parser_Lists.Put_Top_10 (Trace, Current_Parser);
+ end if;
- declare
- State : Parser_Lists.Parser_State renames
Current_Parser.State_Ref.Element.all;
- begin
- Action := Action_For
- (Table => Shared_Parser.Table.all,
- State => State.Stack.Peek.State,
- ID => State.Tree.ID (State.Current_Token));
- end;
+ declare
+ State : Parser_Lists.Parser_State renames
Current_Parser.State_Ref.Element.all;
+ begin
+ Action := Action_For
+ (Table => Shared_Parser.Table.all,
+ State => State.Stack.Peek.State,
+ ID => State.Tree.ID (State.Current_Token));
+ end;
- declare
- Conflict : Parse_Action_Node_Ptr := Action.Next;
- begin
- loop
- exit when Conflict = null;
- -- Spawn a new parser (before modifying Current_Parser
stack).
+ declare
+ Conflict : Parse_Action_Node_Ptr := Action.Next;
+ begin
+ loop
+ exit when Conflict = null;
+ -- Spawn a new parser (before modifying
Current_Parser stack).
- Current_Parser.State_Ref.Conflict_During_Resume :=
Current_Parser.State_Ref.Resume_Active;
+ Current_Parser.State_Ref.Conflict_During_Resume :=
Current_Parser.State_Ref.Resume_Active;
- if Shared_Parser.Parsers.Count =
Shared_Parser.Max_Parallel then
- -- If errors were recovered, terminate a parser that
used the
- -- highest cost solution.
- declare
- use all type WisiToken.Parse.LR.Parser_Lists.Cursor;
- Max_Recover_Cost : Integer := 0;
- Max_Parser : Parser_Lists.Cursor;
- Cur : Parser_Lists.Cursor :=
Shared_Parser.Parsers.First;
- begin
- loop
- exit when Cur.Is_Done;
- if Cur.Total_Recover_Cost > Max_Recover_Cost then
- Max_Parser := Cur;
- Max_Recover_Cost := Cur.Total_Recover_Cost;
+ if Shared_Parser.Parsers.Count =
Shared_Parser.Max_Parallel then
+ -- If errors were recovered, terminate a parser
that used the
+ -- highest cost solution.
+ declare
+ use all type
WisiToken.Parse.LR.Parser_Lists.Cursor;
+ Max_Recover_Cost : Integer := 0;
+ Cur : Parser_Lists.Cursor :=
Shared_Parser.Parsers.First;
+ Max_Parser : Parser_Lists.Cursor := Cur;
+ begin
+ loop
+ exit when Cur.Is_Done;
+ if Cur.Total_Recover_Cost > Max_Recover_Cost
then
+ Max_Parser := Cur;
+ Max_Recover_Cost := Cur.Total_Recover_Cost;
+ end if;
+ Cur.Next;
+ end loop;
+
+ if Max_Recover_Cost > 0 then
+ if Max_Parser = Current_Parser then
+ Current_Parser.Next;
+
+ Shared_Parser.Parsers.Terminate_Parser
+ (Max_Parser, "too many parsers; max
error repair cost", Trace,
+ Shared_Parser.Terminals);
+
+ -- We changed Current_Parser, so start
over
+ goto Continue_Action_Loop;
+ else
+ Shared_Parser.Parsers.Terminate_Parser
+ (Max_Parser, "too many parsers; max
error repair cost", Trace,
+ Shared_Parser.Terminals);
+ end if;
end if;
- Cur.Next;
- end loop;
+ end;
+ end if;
- if Max_Recover_Cost > 0 then
- if Max_Parser = Current_Parser then
- Current_Parser.Next;
- Shared_Parser.Parsers.Terminate_Parser
- (Current_Parser, "too many parsers; max
error repair cost", Trace,
- Shared_Parser.Terminals);
- exit Action_Loop;
- else
- Shared_Parser.Parsers.Terminate_Parser
- (Max_Parser, "too many parsers; max error
repair cost", Trace,
- Shared_Parser.Terminals);
- end if;
+ if Shared_Parser.Parsers.Count =
Shared_Parser.Max_Parallel then
+ declare
+ Parser_State : Parser_Lists.Parser_State renames
Current_Parser.State_Ref;
+ Token : Base_Token renames
Shared_Parser.Terminals (Parser_State.Shared_Token);
+ begin
+ raise WisiToken.Parse_Error with Error_Message
+ (Shared_Parser.Lexer.File_Name, Token.Line,
Token.Column,
+ "too many parallel parsers required in
grammar state" &
+ State_Index'Image
(Parser_State.Stack.Peek.State) &
+ "; simplify grammar, or increase
max-parallel (" &
+ SAL.Base_Peek_Type'Image
(Shared_Parser.Max_Parallel) & ")");
+ end;
+
+ else
+ if Trace_Parse > Outline then
+ declare
+ Parser_State : Parser_Lists.Parser_State
renames Current_Parser.State_Ref;
+ begin
+ Trace.Put_Line
+ (Integer'Image (Current_Parser.Label) & ":
" &
+ Trimmed_Image
(Parser_State.Stack.Peek.State) & ": " &
+ Parser_State.Tree.Image
+ (Parser_State.Current_Token,
Trace.Descriptor.all) & " : " &
+ "spawn" & Integer'Image
(Shared_Parser.Parsers.Last_Label + 1) & ", (" &
+ Trimmed_Image (1 + Integer
(Shared_Parser.Parsers.Count)) & " active)");
+ end;
end if;
- end;
- end if;
- if Shared_Parser.Parsers.Count =
Shared_Parser.Max_Parallel then
- declare
- Parser_State : Parser_Lists.Parser_State renames
Current_Parser.State_Ref;
- Token : Base_Token renames Shared_Parser.Terminals
(Parser_State.Shared_Token);
- begin
- raise WisiToken.Parse_Error with Error_Message
- (Shared_Parser.Lexer.File_Name, Token.Line,
Token.Column,
- "too many parallel parsers required in grammar
state" &
- State_Index'Image
(Parser_State.Stack.Peek.State) &
- "; simplify grammar, or increase max-parallel
(" &
- SAL.Base_Peek_Type'Image
(Shared_Parser.Max_Parallel) & ")");
- end;
+ Shared_Parser.Parsers.Prepend_Copy (Current_Parser);
+ Do_Action (Conflict.Item,
Shared_Parser.Parsers.First, Shared_Parser);
- else
- if Trace_Parse > Outline then
+ -- We must terminate error parsers immediately in
order to avoid
+ -- zombie parsers during recovery.
declare
- Parser_State : Parser_Lists.Parser_State renames
Current_Parser.State_Ref;
+ Temp : Parser_Lists.Cursor :=
Shared_Parser.Parsers.First;
begin
- Trace.Put_Line
- (Integer'Image (Current_Parser.Label) & ": " &
- Trimmed_Image
(Parser_State.Stack.Peek.State) & ": " &
- Parser_State.Tree.Image
(Parser_State.Current_Token, Trace.Descriptor.all) & " : " &
- "spawn" & Integer'Image
(Shared_Parser.Parsers.Last_Label + 1) & ", (" &
- Trimmed_Image (1 + Integer
(Shared_Parser.Parsers.Count)) & " active)");
+ Check_Error (Temp);
end;
end if;
- Shared_Parser.Parsers.Prepend_Copy (Current_Parser);
- Do_Action (Conflict.Item, Shared_Parser.Parsers.First,
Shared_Parser);
-
- -- We must terminate error parsers immediately in
order to avoid
- -- zombie parsers during recovery.
- declare
- Temp : Parser_Lists.Cursor :=
Shared_Parser.Parsers.First;
- begin
- Check_Error (Temp);
- end;
- end if;
-
- Conflict := Conflict.Next;
- end loop;
- end;
- Do_Action (Action.Item, Current_Parser, Shared_Parser);
- Check_Error (Current_Parser);
+ Conflict := Conflict.Next;
+ end loop;
+ end;
+ Do_Action (Action.Item, Current_Parser, Shared_Parser);
+ Check_Error (Current_Parser);
- else
- -- Current parser is waiting for others to catch up
- Current_Parser.Next;
- end if;
- end loop Action_Loop;
- Error_Recovered := False;
+ else
+ -- Current parser is waiting for others to catch up
+ Current_Parser.Next;
+ end if;
+ <<Continue_Action_Loop>>
+ end loop Action_Loop;
+ end;
end loop Main_Loop;
if Trace_Parse > Outline then
@@ -998,7 +1058,8 @@ package body WisiToken.Parse.LR.Parser is
end if;
if Debug_Mode then
- Ada.Text_IO.Put_Line (GNAT.Traceback.Symbolic.Symbolic_Traceback
(E));
+ Trace.Put_Line (GNAT.Traceback.Symbolic.Symbolic_Traceback (E));
-- includes Prefix
+ Trace.New_Line;
end if;
-- Emacs displays the exception message in the echo area; easy to
miss
@@ -1015,8 +1076,19 @@ package body WisiToken.Parse.LR.Parser is
end if;
end Tree;
+ overriding function Tree_Var_Ref (Shared_Parser : aliased in out Parser)
return Syntax_Trees.Tree_Variable_Reference
+ is begin
+ if Shared_Parser.Parsers.Count > 1 then
+ raise WisiToken.Parse_Error with "ambigous parse";
+ else
+ return (Element => Shared_Parser.Parsers.First_State_Ref.Tree'Access);
+ end if;
+ end Tree_Var_Ref;
+
overriding
- procedure Execute_Actions (Parser : in out LR.Parser.Parser)
+ procedure Execute_Actions
+ (Parser : in out LR.Parser.Parser;
+ Image_Augmented : in Syntax_Trees.Image_Augmented := null)
is
use all type Syntax_Trees.User_Data_Access;
use all type WisiToken.Syntax_Trees.Semantic_Action;
@@ -1025,7 +1097,7 @@ package body WisiToken.Parse.LR.Parser is
procedure Process_Node
(Tree : in out Syntax_Trees.Tree;
- Node : in Syntax_Trees.Valid_Node_Index)
+ Node : in Valid_Node_Index)
is
use all type Syntax_Trees.Node_Label;
begin
@@ -1034,7 +1106,7 @@ package body WisiToken.Parse.LR.Parser is
end if;
declare
- Tree_Children : constant Syntax_Trees.Valid_Node_Index_Array :=
Tree.Children (Node);
+ Tree_Children : constant Valid_Node_Index_Array := Tree.Children
(Node);
begin
Parser.User_Data.Reduce (Tree, Node, Tree_Children);
if Tree.Action (Node) /= null then
@@ -1043,7 +1115,7 @@ package body WisiToken.Parse.LR.Parser is
exception
when E : others =>
declare
- Token : Base_Token renames Parser.Terminals
(Tree.Min_Terminal_Index (Node));
+ Token : Base_Token renames Parser.Terminals
(Tree.First_Shared_Terminal (Node));
begin
raise WisiToken.Parse_Error with Error_Message
(Parser.Lexer.File_Name, Token.Line, Token.Column,
@@ -1062,31 +1134,36 @@ package body WisiToken.Parse.LR.Parser is
end if;
declare
- use Config_Op_Arrays, Config_Op_Array_Refs;
+ use Recover_Op_Arrays, Recover_Op_Array_Refs;
Parser_State : Parser_Lists.Parser_State renames
Parser.Parsers.First_State_Ref;
begin
+ pragma Assert (Parser_State.Tree.Flushed);
+
+ Parser_State.Tree.Set_Parents;
+
if Trace_Action > Outline then
if Trace_Action > Extra then
- Parser_State.Tree.Print_Tree (Descriptor,
Parser_State.Tree.Root);
+ Parser_State.Tree.Print_Tree (Descriptor,
Parser_State.Tree.Root, Image_Augmented);
+ Parser.Trace.New_Line;
end if;
Parser.Trace.Put_Line
(Integer'Image (Parser_State.Label) & ": root node: " &
Parser_State.Tree.Image
(Parser_State.Tree.Root, Descriptor));
end if;
- for Err of Parser_State.Errors loop
- for I in First_Index (Err.Recover.Ops) .. Last_Index
(Err.Recover.Ops) loop
- declare
- Op : Config_Op renames Constant_Ref (Err.Recover.Ops, I);
- begin
- case Op.Op is
- when Delete =>
- Parser.User_Data.Delete_Token (Op.Del_Token_Index);
- when others =>
- null;
- end case;
- end;
- end loop;
+ for I in First_Index (Parser_State.Recover_Insert_Delete) ..
+ Last_Index (Parser_State.Recover_Insert_Delete)
+ loop
+ declare
+ Op : Recover_Op renames Constant_Ref
(Parser_State.Recover_Insert_Delete, I);
+ begin
+ case Op.Op is
+ when Insert =>
+ Parser.User_Data.Insert_Token (Parser_State.Tree,
Op.Ins_Tree_Node);
+ when Delete =>
+ Parser.User_Data.Delete_Token (Parser_State.Tree,
Op.Del_Token_Index);
+ end case;
+ end;
end loop;
Parser.User_Data.Initialize_Actions (Parser_State.Tree);
@@ -1121,7 +1198,7 @@ package body WisiToken.Parse.LR.Parser is
case Item.Label is
when Action =>
declare
- Index : constant Base_Token_Index :=
Parser_State.Tree.Min_Terminal_Index (Item.Error_Token);
+ Index : constant Base_Token_Index :=
Parser_State.Tree.First_Shared_Terminal (Item.Error_Token);
begin
if Index = Invalid_Token_Index then
-- Error_Token is virtual
diff --git a/packages/wisi/wisitoken-parse-lr-parser.ads
b/packages/wisi/wisitoken-parse-lr-parser.ads
index 18f476e..46626fd 100644
--- a/packages/wisi/wisitoken-parse-lr-parser.ads
+++ b/packages/wisi/wisitoken-parse-lr-parser.ads
@@ -5,7 +5,7 @@
-- In a child package of Parser.LR partly for historical reasons,
-- partly to allow McKenzie_Recover to be in a sibling package.
--
--- Copyright (C) 2002, 2003, 2009, 2010, 2013-2015, 2017 - 2019 Free Software
Foundation, Inc.
+-- Copyright (C) 2002, 2003, 2009, 2010, 2013-2015, 2017 - 2020 Free Software
Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -141,10 +141,13 @@ package WisiToken.Parse.LR.Parser is
-- an appropriate error message.
overriding function Tree (Shared_Parser : in Parser) return
Syntax_Trees.Tree;
+ overriding function Tree_Var_Ref (Shared_Parser : aliased in out Parser)
return Syntax_Trees.Tree_Variable_Reference;
-- If there is one parser in Parsers, return its tree. Otherwise,
-- raise Parse_Error for an ambiguous parse.
- overriding procedure Execute_Actions (Parser : in out LR.Parser.Parser);
+ overriding procedure Execute_Actions
+ (Parser : in out LR.Parser.Parser;
+ Image_Augmented : in Syntax_Trees.Image_Augmented := null);
-- Call User_Data.Delete_Token on any tokens deleted by error
-- recovery, then User_Data.Reduce and the grammar semantic actions
-- on all nonterms in the syntax tree.
diff --git a/packages/wisi/wisitoken-parse-lr-parser_lists.adb
b/packages/wisi/wisitoken-parse-lr-parser_lists.adb
index 480e86f..553f772 100644
--- a/packages/wisi/wisitoken-parse-lr-parser_lists.adb
+++ b/packages/wisi/wisitoken-parse-lr-parser_lists.adb
@@ -2,7 +2,7 @@
--
-- see spec
--
--- Copyright (C) 2014 - 2019 All Rights Reserved.
+-- Copyright (C) 2014 - 2020 All Rights Reserved.
--
-- The WisiToken package is free software; you can redistribute it
-- and/or modify it under terms of the GNU General Public License as
@@ -38,7 +38,6 @@ package body WisiToken.Parse.LR.Parser_Lists is
begin
for I in 1 .. Last loop
declare
- use all type WisiToken.Syntax_Trees.Node_Index;
Item : Parser_Stack_Item renames Stack.Peek (I);
begin
Result := Result &
@@ -46,7 +45,7 @@ package body WisiToken.Parse.LR.Parser_Lists is
(if I = Stack.Depth
then ""
else
- (if Item.Token = Syntax_Trees.Invalid_Node_Index -- From
recover fast-forward
+ (if Item.Token = Invalid_Node_Index -- From recover
fast-forward
then ""
else Tree.Image (Item.Token, Descriptor) & ", ")));
end;
@@ -96,11 +95,6 @@ package body WisiToken.Parse.LR.Parser_Lists is
return Cursor.Ptr = No_Element;
end Is_Done;
- function Active_Parser_Count (Cursor : in Parser_Lists.Cursor) return
SAL.Base_Peek_Type
- is begin
- return Cursor.Elements.Length;
- end Active_Parser_Count;
-
function Label (Cursor : in Parser_Lists.Cursor) return Natural
is begin
return Parser_State_Lists.Constant_Ref (Cursor.Ptr).Label;
@@ -162,17 +156,25 @@ package body WisiToken.Parse.LR.Parser_Lists is
Terminals : in Base_Token_Arrays.Vector)
is
State : Parser_State renames Parser_State_Lists.Constant_Ref
(Current.Ptr).Element.all;
+
+ procedure Free (Cursor : in out Parser_Lists.Cursor'Class)
+ is
+ Temp : Parser_State_Lists.Cursor := Cursor.Ptr;
+ begin
+ Parser_State_Lists.Next (Cursor.Ptr);
+ Parser_State_Lists.Delete (Cursor.Elements.all, Temp);
+ end Free;
begin
if Trace_Parse > Outline then
Trace.Put_Line
(Integer'Image (Current.Label) & ": terminate (" &
Trimmed_Image (Integer (Parsers.Count) - 1) & " active)" &
": " & Message & Image
- (State.Tree.Min_Terminal_Index (State.Current_Token),
+ (State.Tree.First_Shared_Terminal (State.Current_Token),
Terminals, Trace.Descriptor.all));
end if;
- Current.Free;
+ Free (Current);
if Parsers.Count = 1 then
Parsers.First.State_Ref.Tree.Flush;
@@ -244,6 +246,7 @@ package body WisiToken.Parse.LR.Parser_Lists is
if Other.Max_Recover_Ops_Length = Current.Max_Recover_Ops_Length
then
Parsers.Terminate_Parser (Other, "duplicate state: random",
Trace, Terminals);
else
+ -- Keep the minimum ops length
if Other.Max_Recover_Ops_Length >
Current.Max_Recover_Ops_Length then
null;
else
@@ -305,37 +308,29 @@ package body WisiToken.Parse.LR.Parser_Lists is
-- override a few, to avoid copying large items like Recover.
-- We copy Recover.Enqueue_Count .. Check_Count for unit tests.
New_Item :=
- (Shared_Token => Item.Shared_Token,
- Recover_Insert_Delete => Item.Recover_Insert_Delete,
- Prev_Deleted => Item.Prev_Deleted,
- Current_Token => Item.Current_Token,
- Inc_Shared_Token => Item.Inc_Shared_Token,
- Stack => Item.Stack,
- Tree => Item.Tree,
- Recover =>
- (Enqueue_Count => Item.Recover.Enqueue_Count,
- Config_Full_Count => Item.Recover.Config_Full_Count,
- Check_Count => Item.Recover.Check_Count,
- others => <>),
- Resume_Active => Item.Resume_Active,
- Resume_Token_Goal => Item.Resume_Token_Goal,
- Conflict_During_Resume => Item.Conflict_During_Resume,
- Zombie_Token_Count => 0,
- Errors => Item.Errors,
- Label => List.Parser_Label,
- Verb => Item.Verb);
+ (Shared_Token => Item.Shared_Token,
+ Recover_Insert_Delete => Item.Recover_Insert_Delete,
+ Recover_Insert_Delete_Current =>
Item.Recover_Insert_Delete_Current,
+ Current_Token => Item.Current_Token,
+ Inc_Shared_Token => Item.Inc_Shared_Token,
+ Stack => Item.Stack,
+ Tree => Item.Tree,
+ Recover =>
+ (Enqueue_Count => Item.Recover.Enqueue_Count,
+ Config_Full_Count => Item.Recover.Config_Full_Count,
+ Check_Count => Item.Recover.Check_Count,
+ others => <>),
+ Resume_Active => Item.Resume_Active,
+ Resume_Token_Goal => Item.Resume_Token_Goal,
+ Conflict_During_Resume => Item.Conflict_During_Resume,
+ Zombie_Token_Count => 0,
+ Errors => Item.Errors,
+ Label => List.Parser_Label,
+ Verb => Item.Verb);
end;
List.Elements.Prepend (New_Item);
end Prepend_Copy;
- procedure Free (Cursor : in out Parser_Lists.Cursor'Class)
- is
- Temp : Parser_State_Lists.Cursor := Cursor.Ptr;
- begin
- Parser_State_Lists.Next (Cursor.Ptr);
- Parser_State_Lists.Delete (Cursor.Elements.all, Temp);
- end Free;
-
----------
-- stuff for iterators
@@ -369,11 +364,8 @@ package body WisiToken.Parse.LR.Parser_Lists is
return State_Access (Parser_State_Lists.Persistent_Ref (Position.Ptr));
end Persistent_State_Ref;
- type List_Access is access all List;
-
- type Iterator is new Iterator_Interfaces.Forward_Iterator with record
- Container : List_Access;
- end record;
+ type Iterator (Elements : access Parser_State_Lists.List) is new
Iterator_Interfaces.Forward_Iterator
+ with null record;
overriding function First (Object : Iterator) return Parser_Node_Access;
overriding function Next
@@ -383,7 +375,7 @@ package body WisiToken.Parse.LR.Parser_Lists is
overriding function First (Object : Iterator) return Parser_Node_Access
is begin
- return (Elements => Object.Container.Elements'Access, Ptr =>
Object.Container.Elements.First);
+ return (Elements => Object.Elements, Ptr => Object.Elements.First);
end First;
overriding function Next
@@ -398,7 +390,7 @@ package body WisiToken.Parse.LR.Parser_Lists is
function Iterate (Container : aliased in out List) return
Iterator_Interfaces.Forward_Iterator'Class
is begin
- return Iterator'(Container => Container'Access);
+ return Iterator'(Elements => Container.Elements'Access);
end Iterate;
function Has_Element (Iterator : in Parser_Node_Access) return Boolean
diff --git a/packages/wisi/wisitoken-parse-lr-parser_lists.ads
b/packages/wisi/wisitoken-parse-lr-parser_lists.ads
index 19aa370..6a77e6c 100644
--- a/packages/wisi/wisitoken-parse-lr-parser_lists.ads
+++ b/packages/wisi/wisitoken-parse-lr-parser_lists.ads
@@ -2,7 +2,7 @@
--
-- Generalized LR parser state.
--
--- Copyright (C) 2014-2015, 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2014-2015, 2017 - 2020 Free Software Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -28,7 +28,7 @@ package WisiToken.Parse.LR.Parser_Lists is
type Parser_Stack_Item is record
State : Unknown_State_Index := Unknown_State;
- Token : Syntax_Trees.Node_Index := Syntax_Trees.Invalid_Node_Index;
+ Token : Node_Index := Invalid_Node_Index;
end record;
package Parser_Stacks is new SAL.Gen_Unbounded_Definite_Stacks
(Parser_Stack_Item);
@@ -58,16 +58,19 @@ package WisiToken.Parse.LR.Parser_Lists is
Shared_Token : Base_Token_Index := Invalid_Token_Index;
-- Last token read from Shared_Parser.Terminals.
- Recover_Insert_Delete : Config_Op_Queues.Queue;
- -- Tokens in that were inserted during error recovery, or should be
- -- deleted/skipped when read. Contains only Insert and Delete ops.
- -- Used/emptied by main parse.
+ Recover_Insert_Delete : aliased Recover_Op_Arrays.Vector;
+ -- Tokens that were inserted or deleted during error recovery.
+ -- Contains only Insert and Delete ops. Filled by error recover, used
+ -- by main parse and Execute_Actions.
+ --
+ -- Not emptied between error recovery sessions, so Execute_Actions
+ -- knows about all insert/delete.
- Prev_Deleted : Recover_Token_Index_Arrays.Vector;
- -- Tokens deleted by previous error recovery; don't process in new
- -- error recovery.
+ Recover_Insert_Delete_Current : Recover_Op_Arrays.Extended_Index :=
Recover_Op_Arrays.No_Index;
+ -- Next item in Recover_Insert_Delete to be processed by main parse;
+ -- No_Index if all done.
- Current_Token : Syntax_Trees.Node_Index :=
Syntax_Trees.Invalid_Node_Index;
+ Current_Token : Node_Index := Invalid_Node_Index;
-- Current terminal, in Tree
Inc_Shared_Token : Boolean := True;
@@ -76,7 +79,7 @@ package WisiToken.Parse.LR.Parser_Lists is
-- There is no need to use a branched stack; max stack length is
-- proportional to source text nesting depth, not source text length.
- Tree : Syntax_Trees.Tree;
+ Tree : aliased Syntax_Trees.Tree;
-- We use a branched tree to avoid copying large trees for each
-- spawned parser; tree size is proportional to source text size. In
-- normal parsing, parallel parsers are short-lived; they each process
@@ -120,15 +123,12 @@ package WisiToken.Parse.LR.Parser_Lists is
function Count (List : in Parser_Lists.List) return SAL.Base_Peek_Type;
- type Cursor is tagged private;
+ type Cursor (<>) is tagged private;
function First (List : aliased in out Parser_Lists.List'Class) return
Cursor;
procedure Next (Cursor : in out Parser_Lists.Cursor);
function Is_Done (Cursor : in Parser_Lists.Cursor) return Boolean;
function Has_Element (Cursor : in Parser_Lists.Cursor) return Boolean is
(not Is_Done (Cursor));
-
- function Active_Parser_Count (Cursor : in Parser_Lists.Cursor) return
SAL.Base_Peek_Type;
-
function Label (Cursor : in Parser_Lists.Cursor) return Natural;
function Total_Recover_Cost (Cursor : in Parser_Lists.Cursor) return
Integer;
function Max_Recover_Ops_Length (Cursor : in Parser_Lists.Cursor) return
Ada.Containers.Count_Type;
@@ -161,16 +161,19 @@ package WisiToken.Parse.LR.Parser_Lists is
type State_Reference (Element : not null access Parser_State) is null record
with Implicit_Dereference => Element;
- function State_Ref (Position : in Cursor) return State_Reference;
+ function State_Ref (Position : in Cursor) return State_Reference
+ with Pre => Has_Element (Position);
-- Direct access to visible components of Parser_State
- function First_State_Ref (List : in Parser_Lists.List'Class) return
State_Reference;
+ function First_State_Ref (List : in Parser_Lists.List'Class) return
State_Reference
+ with Pre => List.Count > 0;
-- Direct access to visible components of first parser's Parser_State
type Constant_State_Reference (Element : not null access constant
Parser_State) is null record
with Implicit_Dereference => Element;
- function First_Constant_State_Ref (List : in Parser_Lists.List'Class)
return Constant_State_Reference;
+ function First_Constant_State_Ref (List : in Parser_Lists.List'Class)
return Constant_State_Reference
+ with Pre => List.Count > 0;
-- Direct access to visible components of first parser's Parser_State
procedure Put_Top_10 (Trace : in out WisiToken.Trace'Class; Cursor : in
Parser_Lists.Cursor);
@@ -182,10 +185,6 @@ package WisiToken.Parse.LR.Parser_Lists is
--
-- Copy.Recover is set to default.
- procedure Free (Cursor : in out Parser_Lists.Cursor'Class);
- -- Delete the Cursor parser. It will not appear in future
- -- iterations. On return, Cursor points to next parser, or none.
-
----------
-- Stuff for iterators, to allow
-- 'for Parser of Parsers loop'
@@ -214,7 +213,7 @@ package WisiToken.Parse.LR.Parser_Lists is
-- ... Current_Parser.<visible parser_state component> ...
-- end loop;
- type Parser_Node_Access is private;
+ type Parser_Node_Access (<>) is private;
function To_Cursor (Ptr : in Parser_Node_Access) return Cursor;
@@ -262,14 +261,14 @@ private
Parser_Label : Natural; -- label of last added parser.
end record;
- type Cursor is tagged record
- Elements : access Parser_State_Lists.List;
- Ptr : Parser_State_Lists.Cursor;
+ type Cursor (Elements : access Parser_State_Lists.List) is tagged
+ record
+ Ptr : Parser_State_Lists.Cursor;
end record;
- type Parser_Node_Access is record
- Elements : access Parser_State_Lists.List;
- Ptr : Parser_State_Lists.Cursor;
+ type Parser_Node_Access (Elements : access Parser_State_Lists.List) is
+ record
+ Ptr : Parser_State_Lists.Cursor;
end record;
end WisiToken.Parse.LR.Parser_Lists;
diff --git a/packages/wisi/wisitoken-parse-lr-parser_no_recover.adb
b/packages/wisi/wisitoken-parse-lr-parser_no_recover.adb
index 7943aab..5e23b7c 100644
--- a/packages/wisi/wisitoken-parse-lr-parser_no_recover.adb
+++ b/packages/wisi/wisitoken-parse-lr-parser_no_recover.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2002 - 2005, 2008 - 2015, 2017 - 2019 Free Software
Foundation, Inc.
+-- Copyright (C) 2002 - 2005, 2008 - 2015, 2017 - 2020 Free Software
Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -33,11 +33,11 @@ package body WisiToken.Parse.LR.Parser_No_Recover is
procedure Reduce_Stack_1
(Current_Parser : in Parser_Lists.Cursor;
Action : in Reduce_Action_Rec;
- Nonterm : out WisiToken.Syntax_Trees.Valid_Node_Index;
+ Nonterm : out Valid_Node_Index;
Trace : in out WisiToken.Trace'Class)
is
Parser_State : Parser_Lists.Parser_State renames
Current_Parser.State_Ref.Element.all;
- Children_Tree : Syntax_Trees.Valid_Node_Index_Array (1 ..
SAL.Base_Peek_Type (Action.Token_Count));
+ Children_Tree : Valid_Node_Index_Array (1 .. SAL.Base_Peek_Type
(Action.Token_Count));
-- for Set_Children.
begin
for I in reverse Children_Tree'Range loop
@@ -60,7 +60,7 @@ package body WisiToken.Parse.LR.Parser_No_Recover is
is
Parser_State : Parser_Lists.Parser_State renames
Current_Parser.State_Ref;
Trace : WisiToken.Trace'Class renames Shared_Parser.Trace.all;
- Nonterm : WisiToken.Syntax_Trees.Valid_Node_Index;
+ Nonterm : Valid_Node_Index;
begin
if Trace_Parse > Detail then
Trace.Put
@@ -233,9 +233,8 @@ package body WisiToken.Parse.LR.Parser_No_Recover is
Trace : WisiToken.Trace'Class renames Shared_Parser.Trace.all;
- Current_Verb : All_Parse_Action_Verbs;
- Current_Parser : Parser_Lists.Cursor;
- Action : Parse_Action_Node_Ptr;
+ Current_Verb : All_Parse_Action_Verbs;
+ Action : Parse_Action_Node_Ptr;
procedure Check_Error (Check_Parser : in out Parser_Lists.Cursor)
is begin
@@ -260,13 +259,13 @@ package body WisiToken.Parse.LR.Parser_No_Recover is
Shared_Parser.User_Data.Reset;
end if;
- Shared_Parser.Lex_All;
-
Shared_Parser.Shared_Tree.Clear;
Shared_Parser.Parsers := Parser_Lists.New_List
(Shared_Tree => Shared_Parser.Shared_Tree'Unchecked_Access);
+ Shared_Parser.Lex_All;
+
Shared_Parser.Parsers.First.State_Ref.Stack.Push
((Shared_Parser.Table.State_First, others => <>));
Main_Loop :
@@ -281,8 +280,8 @@ package body WisiToken.Parse.LR.Parser_No_Recover is
for Parser_State of Shared_Parser.Parsers loop
Parser_State.Shared_Token := Parser_State.Shared_Token + 1;
- Parser_State.Current_Token := Parser_State.Tree.Add_Terminal
- (Parser_State.Shared_Token, Shared_Parser.Terminals);
+ Parser_State.Current_Token := Shared_Parser.Terminals
+ (Parser_State.Shared_Token).Tree_Index;
end loop;
when Accept_It =>
@@ -326,100 +325,104 @@ package body WisiToken.Parse.LR.Parser_No_Recover is
-- We don't use 'for Parser_State of Parsers loop' here,
-- because terminate on error and spawn on conflict require
-- changing the parser list.
- Current_Parser := Shared_Parser.Parsers.First;
- loop
- exit when Current_Parser.Is_Done;
-
- if Shared_Parser.Terminate_Same_State and
- Current_Verb = Shift
- then
- Shared_Parser.Parsers.Duplicate_State
- (Current_Parser, Shared_Parser.Trace.all,
Shared_Parser.Terminals);
- -- If Duplicate_State terminated Current_Parser,
Current_Parser now
- -- points to the next parser. Otherwise it is unchanged.
- end if;
-
- exit when Current_Parser.Is_Done;
-
- if Trace_Parse > Extra then
- Trace.Put_Line
- ("current_verb: " & Parse_Action_Verbs'Image (Current_Verb) &
- "," & Integer'Image (Current_Parser.Label) &
- ".verb: " & Parse_Action_Verbs'Image
(Current_Parser.Verb));
- end if;
+ declare
+ Current_Parser : Parser_Lists.Cursor :=
Shared_Parser.Parsers.First;
+ begin
+ loop
+ exit when Current_Parser.Is_Done;
+
+ if Shared_Parser.Terminate_Same_State and
+ Current_Verb = Shift
+ then
+ Shared_Parser.Parsers.Duplicate_State
+ (Current_Parser, Shared_Parser.Trace.all,
Shared_Parser.Terminals);
+ -- If Duplicate_State terminated Current_Parser,
Current_Parser now
+ -- points to the next parser. Otherwise it is unchanged.
+ end if;
- -- Each branch of the following 'if' calls either
Current_Parser.Free
- -- (which advances to the next parser) or Current_Parser.Next.
+ exit when Current_Parser.Is_Done;
- if Current_Parser.Verb = Current_Verb then
if Trace_Parse > Extra then
- Parser_Lists.Put_Top_10 (Trace, Current_Parser);
+ Trace.Put_Line
+ ("current_verb: " & Parse_Action_Verbs'Image
(Current_Verb) &
+ "," & Integer'Image (Current_Parser.Label) &
+ ".verb: " & Parse_Action_Verbs'Image
(Current_Parser.Verb));
end if;
- declare
- State : Parser_Lists.Parser_State renames
Current_Parser.State_Ref.Element.all;
- begin
- Action := Action_For
- (Table => Shared_Parser.Table.all,
- State => State.Stack.Peek.State,
- ID => State.Tree.ID (State.Current_Token));
- end;
+ -- Each branch of the following 'if' calls either
Current_Parser.Free
+ -- (which advances to the next parser) or Current_Parser.Next.
- declare
- Conflict : Parse_Action_Node_Ptr := Action.Next;
- begin
- loop
- exit when Conflict = null;
- -- Spawn a new parser (before modifying Current_Parser
stack).
-
- if Shared_Parser.Parsers.Count =
Shared_Parser.Max_Parallel then
- declare
- Parser_State : Parser_Lists.Parser_State renames
Current_Parser.State_Ref;
- Token : Base_Token renames Shared_Parser.Terminals
(Parser_State.Shared_Token);
- begin
- raise WisiToken.Parse_Error with Error_Message
- (Shared_Parser.Lexer.File_Name, Token.Line,
Token.Column,
- ": too many parallel parsers required in grammar
state" &
- State_Index'Image
(Parser_State.Stack.Peek.State) &
- "; simplify grammar, or increase max-parallel
(" &
- SAL.Base_Peek_Type'Image
(Shared_Parser.Max_Parallel) & ")");
- end;
- else
- if Trace_Parse > Outline then
+ if Current_Parser.Verb = Current_Verb then
+ if Trace_Parse > Extra then
+ Parser_Lists.Put_Top_10 (Trace, Current_Parser);
+ end if;
+
+ declare
+ State : Parser_Lists.Parser_State renames
Current_Parser.State_Ref.Element.all;
+ begin
+ Action := Action_For
+ (Table => Shared_Parser.Table.all,
+ State => State.Stack.Peek.State,
+ ID => State.Tree.ID (State.Current_Token));
+ end;
+
+ declare
+ Conflict : Parse_Action_Node_Ptr := Action.Next;
+ begin
+ loop
+ exit when Conflict = null;
+ -- Spawn a new parser (before modifying
Current_Parser stack).
+
+ if Shared_Parser.Parsers.Count =
Shared_Parser.Max_Parallel then
declare
Parser_State : Parser_Lists.Parser_State renames
Current_Parser.State_Ref;
+ Token : Base_Token renames
Shared_Parser.Terminals (Parser_State.Shared_Token);
begin
- Trace.Put_Line
- (Integer'Image (Current_Parser.Label) & ": " &
- Trimmed_Image
(Parser_State.Stack.Peek.State) & ": " &
- Parser_State.Tree.Image
(Parser_State.Current_Token, Trace.Descriptor.all) & " : " &
- "spawn" & Integer'Image
(Shared_Parser.Parsers.Last_Label + 1) & ", (" &
- Trimmed_Image (1 + Integer
(Shared_Parser.Parsers.Count)) & " active)");
+ raise WisiToken.Parse_Error with Error_Message
+ (Shared_Parser.Lexer.File_Name, Token.Line,
Token.Column,
+ ": too many parallel parsers required in
grammar state" &
+ State_Index'Image
(Parser_State.Stack.Peek.State) &
+ "; simplify grammar, or increase
max-parallel (" &
+ SAL.Base_Peek_Type'Image
(Shared_Parser.Max_Parallel) & ")");
end;
- end if;
-
- Shared_Parser.Parsers.Prepend_Copy (Current_Parser);
- Do_Action (Conflict.Item, Shared_Parser.Parsers.First,
Shared_Parser);
+ else
+ if Trace_Parse > Outline then
+ declare
+ Parser_State : Parser_Lists.Parser_State
renames Current_Parser.State_Ref;
+ begin
+ Trace.Put_Line
+ (Integer'Image (Current_Parser.Label) & ":
" &
+ Trimmed_Image
(Parser_State.Stack.Peek.State) & ": " &
+ Parser_State.Tree.Image
+ (Parser_State.Current_Token,
Trace.Descriptor.all) & " : " &
+ "spawn" & Integer'Image
(Shared_Parser.Parsers.Last_Label + 1) & ", (" &
+ Trimmed_Image (1 + Integer
(Shared_Parser.Parsers.Count)) & " active)");
+ end;
+ end if;
+
+ Shared_Parser.Parsers.Prepend_Copy (Current_Parser);
+ Do_Action (Conflict.Item,
Shared_Parser.Parsers.First, Shared_Parser);
- declare
- Temp : Parser_Lists.Cursor :=
Shared_Parser.Parsers.First;
- begin
- Check_Error (Temp);
- end;
- end if;
+ declare
+ Temp : Parser_Lists.Cursor :=
Shared_Parser.Parsers.First;
+ begin
+ Check_Error (Temp);
+ end;
+ end if;
- Conflict := Conflict.Next;
- end loop;
- end;
+ Conflict := Conflict.Next;
+ end loop;
+ end;
- Do_Action (Action.Item, Current_Parser, Shared_Parser);
- Check_Error (Current_Parser);
+ Do_Action (Action.Item, Current_Parser, Shared_Parser);
+ Check_Error (Current_Parser);
- else
- -- Current parser is waiting for others to catch up
- Current_Parser.Next;
- end if;
- end loop;
+ else
+ -- Current parser is waiting for others to catch up
+ Current_Parser.Next;
+ end if;
+ end loop;
+ end;
end loop Main_Loop;
-- We don't raise Syntax_Error for lexer errors, since they are all
@@ -427,13 +430,16 @@ package body WisiToken.Parse.LR.Parser_No_Recover is
-- character.
end Parse;
- overriding procedure Execute_Actions (Parser : in out
LR.Parser_No_Recover.Parser)
+ overriding procedure Execute_Actions
+ (Parser : in out LR.Parser_No_Recover.Parser;
+ Image_Augmented : in Syntax_Trees.Image_Augmented := null)
is
+ pragma Unreferenced (Image_Augmented);
use all type Syntax_Trees.User_Data_Access;
procedure Process_Node
(Tree : in out Syntax_Trees.Tree;
- Node : in Syntax_Trees.Valid_Node_Index)
+ Node : in Valid_Node_Index)
is
use all type Syntax_Trees.Node_Label;
begin
@@ -443,7 +449,7 @@ package body WisiToken.Parse.LR.Parser_No_Recover is
declare
use all type Syntax_Trees.Semantic_Action;
- Tree_Children : constant Syntax_Trees.Valid_Node_Index_Array :=
Tree.Children (Node);
+ Tree_Children : constant Valid_Node_Index_Array := Tree.Children
(Node);
begin
Parser.User_Data.Reduce (Tree, Node, Tree_Children);
@@ -453,7 +459,7 @@ package body WisiToken.Parse.LR.Parser_No_Recover is
exception
when E : others =>
declare
- Token : Base_Token renames Parser.Terminals
(Tree.Min_Terminal_Index (Node));
+ Token : Base_Token renames Parser.Terminals
(Tree.First_Shared_Terminal (Node));
begin
raise WisiToken.Parse_Error with Error_Message
(Parser.Lexer.File_Name, Token.Line, Token.Column,
@@ -474,6 +480,7 @@ package body WisiToken.Parse.LR.Parser_No_Recover is
declare
Parser_State : Parser_Lists.Parser_State renames
Parser.Parsers.First_State_Ref.Element.all;
begin
+ Parser_State.Tree.Set_Parents;
Parser.User_Data.Initialize_Actions (Parser_State.Tree);
Parser_State.Tree.Process_Tree (Process_Node'Access);
end;
@@ -489,6 +496,18 @@ package body WisiToken.Parse.LR.Parser_No_Recover is
end if;
end Tree;
+ overriding
+ function Tree_Var_Ref
+ (Parser : aliased in out LR.Parser_No_Recover.Parser)
+ return Syntax_Trees.Tree_Variable_Reference
+ is begin
+ if Parser.Parsers.Count > 1 then
+ raise WisiToken.Parse_Error with "ambigous parse";
+ else
+ return (Element => Parser.Parsers.First_State_Ref.Tree'Access);
+ end if;
+ end Tree_Var_Ref;
+
overriding function Any_Errors (Parser : in LR.Parser_No_Recover.Parser)
return Boolean
is
use all type Ada.Containers.Count_Type;
@@ -515,7 +534,7 @@ package body WisiToken.Parse.LR.Parser_No_Recover is
case Item.Label is
when Action =>
declare
- Token : Base_Token renames Parser.Terminals
(Parser_State.Tree.Min_Terminal_Index (Item.Error_Token));
+ Token : Base_Token renames Parser.Terminals
(Parser_State.Tree.First_Shared_Terminal (Item.Error_Token));
begin
Put_Line
(Current_Error,
diff --git a/packages/wisi/wisitoken-parse-lr-parser_no_recover.ads
b/packages/wisi/wisitoken-parse-lr-parser_no_recover.ads
index 33665d7..5e630d2 100644
--- a/packages/wisi/wisitoken-parse-lr-parser_no_recover.ads
+++ b/packages/wisi/wisitoken-parse-lr-parser_no_recover.ads
@@ -6,7 +6,7 @@
-- to not depend on wisitoken-lr-mckenzie_recover, so editing that
-- does not cause everything to be regenerated/compiled.
--
--- Copyright (C) 2002, 2003, 2009, 2010, 2013 - 2015, 2017 - 2019 Free
Software Foundation, Inc.
+-- Copyright (C) 2002, 2003, 2009, 2010, 2013 - 2015, 2017 - 2020 Free
Software Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -73,13 +73,20 @@ package WisiToken.Parse.LR.Parser_No_Recover is
overriding function Tree (Parser : in LR.Parser_No_Recover.Parser) return
Syntax_Trees.Tree;
+ overriding
+ function Tree_Var_Ref
+ (Parser : aliased in out LR.Parser_No_Recover.Parser)
+ return Syntax_Trees.Tree_Variable_Reference;
+
overriding function Any_Errors (Parser : in LR.Parser_No_Recover.Parser)
return Boolean;
overriding procedure Put_Errors (Parser : in LR.Parser_No_Recover.Parser);
-- Put user-friendly error messages from the parse to
-- Ada.Text_IO.Current_Error.
- overriding procedure Execute_Actions (Parser : in out
LR.Parser_No_Recover.Parser);
+ overriding procedure Execute_Actions
+ (Parser : in out LR.Parser_No_Recover.Parser;
+ Image_Augmented : in Syntax_Trees.Image_Augmented := null);
-- Execute the grammar actions in Parser.
end WisiToken.Parse.LR.Parser_No_Recover;
diff --git a/packages/wisi/wisitoken-parse-lr.adb
b/packages/wisi/wisitoken-parse-lr.adb
index 0ec3aa9..27fe85d 100644
--- a/packages/wisi/wisitoken-parse-lr.adb
+++ b/packages/wisi/wisitoken-parse-lr.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2013-2015, 2017, 2018, 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2013-2015, 2017 - 2020 Free Software Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -156,18 +156,22 @@ package body WisiToken.Parse.LR is
function Strict_Image (Item : in Kernel_Info) return String
is begin
- return "(" & Trimmed_Image (Item.LHS) & "," & Token_ID'Image
(Item.Before_Dot) & "," &
- Ada.Containers.Count_Type'Image (Item.Length_After_Dot) & ", " &
- (if Item.Recursive then "True" else "False") & ")";
+ return "(" & Image (Item.Production) & ", " &
+ Item.Before_Dot'Image & ", " &
+ Item.Length_After_Dot'Image & ", " &
+ Image (Item.Reduce_Production) & ", " &
+ Item.Reduce_Count'Image & ")";
end Strict_Image;
function Strict_Image (Item : in Minimal_Action) return String
is begin
case Item.Verb is
when Shift =>
- return "(Shift," & Token_ID'Image (Item.ID) & "," & State_Index'Image
(Item.State) & ")";
+ return "(Shift, " & Image (Item.Production) & ", " &
+ Token_ID'Image (Item.ID) & "," & State_Index'Image (Item.State) &
")";
+
when Reduce =>
- return "(Reduce," & Token_ID'Image (Item.Nonterm) & "," &
+ return "(Reduce, " & Image (Item.Production) & ", " &
Ada.Containers.Count_Type'Image (Item.Token_Count) & ")";
end case;
end Strict_Image;
@@ -178,7 +182,7 @@ package body WisiToken.Parse.LR is
when Shift =>
return "Shift " & Image (Item.ID, Descriptor);
when Reduce =>
- return "Reduce to " & Image (Item.Nonterm, Descriptor);
+ return "Reduce to " & Image (Item.Production.LHS, Descriptor);
end case;
end Image;
@@ -193,11 +197,12 @@ package body WisiToken.Parse.LR is
end To_Vector;
procedure Add_Action
- (State : in out LR.Parse_State;
- Symbol : in Token_ID;
- State_Index : in WisiToken.State_Index)
+ (State : in out LR.Parse_State;
+ Symbol : in Token_ID;
+ Production : in Production_ID;
+ State_Index : in WisiToken.State_Index)
is begin
- Add (State.Action_List, Symbol, (Shift, State_Index));
+ Add (State.Action_List, Symbol, (Shift, Production, State_Index));
end Add_Action;
procedure Add_Action
@@ -227,7 +232,7 @@ package body WisiToken.Parse.LR is
Semantic_Check : in WisiToken.Semantic_Checks.Semantic_Check)
is begin
-- We assume WisiToken.BNF.Output_Ada_Common.Duplicate_Reduce is True
- -- for this state; no conflicts, all the same action.
+ -- for this state; no conflicts, all the same action, Recursive.
for Symbol of Symbols loop
Add_Action
(State, Symbol, Reduce, Production, RHS_Token_Count,
@@ -489,15 +494,16 @@ package body WisiToken.Parse.LR is
when Shift => (Verb => Shift, others => <>),
when Reduce => (Verb => Reduce, others => <>),
when Accept_It => (Verb => Accept_It, others => <>),
- when Error => (Verb => Error));
+ when Error => (Verb => Error, others => <>));
+
+ Node_J.Item.Production.LHS := Next_Token_ID;
+ Node_J.Item.Production.RHS := Next_Integer;
case Verb is
when Shift =>
Node_J.Item.State := Next_State_Index;
when Reduce | Accept_It =>
- Node_J.Item.Production.LHS := Next_Token_ID;
- Node_J.Item.Production.RHS := Next_Integer;
if Next_Boolean then
Node_J.Item.Action := Actions
(Node_J.Item.Production.LHS)(Node_J.Item.Production.RHS).Action;
@@ -569,9 +575,13 @@ package body WisiToken.Parse.LR is
State.Kernel.Set_First_Last (First, Count_Type (Last));
for I in State.Kernel.First_Index .. State.Kernel.Last_Index
loop
- State.Kernel (I).LHS := Next_Token_ID;
- State.Kernel (I).Before_Dot := Next_Token_ID;
- State.Kernel (I).Length_After_Dot := Next_Count_Type;
+ State.Kernel (I).Production.LHS := Next_Token_ID;
+ State.Kernel (I).Production.RHS := Next_Integer;
+ State.Kernel (I).Before_Dot := Next_Token_ID;
+ State.Kernel (I).Length_After_Dot := Next_Count_Type;
+ State.Kernel (I).Reduce_Production.LHS := Next_Token_ID;
+ State.Kernel (I).Reduce_Production.RHS := Next_Integer;
+ State.Kernel (I).Reduce_Count := Next_Count_Type;
end loop;
end if;
end;
@@ -590,19 +600,22 @@ package body WisiToken.Parse.LR is
for I in State.Minimal_Complete_Actions.First_Index ..
State.Minimal_Complete_Actions.Last_Index loop
declare
Verb : constant Minimal_Verbs :=
Next_Parse_Action_Verbs;
+ LHS : Token_ID;
+ RHS : Integer;
ID : Token_ID;
Action_State : State_Index;
Count : Ada.Containers.Count_Type;
begin
+ LHS := Next_Token_ID;
+ RHS := Next_Integer;
case Verb is
when Shift =>
ID := Next_Token_ID;
Action_State := Next_State_Index;
- State.Minimal_Complete_Actions.Replace_Element (I,
(Shift, ID, Action_State));
+ State.Minimal_Complete_Actions.Replace_Element (I,
(Shift, (LHS, RHS), ID, Action_State));
when Reduce =>
- ID := Next_Token_ID;
Count := Next_Count_Type;
- State.Minimal_Complete_Actions.Replace_Element (I,
(Reduce, ID, Count));
+ State.Minimal_Complete_Actions.Replace_Element (I,
(Reduce, (LHS, RHS), Count));
end case;
end;
end loop;
@@ -613,7 +626,7 @@ package body WisiToken.Parse.LR is
exit when Check_EOI;
end loop;
- Table.Error_Action := new Parse_Action_Node'((Verb => Error), null);
+ Table.Error_Action := new Parse_Action_Node'((Verb => Error, others
=> <>), null);
return Table;
end;
@@ -662,7 +675,7 @@ package body WisiToken.Parse.LR is
use Config_Op_Arrays, Config_Op_Array_Refs;
begin
for I in First_Index (Ops) .. Last_Index (Ops) loop
- if Constant_Ref (Ops, I).Op /= Op then
+ if Constant_Ref (Ops, I).Op = Op then
return False;
end if;
end loop;
@@ -725,11 +738,9 @@ package body WisiToken.Parse.LR is
end Any;
function Valid_Tree_Indices (Stack : in Recover_Stacks.Stack; Depth : in
SAL.Base_Peek_Type) return Boolean
- is
- use all type WisiToken.Syntax_Trees.Node_Index;
- begin
+ is begin
for I in 1 .. Depth loop
- if Stack.Peek (I).Tree_Index = Syntax_Trees.Invalid_Node_Index then
+ if Stack.Peek (I).Tree_Index = Invalid_Node_Index then
return False;
end if;
end loop;
diff --git a/packages/wisi/wisitoken-parse-lr.ads
b/packages/wisi/wisitoken-parse-lr.ads
index 36f8889..da30920 100644
--- a/packages/wisi/wisitoken-parse-lr.ads
+++ b/packages/wisi/wisitoken-parse-lr.ads
@@ -9,7 +9,7 @@
--
-- See wisitoken.ads
--
--- Copyright (C) 2002, 2003, 2009, 2010, 2013 - 2015, 2017 - 2019 Free
Software Foundation, Inc.
+-- Copyright (C) 2002, 2003, 2009, 2010, 2013 - 2015, 2017 - 2020 Free
Software Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -40,10 +40,7 @@ with SAL.Gen_Array_Image;
with SAL.Gen_Bounded_Definite_Stacks.Gen_Image_Aux;
with SAL.Gen_Bounded_Definite_Vectors.Gen_Image_Aux;
with SAL.Gen_Bounded_Definite_Vectors.Gen_Refs;
-with SAL.Gen_Bounded_Definite_Vectors_Sorted.Gen_Image_Aux;
-with SAL.Gen_Bounded_Definite_Vectors_Sorted.Gen_Refs;
with SAL.Gen_Unbounded_Definite_Min_Heaps_Fibonacci;
-with SAL.Gen_Unbounded_Definite_Queues.Gen_Image_Aux;
with SAL.Gen_Unbounded_Definite_Vectors_Sorted;
with System.Multiprocessors;
with WisiToken.Semantic_Checks;
@@ -60,17 +57,18 @@ package WisiToken.Parse.LR is
subtype Token_ID_Array_1_3 is Token_ID_Array (1 .. 3);
-- For Language_Matching_Begin_Tokens.
- type Parse_Action_Rec (Verb : Parse_Action_Verbs := Shift) is record
+ type Parse_Action_Rec (Verb : Parse_Action_Verbs := Shift) is
+ record
+ Production : Production_ID;
+ -- The production that produced this action. Used to find kernel
+ -- items during error recovery.
+
case Verb is
when Shift =>
State : State_Index := State_Index'Last;
when Reduce | Accept_It =>
- Production : Production_ID;
- -- The result nonterm and production index. Most uses need only
- -- Production.LHS; elisp code generation, and debug output, needs
- -- Production.RHS
-
+ -- Production.LHS is the result nonterm
Action : WisiToken.Syntax_Trees.Semantic_Action := null;
Check : WisiToken.Semantic_Checks.Semantic_Check := null;
Token_Count : Ada.Containers.Count_Type := 0;
@@ -89,7 +87,7 @@ package WisiToken.Parse.LR is
-- Put a line for Item in parse trace format, with no prefix.
function Equal (Left, Right : in Parse_Action_Rec) return Boolean;
- -- Ignore Action, Check.
+ -- Ignore items not used by the canonical shift-reduce algorithm.
type Parse_Action_Node;
type Parse_Action_Node_Ptr is access Parse_Action_Node;
@@ -132,10 +130,19 @@ package WisiToken.Parse.LR is
(Goto_Node, Token_ID, To_Key, Compare);
type Kernel_Info is record
- LHS : Token_ID := Token_ID'First;
+ Production : Production_ID;
Before_Dot : Token_ID := Token_ID'First;
Length_After_Dot : Ada.Containers.Count_Type := 0;
- Recursive : Boolean := False;
+
+ Reduce_Production : Production_ID;
+ Reduce_Count : Ada.Containers.Count_Type := 0;
+ -- The reduction that error recovery should do for this item if
+ -- Length_After_Dot = 0. Reduce_Production /= Production when item
+ -- after dot is nullable.
+ --
+ -- It is tempting to make Length_After_Dot a discriminant to
+ -- eliminate Reduce_* when they are not needed, but we don't have a
+ -- static value of Length_After_Dot when it is non-zero.
end record;
function Strict_Image (Item : in Kernel_Info) return String;
@@ -148,14 +155,16 @@ package WisiToken.Parse.LR is
function Image is new Kernel_Info_Arrays.Gen_Image (Strict_Image);
- type Minimal_Action (Verb : Minimal_Verbs := Shift) is record
+ type Minimal_Action (Verb : Minimal_Verbs := Shift) is
+ record
+ Production : Production_ID := Invalid_Production_ID;
+
case Verb is
when Shift =>
ID : Token_ID := Invalid_Token_ID;
State : State_Index := State_Index'Last;
when Reduce =>
- Nonterm : Token_ID;
Token_Count : Ada.Containers.Count_Type;
end case;
end record;
@@ -180,14 +189,10 @@ package WisiToken.Parse.LR is
Goto_List : Goto_Arrays.Vector;
-- The following are used in error recovery.
- Kernel : Kernel_Info_Arrays.Vector;
-
+ Kernel : Kernel_Info_Arrays.Vector;
Minimal_Complete_Actions : Minimal_Action_Arrays.Vector;
- Minimal_Complete_Actions_Recursive : Boolean := False;
-- Parse actions that will most quickly complete a production in this
- -- state. If more than one, resolved at runtime using Kernels. If
- -- Minimal_Complete_Actions_Recursive, at least one of the minimal
- -- actions is recursive; this changes the algorithm.
+ -- state. Kernel is used to reduce the number of actions.
end record;
type Parse_State_Array is array (State_Index range <>) of Parse_State;
@@ -195,6 +200,7 @@ package WisiToken.Parse.LR is
procedure Add_Action
(State : in out Parse_State;
Symbol : in Token_ID;
+ Production : in Production_ID;
State_Index : in WisiToken.State_Index);
-- Add a Shift action to tail of State action list.
@@ -419,11 +425,6 @@ package WisiToken.Parse.LR is
Ins_Token_Index : WisiToken.Base_Token_Index;
-- Ins_ID is inserted before Token_Index.
- State : Unknown_State_Index;
- Stack_Depth : SAL.Base_Peek_Type;
- -- Used in Minimal_Completion_Actions to detect cycles; only set for
- -- Insert by Minimal_Completion_Actions.
-
when Delete =>
Del_ID : Token_ID;
-- The token ID deleted.
@@ -452,8 +453,6 @@ package WisiToken.Parse.LR is
function Equal (Left : in Config_Op; Right : in Insert_Op) return Boolean;
-- Ignore state, stack_depth
- package Config_Op_Queues is new SAL.Gen_Unbounded_Definite_Queues
(Config_Op);
-
package Config_Op_Arrays is new SAL.Gen_Bounded_Definite_Vectors
(Positive_Index_Type, Config_Op, Capacity => 80);
-- Using a fixed size vector significantly speeds up
@@ -475,10 +474,7 @@ package WisiToken.Parse.LR is
when Push_Back => Image (Item.PB_ID, Descriptor) & "," &
WisiToken.Token_Index'Image (Item.PB_Token_Index),
when Insert => Image (Item.Ins_ID, Descriptor) & "," &
- WisiToken.Token_Index'Image (Item.Ins_Token_Index) &
- (if Item.State = Unknown_State or Trace_McKenzie <= Detail
then ""
- else "," & State_Index'Image (Item.State) &
- SAL.Base_Peek_Type'Image (Item.Stack_Depth)),
+ WisiToken.Token_Index'Image (Item.Ins_Token_Index),
when Delete => Image (Item.Del_ID, Descriptor) & "," &
WisiToken.Token_Index'Image (Item.Del_Token_Index))
& ")");
@@ -486,7 +482,6 @@ package WisiToken.Parse.LR is
function Image (Item : in Config_Op; Descriptor : in WisiToken.Descriptor)
return String
renames Config_Op_Image;
- function Image is new Config_Op_Queues.Gen_Image_Aux (WisiToken.Descriptor,
Image);
function Config_Op_Array_Image is new Config_Op_Arrays.Gen_Image_Aux
(WisiToken.Descriptor, Image);
function Image (Item : in Config_Op_Arrays.Vector; Descriptor : in
WisiToken.Descriptor) return String
renames Config_Op_Array_Image;
@@ -505,17 +500,51 @@ package WisiToken.Parse.LR is
function Any (Ops : aliased in Config_Op_Arrays.Vector; Op : in
Config_Op_Label) return Boolean;
-- True if Ops contains at least one Op.
- package Sorted_Insert_Delete_Arrays is new
SAL.Gen_Bounded_Definite_Vectors_Sorted
- (Insert_Delete_Op, Compare, Capacity => 80);
+ type Recover_Op (Op : Insert_Delete_Op_Label := Insert) is record
+ -- Add Ins_Tree_Node to Config_Op info, set when item is
+ -- parsed; used to create user augmented token.
+
+ case Op is
+ when Insert =>
+ Ins_ID : Token_ID := Invalid_Token_ID;
+ -- The token ID inserted.
+
+ Ins_Token_Index : Base_Token_Index := Invalid_Token_Index;
+ -- Ins_ID is inserted before Token_Index.
+
+ Ins_Tree_Node : Node_Index := Invalid_Node_Index;
+
+ when Delete =>
+ Del_ID : Token_ID;
+ -- The token ID deleted.
+
+ Del_Token_Index : Base_Token_Index;
+ -- Token at Token_Index is deleted.
+
+ end case;
+ end record;
+
+ package Recover_Op_Arrays is new SAL.Gen_Bounded_Definite_Vectors
+ (Positive_Index_Type, Recover_Op, Capacity => 80);
+
+ package Recover_Op_Array_Refs is new Recover_Op_Arrays.Gen_Refs;
- package Insert_Delete_Array_Refs is new
Sorted_Insert_Delete_Arrays.Gen_Refs;
+ function Image (Item : in Recover_Op; Descriptor : in WisiToken.Descriptor)
return String
+ is ("(" & Item.Op'Image & ", " &
+ (case Item.Op is
+ when Insert => Image (Item.Ins_ID, Descriptor) & "," &
+ Item.Ins_Token_Index'Image & "," &
+ Item.Ins_Tree_Node'Image,
+ when Delete => Image (Item.Del_ID, Descriptor) & "," &
+ Item.Del_Token_Index'Image)
+ & ")");
- function Image is new Sorted_Insert_Delete_Arrays.Gen_Image_Aux
(WisiToken.Descriptor, Image);
+ function Image is new Recover_Op_Arrays.Gen_Image_Aux
(WisiToken.Descriptor, Image);
type Recover_Stack_Item is record
- State : Unknown_State_Index;
+ State : Unknown_State_Index := Unknown_State;
- Tree_Index : Syntax_Trees.Node_Index;
+ Tree_Index : Node_Index := Invalid_Node_Index;
-- Valid if copied at recover initialize, Invalid if pushed during
-- recover.
@@ -547,7 +576,8 @@ package WisiToken.Parse.LR is
-- pushed by recover.
type Strategies is
- (Language_Fix, Minimal_Complete, Matching_Begin, Push_Back, Undo_Reduce,
Insert, Delete, String_Quote);
+ (Ignore_Error, Language_Fix, Minimal_Complete, Matching_Begin,
+ Push_Back, Undo_Reduce, Insert, Delete, String_Quote);
type Strategy_Counts is array (Strategies) of Natural;
function Image is new SAL.Gen_Array_Image (Strategies, Natural,
Strategy_Counts, Trimmed_Image);
@@ -577,7 +607,7 @@ package WisiToken.Parse.LR is
String_Quote_Checked : Line_Number_Type := Invalid_Line_Number;
-- Max line checked for missing string quote.
- Insert_Delete : aliased Sorted_Insert_Delete_Arrays.Vector;
+ Insert_Delete : aliased Config_Op_Arrays.Vector;
-- Edits to the input stream that are not yet parsed; contains only
-- Insert and Delete ops, in token_index order.
@@ -652,7 +682,7 @@ package WisiToken.Parse.LR is
case Label is
when Action =>
- Error_Token : Syntax_Trees.Valid_Node_Index; -- index into Parser.Tree
+ Error_Token : Valid_Node_Index; -- index into Parser.Tree
Expecting : Token_ID_Set (First_Terminal .. Last_Terminal);
when Check =>
diff --git a/packages/wisi/wisitoken-parse-packrat-generated.adb
b/packages/wisi/wisitoken-parse-packrat-generated.adb
index f5f4b16..7d73f34 100644
--- a/packages/wisi/wisitoken-parse-packrat-generated.adb
+++ b/packages/wisi/wisitoken-parse-packrat-generated.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -27,7 +27,7 @@ package body WisiToken.Parse.Packrat.Generated is
Descriptor : WisiToken.Descriptor renames Parser.Trace.Descriptor.all;
- Junk : WisiToken.Syntax_Trees.Valid_Node_Index;
+ Junk : WisiToken.Valid_Node_Index;
pragma Unreferenced (Junk);
Result : Memo_Entry;
@@ -66,6 +66,13 @@ package body WisiToken.Parse.Packrat.Generated is
return Parser.Tree;
end Tree;
+ overriding function Tree_Var_Ref
+ (Parser : aliased in out Generated.Parser)
+ return Syntax_Trees.Tree_Variable_Reference
+ is begin
+ return (Element => Parser.Tree'Access);
+ end Tree_Var_Ref;
+
overriding function Any_Errors (Parser : in Generated.Parser) return Boolean
is
use all type Ada.Containers.Count_Type;
diff --git a/packages/wisi/wisitoken-parse-packrat-generated.ads
b/packages/wisi/wisitoken-parse-packrat-generated.ads
index 2eddd56..4932465 100644
--- a/packages/wisi/wisitoken-parse-packrat-generated.ads
+++ b/packages/wisi/wisitoken-parse-packrat-generated.ads
@@ -7,7 +7,7 @@
--
-- see parent.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -39,7 +39,7 @@ package WisiToken.Parse.Packrat.Generated is
null;
when Success =>
- Result : aliased WisiToken.Syntax_Trees.Valid_Node_Index;
+ Result : aliased Valid_Node_Index;
Last_Token : Base_Token_Index; -- FIXME: change to Last_Pos
@@ -67,6 +67,9 @@ package WisiToken.Parse.Packrat.Generated is
overriding procedure Parse (Parser : aliased in out Generated.Parser);
overriding function Tree (Parser : in Generated.Parser) return
Syntax_Trees.Tree;
+ overriding function Tree_Var_Ref
+ (Parser : aliased in out Generated.Parser)
+ return Syntax_Trees.Tree_Variable_Reference;
overriding function Any_Errors (Parser : in Generated.Parser) return
Boolean;
overriding procedure Put_Errors (Parser : in Generated.Parser);
diff --git a/packages/wisi/wisitoken-parse-packrat-procedural.adb
b/packages/wisi/wisitoken-parse-packrat-procedural.adb
index 97f71ff..44ab122 100644
--- a/packages/wisi/wisitoken-parse-packrat-procedural.adb
+++ b/packages/wisi/wisitoken-parse-packrat-procedural.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -60,12 +60,12 @@ package body WisiToken.Parse.Packrat.Procedural is
Result => Parser.Tree.Add_Nonterm
(Production => (R, RHS_Index),
Action => RHS.Action,
- Children => (1 .. 0 =>
Syntax_Trees.Invalid_Node_Index),
+ Children => (1 .. 0 => Invalid_Node_Index),
Default_Virtual => False),
Last_Pos => Pos);
else
declare
- Children : Syntax_Trees.Valid_Node_Index_Array
+ Children : Valid_Node_Index_Array
(SAL.Base_Peek_Type (RHS.Tokens.First_Index) ..
SAL.Base_Peek_Type (RHS.Tokens.Last_Index));
begin
for I in RHS.Tokens.First_Index .. RHS.Tokens.Last_Index loop
@@ -213,7 +213,7 @@ package body WisiToken.Parse.Packrat.Procedural is
is
Descriptor : WisiToken.Descriptor renames Parser.Trace.Descriptor.all;
- Junk : WisiToken.Syntax_Trees.Valid_Node_Index;
+ Junk : Valid_Node_Index;
pragma Unreferenced (Junk);
Result : Memo_Entry;
@@ -250,4 +250,11 @@ package body WisiToken.Parse.Packrat.Procedural is
return Parser.Tree;
end Tree;
+ overriding function Tree_Var_Ref
+ (Parser : aliased in out Procedural.Parser)
+ return Syntax_Trees.Tree_Variable_Reference
+ is begin
+ return (Element => Parser.Tree'Access);
+ end Tree_Var_Ref;
+
end WisiToken.Parse.Packrat.Procedural;
diff --git a/packages/wisi/wisitoken-parse-packrat-procedural.ads
b/packages/wisi/wisitoken-parse-packrat-procedural.ads
index 107fead..ff04837 100644
--- a/packages/wisi/wisitoken-parse-packrat-procedural.ads
+++ b/packages/wisi/wisitoken-parse-packrat-procedural.ads
@@ -9,7 +9,7 @@
--
-- See parent.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -43,7 +43,7 @@ package WisiToken.Parse.Packrat.Procedural is
null;
when Success =>
- Result : WisiToken.Syntax_Trees.Valid_Node_Index;
+ Result : WisiToken.Valid_Node_Index;
Last_Pos : Base_Token_Index;
end case;
@@ -72,6 +72,9 @@ package WisiToken.Parse.Packrat.Procedural is
overriding procedure Parse (Parser : aliased in out Procedural.Parser);
overriding function Tree (Parser : in Procedural.Parser) return
Syntax_Trees.Tree;
+ overriding function Tree_Var_Ref
+ (Parser : aliased in out Procedural.Parser)
+ return Syntax_Trees.Tree_Variable_Reference;
overriding function Any_Errors (Parser : in Procedural.Parser) return
Boolean
is (False);
diff --git a/packages/wisi/wisitoken-parse-packrat.adb
b/packages/wisi/wisitoken-parse-packrat.adb
index 14fd2bb..46ea1e9 100644
--- a/packages/wisi/wisitoken-parse-packrat.adb
+++ b/packages/wisi/wisitoken-parse-packrat.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2018 Free Software Foundation, Inc.
+-- Copyright (C) 2018, 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -19,13 +19,16 @@ pragma License (Modified_GPL);
package body WisiToken.Parse.Packrat is
- overriding procedure Execute_Actions (Parser : in out Packrat.Parser)
+ overriding
+ procedure Execute_Actions
+ (Parser : in out Packrat.Parser;
+ Image_Augmented : in Syntax_Trees.Image_Augmented := null)
is
Descriptor : WisiToken.Descriptor renames Parser.Trace.Descriptor.all;
procedure Process_Node
(Tree : in out Syntax_Trees.Tree;
- Node : in Syntax_Trees.Valid_Node_Index)
+ Node : in Valid_Node_Index)
is
use all type Syntax_Trees.Node_Label;
begin
@@ -35,7 +38,7 @@ package body WisiToken.Parse.Packrat is
declare
use all type Syntax_Trees.Semantic_Action;
- Tree_Children : constant Syntax_Trees.Valid_Node_Index_Array :=
Tree.Children (Node);
+ Tree_Children : constant Valid_Node_Index_Array := Tree.Children
(Node);
begin
Parser.User_Data.Reduce (Tree, Node, Tree_Children);
@@ -47,6 +50,10 @@ package body WisiToken.Parse.Packrat is
begin
if Trace_Action > Outline then
+ if Trace_Action > Extra then
+ Parser.Tree.Print_Tree (Descriptor, Parser.Tree.Root,
Image_Augmented);
+ Parser.Trace.New_Line;
+ end if;
Parser.Trace.Put_Line ("root node: " & Parser.Tree.Image
(Parser.Tree.Root, Descriptor));
end if;
diff --git a/packages/wisi/wisitoken-parse-packrat.ads
b/packages/wisi/wisitoken-parse-packrat.ads
index 40eeba0..9c0421f 100644
--- a/packages/wisi/wisitoken-parse-packrat.ads
+++ b/packages/wisi/wisitoken-parse-packrat.ads
@@ -14,7 +14,7 @@
-- [warth 2008] Warth, A., Douglass, J.R. and Millstein, T.D., 2008. Packrat
-- parsers can support left recursion. PEPM, 8, pp.103-110.
--
--- Copyright (C) 2018 Free Software Foundation, Inc.
+-- Copyright (C) 2018, 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -47,17 +47,18 @@ pragma License (Modified_GPL);
with WisiToken.Syntax_Trees;
package WisiToken.Parse.Packrat is
- function Tree_Index (Terminal_Index : in Token_Index) return
Syntax_Trees.Valid_Node_Index
- is (Syntax_Trees.Valid_Node_Index (Terminal_Index));
+ function Tree_Index (Terminal_Index : in Token_Index) return
Valid_Node_Index
+ is (Valid_Node_Index (Terminal_Index));
-- All tokens are read and entered into the syntax tree before any
-- nonterms are reduced, so the mapping from Terminals token_index to
-- Tree node_index is identity.
+ -- FIXME: use Terminals (Terminal_Index).Tree_Index
type Parser is abstract new Base_Parser with record
-- Dynamic parsing data
Base_Tree : aliased WisiToken.Syntax_Trees.Base_Tree;
- Tree : WisiToken.Syntax_Trees.Tree;
+ Tree : aliased WisiToken.Syntax_Trees.Tree;
-- FIXME: Current we only need Base_Tree for Execute_Actions, except
-- that Syntax_Trees only declares the needed operations on Tree. But
-- we may need more trees for error recovery; if not, fix
@@ -66,6 +67,9 @@ package WisiToken.Parse.Packrat is
end record;
- overriding procedure Execute_Actions (Parser : in out Packrat.Parser);
+ overriding
+ procedure Execute_Actions
+ (Parser : in out Packrat.Parser;
+ Image_Augmented : in Syntax_Trees.Image_Augmented := null);
end WisiToken.Parse.Packrat;
diff --git a/packages/wisi/wisitoken-parse.adb
b/packages/wisi/wisitoken-parse.adb
index 3685b4e..535c423 100644
--- a/packages/wisi/wisitoken-parse.adb
+++ b/packages/wisi/wisitoken-parse.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -19,7 +19,7 @@ pragma License (Modified_GPL);
package body WisiToken.Parse is
- function Next_Grammar_Token (Parser : in out Base_Parser) return Token_ID
+ function Next_Grammar_Token (Parser : in out Base_Parser'Class) return
Token_ID
is
use all type Ada.Containers.Count_Type;
use all type Syntax_Trees.User_Data_Access;
@@ -32,10 +32,6 @@ package body WisiToken.Parse is
-- We don't handle Error until later; we assume it was recovered.
- if Parser.User_Data /= null then
- Parser.User_Data.Lexer_To_Augmented (Token, Parser.Lexer);
- end if;
-
if Token.Line /= Invalid_Line_Number then
-- Some lexers don't support line numbers.
if Parser.Lexer.First then
@@ -57,9 +53,28 @@ package body WisiToken.Parse is
Parser.Trace.Put_Line (Image (Token, Parser.Trace.Descriptor.all));
end if;
- exit when Token.ID >= Parser.Trace.Descriptor.First_Terminal;
+ if Token.ID >= Parser.Trace.Descriptor.First_Terminal then
+
+ Parser.Terminals.Append (Token);
+
+ -- We create the syntax tree node here, so Lexer_To_Augmented can
+ -- store augmented data in it.
+ Parser.Terminals (Parser.Terminals.Last_Index).Tree_Index :=
Parser.Tree_Var_Ref.Add_Terminal
+ (Parser.Terminals.Last_Index, Parser.Terminals);
+
+ if Parser.User_Data /= null then
+ Parser.User_Data.Lexer_To_Augmented
+ (Parser.Tree_Var_Ref, Parser.Terminals
(Parser.Terminals.Last_Index), Parser.Lexer);
+ end if;
+
+ exit;
+ else
+ -- non-grammar; not in syntax tree
+ if Parser.User_Data /= null then
+ Parser.User_Data.Lexer_To_Augmented (Parser.Tree_Var_Ref,
Token, Parser.Lexer);
+ end if;
+ end if;
end loop;
- Parser.Terminals.Append (Token);
if Error then
declare
@@ -74,7 +89,7 @@ package body WisiToken.Parse is
return Token.ID;
end Next_Grammar_Token;
- procedure Lex_All (Parser : in out Base_Parser)
+ procedure Lex_All (Parser : in out Base_Parser'Class)
is
EOF_ID : constant Token_ID := Parser.Trace.Descriptor.EOI_ID;
begin
diff --git a/packages/wisi/wisitoken-parse.ads
b/packages/wisi/wisitoken-parse.ads
index edecb90..1493658 100644
--- a/packages/wisi/wisitoken-parse.ads
+++ b/packages/wisi/wisitoken-parse.ads
@@ -2,7 +2,7 @@
--
-- Subprograms common to more than one parser, higher-level than in
wisitoken.ads
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -35,19 +35,19 @@ package WisiToken.Parse is
-- if the only token on line I is a non_grammar token (ie a comment,
-- or a newline for a blank line), Line_Begin_Token (I) is the last
-- grammar token on the previous non-blank line. If Line (I) is a
- -- non-first line in a multi-line token, Line_Begin_Token (I) is
- -- Invalid_Token_Index.
+ -- non-first line in a multi-line terminal token, Line_Begin_Token
+ -- (I) is Invalid_Token_Index.
end record;
-- Common to all parsers. Finalize should free any allocated objects.
- function Next_Grammar_Token (Parser : in out Base_Parser) return Token_ID;
+ function Next_Grammar_Token (Parser : in out Base_Parser'Class) return
Token_ID;
-- Get next token from Lexer, call User_Data.Lexer_To_Augmented. If
-- it is a grammar token, store in Terminals and return its id.
-- Otherwise, repeat.
--
-- Propagates Fatal_Error from Lexer.
- procedure Lex_All (Parser : in out Base_Parser);
+ procedure Lex_All (Parser : in out Base_Parser'Class);
-- Clear Terminals, Line_Begin_Token; reset User_Data. Then call
-- Next_Grammar_Token repeatedly until EOF_ID is returned.
--
@@ -67,12 +67,18 @@ package WisiToken.Parse is
function Tree (Parser : in Base_Parser) return Syntax_Trees.Tree is
abstract;
-- Return the syntax tree resulting from the parse.
+ function Tree_Var_Ref (Parser : aliased in out Base_Parser) return
Syntax_Trees.Tree_Variable_Reference is abstract;
+ -- Return a writable reference to the syntax tree resulting from the parse.
+
function Any_Errors (Parser : in Base_Parser) return Boolean is abstract;
procedure Put_Errors (Parser : in Base_Parser) is abstract;
-- Output error messages to Ada.Text_IO.Current_Error.
- procedure Execute_Actions (Parser : in out Base_Parser) is abstract;
+ procedure Execute_Actions
+ (Parser : in out Base_Parser;
+ Image_Augmented : in Syntax_Trees.Image_Augmented := null)
+ is abstract;
-- Execute all actions in Parser.Tree.
end WisiToken.Parse;
diff --git a/packages/wisi/wisitoken-parse_table-mode.el
b/packages/wisi/wisitoken-parse_table-mode.el
index 13a727c..e864ab0 100644
--- a/packages/wisi/wisitoken-parse_table-mode.el
+++ b/packages/wisi/wisitoken-parse_table-mode.el
@@ -1,6 +1,6 @@
;; wisitoken-parse_table-mode.el --- For navigating in a parse table as output
by wisitoken-bnf-generate. -*- lexical-binding:t -*-
;;
-;; Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
+;; Copyright (C) 2017 - 2020 Free Software Foundation, Inc.
;;
;; Author: Stephen Leake <address@hidden>
;; Maintainer: Stephen Leake <address@hidden>
@@ -43,22 +43,20 @@
;;
;; - 'reduce n tokens to <nonterminal> <prod_id>'
;; => return 'prod_id: name'
- (save-excursion
- (cond
- ((save-excursion
- (end-of-line)
- ;; "go to" for bison output
- (or (looking-back "go ?to state \\([0-9]+\\),?"
(line-beginning-position))
- (looking-back "( \\([0-9]+\\))" (line-beginning-position))))
- (match-string 1))
+ (cond
+ ((save-excursion
+ (beginning-of-line)
+ ;; "go to" for bison output
+ (search-forward-regexp "go ?to state \\([0-9]+\\)" (line-end-position)
t))
+ (match-string 1))
- ((save-excursion
- (back-to-indentation)
- (looking-at "[a-zA-Z_]+ + => reduce [0-9]+ tokens to \\([a-z0-9_]+\\)
\\([0-9.]+\\)"))
- (concat (match-string 2) ": " (match-string 1)))
+ ((save-excursion
+ (beginning-of-line)
+ (search-forward-regexp "reduce [0-9]+ tokens to \\([[:alnum:]_]+\\)
\\([0-9.]+\\)" (line-end-position) t))
+ (concat (match-string 2) ": " (match-string 1)))
- (t
- (thing-at-point 'symbol)))))
+ (t
+ (thing-at-point 'symbol))))
(cl-defgeneric xref-backend-definitions ((_backend (eql
wisitoken-parse_table)) identifier)
;; IDENTIFIER is from xref-back-identifier-at-point; a state number or a
nonterminal
diff --git a/packages/wisi/wisitoken-productions.adb
b/packages/wisi/wisitoken-productions.adb
index f95210b..2f1892f 100644
--- a/packages/wisi/wisitoken-productions.adb
+++ b/packages/wisi/wisitoken-productions.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2018 Free Software Foundation, Inc.
+-- Copyright (C) 2018, 2020 Free Software Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -23,6 +23,31 @@ pragma License (Modified_GPL);
with Ada.Text_IO;
package body WisiToken.Productions is
+ function Image (Item : in Recursion_Arrays.Vector) return String
+ is
+ use Ada.Strings.Unbounded;
+ Result : Ada.Strings.Unbounded.Unbounded_String := +"(";
+ Need_Comma : Boolean := False;
+ begin
+ -- We assume most are None, so we use named association
+ for I in Item.First_Index .. Item.Last_Index loop
+ if Item (I) /= None then
+ Result := Result & (if Need_Comma then ", " else "") &
Trimmed_Image (I) & " => " & Image (Item (I));
+ Need_Comma := True;
+ end if;
+ end loop;
+ Result := Result & ")";
+ return -Result;
+ end Image;
+
+ function Constant_Ref_RHS
+ (Grammar : in Prod_Arrays.Vector;
+ ID : in Production_ID)
+ return RHS_Arrays.Constant_Reference_Type
+ is begin
+ return RHS_Arrays.Constant_Ref (Grammar (ID.LHS).RHSs, ID.RHS);
+ end Constant_Ref_RHS;
+
function Image
(LHS : in Token_ID;
RHS_Index : in Natural;
@@ -40,10 +65,17 @@ package body WisiToken.Productions is
end Image;
procedure Put (Grammar : Prod_Arrays.Vector; Descriptor : in
WisiToken.Descriptor)
- is begin
+ is
+ use Ada.Text_IO;
+ begin
for P of Grammar loop
for R in P.RHSs.First_Index .. P.RHSs.Last_Index loop
- Ada.Text_IO.Put_Line (Image (P.LHS, R, P.RHSs (R).Tokens,
Descriptor));
+ Put (Image (P.LHS, R, P.RHSs (R).Tokens, Descriptor));
+ if (for all Item of Grammar (P.LHS).RHSs (R).Recursion => Item =
None) then
+ New_Line;
+ else
+ Put_Line (" ; " & Image (Grammar (P.LHS).RHSs (R).Recursion));
+ end if;
end loop;
end loop;
end Put;
diff --git a/packages/wisi/wisitoken-productions.ads
b/packages/wisi/wisitoken-productions.ads
index 854b302..8b8c8f8 100644
--- a/packages/wisi/wisitoken-productions.ads
+++ b/packages/wisi/wisitoken-productions.ads
@@ -2,7 +2,7 @@
--
-- Type and operations for building grammar productions.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -24,12 +24,27 @@ with SAL.Gen_Unbounded_Definite_Vectors;
with WisiToken.Semantic_Checks;
with WisiToken.Syntax_Trees;
package WisiToken.Productions is
+ use all type Ada.Containers.Count_Type;
+
+ package Recursion_Arrays is new SAL.Gen_Unbounded_Definite_Vectors
+ (Positive, Recursion_Class, Default_Element => None);
+
+ function Image (Item : in Recursion_Arrays.Vector) return String;
+ -- For parse_table
type Right_Hand_Side is record
- Tokens : Token_ID_Arrays.Vector;
+ Tokens : Token_ID_Arrays.Vector;
+ Recursion : Recursion_Arrays.Vector;
+ -- Recursion for each token. There may be more than one recursion cycle
for any token,
+ -- but we don't track that.
+
Action : WisiToken.Syntax_Trees.Semantic_Action;
Check : WisiToken.Semantic_Checks.Semantic_Check;
- end record;
+ end record
+ with Dynamic_Predicate =>
+ (Tokens.Length = 0 or Tokens.First_Index = 1) and
+ (Recursion.Length = 0 or
+ (Recursion.First_Index = Tokens.First_Index and Recursion.Last_Index =
Tokens.Last_Index));
package RHS_Arrays is new SAL.Gen_Unbounded_Definite_Vectors
(Natural, Right_Hand_Side, Default_Element => (others => <>));
@@ -42,6 +57,11 @@ package WisiToken.Productions is
package Prod_Arrays is new SAL.Gen_Unbounded_Definite_Vectors
(Token_ID, Instance, Default_Element => (others => <>));
+ function Constant_Ref_RHS
+ (Grammar : in Prod_Arrays.Vector;
+ ID : in Production_ID)
+ return RHS_Arrays.Constant_Reference_Type;
+
function Image
(LHS : in Token_ID;
RHS_Index : in Natural;
@@ -51,7 +71,7 @@ package WisiToken.Productions is
-- For comments in generated code, diagnostic messages.
procedure Put (Grammar : Prod_Arrays.Vector; Descriptor : in
WisiToken.Descriptor);
- -- Put Image of each production to Ada.Text_IO.Current_Output.
+ -- Put Image of each production to Ada.Text_IO.Current_Output, for
parse_table.
package Line_Number_Arrays is new SAL.Gen_Unbounded_Definite_Vectors
(Natural, Line_Number_Type, Default_Element => Invalid_Line_Number);
diff --git a/packages/wisi/wisitoken-syntax_trees-lr_utils.adb
b/packages/wisi/wisitoken-syntax_trees-lr_utils.adb
index a456d82..c75ccea 100644
--- a/packages/wisi/wisitoken-syntax_trees-lr_utils.adb
+++ b/packages/wisi/wisitoken-syntax_trees-lr_utils.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2019 Stephen Leake All Rights Reserved.
+-- Copyright (C) 2019, 2020 Stephen Leake All Rights Reserved.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -24,9 +24,9 @@ package body WisiToken.Syntax_Trees.LR_Utils is
Lexer : in WisiToken.Lexer.Handle;
Tree : in WisiToken.Syntax_Trees.Tree;
Terminals : in WisiToken.Base_Token_Arrays.Vector;
- Node : in WisiToken.Syntax_Trees.Node_Index)
+ Node : in Node_Index)
is
- Terminal_Index : constant Base_Token_Index := Tree.Min_Terminal_Index
(Node);
+ Terminal_Index : constant Base_Token_Index := Tree.First_Shared_Terminal
(Node);
begin
raise SAL.Programmer_Error with Error_Message
(Lexer.File_Name,
diff --git a/packages/wisi/wisitoken-syntax_trees-lr_utils.ads
b/packages/wisi/wisitoken-syntax_trees-lr_utils.ads
index 9033f49..84292b4 100644
--- a/packages/wisi/wisitoken-syntax_trees-lr_utils.ads
+++ b/packages/wisi/wisitoken-syntax_trees-lr_utils.ads
@@ -2,7 +2,7 @@
--
-- Utilities for navigating syntax trees produced by an LR parser.
--
--- Copyright (C) 2019 Stephen Leake All Rights Reserved.
+-- Copyright (C) 2019, 2020 Stephen Leake All Rights Reserved.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -26,7 +26,7 @@ package WisiToken.Syntax_Trees.LR_Utils is
Lexer : in WisiToken.Lexer.Handle;
Tree : in WisiToken.Syntax_Trees.Tree;
Terminals : in WisiToken.Base_Token_Arrays.Vector;
- Node : in WisiToken.Syntax_Trees.Node_Index);
+ Node : in WisiToken.Node_Index);
pragma No_Return (Raise_Programmer_Error);
----------
diff --git a/packages/wisi/wisitoken-syntax_trees.adb
b/packages/wisi/wisitoken-syntax_trees.adb
index abcc4d8..7e98947 100644
--- a/packages/wisi/wisitoken-syntax_trees.adb
+++ b/packages/wisi/wisitoken-syntax_trees.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -32,8 +32,6 @@ package body WisiToken.Syntax_Trees is
Include_RHS_Index : in Boolean := False)
return String;
- function Min (Item : in Valid_Node_Index_Array) return Valid_Node_Index;
-
procedure Move_Branch_Point (Tree : in out Syntax_Trees.Tree; Required_Node
: in Valid_Node_Index);
type Visit_Parent_Mode is (Before, After);
@@ -52,7 +50,7 @@ package body WisiToken.Syntax_Trees is
-- all nodes have been processed (Process_Tree returns True).
procedure Set_Children
- (Nodes : in out Node_Arrays.Vector;
+ (Tree : in out Syntax_Trees.Tree;
Parent : in Valid_Node_Index;
Children : in Valid_Node_Index_Array);
@@ -133,20 +131,7 @@ package body WisiToken.Syntax_Trees is
return Nonterm_Node;
end if;
- if Tree.Flush then
- Set_Children (Tree.Shared_Tree.Nodes, Nonterm_Node, Children);
-
- else
- declare
- Min_Child_Node : constant Valid_Node_Index := Min (Children);
- begin
- if Min_Child_Node <= Tree.Last_Shared_Node then
- Move_Branch_Point (Tree, Min_Child_Node);
- end if;
- end;
-
- Set_Children (Tree.Branched_Nodes, Nonterm_Node, Children);
- end if;
+ Set_Children (Tree, Nonterm_Node, Children);
return Nonterm_Node;
end Add_Nonterm;
@@ -179,13 +164,15 @@ package body WisiToken.Syntax_Trees is
function Add_Terminal
(Tree : in out Syntax_Trees.Tree;
- Terminal : in Token_ID)
+ Terminal : in Token_ID;
+ Before : in Base_Token_Index := Invalid_Token_Index)
return Valid_Node_Index
is begin
if Tree.Flush then
Tree.Shared_Tree.Nodes.Append
((Label => Virtual_Terminal,
ID => Terminal,
+ Before => Before,
others => <>));
Tree.Last_Shared_Node := Tree.Shared_Tree.Nodes.Last_Index;
return Tree.Last_Shared_Node;
@@ -193,11 +180,24 @@ package body WisiToken.Syntax_Trees is
Tree.Branched_Nodes.Append
((Label => Virtual_Terminal,
ID => Terminal,
+ Before => Before,
others => <>));
return Tree.Branched_Nodes.Last_Index;
end if;
end Add_Terminal;
+ function Before
+ (Tree : in Syntax_Trees.Tree;
+ Virtual_Terminal : in Valid_Node_Index)
+ return Base_Token_Index
+ is begin
+ if Tree.Flush then
+ return Tree.Shared_Tree.Nodes (Virtual_Terminal).Before;
+ else
+ return Tree.Branched_Nodes (Virtual_Terminal).Before;
+ end if;
+ end Before;
+
function Augmented
(Tree : in Syntax_Trees.Tree;
Node : in Valid_Node_Index)
@@ -210,6 +210,18 @@ package body WisiToken.Syntax_Trees is
end if;
end Augmented;
+ function Augmented_Const
+ (Tree : in Syntax_Trees.Tree;
+ Node : in Valid_Node_Index)
+ return Base_Token_Class_Access_Constant
+ is begin
+ if Node <= Tree.Last_Shared_Node then
+ return Base_Token_Class_Access_Constant (Tree.Shared_Tree.Nodes
(Node).Augmented);
+ else
+ return Base_Token_Class_Access_Constant (Tree.Branched_Nodes
(Node).Augmented);
+ end if;
+ end Augmented_Const;
+
function Byte_Region
(Tree : in Syntax_Trees.Tree;
Node : in Valid_Node_Index)
@@ -305,12 +317,13 @@ package body WisiToken.Syntax_Trees is
Node : Syntax_Trees.Node renames Tree.Shared_Tree.Nodes (Index);
begin
Tree.Shared_Tree.Nodes.Append
- ((Label => Shared_Terminal,
- ID => Node.ID,
- Byte_Region => Node.Byte_Region,
- Parent => Parent,
- State => Unknown_State,
- Terminal => Node.Terminal));
+ ((Label => Shared_Terminal,
+ ID => Node.ID,
+ Byte_Region => Node.Byte_Region,
+ Parent => Parent,
+ State => Unknown_State,
+ Augmented => Node.Augmented,
+ Terminal => Node.Terminal));
end;
when Virtual_Terminal =>
@@ -318,11 +331,13 @@ package body WisiToken.Syntax_Trees is
Node : Syntax_Trees.Node renames Tree.Shared_Tree.Nodes (Index);
begin
Tree.Shared_Tree.Nodes.Append
- ((Label => Virtual_Terminal,
- ID => Node.ID,
- Byte_Region => Node.Byte_Region,
- Parent => Parent,
- State => Unknown_State));
+ ((Label => Virtual_Terminal,
+ ID => Node.ID,
+ Byte_Region => Node.Byte_Region,
+ Parent => Parent,
+ State => Unknown_State,
+ Augmented => Node.Augmented,
+ Before => Node.Before));
end;
when Virtual_Identifier =>
@@ -330,12 +345,13 @@ package body WisiToken.Syntax_Trees is
Node : Syntax_Trees.Node renames Tree.Shared_Tree.Nodes (Index);
begin
Tree.Shared_Tree.Nodes.Append
- ((Label => Virtual_Identifier,
- ID => Node.ID,
- Byte_Region => Node.Byte_Region,
- Parent => Parent,
- State => Unknown_State,
- Identifier => Node.Identifier));
+ ((Label => Virtual_Identifier,
+ ID => Node.ID,
+ Byte_Region => Node.Byte_Region,
+ Parent => Parent,
+ State => Unknown_State,
+ Augmented => Node.Augmented,
+ Identifier => Node.Identifier));
end;
when Nonterm =>
@@ -377,14 +393,13 @@ package body WisiToken.Syntax_Trees is
Byte_Region => Node.Byte_Region,
Parent => Parent,
State => Unknown_State,
+ Augmented => Node.Augmented,
Virtual => Node.Virtual,
RHS_Index => Node.RHS_Index,
Action => Node.Action,
Name => Node.Name,
Children => New_Children,
- Min_Terminal_Index => Node.Min_Terminal_Index,
- Max_Terminal_Index => Node.Max_Terminal_Index,
- Augmented => Node.Augmented));
+ Min_Terminal_Index => Node.Min_Terminal_Index));
end;
Tree.Last_Shared_Node := Tree.Shared_Tree.Nodes.Last_Index;
@@ -465,7 +480,8 @@ package body WisiToken.Syntax_Trees is
overriding procedure Finalize (Tree : in out Base_Tree)
is begin
- Tree.Traversing := False;
+ Tree.Traversing := False;
+ Tree.Parents_Set := False;
if Tree.Augmented_Present then
for Node of Tree.Nodes loop
if Node.Label = Nonterm then
@@ -480,19 +496,27 @@ package body WisiToken.Syntax_Trees is
overriding procedure Finalize (Tree : in out Syntax_Trees.Tree)
is begin
if Tree.Last_Shared_Node /= Invalid_Node_Index then
- if Tree.Shared_Tree.Augmented_Present then
- for Node of Tree.Branched_Nodes loop
- Free (Node.Augmented);
- end loop;
- -- We don't clear Tree.Shared_Tree.Augmented_Present here; other
- -- branched trees may need to be finalized.
- end if;
+ -- Tree.Branched_Nodes Augmented are shallow copies of
+ -- Tree.Shared_Tree.Nodes Augmented, so we don't free them there;
+ -- they are freed in Base_Tree.Finalize above.
Tree.Branched_Nodes.Finalize;
Tree.Last_Shared_Node := Invalid_Node_Index;
Tree.Shared_Tree := null;
end if;
end Finalize;
+ function Insert_After
+ (User_Data : in out User_Data_Type;
+ Tree : in Syntax_Trees.Tree'Class;
+ Token : in Valid_Node_Index;
+ Insert_On_Blank_Line : in Boolean)
+ return Boolean
+ is
+ pragma Unreferenced (User_Data, Tree, Token, Insert_On_Blank_Line);
+ begin
+ return False;
+ end Insert_After;
+
function Find_Ancestor
(Tree : in Syntax_Trees.Tree;
Node : in Valid_Node_Index;
@@ -624,72 +648,6 @@ package body WisiToken.Syntax_Trees is
return Found;
end Find_Descendant;
- function Find_Min_Terminal_Index
- (Tree : in Syntax_Trees.Tree;
- Index : in Token_Index)
- return Node_Index
- is
- Found : Node_Index := Invalid_Node_Index;
-
- function Process (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Boolean
- is
- function Compute (N : in Syntax_Trees.Node) return Boolean
- is begin
- if N.Label /= Nonterm then
- return True;
- elsif Index = N.Min_Terminal_Index then
- Found := Node;
- return False;
- else
- return True;
- end if;
- end Compute;
- begin
- return Compute
- ((if Node <= Tree.Last_Shared_Node
- then Tree.Shared_Tree.Nodes (Node)
- else Tree.Branched_Nodes (Node)));
- end Process;
-
- Junk : constant Boolean := Process_Tree (Tree, Tree.Root, Before,
Process'Access);
- pragma Unreferenced (Junk);
- begin
- return Found;
- end Find_Min_Terminal_Index;
-
- function Find_Max_Terminal_Index
- (Tree : in Syntax_Trees.Tree;
- Index : in Token_Index)
- return Node_Index
- is
- Found : Node_Index := Invalid_Node_Index;
-
- function Process (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Boolean
- is
- function Compute (N : in Syntax_Trees.Node) return Boolean
- is begin
- if N.Label /= Nonterm then
- return True;
- elsif Index = N.Max_Terminal_Index then
- Found := Node;
- return False;
- else
- return True;
- end if;
- end Compute;
- begin
- return Compute
- ((if Node <= Tree.Last_Shared_Node
- then Tree.Shared_Tree.Nodes (Node)
- else Tree.Branched_Nodes (Node)));
- end Process;
-
- Junk : constant Boolean := Process_Tree (Tree, Tree.Root, Before,
Process'Access);
- pragma Unreferenced (Junk);
- begin
- return Found;
- end Find_Max_Terminal_Index;
-
function Find_Sibling
(Tree : in Syntax_Trees.Tree;
Node : in Valid_Node_Index;
@@ -838,6 +796,34 @@ package body WisiToken.Syntax_Trees is
end return;
end Get_Terminals;
+ function First_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Node_Index
+ is
+ function Compute (Index : in Valid_Node_Index; N : in Syntax_Trees.Node)
return Node_Index
+ is begin
+ case N.Label is
+ when Shared_Terminal | Virtual_Terminal | Virtual_Identifier =>
+ return Index;
+ when Nonterm =>
+ for C of N.Children loop
+ declare
+ Term : constant Node_Index := First_Terminal (Tree, C);
+ begin
+ if Term /= Invalid_Node_Index then
+ return Term;
+ end if;
+ end;
+ end loop;
+ return Invalid_Node_Index;
+ end case;
+ end Compute;
+ begin
+ return Compute
+ (Node,
+ (if Node <= Tree.Last_Shared_Node
+ then Tree.Shared_Tree.Nodes (Node)
+ else Tree.Branched_Nodes (Node)));
+ end First_Terminal;
+
procedure Get_Terminal_IDs
(Tree : in Syntax_Trees.Tree;
Node : in Valid_Node_Index;
@@ -877,6 +863,26 @@ package body WisiToken.Syntax_Trees is
end return;
end Get_Terminal_IDs;
+ function First_Shared_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Base_Token_Index
+ is
+ function Compute (N : in Syntax_Trees.Node) return Base_Token_Index
+ is begin
+ return
+ (case N.Label is
+ when Shared_Terminal => N.Terminal,
+ when Virtual_Terminal |
+ Virtual_Identifier => Invalid_Token_Index,
+ when Nonterm => N.Min_Terminal_Index);
+ end Compute;
+
+ begin
+ if Node <= Tree.Last_Shared_Node then
+ return Compute (Tree.Shared_Tree.Nodes (Node));
+ else
+ return Compute (Tree.Branched_Nodes (Node));
+ end if;
+ end First_Shared_Terminal;
+
function First_Terminal_ID (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Token_ID
is
function Compute (N : in Syntax_Trees.Node) return Token_ID
@@ -886,7 +892,16 @@ package body WisiToken.Syntax_Trees is
return N.ID;
when Nonterm =>
- return First_Terminal_ID (Tree, N.Children (1));
+ for C of N.Children loop
+ declare
+ ID : constant Token_ID := First_Terminal_ID (Tree, C);
+ begin
+ if ID /= Invalid_Token_ID then
+ return ID;
+ end if;
+ end;
+ end loop;
+ return Invalid_Token_ID;
end case;
end Compute;
begin
@@ -1083,14 +1098,23 @@ package body WisiToken.Syntax_Trees is
end if;
end Is_Nonterm;
- function Is_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Boolean
+ function Is_Shared_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Boolean
is begin
if Node <= Tree.Last_Shared_Node then
return Tree.Shared_Tree.Nodes (Node).Label = Shared_Terminal;
else
return Tree.Branched_Nodes (Node).Label = Shared_Terminal;
end if;
- end Is_Terminal;
+ end Is_Shared_Terminal;
+
+ function Is_Virtual_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Boolean
+ is begin
+ if Node <= Tree.Last_Shared_Node then
+ return Tree.Shared_Tree.Nodes (Node).Label = Virtual_Terminal;
+ else
+ return Tree.Branched_Nodes (Node).Label = Virtual_Terminal;
+ end if;
+ end Is_Virtual_Terminal;
function Is_Virtual (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Boolean
is
@@ -1131,17 +1155,61 @@ package body WisiToken.Syntax_Trees is
else Tree.Branched_Nodes.Last_Index);
end Last_Index;
- function Min (Item : in Valid_Node_Index_Array) return Valid_Node_Index
+ function Last_Shared_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Base_Token_Index
+ is
+ -- Max_Terminal_Index is not cached, because it is not needed in
recover.
+
+ function Compute (N : in Syntax_Trees.Node) return Base_Token_Index
+ is begin
+ case N.Label is
+ when Shared_Terminal =>
+ return N.Terminal;
+
+ when Virtual_Terminal | Virtual_Identifier =>
+ return Invalid_Token_Index;
+
+ when Nonterm =>
+ for C of reverse N.Children loop
+ declare
+ Last_Term : constant Base_Token_Index :=
Tree.Last_Shared_Terminal (C);
+ begin
+ if Last_Term /= Invalid_Token_Index then
+ return Last_Term;
+ end if;
+ end;
+ end loop;
+ return Invalid_Token_Index;
+ end case;
+ end Compute;
+
+ begin
+ if Node <= Tree.Last_Shared_Node then
+ return Compute (Tree.Shared_Tree.Nodes (Node));
+ else
+ return Compute (Tree.Branched_Nodes (Node));
+ end if;
+ end Last_Shared_Terminal;
+
+ function Last_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Node_Index
is
- Result : Node_Index := Item (Item'First);
+ N : constant Node_Const_Ref := Tree.Get_Node_Const_Ref (Node);
begin
- for I in Item'Range loop
- if Item (I) < Result then
- Result := Item (I);
- end if;
- end loop;
- return Result;
- end Min;
+ case N.Label is
+ when Shared_Terminal | Virtual_Terminal | Virtual_Identifier =>
+ return Node;
+ when Nonterm =>
+ for C of reverse N.Children loop
+ declare
+ Term : constant Node_Index := Last_Terminal (Tree, C);
+ begin
+ if Term /= Invalid_Node_Index then
+ return Term;
+ end if;
+ end;
+ end loop;
+ return Invalid_Node_Index;
+ end case;
+ end Last_Terminal;
function Min_Descendant (Nodes : in Node_Arrays.Vector; Node : in
Valid_Node_Index) return Valid_Node_Index
is
@@ -1163,44 +1231,6 @@ package body WisiToken.Syntax_Trees is
end case;
end Min_Descendant;
- function Min_Terminal_Index (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Base_Token_Index
- is
- function Compute (N : in Syntax_Trees.Node) return Base_Token_Index
- is begin
- return
- (case N.Label is
- when Shared_Terminal => N.Terminal,
- when Virtual_Terminal | Virtual_Identifier => Invalid_Token_Index,
- when Nonterm =>
N.Min_Terminal_Index);
- end Compute;
-
- begin
- if Node <= Tree.Last_Shared_Node then
- return Compute (Tree.Shared_Tree.Nodes (Node));
- else
- return Compute (Tree.Branched_Nodes (Node));
- end if;
- end Min_Terminal_Index;
-
- function Max_Terminal_Index (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Base_Token_Index
- is
- function Compute (N : in Syntax_Trees.Node) return Base_Token_Index
- is begin
- return
- (case N.Label is
- when Shared_Terminal => N.Terminal,
- when Virtual_Terminal | Virtual_Identifier => Invalid_Token_Index,
- when Nonterm =>
N.Max_Terminal_Index);
- end Compute;
-
- begin
- if Node <= Tree.Last_Shared_Node then
- return Compute (Tree.Shared_Tree.Nodes (Node));
- else
- return Compute (Tree.Branched_Nodes (Node));
- end if;
- end Max_Terminal_Index;
-
procedure Move_Branch_Point (Tree : in out Syntax_Trees.Tree; Required_Node
: in Valid_Node_Index)
is begin
-- Note that this preserves all stored indices in Branched_Nodes.
@@ -1208,6 +1238,70 @@ package body WisiToken.Syntax_Trees is
Tree.Last_Shared_Node := Required_Node - 1;
end Move_Branch_Point;
+ function Next_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Node_Index
+ is
+ use Valid_Node_Index_Arrays;
+ use all type SAL.Base_Peek_Type;
+
+ function First_Child (Node : in Valid_Node_Index) return Node_Index
+ is
+ N : Node_Const_Ref renames Tree.Get_Node_Const_Ref (Node);
+ begin
+ case N.Label is
+ when Shared_Terminal | Virtual_Terminal | Virtual_Identifier =>
+ return Node;
+ when Nonterm =>
+ -- Use first non-empty
+ for J in N.Children.First_Index .. N.Children.Last_Index loop
+ declare
+ Result : constant Node_Index := First_Child (N.Children (J));
+ begin
+ if Result /= Invalid_Node_Index then
+ return Result;
+ end if;
+ end;
+ end loop;
+ -- All Children are empty
+ return Invalid_Node_Index;
+ end case;
+ end First_Child;
+
+ function Next_Child (Child : in Valid_Node_Index; Node : in Node_Index)
return Node_Index
+ is begin
+ -- Node is Parent of Child; return node immediately after Child.
+ if Node = Invalid_Node_Index then
+ return Invalid_Node_Index;
+ else
+ declare
+ N : Node_Const_Ref renames Tree.Get_Node_Const_Ref (Node);
+ begin
+ pragma Assert (N.Label = Nonterm);
+ for I in N.Children.First_Index .. N.Children.Last_Index loop
+ if N.Children (I) = Child then
+ -- Use first non-empty next from I + 1.
+ for J in I + 1 .. N.Children.Last_Index loop
+ declare
+ Result : constant Node_Index := First_Child
(N.Children (J));
+ begin
+ if Result /= Invalid_Node_Index then
+ return Result;
+ end if;
+ end;
+ end loop;
+ -- All next Children are empty
+ return Next_Child (Node, N.Parent);
+ end if;
+ end loop;
+ raise SAL.Programmer_Error;
+ end;
+ end if;
+ end Next_Child;
+
+ N : Node_Const_Ref renames Get_Node_Const_Ref (Tree, Node);
+ begin
+ return Next_Child (Node, N.Parent);
+ end Next_Terminal;
+
function Parent
(Tree : in Syntax_Trees.Tree;
Node : in Valid_Node_Index;
@@ -1229,10 +1323,75 @@ package body WisiToken.Syntax_Trees is
return Result;
end Parent;
+ function Prev_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Node_Index
+ is
+ use Valid_Node_Index_Arrays;
+ use all type SAL.Base_Peek_Type;
+
+ function Last_Child (Node : in Valid_Node_Index) return Node_Index
+ is
+ N : Node_Const_Ref renames Tree.Get_Node_Const_Ref (Node);
+ begin
+ case N.Label is
+ when Shared_Terminal | Virtual_Terminal | Virtual_Identifier =>
+ return Node;
+ when Nonterm =>
+ -- Use first non-empty from end.
+ for J in reverse N.Children.First_Index .. N.Children.Last_Index
loop
+ declare
+ Result : constant Node_Index := Last_Child (N.Children (J));
+ begin
+ if Result /= Invalid_Node_Index then
+ return Result;
+ end if;
+ end;
+ end loop;
+ -- All Children are empty
+ return Invalid_Node_Index;
+ end case;
+ end Last_Child;
+
+ function Prev_Child (Child : in Valid_Node_Index; Node : in Node_Index)
return Node_Index
+ is begin
+ -- Node is Parent of Child; return node immediately previous to
Child.
+ if Node = Invalid_Node_Index then
+ return Invalid_Node_Index;
+ else
+ declare
+ N : Node_Const_Ref renames Tree.Get_Node_Const_Ref (Node);
+ begin
+ pragma Assert (N.Label = Nonterm);
+ for I in reverse N.Children.First_Index ..
N.Children.Last_Index loop
+ if N.Children (I) = Child then
+ -- Use first non-empty from I - 1.
+ for J in reverse N.Children.First_Index .. I - 1 loop
+ declare
+ Result : constant Node_Index := Last_Child
(N.Children (J));
+ begin
+ if Result /= Invalid_Node_Index then
+ return Result;
+ end if;
+ end;
+ end loop;
+ -- All previous Children are empty
+ return Prev_Child (Node, N.Parent);
+ end if;
+ end loop;
+ raise SAL.Programmer_Error;
+ end;
+ end if;
+ end Prev_Child;
+
+ N : Node_Const_Ref renames Get_Node_Const_Ref (Tree, Node);
+ begin
+ return Prev_Child (Node, N.Parent);
+ end Prev_Terminal;
+
procedure Print_Tree
- (Tree : in Syntax_Trees.Tree;
- Descriptor : in WisiToken.Descriptor;
- Root : in Node_Index := Invalid_Node_Index)
+ (Tree : in Syntax_Trees.Tree;
+ Descriptor : in WisiToken.Descriptor;
+ Root : in Node_Index := Invalid_Node_Index;
+ Image_Augmented : in Syntax_Trees.Image_Augmented := null)
is
use Ada.Text_IO;
@@ -1256,7 +1415,12 @@ package body WisiToken.Syntax_Trees is
for I in 1 .. Level loop
Put ("| ");
end loop;
- Put_Line (Image (Tree, N, Descriptor, Include_Children => False,
Include_RHS_Index => True));
+ Put (Image (Tree, N, Descriptor, Include_Children => False,
Include_RHS_Index => True));
+ if Image_Augmented /= null and N.Augmented /= null then
+ Put_Line (" - " & Image_Augmented (N.Augmented));
+ else
+ New_Line;
+ end if;
if N.Label = Nonterm then
for Child of N.Children loop
@@ -1391,9 +1555,35 @@ package body WisiToken.Syntax_Trees is
Identifier => Identifier,
Byte_Region => Current.Byte_Region,
Parent => Current.Parent,
- State => Unknown_State));
+ State => Unknown_State,
+ Augmented => null));
end Set_Node_Identifier;
+ procedure Set_Parents (Tree : in out Syntax_Trees.Tree)
+ is
+ procedure Set_Parents
+ (Tree : in out Syntax_Trees.Tree;
+ Node : in Valid_Node_Index;
+ Parent : in Node_Index)
+ is
+ N : Node_Var_Ref renames Tree.Get_Node_Var_Ref (Node);
+ begin
+ N.Parent := Parent;
+ case N.Label is
+ when Shared_Terminal | Virtual_Terminal | Virtual_Identifier =>
+ null;
+
+ when Nonterm =>
+ for C of N.Children loop
+ Set_Parents (Tree, C, Node);
+ end loop;
+ end case;
+ end Set_Parents;
+ begin
+ Set_Parents (Tree, Root (Tree), Invalid_Node_Index);
+ Tree.Shared_Tree.Parents_Set := True;
+ end Set_Parents;
+
procedure Set_Root (Tree : in out Syntax_Trees.Tree; Root : in
Valid_Node_Index)
is begin
Tree.Root := Root;
@@ -1449,25 +1639,36 @@ package body WisiToken.Syntax_Trees is
end Set_Augmented;
procedure Set_Children
- (Nodes : in out Node_Arrays.Vector;
+ (Tree : in out Syntax_Trees.Tree;
Parent : in Valid_Node_Index;
Children : in Valid_Node_Index_Array)
is
use all type SAL.Base_Peek_Type;
- N : Nonterm_Node renames Nodes (Parent);
- J : Positive_Index_Type := Positive_Index_Type'First;
+ N : Node_Var_Ref renames Tree.Get_Node_Var_Ref (Parent);
Min_Terminal_Index_Set : Boolean := False;
begin
N.Children.Set_First_Last (Children'First, Children'Last);
for I in Children'Range loop
- N.Children (J) := Children (I);
+ N.Children (I) := Children (I);
+
+ if Tree.Parents_Set then
+ -- Parsing is done; we are editing the tree.
+ declare
+ K : Node_Var_Ref renames Tree.Get_Node_Var_Ref (Children (I));
+ begin
+ K.Parent := Parent;
+ end;
+ else
+ -- We do _not_ set K.Parent here; that is only done after parsing
is
+ -- complete. See Design note in spec.
+ null;
+ end if;
+
declare
- K : Node renames Nodes (Children (I));
+ K : Node_Const_Ref renames Tree.Get_Node_Const_Ref (Children (I));
begin
- K.Parent := Parent;
-
N.Virtual := N.Virtual or
(case K.Label is
when Shared_Terminal => False,
@@ -1499,27 +1700,7 @@ package body WisiToken.Syntax_Trees is
end if;
end case;
end if;
-
- case K.Label is
- when Shared_Terminal =>
- if N.Max_Terminal_Index < K.Terminal then
- N.Max_Terminal_Index := K.Terminal;
- end if;
-
- when Virtual_Terminal | Virtual_Identifier =>
- null;
-
- when Nonterm =>
- if K.Max_Terminal_Index /= Invalid_Token_Index and then
- -- not an empty nonterm
- N.Max_Terminal_Index < K.Max_Terminal_Index
- then
- N.Max_Terminal_Index := K.Max_Terminal_Index;
- end if;
- end case;
end;
-
- J := J + 1;
end loop;
end Set_Children;
diff --git a/packages/wisi/wisitoken-syntax_trees.ads
b/packages/wisi/wisitoken-syntax_trees.ads
index 85fd2c5..5eff265 100644
--- a/packages/wisi/wisitoken-syntax_trees.ads
+++ b/packages/wisi/wisitoken-syntax_trees.ads
@@ -2,17 +2,34 @@
--
-- Syntax tree type and operations.
--
--- Rationale :
+-- Design :
+--
+-- There is one syntax tree for each parallel parser. There is one
+-- shared Terminals array (provided by the master parser), matching
+-- the actual input text.
+--
+-- Node contains a Parent component, to make it easy to traverse the
+-- tree in any direction. However, we do not set the Parent nodes
+-- while parsing, to simplify branching the syntax tree for parallel
+-- parsing. When a new nonterm is added to a branched tree, if it set
+-- the parent component of its children, it would first have to move
+-- those children, and all intervening nodes, into the branched tree.
+-- Since Shared_Terminals nodes are created before all other nodes
+-- (when the lexer is run, to allow Lexer_To_Augmented to store info
+-- in the node), that would mean every branched tree is a practically
+-- complete copy of the entire tree, significantly slowing down
+-- parsing (by a factor of 250 on ada-mode wisi.adb when we did this
+-- by mistake!).
+--
+-- The parent components are set by Set_Parents, which is called by
+-- Parser.Execute_Actions before the actions are executed.
+-- Fortunately, we don't need the parent components during error
+-- recover.
--
-- We provide Base_Tree and Tree in one package, because only Tree
-- needs an API; the only way Base_Tree is accessed is via Tree.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
-
--- There is one syntax tree for each parser. There is one shared
--- Terminals array, matching the actual input text.
---
--- Copyright (C) 2018 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -41,6 +58,9 @@ package WisiToken.Syntax_Trees is
type Tree is new Ada.Finalization.Controlled with private;
+ type Tree_Variable_Reference (Element : access Tree) is null record with
+ Implicit_Dereference => Element;
+
procedure Initialize
(Branched_Tree : in out Tree;
Shared_Tree : in Base_Tree_Access;
@@ -50,18 +70,6 @@ package WisiToken.Syntax_Trees is
overriding procedure Finalize (Tree : in out Syntax_Trees.Tree);
-- Free any allocated storage.
- type Node_Index is range 0 .. Integer'Last;
- subtype Valid_Node_Index is Node_Index range 1 .. Node_Index'Last;
-
- Invalid_Node_Index : constant Node_Index := Node_Index'First;
-
- type Valid_Node_Index_Array is array (Positive_Index_Type range <>) of
Valid_Node_Index;
- -- Index matches Base_Token_Array, Augmented_Token_Array
-
- package Valid_Node_Index_Arrays is new SAL.Gen_Unbounded_Definite_Vectors
- (Positive_Index_Type, Valid_Node_Index, Default_Element =>
Valid_Node_Index'First);
- -- Index matches Valid_Node_Index_Array.
-
type Node_Label is
(Shared_Terminal, -- text is user input, accessed via Parser.Terminals
Virtual_Terminal, -- no text; inserted during error recovery
@@ -92,19 +100,45 @@ package WisiToken.Syntax_Trees is
procedure Lexer_To_Augmented
(User_Data : in out User_Data_Type;
+ Tree : in out Syntax_Trees.Tree'Class;
Token : in Base_Token;
Lexer : not null access WisiToken.Lexer.Instance'Class)
is null;
-- Read auxiliary data from Lexer, do something useful with it.
- -- Called before parsing, once for each token in the input stream.
+ -- Called before parsing, once for each token in the input stream. If
+ -- Token is a grammar token, client can use Tree.Set_Augmented
+ -- (Token.Tree_Node).
+
+ function Insert_After
+ (User_Data : in out User_Data_Type;
+ Tree : in Syntax_Trees.Tree'Class;
+ Token : in Valid_Node_Index;
+ Insert_On_Blank_Line : in Boolean)
+ return Boolean;
+ -- Return True if ID should be treated as if inserted after the
+ -- previous shared terminal, rather than before the next (which is
+ -- the default). This can affect which line it appears on, which
+ -- affects indentation. Called from Insert_Token.
+ --
+ -- The default implementation always returns False.
+
+ procedure Insert_Token
+ (User_Data : in out User_Data_Type;
+ Tree : in out Syntax_Trees.Tree'Class;
+ Token : in Valid_Node_Index)
+ is null;
+ -- Token was inserted in error recovery; update other tokens and Tree
+ -- as needed. Called from Execute_Actions for each inserted token,
+ -- before processing the syntax tree.
procedure Delete_Token
(User_Data : in out User_Data_Type;
+ Tree : in out Syntax_Trees.Tree'Class;
Token_Index : in WisiToken.Token_Index)
is null;
-- Token at Token_Index was deleted in error recovery; update
- -- remaining tokens and Tree as needed. Called from Execute_Actions
- -- for each deleted token, before processing the syntax tree.
+ -- remaining tokens as needed. Called from Execute_Actions for each
+ -- deleted token, before processing the syntax tree.
procedure Reduce
(User_Data : in out User_Data_Type;
@@ -145,12 +179,13 @@ package WisiToken.Syntax_Trees is
Root : in Valid_Node_Index;
Last : in Valid_Node_Index)
return Valid_Node_Index
- with Pre => Tree.Flushed;
+ with Pre => Tree.Flushed and Tree.Parents_Set;
-- Deep copy (into Tree) subtree of Tree rooted at Root. Stop copying
-- after children of Last are copied. Return root of new subtree.
--
- -- Node index order is preserved. References to objects external to
- -- tree are shallow copied.
+ -- Parents of new child nodes are set. Node index order is preserved.
+ -- References to objects external to tree are shallow copied
+ -- (Terminals, Augmented).
function Add_Nonterm
(Tree : in out Syntax_Trees.Tree;
@@ -175,11 +210,21 @@ package WisiToken.Syntax_Trees is
function Add_Terminal
(Tree : in out Syntax_Trees.Tree;
- Terminal : in Token_ID)
+ Terminal : in Token_ID;
+ Before : in Base_Token_Index := Invalid_Token_Index)
return Valid_Node_Index
with Pre => not Tree.Traversing;
- -- Add a new Virtual_Terminal node with no parent. Result points to
- -- the added node.
+ -- Add a new Virtual_Terminal node with no parent. Before is the
+ -- index of the terminal in Terminals that this virtual is inserted
+ -- before during error correction; if Invalid_Token_Index, it is
+ -- inserted during EBNF translation, and there is no such terminal in
+ -- Terminals. Result points to the added node.
+
+ function Before
+ (Tree : in Syntax_Trees.Tree;
+ Virtual_Terminal : in Valid_Node_Index)
+ return Base_Token_Index
+ with Pre => Tree.Is_Virtual_Terminal (Virtual_Terminal);
function Add_Identifier
(Tree : in out Syntax_Trees.Tree;
@@ -209,6 +254,7 @@ package WisiToken.Syntax_Trees is
Children : in Valid_Node_Index_Array)
with
Pre => Tree.Flushed and
+ Tree.Parents_Set and
(not Tree.Traversing) and
Tree.Is_Nonterm (Node);
-- Set ID of Node to New_ID, and children to Children; set parent of
@@ -251,16 +297,25 @@ package WisiToken.Syntax_Trees is
function Has_Parent (Tree : in Syntax_Trees.Tree; Children : in
Valid_Node_Index_Array) return Boolean;
function Is_Empty (Tree : in Syntax_Trees.Tree; Node : in Valid_Node_Index)
return Boolean;
function Is_Nonterm (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Boolean;
- function Is_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Boolean;
+ function Is_Shared_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Boolean;
+ function Is_Virtual_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Boolean;
+
function Is_Virtual (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Boolean;
+ -- Virtual_Terminal, Virtual_Identifier, or Nonterm that contains some
Virtual tokens.
+
function Is_Virtual_Identifier (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Boolean;
function Traversing (Tree : in Syntax_Trees.Tree) return Boolean;
+ function Parents_Set (Tree : in Syntax_Trees.Tree) return Boolean;
+ procedure Set_Parents (Tree : in out Syntax_Trees.Tree)
+ with Pre => Tree.Flushed;
+
function Parent
(Tree : in Syntax_Trees.Tree;
Node : in Valid_Node_Index;
Count : in Positive := 1)
- return Node_Index;
+ return Node_Index
+ with Pre => Tree.Parents_Set;
-- Return Count parent of Node.
procedure Set_Name_Region
@@ -308,23 +363,24 @@ package WisiToken.Syntax_Trees is
(Tree : in Syntax_Trees.Tree;
Nodes : in Valid_Node_Index_Array)
return WisiToken.Recover_Token_Array;
- -- For non-virtual terminals, copied from Tree.Terminals. For others,
- -- constructed from Tree data.
procedure Set_Augmented
(Tree : in out Syntax_Trees.Tree;
Node : in Valid_Node_Index;
- Value : in Base_Token_Class_Access)
- with Pre => Tree.Is_Nonterm (Node);
+ Value : in Base_Token_Class_Access);
-- Value will be deallocated when Tree is finalized.
function Augmented
(Tree : in Syntax_Trees.Tree;
Node : in Valid_Node_Index)
- return Base_Token_Class_Access
- with Pre => Tree.Is_Nonterm (Node);
+ return Base_Token_Class_Access;
-- Returns result of Set_Augmented.
+ function Augmented_Const
+ (Tree : in Syntax_Trees.Tree;
+ Node : in Valid_Node_Index)
+ return Base_Token_Class_Access_Constant;
+
function Action
(Tree : in Syntax_Trees.Tree;
Node : in Valid_Node_Index)
@@ -335,12 +391,14 @@ package WisiToken.Syntax_Trees is
(Tree : in Syntax_Trees.Tree;
Node : in Valid_Node_Index;
ID : in Token_ID)
- return Node_Index;
+ return Node_Index
+ with Pre => Tree.Parents_Set;
function Find_Ancestor
(Tree : in Syntax_Trees.Tree;
Node : in Valid_Node_Index;
IDs : in Token_ID_Array)
- return Node_Index;
+ return Node_Index
+ with Pre => Tree.Parents_Set;
-- Return the ancestor of Node that contains ID, or Invalid_Node_Index if
-- none match.
@@ -349,7 +407,7 @@ package WisiToken.Syntax_Trees is
Node : in Valid_Node_Index;
ID : in Token_ID)
return Node_Index
- with Pre => Tree.Has_Parent (Node);
+ with Pre => Tree.Parents_Set and then Tree.Has_Parent (Node);
-- Return the sibling of Node that contains ID, or Invalid_Node_Index if
-- none match.
@@ -378,24 +436,6 @@ package WisiToken.Syntax_Trees is
-- Return the descendant of Node (may be Node) for which Predicate
-- returns True, or Invalid_Node_Index if none do.
- function Find_Min_Terminal_Index
- (Tree : in Syntax_Trees.Tree;
- Index : in Token_Index)
- return Node_Index
- with Post => Find_Min_Terminal_Index'Result = Invalid_Node_Index or else
- Tree.Is_Nonterm (Find_Min_Terminal_Index'Result);
- -- Return the first node whose Min_Terminal_Index is Index, or
- -- Invalid_Node_Index if none match.
-
- function Find_Max_Terminal_Index
- (Tree : in Syntax_Trees.Tree;
- Index : in Token_Index)
- return Node_Index
- with Post => Find_Max_Terminal_Index'Result = Invalid_Node_Index or else
- Tree.Is_Nonterm (Find_Max_Terminal_Index'Result);
- -- Return the first node whose Max_Terminal_Index is Index, or
- -- Invalid_Node_Index if none match.
-
procedure Set_Root (Tree : in out Syntax_Trees.Tree; Root : in
Valid_Node_Index);
function Root (Tree : in Syntax_Trees.Tree) return Node_Index;
@@ -415,13 +455,17 @@ package WisiToken.Syntax_Trees is
with Pre => Tree.Is_Virtual_Identifier (Node);
function Terminal (Tree : in Syntax_Trees.Tree; Node : in Valid_Node_Index)
return Base_Token_Index
- with Pre => Tree.Is_Terminal (Node);
+ with Pre => Tree.Is_Shared_Terminal (Node);
- function Min_Terminal_Index (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Base_Token_Index;
- function Max_Terminal_Index (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Base_Token_Index;
- -- Returns lowest/highest index of shared terminal in subtree under
- -- Node. If result is Invalid_Token_Index, all terminals are virtual,
- -- or a nonterm is empty.
+ function First_Shared_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Base_Token_Index;
+ -- Returns first shared terminal in subtree under Node
+ -- (ignoring virtual terminals). If result is Invalid_Token_Index,
+ -- all terminals are virtual, or a nonterm is empty.
+
+ function Last_Shared_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Base_Token_Index;
+ -- Returns last shared terminal in subtree under Node (ignoring
+ -- virtual terminals). If result is Invalid_Token_Index, all
+ -- terminals are virtual, or a nonterm is empty.
function Get_Terminals (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Valid_Node_Index_Array;
-- Return sequence of terminals in Node.
@@ -429,11 +473,27 @@ package WisiToken.Syntax_Trees is
-- "Terminals" can be Shared_Terminal, Virtual_Terminal,
-- Virtual_Identifier.
+ function First_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Node_Index;
+ -- First of Get_Terminals. Invalid_Node_Index if Node is an empty
nonterminal.
+
+ function Last_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Node_Index;
+ -- Last of Get_Terminals. Invalid_Node_Index if Node is an empty
nonterminal.
+
+ function Prev_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Node_Index
+ with Pre => Tree.Parents_Set and Tree.Label (Node) in Shared_Terminal |
Virtual_Terminal | Virtual_Identifier;
+ -- Return the terminal that is immediately before Node in Tree;
+ -- Invalid_Node_Index if Node is the first terminal in Tree.
+
+ function Next_Terminal (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Node_Index
+ with Pre => Tree.Parents_Set and Tree.Label (Node) in Shared_Terminal |
Virtual_Terminal | Virtual_Identifier;
+ -- Return the terminal that is immediately after Node in Tree;
+ -- Invalid_Node_Index if Node is the last terminal in Tree.
+
function Get_Terminal_IDs (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Token_ID_Array;
-- Same as Get_Terminals, but return the IDs.
function First_Terminal_ID (Tree : in Syntax_Trees.Tree; Node : in
Valid_Node_Index) return Token_ID;
- -- First of Get_Terminal_IDs
+ -- First of Get_Terminal_IDs; Invalid_Token_ID if Node is empty.
function Get_IDs
(Tree : in Syntax_Trees.Tree;
@@ -466,13 +526,18 @@ package WisiToken.Syntax_Trees is
return String;
-- Simple list of numbers, for debugging
+ type Image_Augmented is access function (Aug : in Base_Token_Class_Access)
return String;
+
procedure Print_Tree
- (Tree : in Syntax_Trees.Tree;
- Descriptor : in WisiToken.Descriptor;
- Root : in Node_Index := Invalid_Node_Index)
+ (Tree : in Syntax_Trees.Tree;
+ Descriptor : in WisiToken.Descriptor;
+ Root : in Node_Index := Invalid_Node_Index;
+ Image_Augmented : in Syntax_Trees.Image_Augmented := null)
with Pre => Tree.Flushed;
-- Print tree rooted at Root (default Tree.Root) to
- -- Text_IO.Current_Output, for debugging.
+ -- Text_IO.Current_Output, for debugging. For each node,
+ -- Image_Augmented is called if it is not null and node.augmented is
+ -- not null.
private
use all type Ada.Containers.Count_Type;
@@ -492,12 +557,14 @@ private
-- Parse state that was on stack with this token, to allow undoing a
-- reduce.
+ Augmented : Base_Token_Class_Access := null;
+
case Label is
when Shared_Terminal =>
Terminal : Token_Index; -- into Parser.Terminals
when Virtual_Terminal =>
- null;
+ Before : Base_Token_Index := Invalid_Token_Index; -- into
Parser.Terminals
when Virtual_Identifier =>
Identifier : Identifier_Index; -- into user data
@@ -520,11 +587,6 @@ private
Min_Terminal_Index : Base_Token_Index := Invalid_Token_Index;
-- Cached for push_back of nonterminals during recovery
-
- Max_Terminal_Index : Base_Token_Index := Invalid_Token_Index;
- -- Cached for building a WisiToken tree from a libadalang tree.
-
- Augmented : Base_Token_Class_Access := null;
end case;
end record;
@@ -552,6 +614,9 @@ private
-- True while traversing tree in Process_Tree.
-- Declared in Base_Tree so it is cleared by Finalize.
+ Parents_Set : Boolean := False;
+ -- We don't set Node.Parent until after parse is done; see Design
+ -- note above.
end record;
type Tree is new Ada.Finalization.Controlled with record
@@ -579,4 +644,26 @@ private
else Last_Shared_Node <= Shared_Tree.Nodes.Last_Index and
Last_Shared_Node < Branched_Nodes.First_Index));
+ subtype Node_Const_Ref is Node_Arrays.Constant_Reference_Type;
+ subtype Node_Var_Ref is Node_Arrays.Variable_Reference_Type;
+
+ function Get_Node_Const_Ref
+ (Tree : in Syntax_Trees.Tree;
+ Node : in Valid_Node_Index)
+ return Node_Const_Ref
+ is (if Node <= Tree.Last_Shared_Node
+ then Tree.Shared_Tree.Nodes.Constant_Ref (Node)
+ else Tree.Branched_Nodes.Constant_Ref (Node));
+
+ function Get_Node_Var_Ref
+ (Tree : in Syntax_Trees.Tree;
+ Node : in Valid_Node_Index)
+ return Node_Var_Ref
+ is (if Node <= Tree.Last_Shared_Node
+ then Tree.Shared_Tree.Nodes.Variable_Ref (Node)
+ else Tree.Branched_Nodes.Variable_Ref (Node));
+
+ function Parents_Set (Tree : in Syntax_Trees.Tree) return Boolean
+ is (Tree.Shared_Tree.Parents_Set);
+
end WisiToken.Syntax_Trees;
diff --git a/packages/wisi/wisitoken-text_io_trace.ads
b/packages/wisi/wisitoken-text_io_trace.ads
index c6892c8..b400c23 100644
--- a/packages/wisi/wisitoken-text_io_trace.ads
+++ b/packages/wisi/wisitoken-text_io_trace.ads
@@ -2,7 +2,7 @@
--
-- Trace output to Ada.Text_IO
--
--- Copyright (C) 2017, 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2017, 2019, 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -31,6 +31,7 @@ package WisiToken.Text_IO_Trace is
overriding
procedure Put_Line (Trace : in out Text_IO_Trace.Trace; Item : in String);
+ -- If Item contains ASCII.LF, Prefix is output after each one.
overriding
procedure New_Line (Trace : in out Text_IO_Trace.Trace);
diff --git a/packages/wisi/wisitoken-user_guide.info
b/packages/wisi/wisitoken-user_guide.info
index 6d04498..982869c 100644
--- a/packages/wisi/wisitoken-user_guide.info
+++ b/packages/wisi/wisitoken-user_guide.info
@@ -1,7 +1,7 @@
-This is wisitoken-user_guide.info, produced by makeinfo version 6.3 from
+This is wisitoken-user_guide.info, produced by makeinfo version 6.7 from
wisitoken-user_guide.texinfo.
-Copyright (C) 2014-2015, 2017, 2018 Stephen Leake.
+Copyright (C) 2014-2015, 2017, 2018, 2020 Stephen Leake.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
@@ -20,7 +20,7 @@ File: wisitoken-user_guide.info, Node: Top, Next: Overview,
Up: (dir)
WisiToken User Guide
********************
-Copyright (C) 2014-2015, 2017, 2018 Stephen Leake.
+Copyright (C) 2014-2015, 2017, 2018, 2020 Stephen Leake.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
@@ -42,16 +42,15 @@ File: wisitoken-user_guide.info, Node: Overview, Next:
Common grammar problems
**********
WisiToken is a parser and parser generator toolkit, supporting
-generalized LR (both LALR and LR1) and packrat parsers. The grammar can
-be expressed as either Ada source code statements, or in an EBNF file.
-The parser generator generates either Ada or elisp source (the elisp
-source assumes the Emacs wisi Gnu ELPA package).
+generalized LR (both LALR and LR1) and packrat parsers; the LR parser
+provides robust error recovery. The grammar can be expressed as either
+Ada source code statements, or in an EBNF file. The parser generator
+generates Ada, either plain or assuming the Emacs wisi package.
At one point, "wisi" was short for "Wisent Indentation engine"; the
Emacs 'wisi' package implements an indentation engine that used to be
based on the Emacs wisent parser. However, that parser has now been
-replaced by a generalized LALR parser with error recovery, so "wisi" is
-just a name.
+replaced by the WisiToken parser, so "wisi" is just a name.
* Menu:
@@ -63,13 +62,15 @@ File: wisitoken-user_guide.info, Node: Install, Up:
Overview
1.1 Install
===========
-WisiToken is available as source code only.
+WisiToken is available as source code only, although a subset is
+available in the GNU ELPA package 'wisi'.
- To use the Ada runtime, you will also need to install a lexer
-generator. WisiToken supports re2c, and other lexers can be added.
+ You will also need to install a lexer generator. WisiToken supports
+re2c, and other lexers can be added.
- re2c is available from <http://re2c.org/>. WisiToken uses the
-environment variable RE2C_HOME to locate re2c.
+ re2c is available from <http://re2c.org/>; it is also packaged in
+Mingw64 and Debian. WisiToken requires at least version 1.3. WisiToken
+assumes the executable 're2c' is in '$PATH'.
File: wisitoken-user_guide.info, Node: Common grammar problems, Next:
Grammar File Syntax, Prev: Overview, Up: Top
@@ -200,7 +201,7 @@ and deletions (*note Bison: (bison)Top.).
The top level file structure is a list of declarations and
nonterminals.
- Comments are started by ";;" and terminated by end of line.
+ Comments are started by ';;' and terminated by end of line.
* Menu:
@@ -214,8 +215,8 @@ File: wisitoken-user_guide.info, Node: Declarations,
Next: Nonterminals, Up:
3.1 Declarations
================
-The Declarations sections declares terminal tokens, conflicts, and other
-parser parameters.
+Declarations declare terminal tokens, conflicts, and other parser
+parameters.
* Menu:
@@ -231,17 +232,11 @@ File: wisitoken-user_guide.info, Node: Raw Code, Next:
Keywords, Up: Declarat
3.1.1 Raw code
--------------
-%code { actions | copyright_license } [spec | body | context | pre | post]...
%{ <output language code> }%
+%code { actions | copyright_license } [spec | body | context | pre | post]...
%{ <output language code> }%
Raw code declarations contain arbitrary code, copied verbatim into
-the output.
-
- For Elisp output, the generator adds the necessary 'require' forms
-for the elisp lexer, parser, and wisi actions; you only need to add add
-additional code if you use other actions.
-
- For Ada output, the keywords following '%code' determine where the
-section is output.
+the output. The keywords following '%code' determine where the section
+is output.
File: wisitoken-user_guide.info, Node: Keywords, Next: Tokens, Prev: Raw
Code, Up: Declarations
@@ -249,10 +244,10 @@ File: wisitoken-user_guide.info, Node: Keywords, Next:
Tokens, Prev: Raw Code
3.1.2 Keywords
--------------
-%keyword <name> <string>
+%keyword <name> <string>
-example:
-%keyword SEMICOLON ";"
+ example:
+%keyword SEMICOLON ";"
"Keywords" are reserved words or symbols in the target language; the
lexers recognize them by the given string.
@@ -263,62 +258,49 @@ File: wisitoken-user_guide.info, Node: Tokens, Next:
Error recovery, Prev: Ke
3.1.3 Tokens
------------
-%token < kind > name regexp
-
-example:
-%token <symbol> IDENTIFIER
-%token <punctuation> TICK "'"
-
- The meaning of 'kind' is determined by the lexer and parser runtime.
-The syntax of the regular expression is determined by the lexer
-generator.
+%token < kind > name regexp
- In the Emacs wisi lexer, the token kinds are recognized by Emacs
-syntax properties:
+ example:
+%token <symbol> IDENTIFIER %[ ... ]%
+%token <punctuation> TICK "'"
-'<punctuation>'
- %token <punctuation> TICK "'"
- A string of characters that have punctuation syntax, and match the
- token string.
-
-'<symbol>'
- %token <symbol> IDENTIFIER
- A string of characters that have word syntax, that match no other
- token.
+ The syntax of the regular expression is determined by the lexer
+generator. The meaning of 'kind' is determined by the lexer ('re2c'
+ignores this), with the following defined by the WisiToken generator.
+Other token kinds have no effect; they may be used for documentation.
'<string-double>'
- %token <string-double> STRING_LITERAL
+ %token <string-double> STRING_LITERAL %[ ... ]%
A string of characters that have string syntax, with double quote
delimiters.
'<string-single>'
- %token <string-single> CHARACTER_LITERAL
+ %token <string-single> CHARACTER_LITERAL %[ ... ]%
A string of characters that have string syntax, with single quote
delimiters.
-'<number>'
- %token <number> NUMERIC_LITERAL ada-wisi-number-p ada-wisi
- A string of characters that have word syntax, recognized by the
- function given in the third parameter. The fourth parameter is the
- source file for the recognizer (included via 'require').
-
-'<whitespace>'
- %token <whitespace> WHITESPACE [ \t\n]
- Not used by the wisi lexer; required by the Ada lexer.
-
-'<comment>'
- %token <line_comment> COMMENT "--"[^\n]*[\n]
+'<new-line>'
+ %token <new-line> [\n] %[ ... ]%
Not used by the wisi lexer; required by the Ada lexer. The third
argument is the regular expression to recognize the entire comment.
+'<non-reporting>'
+ %token <non-reporting> WHITESPACE %[ [ \t] ]%
+ A token that is recognized by the lexer, but not returned to the
+ parser.
+
+'<delimited-text>'
+ %token <delimited-text> RAW_CODE "%{" "}%"
+ A token that contains arbitrary text, delimited by the two strings.
+
File: wisitoken-user_guide.info, Node: Error recovery, Next: Other
declarations, Prev: Tokens, Up: Declarations
3.1.4 Error recovery
--------------------
-The parser can use error recovery algorithms when it encounters syntax
-errors; if a solution is found, the parse continues.
+The parser uses an error recovery algorithm when it encounters a syntax
+error; if a solution is found, the parse continues.
Error recovery uses multiple tasks to take advantage of multiple CPU
cores. Unfortunately, this means there is a race condition; the
@@ -327,15 +309,20 @@ This matters because each solution results in a
successful parse,
possibly with different actions (different indentation computed, for
example). Which solution finally succeeds depends on which are
terminated due to identical parser stacks, which in turn depends on the
-order they were delivered. See
-'ada-mode/tests/ada_mode-interactive_2.adb' for an example.
+order they were delivered.
- Once the syntax errors are fixed, only the ambiguities in the grammar
+ Once the syntax errors are fixed, only ambiguities in the grammar
itself can cause a similar problem.
- Several declarations set parameters for the error recovery. If none
-of these parameters are present in the grammar file, the generated
-parser does not do error recovery.
+ Several grammar file declarations set parameters for the error
+recovery. If none of these parameters are present in the grammar file,
+the generated parser does not do error recovery.
+
+ The error recovery algorithm generates possible solutions based on
+the parse state preceding the error point, by inserting, deleting, or
+pushing back tokens. Each possible solution is given a cost, and
+enqueued to be checked later. Solutions are checked in cost order
+(lowest first).
'%mckenzie_check_limit <limit>'
The number of tokens past the error point that must be parsed
@@ -357,7 +344,8 @@ parser does not do error recovery.
"Push back" means undo parsing; remove tokens from the parse stack
and put them back into the input stream. This moves the
- insert/delete point, allowing better solutions.
+ insert/delete point, allowing better solutions. The push back
+ default cost is also the undo reduce default cost.
If not specified, costs are zero. Costs can be negative; they all
add linearly.
@@ -365,25 +353,31 @@ parser does not do error recovery.
'%mckenzie_cost_delete <token> <cost>'
McKenzie error recovery delete cost for a specific token.
+'%mckenzie_cost_fast_forward <cost>'
+ McKenzie error recovery cost for parsing ahead after fixing one
+ error, moving to the next error location.
+
'%mckenzie_cost_insert <token> <cost>'
McKenzie error recovery insert cost for a specific token.
-'%mckenzie_cost_limit <integer>'
- McKenzie error recovery limit on cost of solutions; default max
- integer.
+'%mckenzie_cost_fast_forward <cost>'
+ McKenzie error recovery cost for using the 'matching_begin'
+ strategy.
'%mckenzie_cost_push_back <token> <cost>'
McKenzie error recovery push back cost for a specific token.
+'%mckenzie_cost_undo_reduce <token> <cost>'
+ McKenzie error recovery undo reduce cost for a specific token.
+
'%mckenzie_enqueue_limit <integer>'
McKenzie error recovery limit on possible solutions enqueued (to be
checked); default max integer.
- The error recovery algorithm generates possible solutions based on
- the grammar preceding the error point, by inserting, deleting, or
- pushing back tokens. Each possible solution is given a cost, and
- enqueued to be checked later. Solutions are checked in cost order
- (lowest first).
+'%mckenzie_minimal_complete_cost_delta <cost>'
+ McKenzie error recovery cost added to the cost of an inserted token
+ when the insert is done by the minimal complete strategy; this cost
+ is normally negative.
File: wisitoken-user_guide.info, Node: Other declarations, Prev: Error
recovery, Up: Declarations
@@ -398,7 +392,7 @@ File: wisitoken-user_guide.info, Node: Other declarations,
Prev: Error recover
Declare a known conflict.
Example conflict declaration:
- %conflict REDUCE/REDUCE in state abstract_limited_opt,
abstract_limited_synchronized_opt on token NEW
+ %conflict REDUCE/REDUCE in state abstract_limited_opt,
abstract_limited_synchronized_opt on token NEW
The conflict description is output by 'wisitoken-bnf-generate' when
an undeclared conflict is detected. If the user decides to not fix
@@ -422,10 +416,12 @@ File: wisitoken-user_guide.info, Node: Other
declarations, Prev: Error recover
in 'wisi-indent' actions must be declared, so the elisp and Ada
code aggree on what they mean.
-'embedded_quote_escape_doubled'
- If present, quote characters embedded in strings are escaped by
- doubling (as in Ada); otherwise they are escaped by preceding with
- backslash (as in C). Default is backslash.
+'%elisp_action <elisp name> <Ada name>'
+ Declare elisp and Ada names for a custom action subprogram written
+ in Ada.
+
+ The term "elisp" here is historical; the name is not actually used
+ by elisp in the current implementation.
'end_names_optional_option <name>'
When generating Ada code for Emacs, the name of the Ada variable
@@ -434,31 +430,24 @@ File: wisitoken-user_guide.info, Node: Other
declarations, Prev: Error recover
In the Ada language, block names can be repeated at the end; for
example:
- Get_Inputs :
- loop
- ...
- end loop Get_Inputs;
+ Get_Inputs :
+ loop
+ ...
+ end loop Get_Inputs;
These names are optional in the Ada standard. Making them required
improves error recovery; the recovery algorithm can use matching
names to isolate the error.
-'generate <generate_algorithm> <output_language> [text_rep |'
- elisp | re2c | process | module]
+'generate <generate_algorithm> <output_language> [text_rep]'
'<generate_algorithm>' is one of 'LALR | LR1 | Packrat_Gen |
Packrat_Proc | External'
- '<output_language>' is one of 'Ada | Ada_Emacs | elisp'
-
- Declare one output source set. Multiple sets can be declared; they
- are all generated together.
+ '<output_language>' is one of 'Ada | Ada_Emacs'
- 'elisp | re2c' determine the lexer used by the generated code.
-
- 'process | module' determine the style of code generated by
- 'Ada_Emacs'; an external process executable, or an Emacs loadable
- module.
+ The algorithm/output_language pair declares one output source set.
+ Multiple sets can be declared; they are all generated together.
'text_rep' determines how the parse table is represented; if
present, it is in a text file that is loaded at parser run time.
@@ -469,11 +458,14 @@ File: wisitoken-user_guide.info, Node: Other
declarations, Prev: Error recover
in the code. The text file can take a long time to read at parser
startup (a few seconds for the Ada language).
-'%no_language_runtime'
- When generating Ada code for Emacs, '%no_language_runtime' causes
- the generated code to not include the runtime. Some grammars may
- need no runtime, particularly if they are small grammars intendend
- to test some generator feature.
+'%language_runtime'
+ Specify an alternate name for the language runtime package; the
+ default is 'Wisi.<language_name>'.
+
+'%meta_syntax [BNF | EBNF]'
+ Declares the syntax used by the grammar file. BNF is a minor
+ extension of standard Backus Naur Form; EBNF is a large extension.
+ The default is BNF.
'%no_enum'
By default, the generated Ada code includes an enumeration type
@@ -484,6 +476,19 @@ File: wisitoken-user_guide.info, Node: Other
declarations, Prev: Error recover
'%no_enum' causes the generated code to not include the token
enumeration type.
+'%no_language_runtime'
+ When generating Ada code for Emacs, '%no_language_runtime' causes
+ the generated code to not include the runtime. Some grammars may
+ need no runtime, particularly if they are small grammars intendend
+ to test some generator feature.
+
+'%partial_recursion'
+ The error recovery algorithm requires computing the recursion
+ present in the language grammar. For some grammars (such as Java),
+ this is too hard; '%partial_recursion' tells WisiToken to use a
+ simpler approximate calculation. This will affect the quality of
+ the error recovery, but it will still be robust.
+
'%start'
The start token for the grammar.
@@ -497,19 +502,23 @@ File: wisitoken-user_guide.info, Node: Nonterminals,
Next: Conditional code,
3.2 Nonterminals
================
-The nonterminals section declares the nonterminal tokens, and the
-associated production rules and actions.
+A nonterminal statement declares a nonterminal token, and the associated
+production rules and actions.
- The syntax of nonterminals is:
+ The syntax of a nonterminal statement is:
-{nonterminal} : {token} ... [ %( action code )% [| {token} ... [ %(
-action code )% ] ]... ;
+{nonterminal} : {token} ... [ %( post-parse action )% [ %( in-parse action )%
]] [| {token} ... [ %(
+action code )% ] ... ;
Each nonterminal gives the expansion of a nonterminal token into a
list of tokens (both terminal and nonterminal); optional productions are
-separated by "|". Each list of tokens is followed by an "action", which
-is output-language code (enclosed in '%( )%'), that will be executed
-when the production is reduced.
+separated by "|". Each list of tokens is followed by zero to two
+actions, one executed after the parse is complete, one during the parse
+when the production is reduced. in-parse actions can add semantic
+checks that help during error recovery. post-parse actions typically
+build an abstract syntax tree. The actions are written in
+output-language code; for 'Ada_Emacs' output, this is elisp (a hold-over
+from when WisiToken only output elisp code).
File: wisitoken-user_guide.info, Node: Conditional code, Prev: Nonterminals,
Up: Grammar File Syntax
@@ -517,16 +526,13 @@ File: wisitoken-user_guide.info, Node: Conditional code,
Prev: Nonterminals,
3.3 Conditional code
====================
-The elisp and elisp lexers support different regular expression syntax,
-so it is sometimes necessary to include or exclude some declarations and
-portions of rules based on the lexer.
+It is sometimes necessary to include or exclude some declarations and
+portions of rules based on the choice of lexer or parser.
- In addition, LALR parsers can have more conflicts than LR1 parsers.
-
- Therefore the EBNF supports '%if ... %end if':
-%if {lexer | parser} = {<lexer> | <generate_algorithm>}
-...
-%end if
+ Therefore WisiToken supports '%if ... %end if' in the grammar file:
+%if {lexer | parser} = {<lexer> | <generate_algorithm>}
+...
+%end if
The lines between '%if' and '%end if' are ignored if the current
lexer or parser is not the one specified in the '%if' condition.
@@ -536,19 +542,24 @@ lexer or parser is not the one specified in the '%if'
condition.
Tag Table:
-Node: Top721
-Node: Overview1366
-Node: Install2139
-Node: Common grammar problems2523
-Node: Empty choice in list2816
-Node: Grammar File Syntax5798
-Node: Declarations6355
-Node: Raw Code6675
-Node: Keywords7260
-Node: Tokens7569
-Node: Error recovery9217
-Node: Other declarations12453
-Node: Nonterminals16475
-Node: Conditional code17192
+Node: Top727
+Node: Overview1378
+Node: Install2140
+Node: Common grammar problems2637
+Node: Empty choice in list2930
+Node: Grammar File Syntax5912
+Node: Declarations6469
+Node: Raw Code6775
+Node: Keywords7157
+Node: Tokens7471
+Node: Error recovery8814
+Node: Other declarations12536
+Node: Nonterminals17033
+Node: Conditional code18069
End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git a/packages/wisi/wisitoken-wisi_ada.adb
b/packages/wisi/wisitoken-wisi_ada.adb
index 34dad7c..dd5e072 100644
--- a/packages/wisi/wisitoken-wisi_ada.adb
+++ b/packages/wisi/wisitoken-wisi_ada.adb
@@ -2,7 +2,7 @@
--
-- see spec
--
--- Copyright (C) 2013, 2014, 2015, 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2013, 2014, 2015, 2017 - 2020 Free Software Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -47,17 +47,17 @@ package body WisiToken.Wisi_Ada is
function "+" (Tokens : in Token_ID_Arrays.Vector; Action : in
Syntax_Trees.Semantic_Action) return Right_Hand_Side
is begin
- return (Tokens, Action, null);
+ return (Tokens, Recursion => <>, Action => Action, Check => null);
end "+";
function "+" (Tokens : in Token_ID; Action : in
Syntax_Trees.Semantic_Action) return Right_Hand_Side
is begin
- return (Only (Tokens), Action, null);
+ return (Only (Tokens), Recursion => <>, Action => Action, Check => null);
end "+";
function "+" (Action : in Syntax_Trees.Semantic_Action) return
Right_Hand_Side
is begin
- return (Token_ID_Arrays.Empty_Vector, Action, null);
+ return (Tokens => <>, Recursion => <>, Action => Action, Check => null);
end "+";
function Only (Item : in WisiToken.Productions.Right_Hand_Side) return
WisiToken.Productions.RHS_Arrays.Vector
diff --git a/packages/wisi/wisitoken.adb b/packages/wisi/wisitoken.adb
index 16d9249..9efeb18 100644
--- a/packages/wisi/wisitoken.adb
+++ b/packages/wisi/wisitoken.adb
@@ -2,7 +2,7 @@
--
-- See spec
--
--- Copyright (C) 2009, 2014-2015, 2017 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2009, 2014-2015, 2017 - 2020 Free Software Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -224,26 +224,6 @@ package body WisiToken is
end return;
end To_Vector;
- function Net_Recursion (A, B : in Recursion) return Recursion
- is begin
- return
- (case A is
- when None => B,
- when Single =>
- (case B is
- when None => Single,
- when others => B),
- when Right =>
- (case B is
- when None | Single => Right,
- when others => B),
- when Left =>
- (case B is
- when None | Single | Left => Left,
- when others => B),
- when Middle => Middle);
- end Net_Recursion;
-
function Slice (Item : in Token_Array_Token_Set; I : in Token_ID) return
Token_ID_Set
is
Result : Token_ID_Set := (Item'First (2) .. Item'Last (2) => False);
@@ -376,7 +356,11 @@ package body WisiToken is
Descriptor : in WisiToken.Descriptor)
return String
is begin
- return "(" & Image (Item.ID, Descriptor) &
+ return
+ (if Item.Min_Terminal_Index = Invalid_Token_Index
+ then ""
+ else Trimmed_Image (Item.Min_Terminal_Index) & ":") &
+ "(" & Image (Item.ID, Descriptor) &
(if Item.Byte_Region = Null_Buffer_Region then "" else ", " & Image
(Item.Byte_Region)) & ")";
end Image;
diff --git a/packages/wisi/wisitoken.ads b/packages/wisi/wisitoken.ads
index 891fb26..0230d55 100644
--- a/packages/wisi/wisitoken.ads
+++ b/packages/wisi/wisitoken.ads
@@ -16,7 +16,7 @@
-- Sethi, and Ullman (aka: "The [Red] Dragon Book" due to the dragon
-- on the cover).
--
--- Copyright (C) 2009, 2010, 2013 - 2015, 2017 - 2019 Free Software
Foundation, Inc.
+-- Copyright (C) 2009, 2010, 2013 - 2015, 2017 - 2020 Free Software
Foundation, Inc.
--
-- This file is part of the WisiToken package.
--
@@ -142,7 +142,7 @@ package WisiToken is
-- is a terminal) or to Image_Width.
function Image (Item : in Token_ID; Desc : in Descriptor) return String;
- -- Return Desc.Image (Item), or empty string for Invalid_Token_ID.
+ -- Return Desc.Image (Item), or "-" for Invalid_Token_ID.
function Trimmed_Image is new SAL.Gen_Trimmed_Image (Token_ID);
@@ -160,6 +160,9 @@ package WisiToken is
(Positive, Token_ID, Default_Element => Invalid_Token_ID);
function Image is new Token_ID_Arrays.Gen_Image_Aux (Descriptor,
Trimmed_Image, Image);
+ function Image_No_Assoc (Item : in Token_ID_Arrays.Vector; Aux : in
Descriptor) return String
+ is (Image (Item, Aux, Association => False));
+
function Trimmed_Image is new Token_ID_Arrays.Gen_Image (Trimmed_Image);
procedure To_Vector (Item : in Token_ID_Array; Vector : in out
Token_ID_Arrays.Vector);
@@ -247,21 +250,17 @@ package WisiToken is
function "+" (Item : in Production_ID_Array) return
Production_ID_Arrays.Vector renames To_Vector;
function "+" (Item : in Production_ID) return Production_ID_Arrays.Vector
is (To_Vector ((1 => Item)));
- type Recursion is
- (None,
- Single, -- Single token in right hand side is recursive.
- Middle, -- Multiple tokens in right hand side, recursive token not at
either end.
- Right, -- Multiple tokens in right hand side, recursive token not at
right end.
- Left -- Multiple tokens in right hand side, recursive token not at
left end.
- );
- -- In worst-case order; Left recursion causes the most
- -- problems in LR error recovery, and in Packrat.
-
- function Worst_Recursion (A, B : in Recursion) return Recursion
- is (Recursion'Max (A, B));
+ type Token_Array_Production_ID is array (Token_ID range <>) of
Production_ID;
- function Net_Recursion (A, B : in Recursion) return Recursion;
- -- For finding the net recursion of a chain; Middle dominates.
+ type Recursion_Class is (None, Direct_Left, Other_Left, Other, Other_Right,
Direct_Right);
+ function Image (Item : in Recursion_Class) return String
+ is (case Item is
+ when None => "None",
+ when Direct_Left => "Direct_Left",
+ when Other_Left => "Other_Left",
+ when Other => "Other",
+ when Other_Right => "Other_Right",
+ when Direct_Right => "Direct_Right");
----------
-- Tokens
@@ -291,11 +290,26 @@ package WisiToken is
Invalid_Line_Number : constant Line_Number_Type := Line_Number_Type'Last;
+ -- Syntax tree nodes.
+ type Node_Index is range 0 .. Integer'Last;
+ subtype Valid_Node_Index is Node_Index range 1 .. Node_Index'Last;
+
+ Invalid_Node_Index : constant Node_Index := Node_Index'First;
+
+ type Valid_Node_Index_Array is array (Positive_Index_Type range <>) of
Valid_Node_Index;
+ -- Index matches Base_Token_Array, Augmented_Token_Array
+
+ package Valid_Node_Index_Arrays is new SAL.Gen_Unbounded_Definite_Vectors
+ (Positive_Index_Type, Valid_Node_Index, Default_Element =>
Valid_Node_Index'First);
+ -- Index matches Valid_Node_Index_Array.
+
type Base_Token is tagged record
- -- Base_Token is used in the core parser. The parser only needs ID;
+ -- Base_Token is used in the core parser. The parser only needs ID and
Tree_Node;
-- semantic checks need Byte_Region to compare names. Line, Col, and
-- Char_Region are included for error messages.
- ID : Token_ID := Invalid_Token_ID;
+
+ ID : Token_ID := Invalid_Token_ID;
+ Tree_Index : Node_Index := Invalid_Node_Index;
Byte_Region : Buffer_Region := Null_Buffer_Region;
-- Index into the Lexer buffer for the token text.
@@ -352,8 +366,8 @@ package WisiToken is
(Line_Number_Type, Base_Token_Index, Default_Element =>
Invalid_Token_Index);
type Recover_Token is record
- -- Maintaining a syntax tree during recover is too slow, so we store
- -- enough information in the recover stack to perform
+ -- Maintaining a syntax tree during error recovery is too slow, so we
+ -- store enough information in the recover stack to perform
-- Semantic_Checks, Language_Fixes, and Push_Back operations. and to
-- apply the solution to the main parser state. We make thousands of
-- copies of the parse stack during recover, so minimizing size and
@@ -419,7 +433,9 @@ package WisiToken is
Trace_Action : Integer := 0;
-- Output during Execute_Action, and unit tests.
- Trace_Generate : Integer := 0;
+ Trace_Generate_EBNF : Integer := 0;
+ Trace_Generate_Table : Integer := 0;
+ Trace_Generate_Minimal_Complete : Integer := 0;
-- Output during grammar generation.
Debug_Mode : Boolean := False;
diff --git a/packages/wisi/wisitoken_grammar_actions.adb
b/packages/wisi/wisitoken_grammar_actions.adb
index 8f4faf7..8819828 100644
--- a/packages/wisi/wisitoken_grammar_actions.adb
+++ b/packages/wisi/wisitoken_grammar_actions.adb
@@ -28,8 +28,8 @@ package body Wisitoken_Grammar_Actions is
procedure declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
pragma Unreferenced (Nonterm);
begin
@@ -39,8 +39,8 @@ package body Wisitoken_Grammar_Actions is
procedure declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
pragma Unreferenced (Nonterm);
begin
@@ -50,8 +50,8 @@ package body Wisitoken_Grammar_Actions is
procedure declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
pragma Unreferenced (Nonterm);
begin
@@ -61,8 +61,8 @@ package body Wisitoken_Grammar_Actions is
procedure 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)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
pragma Unreferenced (Nonterm);
begin
@@ -72,8 +72,8 @@ package body Wisitoken_Grammar_Actions is
procedure declaration_4
(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)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
pragma Unreferenced (Nonterm);
begin
@@ -83,8 +83,8 @@ package body Wisitoken_Grammar_Actions is
procedure declaration_5
(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)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
pragma Unreferenced (Tree, Nonterm, Tokens);
begin
@@ -94,8 +94,8 @@ package body Wisitoken_Grammar_Actions is
procedure nonterminal_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
pragma Unreferenced (Nonterm);
begin
@@ -105,8 +105,8 @@ package body Wisitoken_Grammar_Actions is
procedure nonterminal_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
pragma Unreferenced (Nonterm);
begin
@@ -116,8 +116,8 @@ package body Wisitoken_Grammar_Actions is
procedure rhs_item_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
pragma Unreferenced (Nonterm);
begin
@@ -127,8 +127,8 @@ package body Wisitoken_Grammar_Actions is
procedure rhs_item_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
pragma Unreferenced (Nonterm);
begin
@@ -138,8 +138,8 @@ package body Wisitoken_Grammar_Actions is
procedure rhs_item_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)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
pragma Unreferenced (Nonterm);
begin
@@ -149,8 +149,8 @@ package body Wisitoken_Grammar_Actions is
procedure rhs_item_4
(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)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
pragma Unreferenced (Nonterm);
begin
@@ -160,8 +160,8 @@ package body Wisitoken_Grammar_Actions is
procedure rhs_item_5
(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)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
pragma Unreferenced (Nonterm);
begin
@@ -171,8 +171,8 @@ package body Wisitoken_Grammar_Actions is
procedure rhs_optional_item_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)
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
pragma Unreferenced (Nonterm);
begin
diff --git a/packages/wisi/wisitoken_grammar_actions.ads
b/packages/wisi/wisitoken_grammar_actions.ads
index 5e346e8..1308267 100644
--- a/packages/wisi/wisitoken_grammar_actions.ads
+++ b/packages/wisi/wisitoken_grammar_actions.ads
@@ -167,71 +167,71 @@ package Wisitoken_Grammar_Actions is
procedure declaration_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure declaration_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure declaration_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure 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);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure declaration_4
(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);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure declaration_5
(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);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure nonterminal_0
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure nonterminal_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure rhs_item_1
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure rhs_item_2
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in out WisiToken.Syntax_Trees.Tree;
- Nonterm : in WisiToken.Syntax_Trees.Valid_Node_Index;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure rhs_item_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);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure rhs_item_4
(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);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure rhs_item_5
(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);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure rhs_optional_item_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);
+ Nonterm : in WisiToken.Valid_Node_Index;
+ Tokens : in WisiToken.Valid_Node_Index_Array);
end Wisitoken_Grammar_Actions;
diff --git a/packages/wisi/wisitoken_grammar_main.adb
b/packages/wisi/wisitoken_grammar_main.adb
index 981e60c..cb91adf 100644
--- a/packages/wisi/wisitoken_grammar_main.adb
+++ b/packages/wisi/wisitoken_grammar_main.adb
@@ -50,86 +50,86 @@ package body Wisitoken_Grammar_Main is
procedure Subr_1
is begin
Table.States (0).Action_List.Set_Capacity (2);
- Add_Action (Table.States (0), 23, 1);
- Add_Action (Table.States (0), 33, 2);
+ Add_Action (Table.States (0), 23, (38, 0), 1);
+ Add_Action (Table.States (0), 33, (43, 0), 2);
Table.States (0).Goto_List.Set_Capacity (4);
Add_Goto (Table.States (0), 38, 3);
Add_Goto (Table.States (0), 43, 4);
Add_Goto (Table.States (0), 55, 5);
Add_Goto (Table.States (0), 56, 6);
Table.States (1).Action_List.Set_Capacity (7);
- Add_Action (Table.States (1), 3, 7);
- Add_Action (Table.States (1), 4, 8);
- Add_Action (Table.States (1), 5, 9);
- Add_Action (Table.States (1), 6, 10);
- Add_Action (Table.States (1), 7, 11);
- Add_Action (Table.States (1), 8, 12);
- Add_Action (Table.States (1), 33, 13);
+ Add_Action (Table.States (1), 3, (38, 1), 7);
+ Add_Action (Table.States (1), 4, (38, 5), 8);
+ Add_Action (Table.States (1), 5, (38, 4), 9);
+ Add_Action (Table.States (1), 6, (39, 0), 10);
+ Add_Action (Table.States (1), 7, (39, 1), 11);
+ Add_Action (Table.States (1), 8, (39, 2), 12);
+ Add_Action (Table.States (1), 33, (38, 2), 13);
Table.States (1).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (1), 39, 14);
Table.States (2).Action_List.Set_Capacity (2);
- Add_Action (Table.States (2), 13, 15);
- Add_Action (Table.States (2), 14, 16);
+ Add_Action (Table.States (2), 13, (43, 0), 15);
+ Add_Action (Table.States (2), 14, (43, 1), 16);
Table.States (3).Action_List.Set_Capacity (3);
- Add_Action (Table.States (3), (23, 33, 36), (55, 0), 1, null,
null);
+ Add_Action (Table.States (3), (23, 33, 36), (55, 0), 1, null,
null);
Table.States (4).Action_List.Set_Capacity (3);
- Add_Action (Table.States (4), (23, 33, 36), (55, 1), 1, null,
null);
+ Add_Action (Table.States (4), (23, 33, 36), (55, 1), 1, null,
null);
Table.States (5).Action_List.Set_Capacity (3);
- Add_Action (Table.States (5), (23, 33, 36), (56, 0), 1, null,
null);
+ Add_Action (Table.States (5), (23, 33, 36), (56, 0), 1, null,
null);
Table.States (6).Action_List.Set_Capacity (3);
- Add_Action (Table.States (6), 23, 1);
- Add_Action (Table.States (6), 33, 2);
- Add_Action (Table.States (6), 36, Accept_It, (37, 0), 1, null,
null);
+ Add_Action (Table.States (6), 23, (38, 0), 1);
+ Add_Action (Table.States (6), 33, (43, 0), 2);
+ Add_Action (Table.States (6), 36, Accept_It, (37, 0), 1, null,
null);
Table.States (6).Goto_List.Set_Capacity (3);
Add_Goto (Table.States (6), 38, 3);
Add_Goto (Table.States (6), 43, 4);
Add_Goto (Table.States (6), 55, 17);
Table.States (7).Action_List.Set_Capacity (1);
- Add_Action (Table.States (7), 33, 18);
+ Add_Action (Table.States (7), 33, (40, 0), 18);
Table.States (7).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (7), 40, 19);
Table.States (8).Action_List.Set_Capacity (1);
- Add_Action (Table.States (8), 5, 20);
+ Add_Action (Table.States (8), 5, (38, 5), 20);
Table.States (9).Action_List.Set_Capacity (1);
- Add_Action (Table.States (9), 33, 21);
+ Add_Action (Table.States (9), 33, (38, 4), 21);
Table.States (10).Action_List.Set_Capacity (1);
- Add_Action (Table.States (10), (1 => 33), (39, 0), 1, null, null);
+ Add_Action (Table.States (10), (1 => 33), (39, 0), 1, null,
null);
Table.States (11).Action_List.Set_Capacity (1);
- Add_Action (Table.States (11), 21, 22);
+ Add_Action (Table.States (11), 21, (39, 1), 22);
Table.States (12).Action_List.Set_Capacity (1);
- Add_Action (Table.States (12), 21, 23);
+ Add_Action (Table.States (12), 21, (39, 2), 23);
Table.States (13).Action_List.Set_Capacity (13);
- Add_Action (Table.States (13), 8, 24);
- Add_Action (Table.States (13), 10, 25);
- Add_Action (Table.States (13), 15, 26);
- Add_Action (Table.States (13), 16, 27);
- Add_Action (Table.States (13), 20, 28);
- Add_Action (Table.States (13), 23, Reduce, (38, 3), 2,
declaration_3'Access, null);
- Add_Action (Table.States (13), 28, 29);
- Add_Action (Table.States (13), 30, 30);
- Add_Action (Table.States (13), 32, 31);
- Add_Action (Table.States (13), 33, 32);
- Add_Conflict (Table.States (13), 33, (38, 3), 2,
declaration_3'Access, null);
- Add_Action (Table.States (13), 34, 33);
- Add_Action (Table.States (13), 35, 34);
- Add_Action (Table.States (13), 36, Reduce, (38, 3), 2,
declaration_3'Access, null);
+ Add_Action (Table.States (13), 8, (42, 10), 24);
+ Add_Action (Table.States (13), 10, (42, 5), 25);
+ Add_Action (Table.States (13), 15, (42, 0), 26);
+ Add_Action (Table.States (13), 16, (42, 2), 27);
+ Add_Action (Table.States (13), 20, (42, 3), 28);
+ Add_Action (Table.States (13), 23, Reduce, (38, 3), 2,
declaration_3'Access, null);
+ Add_Action (Table.States (13), 28, (42, 6), 29);
+ Add_Action (Table.States (13), 30, (42, 7), 30);
+ Add_Action (Table.States (13), 32, (42, 4), 31);
+ Add_Action (Table.States (13), 33, (42, 1), 32);
+ Add_Conflict (Table.States (13), 33, (38, 3), 2,
declaration_3'Access, null);
+ Add_Action (Table.States (13), 34, (42, 8), 33);
+ Add_Action (Table.States (13), 35, (42, 9), 34);
+ Add_Action (Table.States (13), 36, Reduce, (38, 3), 2,
declaration_3'Access, null);
Table.States (13).Goto_List.Set_Capacity (2);
Add_Goto (Table.States (13), 41, 35);
Add_Goto (Table.States (13), 42, 36);
Table.States (14).Action_List.Set_Capacity (1);
- Add_Action (Table.States (14), 33, 37);
+ Add_Action (Table.States (14), 33, (38, 0), 37);
Table.States (15).Action_List.Set_Capacity (10);
- Add_Action (Table.States (15), 12, Reduce, (46, 0), 0, null, null);
- Add_Action (Table.States (15), 18, 38);
- Add_Action (Table.States (15), 19, 39);
- Add_Action (Table.States (15), 20, 40);
- Add_Action (Table.States (15), 21, 41);
- Add_Action (Table.States (15), 23, Reduce, (46, 0), 0, null, null);
- Add_Action (Table.States (15), 29, Reduce, (46, 0), 0, null, null);
- Add_Action (Table.States (15), 33, 42);
- Add_Conflict (Table.States (15), 33, (46, 0), 0, null, null);
- Add_Action (Table.States (15), 35, 43);
- Add_Action (Table.States (15), 36, Reduce, (46, 0), 0, null, null);
+ Add_Action (Table.States (15), 12, Reduce, (46, 0), 0, null,
null);
+ Add_Action (Table.States (15), 18, (53, 0), 38);
+ Add_Action (Table.States (15), 19, (52, 0), 39);
+ Add_Action (Table.States (15), 20, (51, 0), 40);
+ Add_Action (Table.States (15), 21, (47, 0), 41);
+ Add_Action (Table.States (15), 23, Reduce, (46, 0), 0, null,
null);
+ Add_Action (Table.States (15), 29, Reduce, (46, 0), 0, null,
null);
+ Add_Action (Table.States (15), 33, (48, 1), 42);
+ Add_Conflict (Table.States (15), 33, (46, 0), 0, null, null);
+ Add_Action (Table.States (15), 35, (50, 1), 43);
+ Add_Action (Table.States (15), 36, Reduce, (46, 0), 0, null,
null);
Table.States (15).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (15), 45, 44);
Add_Goto (Table.States (15), 46, 45);
@@ -141,17 +141,17 @@ package body Wisitoken_Grammar_Main is
Add_Goto (Table.States (15), 52, 51);
Add_Goto (Table.States (15), 53, 52);
Table.States (16).Action_List.Set_Capacity (10);
- Add_Action (Table.States (16), 12, Reduce, (46, 0), 0, null, null);
- Add_Action (Table.States (16), 18, 38);
- Add_Action (Table.States (16), 19, 39);
- Add_Action (Table.States (16), 20, 40);
- Add_Action (Table.States (16), 21, 41);
- Add_Action (Table.States (16), 23, Reduce, (46, 0), 0, null, null);
- Add_Action (Table.States (16), 29, Reduce, (46, 0), 0, null, null);
- Add_Action (Table.States (16), 33, 42);
- Add_Conflict (Table.States (16), 33, (46, 0), 0, null, null);
- Add_Action (Table.States (16), 35, 43);
- Add_Action (Table.States (16), 36, Reduce, (46, 0), 0, null, null);
+ Add_Action (Table.States (16), 12, Reduce, (46, 0), 0, null,
null);
+ Add_Action (Table.States (16), 18, (53, 0), 38);
+ Add_Action (Table.States (16), 19, (52, 0), 39);
+ Add_Action (Table.States (16), 20, (51, 0), 40);
+ Add_Action (Table.States (16), 21, (47, 0), 41);
+ Add_Action (Table.States (16), 23, Reduce, (46, 0), 0, null,
null);
+ Add_Action (Table.States (16), 29, Reduce, (46, 0), 0, null,
null);
+ Add_Action (Table.States (16), 33, (48, 1), 42);
+ Add_Conflict (Table.States (16), 33, (46, 0), 0, null, null);
+ Add_Action (Table.States (16), 35, (50, 1), 43);
+ Add_Action (Table.States (16), 36, Reduce, (46, 0), 0, null,
null);
Table.States (16).Goto_List.Set_Capacity (9);
Add_Goto (Table.States (16), 45, 53);
Add_Goto (Table.States (16), 46, 45);
@@ -163,95 +163,95 @@ package body Wisitoken_Grammar_Main is
Add_Goto (Table.States (16), 52, 51);
Add_Goto (Table.States (16), 53, 52);
Table.States (17).Action_List.Set_Capacity (3);
- Add_Action (Table.States (17), (23, 33, 36), (56, 1), 2, null,
null);
+ Add_Action (Table.States (17), (23, 33, 36), (56, 1), 2, null,
null);
Table.States (18).Action_List.Set_Capacity (2);
- Add_Action (Table.States (18), (9, 33), (40, 0), 1, null, null);
+ Add_Action (Table.States (18), (9, 33), (40, 0), 1, null, null);
Table.States (19).Action_List.Set_Capacity (2);
- Add_Action (Table.States (19), 9, 54);
- Add_Action (Table.States (19), 33, 55);
+ Add_Action (Table.States (19), 9, (38, 1), 54);
+ Add_Action (Table.States (19), 33, (40, 1), 55);
Table.States (20).Action_List.Set_Capacity (3);
- Add_Action (Table.States (20), (23, 33, 36), (38, 5), 3,
declaration_5'Access, null);
+ Add_Action (Table.States (20), (23, 33, 36), (38, 5), 3,
declaration_5'Access, null);
Table.States (21).Action_List.Set_Capacity (1);
- Add_Action (Table.States (21), 16, 56);
+ Add_Action (Table.States (21), 16, (38, 4), 56);
Table.States (22).Action_List.Set_Capacity (1);
- Add_Action (Table.States (22), 33, 57);
+ Add_Action (Table.States (22), 33, (39, 1), 57);
Table.States (23).Action_List.Set_Capacity (1);
- Add_Action (Table.States (23), 33, 58);
+ Add_Action (Table.States (23), 33, (39, 2), 58);
Table.States (24).Action_List.Set_Capacity (13);
- Add_Action (Table.States (24), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 10), 1, null,
+ Add_Action (Table.States (24), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 10), 1, null,
null);
Table.States (25).Action_List.Set_Capacity (13);
- Add_Action (Table.States (25), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 5), 1, null,
+ Add_Action (Table.States (25), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 5), 1, null,
null);
Table.States (26).Action_List.Set_Capacity (13);
- Add_Action (Table.States (26), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 0), 1, null,
+ Add_Action (Table.States (26), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 0), 1, null,
null);
Table.States (27).Action_List.Set_Capacity (13);
- Add_Action (Table.States (27), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 2), 1, null,
+ Add_Action (Table.States (27), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 2), 1, null,
null);
Table.States (28).Action_List.Set_Capacity (13);
- Add_Action (Table.States (28), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 3), 1, null,
+ Add_Action (Table.States (28), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 3), 1, null,
null);
Table.States (29).Action_List.Set_Capacity (13);
- Add_Action (Table.States (29), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 6), 1, null,
+ Add_Action (Table.States (29), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 6), 1, null,
null);
Table.States (30).Action_List.Set_Capacity (13);
- Add_Action (Table.States (30), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 7), 1, null,
+ Add_Action (Table.States (30), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 7), 1, null,
null);
Table.States (31).Action_List.Set_Capacity (13);
- Add_Action (Table.States (31), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 4), 1, null,
+ Add_Action (Table.States (31), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 4), 1, null,
null);
Table.States (32).Action_List.Set_Capacity (13);
- Add_Action (Table.States (32), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 1), 1, null,
+ Add_Action (Table.States (32), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 1), 1, null,
null);
Table.States (33).Action_List.Set_Capacity (13);
- Add_Action (Table.States (33), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 8), 1, null,
+ Add_Action (Table.States (33), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 8), 1, null,
null);
Table.States (34).Action_List.Set_Capacity (13);
- Add_Action (Table.States (34), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 9), 1, null,
+ Add_Action (Table.States (34), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (42, 9), 1, null,
null);
Table.States (35).Action_List.Set_Capacity (13);
- Add_Action (Table.States (35), 8, 24);
- Add_Action (Table.States (35), 10, 25);
- Add_Action (Table.States (35), 15, 26);
- Add_Action (Table.States (35), 16, 27);
- Add_Action (Table.States (35), 20, 28);
- Add_Action (Table.States (35), 23, Reduce, (38, 2), 3,
declaration_2'Access, null);
- Add_Action (Table.States (35), 28, 29);
- Add_Action (Table.States (35), 30, 30);
- Add_Action (Table.States (35), 32, 31);
- Add_Action (Table.States (35), 33, 32);
- Add_Conflict (Table.States (35), 33, (38, 2), 3,
declaration_2'Access, null);
- Add_Action (Table.States (35), 34, 33);
- Add_Action (Table.States (35), 35, 34);
- Add_Action (Table.States (35), 36, Reduce, (38, 2), 3,
declaration_2'Access, null);
+ Add_Action (Table.States (35), 8, (42, 10), 24);
+ Add_Action (Table.States (35), 10, (42, 5), 25);
+ Add_Action (Table.States (35), 15, (42, 0), 26);
+ Add_Action (Table.States (35), 16, (42, 2), 27);
+ Add_Action (Table.States (35), 20, (42, 3), 28);
+ Add_Action (Table.States (35), 23, Reduce, (38, 2), 3,
declaration_2'Access, null);
+ Add_Action (Table.States (35), 28, (42, 6), 29);
+ Add_Action (Table.States (35), 30, (42, 7), 30);
+ Add_Action (Table.States (35), 32, (42, 4), 31);
+ Add_Action (Table.States (35), 33, (42, 1), 32);
+ Add_Conflict (Table.States (35), 33, (38, 2), 3,
declaration_2'Access, null);
+ Add_Action (Table.States (35), 34, (42, 8), 33);
+ Add_Action (Table.States (35), 35, (42, 9), 34);
+ Add_Action (Table.States (35), 36, Reduce, (38, 2), 3,
declaration_2'Access, null);
Table.States (35).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (35), 42, 59);
Table.States (36).Action_List.Set_Capacity (13);
- Add_Action (Table.States (36), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (41, 0), 1, null,
+ Add_Action (Table.States (36), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (41, 0), 1, null,
null);
Table.States (37).Action_List.Set_Capacity (11);
- Add_Action (Table.States (37), 8, 24);
- Add_Action (Table.States (37), 10, 25);
- Add_Action (Table.States (37), 15, 26);
- Add_Action (Table.States (37), 16, 27);
- Add_Action (Table.States (37), 20, 28);
- Add_Action (Table.States (37), 28, 29);
- Add_Action (Table.States (37), 30, 30);
- Add_Action (Table.States (37), 32, 31);
- Add_Action (Table.States (37), 33, 32);
- Add_Action (Table.States (37), 34, 33);
- Add_Action (Table.States (37), 35, 34);
+ Add_Action (Table.States (37), 8, (42, 10), 24);
+ Add_Action (Table.States (37), 10, (42, 5), 25);
+ Add_Action (Table.States (37), 15, (42, 0), 26);
+ Add_Action (Table.States (37), 16, (42, 2), 27);
+ Add_Action (Table.States (37), 20, (42, 3), 28);
+ Add_Action (Table.States (37), 28, (42, 6), 29);
+ Add_Action (Table.States (37), 30, (42, 7), 30);
+ Add_Action (Table.States (37), 32, (42, 4), 31);
+ Add_Action (Table.States (37), 33, (42, 1), 32);
+ Add_Action (Table.States (37), 34, (42, 8), 33);
+ Add_Action (Table.States (37), 35, (42, 9), 34);
Table.States (37).Goto_List.Set_Capacity (2);
Add_Goto (Table.States (37), 41, 60);
Add_Goto (Table.States (37), 42, 36);
Table.States (38).Action_List.Set_Capacity (6);
- Add_Action (Table.States (38), 18, 38);
- Add_Action (Table.States (38), 19, 39);
- Add_Action (Table.States (38), 20, 40);
- Add_Action (Table.States (38), 21, 41);
- Add_Action (Table.States (38), 33, 42);
- Add_Action (Table.States (38), 35, 43);
+ Add_Action (Table.States (38), 18, (53, 0), 38);
+ Add_Action (Table.States (38), 19, (52, 0), 39);
+ Add_Action (Table.States (38), 20, (51, 0), 40);
+ Add_Action (Table.States (38), 21, (47, 0), 41);
+ Add_Action (Table.States (38), 33, (48, 1), 42);
+ Add_Action (Table.States (38), 35, (50, 1), 43);
Table.States (38).Goto_List.Set_Capacity (8);
Add_Goto (Table.States (38), 47, 46);
Add_Goto (Table.States (38), 48, 47);
@@ -262,12 +262,12 @@ package body Wisitoken_Grammar_Main is
Add_Goto (Table.States (38), 53, 52);
Add_Goto (Table.States (38), 54, 62);
Table.States (39).Action_List.Set_Capacity (6);
- Add_Action (Table.States (39), 18, 38);
- Add_Action (Table.States (39), 19, 39);
- Add_Action (Table.States (39), 20, 40);
- Add_Action (Table.States (39), 21, 41);
- Add_Action (Table.States (39), 33, 42);
- Add_Action (Table.States (39), 35, 43);
+ Add_Action (Table.States (39), 18, (53, 0), 38);
+ Add_Action (Table.States (39), 19, (52, 0), 39);
+ Add_Action (Table.States (39), 20, (51, 0), 40);
+ Add_Action (Table.States (39), 21, (47, 0), 41);
+ Add_Action (Table.States (39), 33, (48, 1), 42);
+ Add_Action (Table.States (39), 35, (50, 1), 43);
Table.States (39).Goto_List.Set_Capacity (8);
Add_Goto (Table.States (39), 47, 46);
Add_Goto (Table.States (39), 48, 47);
@@ -278,12 +278,12 @@ package body Wisitoken_Grammar_Main is
Add_Goto (Table.States (39), 53, 52);
Add_Goto (Table.States (39), 54, 63);
Table.States (40).Action_List.Set_Capacity (6);
- Add_Action (Table.States (40), 18, 38);
- Add_Action (Table.States (40), 19, 39);
- Add_Action (Table.States (40), 20, 40);
- Add_Action (Table.States (40), 21, 41);
- Add_Action (Table.States (40), 33, 42);
- Add_Action (Table.States (40), 35, 43);
+ Add_Action (Table.States (40), 18, (53, 0), 38);
+ Add_Action (Table.States (40), 19, (52, 0), 39);
+ Add_Action (Table.States (40), 20, (51, 0), 40);
+ Add_Action (Table.States (40), 21, (47, 0), 41);
+ Add_Action (Table.States (40), 33, (48, 1), 42);
+ Add_Action (Table.States (40), 35, (50, 1), 43);
Table.States (40).Goto_List.Set_Capacity (8);
Add_Goto (Table.States (40), 47, 46);
Add_Goto (Table.States (40), 48, 47);
@@ -294,72 +294,72 @@ package body Wisitoken_Grammar_Main is
Add_Goto (Table.States (40), 53, 52);
Add_Goto (Table.States (40), 54, 64);
Table.States (41).Action_List.Set_Capacity (1);
- Add_Action (Table.States (41), 33, 65);
+ Add_Action (Table.States (41), 33, (47, 0), 65);
Table.States (42).Action_List.Set_Capacity (18);
- Add_Action (Table.States (42), 11, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (42), 12, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (42), 16, 66);
- Add_Action (Table.States (42), 18, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (42), 19, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (42), 20, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (42), 21, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (42), 23, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (42), 24, 67);
- Add_Action (Table.States (42), 25, 68);
- Add_Action (Table.States (42), 26, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (42), 27, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (42), 28, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (42), 29, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (42), 31, 69);
- Add_Action (Table.States (42), 33, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (42), 35, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (42), 36, Reduce, (50, 0), 1, null, null);
+ Add_Action (Table.States (42), 11, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (42), 12, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (42), 16, (48, 1), 66);
+ Add_Action (Table.States (42), 18, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (42), 19, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (42), 20, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (42), 21, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (42), 23, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (42), 24, (53, 4), 67);
+ Add_Action (Table.States (42), 25, (52, 2), 68);
+ Add_Action (Table.States (42), 26, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (42), 27, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (42), 28, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (42), 29, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (42), 31, (53, 5), 69);
+ Add_Action (Table.States (42), 33, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (42), 35, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (42), 36, Reduce, (50, 0), 1, null,
null);
Table.States (43).Action_List.Set_Capacity (15);
- Add_Action (Table.States (43), 11, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
- Add_Action (Table.States (43), 12, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
- Add_Action (Table.States (43), 18, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
- Add_Action (Table.States (43), 19, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
- Add_Action (Table.States (43), 20, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
- Add_Action (Table.States (43), 21, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
- Add_Action (Table.States (43), 23, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
- Add_Action (Table.States (43), 25, 70);
- Add_Action (Table.States (43), 26, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
- Add_Action (Table.States (43), 27, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
- Add_Action (Table.States (43), 28, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
- Add_Action (Table.States (43), 29, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
- Add_Action (Table.States (43), 33, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
- Add_Action (Table.States (43), 35, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
- Add_Action (Table.States (43), 36, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
+ Add_Action (Table.States (43), 11, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
+ Add_Action (Table.States (43), 12, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
+ Add_Action (Table.States (43), 18, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
+ Add_Action (Table.States (43), 19, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
+ Add_Action (Table.States (43), 20, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
+ Add_Action (Table.States (43), 21, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
+ Add_Action (Table.States (43), 23, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
+ Add_Action (Table.States (43), 25, (52, 3), 70);
+ Add_Action (Table.States (43), 26, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
+ Add_Action (Table.States (43), 27, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
+ Add_Action (Table.States (43), 28, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
+ Add_Action (Table.States (43), 29, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
+ Add_Action (Table.States (43), 33, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
+ Add_Action (Table.States (43), 35, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
+ Add_Action (Table.States (43), 36, Reduce, (50, 1), 1,
rhs_item_1'Access, null);
Table.States (44).Action_List.Set_Capacity (5);
- Add_Action (Table.States (44), 12, 71);
- Add_Action (Table.States (44), 23, 72);
- Add_Conflict (Table.States (44), 23, (44, 1), 0, null, null);
- Add_Action (Table.States (44), 29, 73);
- Add_Action (Table.States (44), 33, Reduce, (44, 1), 0, null, null);
- Add_Action (Table.States (44), 36, Reduce, (44, 1), 0, null, null);
+ Add_Action (Table.States (44), 12, (45, 1), 71);
+ Add_Action (Table.States (44), 23, (45, 2), 72);
+ Add_Conflict (Table.States (44), 23, (44, 1), 0, null, null);
+ Add_Action (Table.States (44), 29, (44, 0), 73);
+ Add_Action (Table.States (44), 33, Reduce, (44, 1), 0, null,
null);
+ Add_Action (Table.States (44), 36, Reduce, (44, 1), 0, null,
null);
Table.States (44).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (44), 44, 74);
Table.States (45).Action_List.Set_Capacity (5);
- Add_Action (Table.States (45), (12, 23, 29, 33, 36), (45, 0), 1,
null, null);
+ Add_Action (Table.States (45), (12, 23, 29, 33, 36), (45, 0), 1,
null, null);
Table.States (46).Action_List.Set_Capacity (14);
- Add_Action (Table.States (46), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (50, 2), 1,
+ Add_Action (Table.States (46), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (50, 2), 1,
rhs_item_2'Access, null);
Table.States (47).Action_List.Set_Capacity (14);
- Add_Action (Table.States (47), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (49, 0), 1, null,
+ Add_Action (Table.States (47), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (49, 0), 1, null,
null);
Table.States (48).Action_List.Set_Capacity (11);
- Add_Action (Table.States (48), 11, 75);
- Add_Action (Table.States (48), 12, Reduce, (46, 1), 1, null, null);
- Add_Action (Table.States (48), 18, 38);
- Add_Action (Table.States (48), 19, 39);
- Add_Action (Table.States (48), 20, 40);
- Add_Action (Table.States (48), 21, 41);
- Add_Action (Table.States (48), 23, Reduce, (46, 1), 1, null, null);
- Add_Action (Table.States (48), 29, Reduce, (46, 1), 1, null, null);
- Add_Action (Table.States (48), 33, 42);
- Add_Conflict (Table.States (48), 33, (46, 1), 1, null, null);
- Add_Action (Table.States (48), 35, 43);
- Add_Action (Table.States (48), 36, Reduce, (46, 1), 1, null, null);
+ Add_Action (Table.States (48), 11, (46, 2), 75);
+ Add_Action (Table.States (48), 12, Reduce, (46, 1), 1, null,
null);
+ Add_Action (Table.States (48), 18, (53, 0), 38);
+ Add_Action (Table.States (48), 19, (52, 0), 39);
+ Add_Action (Table.States (48), 20, (51, 0), 40);
+ Add_Action (Table.States (48), 21, (47, 0), 41);
+ Add_Action (Table.States (48), 23, Reduce, (46, 1), 1, null,
null);
+ Add_Action (Table.States (48), 29, Reduce, (46, 1), 1, null,
null);
+ Add_Action (Table.States (48), 33, (48, 1), 42);
+ Add_Conflict (Table.States (48), 33, (46, 1), 1, null, null);
+ Add_Action (Table.States (48), 35, (50, 1), 43);
+ Add_Action (Table.States (48), 36, Reduce, (46, 1), 1, null,
null);
Table.States (48).Goto_List.Set_Capacity (6);
Add_Goto (Table.States (48), 47, 46);
Add_Goto (Table.States (48), 48, 76);
@@ -368,67 +368,67 @@ package body Wisitoken_Grammar_Main is
Add_Goto (Table.States (48), 52, 51);
Add_Goto (Table.States (48), 53, 52);
Table.States (49).Action_List.Set_Capacity (14);
- Add_Action (Table.States (49), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (48, 0), 1, null,
+ Add_Action (Table.States (49), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (48, 0), 1, null,
null);
Table.States (50).Action_List.Set_Capacity (14);
- Add_Action (Table.States (50), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (50, 5), 1,
+ Add_Action (Table.States (50), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (50, 5), 1,
rhs_item_5'Access, null);
Table.States (51).Action_List.Set_Capacity (14);
- Add_Action (Table.States (51), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (50, 3), 1,
+ Add_Action (Table.States (51), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (50, 3), 1,
rhs_item_3'Access, null);
Table.States (52).Action_List.Set_Capacity (14);
- Add_Action (Table.States (52), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (50, 4), 1,
+ Add_Action (Table.States (52), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (50, 4), 1,
rhs_item_4'Access, null);
Table.States (53).Action_List.Set_Capacity (5);
- Add_Action (Table.States (53), 12, 71);
- Add_Action (Table.States (53), 23, 72);
- Add_Conflict (Table.States (53), 23, (44, 1), 0, null, null);
- Add_Action (Table.States (53), 29, 73);
- Add_Action (Table.States (53), 33, Reduce, (44, 1), 0, null, null);
- Add_Action (Table.States (53), 36, Reduce, (44, 1), 0, null, null);
+ Add_Action (Table.States (53), 12, (45, 1), 71);
+ Add_Action (Table.States (53), 23, (45, 2), 72);
+ Add_Conflict (Table.States (53), 23, (44, 1), 0, null, null);
+ Add_Action (Table.States (53), 29, (44, 0), 73);
+ Add_Action (Table.States (53), 33, Reduce, (44, 1), 0, null,
null);
+ Add_Action (Table.States (53), 36, Reduce, (44, 1), 0, null,
null);
Table.States (53).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (53), 44, 77);
Table.States (54).Action_List.Set_Capacity (3);
- Add_Action (Table.States (54), (23, 33, 36), (38, 1), 4,
declaration_1'Access, null);
+ Add_Action (Table.States (54), (23, 33, 36), (38, 1), 4,
declaration_1'Access, null);
Table.States (55).Action_List.Set_Capacity (2);
- Add_Action (Table.States (55), (9, 33), (40, 1), 2, null, null);
+ Add_Action (Table.States (55), (9, 33), (40, 1), 2, null, null);
Table.States (56).Action_List.Set_Capacity (1);
- Add_Action (Table.States (56), 33, 78);
+ Add_Action (Table.States (56), 33, (38, 4), 78);
Table.States (57).Action_List.Set_Capacity (1);
- Add_Action (Table.States (57), 17, 79);
+ Add_Action (Table.States (57), 17, (39, 1), 79);
Table.States (58).Action_List.Set_Capacity (1);
- Add_Action (Table.States (58), 17, 80);
+ Add_Action (Table.States (58), 17, (39, 2), 80);
Table.States (59).Action_List.Set_Capacity (13);
- Add_Action (Table.States (59), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (41, 1), 2, null,
+ Add_Action (Table.States (59), (8, 10, 15, 16, 20, 23, 28, 30, 32,
33, 34, 35, 36), (41, 1), 2, null,
null);
Table.States (60).Action_List.Set_Capacity (13);
- Add_Action (Table.States (60), 8, 24);
- Add_Action (Table.States (60), 10, 25);
- Add_Action (Table.States (60), 15, 26);
- Add_Action (Table.States (60), 16, 27);
- Add_Action (Table.States (60), 20, 28);
- Add_Action (Table.States (60), 23, Reduce, (38, 0), 4,
declaration_0'Access, null);
- Add_Action (Table.States (60), 28, 29);
- Add_Action (Table.States (60), 30, 30);
- Add_Action (Table.States (60), 32, 31);
- Add_Action (Table.States (60), 33, 32);
- Add_Conflict (Table.States (60), 33, (38, 0), 4,
declaration_0'Access, null);
- Add_Action (Table.States (60), 34, 33);
- Add_Action (Table.States (60), 35, 34);
- Add_Action (Table.States (60), 36, Reduce, (38, 0), 4,
declaration_0'Access, null);
+ Add_Action (Table.States (60), 8, (42, 10), 24);
+ Add_Action (Table.States (60), 10, (42, 5), 25);
+ Add_Action (Table.States (60), 15, (42, 0), 26);
+ Add_Action (Table.States (60), 16, (42, 2), 27);
+ Add_Action (Table.States (60), 20, (42, 3), 28);
+ Add_Action (Table.States (60), 23, Reduce, (38, 0), 4,
declaration_0'Access, null);
+ Add_Action (Table.States (60), 28, (42, 6), 29);
+ Add_Action (Table.States (60), 30, (42, 7), 30);
+ Add_Action (Table.States (60), 32, (42, 4), 31);
+ Add_Action (Table.States (60), 33, (42, 1), 32);
+ Add_Conflict (Table.States (60), 33, (38, 0), 4,
declaration_0'Access, null);
+ Add_Action (Table.States (60), 34, (42, 8), 33);
+ Add_Action (Table.States (60), 35, (42, 9), 34);
+ Add_Action (Table.States (60), 36, Reduce, (38, 0), 4,
declaration_0'Access, null);
Table.States (60).Goto_List.Set_Capacity (1);
Add_Goto (Table.States (60), 42, 59);
Table.States (61).Action_List.Set_Capacity (10);
- Add_Action (Table.States (61), 12, Reduce, (54, 0), 1, null, null);
- Add_Action (Table.States (61), 18, 38);
- Add_Action (Table.States (61), 19, 39);
- Add_Action (Table.States (61), 20, 40);
- Add_Action (Table.States (61), 21, 41);
- Add_Action (Table.States (61), 26, Reduce, (54, 0), 1, null, null);
- Add_Action (Table.States (61), 27, Reduce, (54, 0), 1, null, null);
- Add_Action (Table.States (61), 28, Reduce, (54, 0), 1, null, null);
- Add_Action (Table.States (61), 33, 42);
- Add_Action (Table.States (61), 35, 43);
+ Add_Action (Table.States (61), 12, Reduce, (54, 0), 1, null,
null);
+ Add_Action (Table.States (61), 18, (53, 0), 38);
+ Add_Action (Table.States (61), 19, (52, 0), 39);
+ Add_Action (Table.States (61), 20, (51, 0), 40);
+ Add_Action (Table.States (61), 21, (47, 0), 41);
+ Add_Action (Table.States (61), 26, Reduce, (54, 0), 1, null,
null);
+ Add_Action (Table.States (61), 27, Reduce, (54, 0), 1, null,
null);
+ Add_Action (Table.States (61), 28, Reduce, (54, 0), 1, null,
null);
+ Add_Action (Table.States (61), 33, (48, 1), 42);
+ Add_Action (Table.States (61), 35, (50, 1), 43);
Table.States (61).Goto_List.Set_Capacity (6);
Add_Goto (Table.States (61), 47, 46);
Add_Goto (Table.States (61), 48, 76);
@@ -437,23 +437,23 @@ package body Wisitoken_Grammar_Main is
Add_Goto (Table.States (61), 52, 51);
Add_Goto (Table.States (61), 53, 52);
Table.States (62).Action_List.Set_Capacity (2);
- Add_Action (Table.States (62), 12, 81);
- Add_Action (Table.States (62), 26, 82);
+ Add_Action (Table.States (62), 12, (54, 1), 81);
+ Add_Action (Table.States (62), 26, (53, 0), 82);
Table.States (63).Action_List.Set_Capacity (2);
- Add_Action (Table.States (63), 12, 81);
- Add_Action (Table.States (63), 27, 83);
+ Add_Action (Table.States (63), 12, (54, 1), 81);
+ Add_Action (Table.States (63), 27, (52, 0), 83);
Table.States (64).Action_List.Set_Capacity (2);
- Add_Action (Table.States (64), 12, 81);
- Add_Action (Table.States (64), 28, 84);
+ Add_Action (Table.States (64), 12, (54, 1), 81);
+ Add_Action (Table.States (64), 28, (51, 0), 84);
Table.States (65).Action_List.Set_Capacity (1);
- Add_Action (Table.States (65), 16, 85);
+ Add_Action (Table.States (65), 16, (47, 0), 85);
Table.States (66).Action_List.Set_Capacity (6);
- Add_Action (Table.States (66), 18, 38);
- Add_Action (Table.States (66), 19, 39);
- Add_Action (Table.States (66), 20, 40);
- Add_Action (Table.States (66), 21, 41);
- Add_Action (Table.States (66), 33, 86);
- Add_Action (Table.States (66), 35, 43);
+ Add_Action (Table.States (66), 18, (53, 0), 38);
+ Add_Action (Table.States (66), 19, (52, 0), 39);
+ Add_Action (Table.States (66), 20, (51, 0), 40);
+ Add_Action (Table.States (66), 21, (47, 0), 41);
+ Add_Action (Table.States (66), 33, (50, 0), 86);
+ Add_Action (Table.States (66), 35, (50, 1), 43);
Table.States (66).Goto_List.Set_Capacity (5);
Add_Goto (Table.States (66), 47, 46);
Add_Goto (Table.States (66), 50, 87);
@@ -461,29 +461,29 @@ package body Wisitoken_Grammar_Main is
Add_Goto (Table.States (66), 52, 51);
Add_Goto (Table.States (66), 53, 52);
Table.States (67).Action_List.Set_Capacity (14);
- Add_Action (Table.States (67), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (53, 4), 2, null,
+ Add_Action (Table.States (67), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (53, 4), 2, null,
null);
Table.States (68).Action_List.Set_Capacity (14);
- Add_Action (Table.States (68), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (52, 2), 2, null,
+ Add_Action (Table.States (68), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (52, 2), 2, null,
null);
Table.States (69).Action_List.Set_Capacity (14);
- Add_Action (Table.States (69), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (53, 5), 2, null,
+ Add_Action (Table.States (69), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (53, 5), 2, null,
null);
Table.States (70).Action_List.Set_Capacity (14);
- Add_Action (Table.States (70), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (52, 3), 2,
+ Add_Action (Table.States (70), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (52, 3), 2,
rhs_optional_item_3'Access, null);
Table.States (71).Action_List.Set_Capacity (10);
- Add_Action (Table.States (71), 12, Reduce, (46, 0), 0, null, null);
- Add_Action (Table.States (71), 18, 38);
- Add_Action (Table.States (71), 19, 39);
- Add_Action (Table.States (71), 20, 40);
- Add_Action (Table.States (71), 21, 41);
- Add_Action (Table.States (71), 23, Reduce, (46, 0), 0, null, null);
- Add_Action (Table.States (71), 29, Reduce, (46, 0), 0, null, null);
- Add_Action (Table.States (71), 33, 42);
- Add_Conflict (Table.States (71), 33, (46, 0), 0, null, null);
- Add_Action (Table.States (71), 35, 43);
- Add_Action (Table.States (71), 36, Reduce, (46, 0), 0, null, null);
+ Add_Action (Table.States (71), 12, Reduce, (46, 0), 0, null,
null);
+ Add_Action (Table.States (71), 18, (53, 0), 38);
+ Add_Action (Table.States (71), 19, (52, 0), 39);
+ Add_Action (Table.States (71), 20, (51, 0), 40);
+ Add_Action (Table.States (71), 21, (47, 0), 41);
+ Add_Action (Table.States (71), 23, Reduce, (46, 0), 0, null,
null);
+ Add_Action (Table.States (71), 29, Reduce, (46, 0), 0, null,
null);
+ Add_Action (Table.States (71), 33, (48, 1), 42);
+ Add_Conflict (Table.States (71), 33, (46, 0), 0, null, null);
+ Add_Action (Table.States (71), 35, (50, 1), 43);
+ Add_Action (Table.States (71), 36, Reduce, (46, 0), 0, null,
null);
Table.States (71).Goto_List.Set_Capacity (8);
Add_Goto (Table.States (71), 46, 88);
Add_Goto (Table.States (71), 47, 46);
@@ -494,37 +494,37 @@ package body Wisitoken_Grammar_Main is
Add_Goto (Table.States (71), 52, 51);
Add_Goto (Table.States (71), 53, 52);
Table.States (72).Action_List.Set_Capacity (2);
- Add_Action (Table.States (72), 4, 89);
- Add_Action (Table.States (72), 5, 90);
+ Add_Action (Table.States (72), 4, (45, 3), 89);
+ Add_Action (Table.States (72), 5, (45, 2), 90);
Table.States (73).Action_List.Set_Capacity (3);
- Add_Action (Table.States (73), (23, 33, 36), (44, 0), 1, null,
null);
+ Add_Action (Table.States (73), (23, 33, 36), (44, 0), 1, null,
null);
Table.States (74).Action_List.Set_Capacity (3);
- Add_Action (Table.States (74), (23, 33, 36), (43, 0), 4,
nonterminal_0'Access, null);
+ Add_Action (Table.States (74), (23, 33, 36), (43, 0), 4,
nonterminal_0'Access, null);
Table.States (75).Action_List.Set_Capacity (6);
- Add_Action (Table.States (75), 11, 91);
- Add_Action (Table.States (75), 12, Reduce, (46, 2), 2, null, null);
- Add_Action (Table.States (75), 23, Reduce, (46, 2), 2, null, null);
- Add_Action (Table.States (75), 29, Reduce, (46, 2), 2, null, null);
- Add_Action (Table.States (75), 33, Reduce, (46, 2), 2, null, null);
- Add_Action (Table.States (75), 36, Reduce, (46, 2), 2, null, null);
+ Add_Action (Table.States (75), 11, (46, 3), 91);
+ Add_Action (Table.States (75), 12, Reduce, (46, 2), 2, null,
null);
+ Add_Action (Table.States (75), 23, Reduce, (46, 2), 2, null,
null);
+ Add_Action (Table.States (75), 29, Reduce, (46, 2), 2, null,
null);
+ Add_Action (Table.States (75), 33, Reduce, (46, 2), 2, null,
null);
+ Add_Action (Table.States (75), 36, Reduce, (46, 2), 2, null,
null);
Table.States (76).Action_List.Set_Capacity (14);
- Add_Action (Table.States (76), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (49, 1), 2, null,
+ Add_Action (Table.States (76), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (49, 1), 2, null,
null);
Table.States (77).Action_List.Set_Capacity (3);
- Add_Action (Table.States (77), (23, 33, 36), (43, 1), 4,
nonterminal_1'Access, null);
+ Add_Action (Table.States (77), (23, 33, 36), (43, 1), 4,
nonterminal_1'Access, null);
Table.States (78).Action_List.Set_Capacity (3);
- Add_Action (Table.States (78), (23, 33, 36), (38, 4), 5,
declaration_4'Access, null);
+ Add_Action (Table.States (78), (23, 33, 36), (38, 4), 5,
declaration_4'Access, null);
Table.States (79).Action_List.Set_Capacity (1);
- Add_Action (Table.States (79), (1 => 33), (39, 1), 4, null, null);
+ Add_Action (Table.States (79), (1 => 33), (39, 1), 4, null,
null);
Table.States (80).Action_List.Set_Capacity (1);
- Add_Action (Table.States (80), (1 => 33), (39, 2), 4, null, null);
+ Add_Action (Table.States (80), (1 => 33), (39, 2), 4, null,
null);
Table.States (81).Action_List.Set_Capacity (6);
- Add_Action (Table.States (81), 18, 38);
- Add_Action (Table.States (81), 19, 39);
- Add_Action (Table.States (81), 20, 40);
- Add_Action (Table.States (81), 21, 41);
- Add_Action (Table.States (81), 33, 42);
- Add_Action (Table.States (81), 35, 43);
+ Add_Action (Table.States (81), 18, (53, 0), 38);
+ Add_Action (Table.States (81), 19, (52, 0), 39);
+ Add_Action (Table.States (81), 20, (51, 0), 40);
+ Add_Action (Table.States (81), 21, (47, 0), 41);
+ Add_Action (Table.States (81), 33, (48, 1), 42);
+ Add_Action (Table.States (81), 35, (50, 1), 43);
Table.States (81).Goto_List.Set_Capacity (7);
Add_Goto (Table.States (81), 47, 46);
Add_Goto (Table.States (81), 48, 47);
@@ -534,84 +534,84 @@ package body Wisitoken_Grammar_Main is
Add_Goto (Table.States (81), 52, 51);
Add_Goto (Table.States (81), 53, 52);
Table.States (82).Action_List.Set_Capacity (15);
- Add_Action (Table.States (82), 11, Reduce, (53, 0), 3, null, null);
- Add_Action (Table.States (82), 12, Reduce, (53, 0), 3, null, null);
- Add_Action (Table.States (82), 18, Reduce, (53, 0), 3, null, null);
- Add_Action (Table.States (82), 19, Reduce, (53, 0), 3, null, null);
- Add_Action (Table.States (82), 20, Reduce, (53, 0), 3, null, null);
- Add_Action (Table.States (82), 21, Reduce, (53, 0), 3, null, null);
- Add_Action (Table.States (82), 22, 93);
- Add_Action (Table.States (82), 23, Reduce, (53, 0), 3, null, null);
- Add_Action (Table.States (82), 26, Reduce, (53, 0), 3, null, null);
- Add_Action (Table.States (82), 27, Reduce, (53, 0), 3, null, null);
- Add_Action (Table.States (82), 28, Reduce, (53, 0), 3, null, null);
- Add_Action (Table.States (82), 29, Reduce, (53, 0), 3, null, null);
- Add_Action (Table.States (82), 33, Reduce, (53, 0), 3, null, null);
- Add_Action (Table.States (82), 35, Reduce, (53, 0), 3, null, null);
- Add_Action (Table.States (82), 36, Reduce, (53, 0), 3, null, null);
+ Add_Action (Table.States (82), 11, Reduce, (53, 0), 3, null,
null);
+ Add_Action (Table.States (82), 12, Reduce, (53, 0), 3, null,
null);
+ Add_Action (Table.States (82), 18, Reduce, (53, 0), 3, null,
null);
+ Add_Action (Table.States (82), 19, Reduce, (53, 0), 3, null,
null);
+ Add_Action (Table.States (82), 20, Reduce, (53, 0), 3, null,
null);
+ Add_Action (Table.States (82), 21, Reduce, (53, 0), 3, null,
null);
+ Add_Action (Table.States (82), 22, (53, 1), 93);
+ Add_Action (Table.States (82), 23, Reduce, (53, 0), 3, null,
null);
+ Add_Action (Table.States (82), 26, Reduce, (53, 0), 3, null,
null);
+ Add_Action (Table.States (82), 27, Reduce, (53, 0), 3, null,
null);
+ Add_Action (Table.States (82), 28, Reduce, (53, 0), 3, null,
null);
+ Add_Action (Table.States (82), 29, Reduce, (53, 0), 3, null,
null);
+ Add_Action (Table.States (82), 33, Reduce, (53, 0), 3, null,
null);
+ Add_Action (Table.States (82), 35, Reduce, (53, 0), 3, null,
null);
+ Add_Action (Table.States (82), 36, Reduce, (53, 0), 3, null,
null);
Table.States (83).Action_List.Set_Capacity (14);
- Add_Action (Table.States (83), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (52, 0), 3, null,
+ Add_Action (Table.States (83), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (52, 0), 3, null,
null);
Table.States (84).Action_List.Set_Capacity (17);
- Add_Action (Table.States (84), 11, Reduce, (51, 0), 3, null, null);
- Add_Action (Table.States (84), 12, Reduce, (51, 0), 3, null, null);
- Add_Action (Table.States (84), 18, Reduce, (51, 0), 3, null, null);
- Add_Action (Table.States (84), 19, Reduce, (51, 0), 3, null, null);
- Add_Action (Table.States (84), 20, Reduce, (51, 0), 3, null, null);
- Add_Action (Table.States (84), 21, Reduce, (51, 0), 3, null, null);
- Add_Action (Table.States (84), 23, Reduce, (51, 0), 3, null, null);
- Add_Action (Table.States (84), 24, 94);
- Add_Action (Table.States (84), 25, 95);
- Add_Action (Table.States (84), 26, Reduce, (51, 0), 3, null, null);
- Add_Action (Table.States (84), 27, Reduce, (51, 0), 3, null, null);
- Add_Action (Table.States (84), 28, Reduce, (51, 0), 3, null, null);
- Add_Action (Table.States (84), 29, Reduce, (51, 0), 3, null, null);
- Add_Action (Table.States (84), 31, 96);
- Add_Action (Table.States (84), 33, Reduce, (51, 0), 3, null, null);
- Add_Action (Table.States (84), 35, Reduce, (51, 0), 3, null, null);
- Add_Action (Table.States (84), 36, Reduce, (51, 0), 3, null, null);
+ Add_Action (Table.States (84), 11, Reduce, (51, 0), 3, null,
null);
+ Add_Action (Table.States (84), 12, Reduce, (51, 0), 3, null,
null);
+ Add_Action (Table.States (84), 18, Reduce, (51, 0), 3, null,
null);
+ Add_Action (Table.States (84), 19, Reduce, (51, 0), 3, null,
null);
+ Add_Action (Table.States (84), 20, Reduce, (51, 0), 3, null,
null);
+ Add_Action (Table.States (84), 21, Reduce, (51, 0), 3, null,
null);
+ Add_Action (Table.States (84), 23, Reduce, (51, 0), 3, null,
null);
+ Add_Action (Table.States (84), 24, (53, 2), 94);
+ Add_Action (Table.States (84), 25, (52, 1), 95);
+ Add_Action (Table.States (84), 26, Reduce, (51, 0), 3, null,
null);
+ Add_Action (Table.States (84), 27, Reduce, (51, 0), 3, null,
null);
+ Add_Action (Table.States (84), 28, Reduce, (51, 0), 3, null,
null);
+ Add_Action (Table.States (84), 29, Reduce, (51, 0), 3, null,
null);
+ Add_Action (Table.States (84), 31, (53, 3), 96);
+ Add_Action (Table.States (84), 33, Reduce, (51, 0), 3, null,
null);
+ Add_Action (Table.States (84), 35, Reduce, (51, 0), 3, null,
null);
+ Add_Action (Table.States (84), 36, Reduce, (51, 0), 3, null,
null);
Table.States (85).Action_List.Set_Capacity (1);
- Add_Action (Table.States (85), 33, 97);
+ Add_Action (Table.States (85), 33, (47, 0), 97);
Table.States (86).Action_List.Set_Capacity (17);
- Add_Action (Table.States (86), 11, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (86), 12, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (86), 18, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (86), 19, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (86), 20, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (86), 21, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (86), 23, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (86), 24, 67);
- Add_Action (Table.States (86), 25, 68);
- Add_Action (Table.States (86), 26, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (86), 27, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (86), 28, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (86), 29, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (86), 31, 69);
- Add_Action (Table.States (86), 33, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (86), 35, Reduce, (50, 0), 1, null, null);
- Add_Action (Table.States (86), 36, Reduce, (50, 0), 1, null, null);
+ Add_Action (Table.States (86), 11, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (86), 12, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (86), 18, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (86), 19, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (86), 20, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (86), 21, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (86), 23, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (86), 24, (53, 4), 67);
+ Add_Action (Table.States (86), 25, (52, 2), 68);
+ Add_Action (Table.States (86), 26, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (86), 27, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (86), 28, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (86), 29, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (86), 31, (53, 5), 69);
+ Add_Action (Table.States (86), 33, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (86), 35, Reduce, (50, 0), 1, null,
null);
+ Add_Action (Table.States (86), 36, Reduce, (50, 0), 1, null,
null);
Table.States (87).Action_List.Set_Capacity (14);
- Add_Action (Table.States (87), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (48, 1), 3, null,
+ Add_Action (Table.States (87), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (48, 1), 3, null,
null);
Table.States (88).Action_List.Set_Capacity (5);
- Add_Action (Table.States (88), (12, 23, 29, 33, 36), (45, 1), 3,
null, null);
+ Add_Action (Table.States (88), (12, 23, 29, 33, 36), (45, 1), 3,
null, null);
Table.States (89).Action_List.Set_Capacity (1);
- Add_Action (Table.States (89), 5, 98);
+ Add_Action (Table.States (89), 5, (45, 3), 98);
Table.States (90).Action_List.Set_Capacity (1);
- Add_Action (Table.States (90), 33, 99);
+ Add_Action (Table.States (90), 33, (45, 2), 99);
Table.States (91).Action_List.Set_Capacity (5);
- Add_Action (Table.States (91), (12, 23, 29, 33, 36), (46, 3), 3,
null, null);
+ Add_Action (Table.States (91), (12, 23, 29, 33, 36), (46, 3), 3,
null, null);
Table.States (92).Action_List.Set_Capacity (10);
- Add_Action (Table.States (92), 12, Reduce, (54, 1), 3, null, null);
- Add_Action (Table.States (92), 18, 38);
- Add_Action (Table.States (92), 19, 39);
- Add_Action (Table.States (92), 20, 40);
- Add_Action (Table.States (92), 21, 41);
- Add_Action (Table.States (92), 26, Reduce, (54, 1), 3, null, null);
- Add_Action (Table.States (92), 27, Reduce, (54, 1), 3, null, null);
- Add_Action (Table.States (92), 28, Reduce, (54, 1), 3, null, null);
- Add_Action (Table.States (92), 33, 42);
- Add_Action (Table.States (92), 35, 43);
+ Add_Action (Table.States (92), 12, Reduce, (54, 1), 3, null,
null);
+ Add_Action (Table.States (92), 18, (53, 0), 38);
+ Add_Action (Table.States (92), 19, (52, 0), 39);
+ Add_Action (Table.States (92), 20, (51, 0), 40);
+ Add_Action (Table.States (92), 21, (47, 0), 41);
+ Add_Action (Table.States (92), 26, Reduce, (54, 1), 3, null,
null);
+ Add_Action (Table.States (92), 27, Reduce, (54, 1), 3, null,
null);
+ Add_Action (Table.States (92), 28, Reduce, (54, 1), 3, null,
null);
+ Add_Action (Table.States (92), 33, (48, 1), 42);
+ Add_Action (Table.States (92), 35, (50, 1), 43);
Table.States (92).Goto_List.Set_Capacity (6);
Add_Goto (Table.States (92), 47, 46);
Add_Goto (Table.States (92), 48, 76);
@@ -620,34 +620,34 @@ package body Wisitoken_Grammar_Main is
Add_Goto (Table.States (92), 52, 51);
Add_Goto (Table.States (92), 53, 52);
Table.States (93).Action_List.Set_Capacity (14);
- Add_Action (Table.States (93), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (53, 1), 4, null,
+ Add_Action (Table.States (93), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (53, 1), 4, null,
null);
Table.States (94).Action_List.Set_Capacity (14);
- Add_Action (Table.States (94), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (53, 2), 4, null,
+ Add_Action (Table.States (94), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (53, 2), 4, null,
null);
Table.States (95).Action_List.Set_Capacity (14);
- Add_Action (Table.States (95), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (52, 1), 4, null,
+ Add_Action (Table.States (95), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (52, 1), 4, null,
null);
Table.States (96).Action_List.Set_Capacity (14);
- Add_Action (Table.States (96), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (53, 3), 4, null,
+ Add_Action (Table.States (96), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (53, 3), 4, null,
null);
Table.States (97).Action_List.Set_Capacity (1);
- Add_Action (Table.States (97), 17, 100);
+ Add_Action (Table.States (97), 17, (47, 0), 100);
Table.States (98).Action_List.Set_Capacity (5);
- Add_Action (Table.States (98), (12, 23, 29, 33, 36), (45, 3), 4,
null, null);
+ Add_Action (Table.States (98), (12, 23, 29, 33, 36), (45, 3), 4,
null, null);
Table.States (99).Action_List.Set_Capacity (1);
- Add_Action (Table.States (99), 16, 101);
+ Add_Action (Table.States (99), 16, (45, 2), 101);
Table.States (100).Action_List.Set_Capacity (14);
- Add_Action (Table.States (100), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (47, 0), 5, null,
- null);
+ Add_Action (Table.States (100), (11, 12, 18, 19, 20, 21, 23, 26,
27, 28, 29, 33, 35, 36), (47, 0), 5,
+ null, null);
Table.States (101).Action_List.Set_Capacity (1);
- Add_Action (Table.States (101), 33, 102);
+ Add_Action (Table.States (101), 33, (45, 2), 102);
Table.States (102).Action_List.Set_Capacity (5);
- Add_Action (Table.States (102), (12, 23, 29, 33, 36), (45, 2), 6,
null, null);
+ Add_Action (Table.States (102), (12, 23, 29, 33, 36), (45, 2), 6,
null, null);
end Subr_1;
begin
Subr_1;
- Table.Error_Action := new Parse_Action_Node'((Verb => Error), null);
+ Table.Error_Action := new Parse_Action_Node'((Verb => Error, others
=> <>), null);
end;
WisiToken.Parse.LR.Parser_No_Recover.New_Parser
diff --git a/packages/wisi/wisitoken_grammar_re2c.c
b/packages/wisi/wisitoken_grammar_re2c.c
index ef82744..b58f1d0 100644
--- a/packages/wisi/wisitoken_grammar_re2c.c
+++ b/packages/wisi/wisitoken_grammar_re2c.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 1.0.3 */
+/* Generated by re2c 1.3 */
#line 1 "../wisitoken_grammar.re2c"
// generated parser support file. -*- mode: C -*-
// command line: wisitoken-bnf-generate.exe --generate LALR Ada re2c
wisitoken_grammar.wy
@@ -332,21 +332,21 @@ yy2:
YYSKIP ();
yy3:
YYDEBUG(3, YYPEEK ());
-#line 261 "../wisitoken_grammar.re2c"
+#line 262 "../wisitoken_grammar.re2c"
{status = ERROR_unrecognized_character; continue;}
#line 338 "../wisitoken_grammar_re2c.c"
yy4:
YYDEBUG(4, YYPEEK ());
YYSKIP ();
YYDEBUG(5, YYPEEK ());
-#line 259 "../wisitoken_grammar.re2c"
+#line 260 "../wisitoken_grammar.re2c"
{*id = 36; continue;}
#line 345 "../wisitoken_grammar_re2c.c"
yy6:
YYDEBUG(6, YYPEEK ());
YYSKIP ();
YYDEBUG(7, YYPEEK ());
-#line 217 "../wisitoken_grammar.re2c"
+#line 218 "../wisitoken_grammar.re2c"
{ lexer->byte_token_start = lexer->cursor;
lexer->char_token_start = lexer->char_pos;
if (*lexer->cursor == 0x0A)
@@ -359,7 +359,7 @@ yy8:
YYDEBUG(8, YYPEEK ());
YYSKIP ();
YYDEBUG(9, YYPEEK ());
-#line 224 "../wisitoken_grammar.re2c"
+#line 225 "../wisitoken_grammar.re2c"
{*id = 1; continue;}
#line 365 "../wisitoken_grammar_re2c.c"
yy10:
@@ -538,7 +538,7 @@ yy12:
}
yy13:
YYDEBUG(13, YYPEEK ());
-#line 246 "../wisitoken_grammar.re2c"
+#line 247 "../wisitoken_grammar.re2c"
{*id = 23; continue;}
#line 544 "../wisitoken_grammar_re2c.c"
yy14:
@@ -701,35 +701,35 @@ yy15:
YYDEBUG(15, YYPEEK ());
YYSKIP ();
YYDEBUG(16, YYPEEK ());
-#line 243 "../wisitoken_grammar.re2c"
+#line 244 "../wisitoken_grammar.re2c"
{*id = 20; continue;}
#line 707 "../wisitoken_grammar_re2c.c"
yy17:
YYDEBUG(17, YYPEEK ());
YYSKIP ();
YYDEBUG(18, YYPEEK ());
-#line 251 "../wisitoken_grammar.re2c"
+#line 252 "../wisitoken_grammar.re2c"
{*id = 28; continue;}
#line 714 "../wisitoken_grammar_re2c.c"
yy19:
YYDEBUG(19, YYPEEK ());
YYSKIP ();
YYDEBUG(20, YYPEEK ());
-#line 254 "../wisitoken_grammar.re2c"
+#line 255 "../wisitoken_grammar.re2c"
{*id = 31; continue;}
#line 721 "../wisitoken_grammar_re2c.c"
yy21:
YYDEBUG(21, YYPEEK ());
YYSKIP ();
YYDEBUG(22, YYPEEK ());
-#line 247 "../wisitoken_grammar.re2c"
+#line 248 "../wisitoken_grammar.re2c"
{*id = 24; continue;}
#line 728 "../wisitoken_grammar_re2c.c"
yy23:
YYDEBUG(23, YYPEEK ());
YYSKIP ();
YYDEBUG(24, YYPEEK ());
-#line 238 "../wisitoken_grammar.re2c"
+#line 239 "../wisitoken_grammar.re2c"
{*id = 15; continue;}
#line 735 "../wisitoken_grammar_re2c.c"
yy25:
@@ -752,14 +752,14 @@ yy25:
}
yy26:
YYDEBUG(26, YYPEEK ());
-#line 245 "../wisitoken_grammar.re2c"
+#line 246 "../wisitoken_grammar.re2c"
{*id = 22; continue;}
#line 758 "../wisitoken_grammar_re2c.c"
yy27:
YYDEBUG(27, YYPEEK ());
YYSKIP ();
YYDEBUG(28, YYPEEK ());
-#line 253 "../wisitoken_grammar.re2c"
+#line 254 "../wisitoken_grammar.re2c"
{*id = 30; continue;}
#line 765 "../wisitoken_grammar_re2c.c"
yy29:
@@ -783,7 +783,7 @@ yy29:
}
yy31:
YYDEBUG(31, YYPEEK ());
-#line 255 "../wisitoken_grammar.re2c"
+#line 256 "../wisitoken_grammar.re2c"
{*id = 32; continue;}
#line 789 "../wisitoken_grammar_re2c.c"
yy32:
@@ -798,7 +798,7 @@ yy32:
}
yy33:
YYDEBUG(33, YYPEEK ());
-#line 236 "../wisitoken_grammar.re2c"
+#line 237 "../wisitoken_grammar.re2c"
{*id = 13; continue;}
#line 804 "../wisitoken_grammar_re2c.c"
yy34:
@@ -811,35 +811,35 @@ yy34:
}
yy35:
YYDEBUG(35, YYPEEK ());
-#line 252 "../wisitoken_grammar.re2c"
+#line 253 "../wisitoken_grammar.re2c"
{*id = 29; continue;}
#line 817 "../wisitoken_grammar_re2c.c"
yy36:
YYDEBUG(36, YYPEEK ());
YYSKIP ();
YYDEBUG(37, YYPEEK ());
-#line 244 "../wisitoken_grammar.re2c"
+#line 245 "../wisitoken_grammar.re2c"
{*id = 21; continue;}
#line 824 "../wisitoken_grammar_re2c.c"
yy38:
YYDEBUG(38, YYPEEK ());
YYSKIP ();
YYDEBUG(39, YYPEEK ());
-#line 239 "../wisitoken_grammar.re2c"
+#line 240 "../wisitoken_grammar.re2c"
{*id = 16; continue;}
#line 831 "../wisitoken_grammar_re2c.c"
yy40:
YYDEBUG(40, YYPEEK ());
YYSKIP ();
YYDEBUG(41, YYPEEK ());
-#line 240 "../wisitoken_grammar.re2c"
+#line 241 "../wisitoken_grammar.re2c"
{*id = 17; continue;}
#line 838 "../wisitoken_grammar_re2c.c"
yy42:
YYDEBUG(42, YYPEEK ());
YYSKIP ();
YYDEBUG(43, YYPEEK ());
-#line 248 "../wisitoken_grammar.re2c"
+#line 249 "../wisitoken_grammar.re2c"
{*id = 25; continue;}
#line 845 "../wisitoken_grammar_re2c.c"
yy44:
@@ -970,21 +970,21 @@ yy45:
}
yy46:
YYDEBUG(46, YYPEEK ());
-#line 256 "../wisitoken_grammar.re2c"
+#line 257 "../wisitoken_grammar.re2c"
{*id = 33; continue;}
#line 976 "../wisitoken_grammar_re2c.c"
yy47:
YYDEBUG(47, YYPEEK ());
YYSKIP ();
YYDEBUG(48, YYPEEK ());
-#line 242 "../wisitoken_grammar.re2c"
+#line 243 "../wisitoken_grammar.re2c"
{*id = 19; continue;}
#line 983 "../wisitoken_grammar_re2c.c"
yy49:
YYDEBUG(49, YYPEEK ());
YYSKIP ();
YYDEBUG(50, YYPEEK ());
-#line 250 "../wisitoken_grammar.re2c"
+#line 251 "../wisitoken_grammar.re2c"
{*id = 27; continue;}
#line 990 "../wisitoken_grammar_re2c.c"
yy51:
@@ -1051,21 +1051,21 @@ yy57:
YYDEBUG(57, YYPEEK ());
YYSKIP ();
YYDEBUG(58, YYPEEK ());
-#line 241 "../wisitoken_grammar.re2c"
+#line 242 "../wisitoken_grammar.re2c"
{*id = 18; continue;}
#line 1057 "../wisitoken_grammar_re2c.c"
yy59:
YYDEBUG(59, YYPEEK ());
YYSKIP ();
YYDEBUG(60, YYPEEK ());
-#line 235 "../wisitoken_grammar.re2c"
+#line 236 "../wisitoken_grammar.re2c"
{*id = 12; continue;}
#line 1064 "../wisitoken_grammar_re2c.c"
yy61:
YYDEBUG(61, YYPEEK ());
YYSKIP ();
YYDEBUG(62, YYPEEK ());
-#line 249 "../wisitoken_grammar.re2c"
+#line 250 "../wisitoken_grammar.re2c"
{*id = 26; continue;}
#line 1071 "../wisitoken_grammar_re2c.c"
yy63:
@@ -1593,7 +1593,7 @@ yy72:
}
yy73:
YYDEBUG(73, YYPEEK ());
-#line 257 "../wisitoken_grammar.re2c"
+#line 258 "../wisitoken_grammar.re2c"
{*id = 34; continue;}
#line 1599 "../wisitoken_grammar_re2c.c"
yy74:
@@ -1930,21 +1930,21 @@ yy80:
YYDEBUG(80, YYPEEK ());
YYSKIP ();
YYDEBUG(81, YYPEEK ());
-#line 234 "../wisitoken_grammar.re2c"
+#line 235 "../wisitoken_grammar.re2c"
{*id = 11; skip_to(lexer, ")%"); continue;}
#line 1936 "../wisitoken_grammar_re2c.c"
yy82:
YYDEBUG(82, YYPEEK ());
YYSKIP ();
YYDEBUG(83, YYPEEK ());
-#line 233 "../wisitoken_grammar.re2c"
+#line 234 "../wisitoken_grammar.re2c"
{*id = 10; skip_to(lexer, "]%"); continue;}
#line 1943 "../wisitoken_grammar_re2c.c"
yy84:
YYDEBUG(84, YYPEEK ());
YYSKIP ();
YYDEBUG(85, YYPEEK ());
-#line 232 "../wisitoken_grammar.re2c"
+#line 233 "../wisitoken_grammar.re2c"
{*id = 9; skip_to(lexer, "}%"); continue;}
#line 1950 "../wisitoken_grammar_re2c.c"
yy86:
@@ -2115,7 +2115,7 @@ yy88:
}
yy89:
YYDEBUG(89, YYPEEK ());
-#line 258 "../wisitoken_grammar.re2c"
+#line 259 "../wisitoken_grammar.re2c"
{*id = 35; continue;}
#line 2121 "../wisitoken_grammar_re2c.c"
yy90:
@@ -2645,7 +2645,7 @@ yy97:
}
yy99:
YYDEBUG(99, YYPEEK ());
-#line 225 "../wisitoken_grammar.re2c"
+#line 226 "../wisitoken_grammar.re2c"
{*id = 2; continue;}
#line 2651 "../wisitoken_grammar_re2c.c"
yy100:
@@ -3124,7 +3124,7 @@ yy108:
}
yy109:
YYDEBUG(109, YYPEEK ());
-#line 228 "../wisitoken_grammar.re2c"
+#line 229 "../wisitoken_grammar.re2c"
{*id = 5; continue;}
#line 3130 "../wisitoken_grammar_re2c.c"
yy110:
@@ -3161,7 +3161,7 @@ yy113:
YYDEBUG(113, YYPEEK ());
YYSKIP ();
YYDEBUG(114, YYPEEK ());
-#line 237 "../wisitoken_grammar.re2c"
+#line 238 "../wisitoken_grammar.re2c"
{*id = 14; continue;}
#line 3167 "../wisitoken_grammar_re2c.c"
yy115:
@@ -3630,7 +3630,7 @@ yy122:
}
yy123:
YYDEBUG(123, YYPEEK ());
-#line 227 "../wisitoken_grammar.re2c"
+#line 228 "../wisitoken_grammar.re2c"
{*id = 4; continue;}
#line 3636 "../wisitoken_grammar_re2c.c"
yy124:
@@ -3789,7 +3789,7 @@ yy127:
}
yy128:
YYDEBUG(128, YYPEEK ());
-#line 226 "../wisitoken_grammar.re2c"
+#line 227 "../wisitoken_grammar.re2c"
{*id = 3; continue;}
#line 3795 "../wisitoken_grammar_re2c.c"
yy129:
@@ -3968,7 +3968,7 @@ yy134:
}
yy135:
YYDEBUG(135, YYPEEK ());
-#line 231 "../wisitoken_grammar.re2c"
+#line 232 "../wisitoken_grammar.re2c"
{*id = 8; continue;}
#line 3974 "../wisitoken_grammar_re2c.c"
yy136:
@@ -4117,7 +4117,7 @@ yy138:
}
yy139:
YYDEBUG(139, YYPEEK ());
-#line 229 "../wisitoken_grammar.re2c"
+#line 230 "../wisitoken_grammar.re2c"
{*id = 6; continue;}
#line 4123 "../wisitoken_grammar_re2c.c"
yy140:
@@ -4286,11 +4286,11 @@ yy144:
}
yy145:
YYDEBUG(145, YYPEEK ());
-#line 230 "../wisitoken_grammar.re2c"
+#line 231 "../wisitoken_grammar.re2c"
{*id = 7; continue;}
#line 4292 "../wisitoken_grammar_re2c.c"
}
-#line 262 "../wisitoken_grammar.re2c"
+#line 263 "../wisitoken_grammar.re2c"
}
/* lexer->cursor and lexer ->char_pos are one char past end of token */
diff --git a/packages/wisi/wisitoken_grammar_runtime.adb
b/packages/wisi/wisitoken_grammar_runtime.adb
index 346eadb..42d61fe 100644
--- a/packages/wisi/wisitoken_grammar_runtime.adb
+++ b/packages/wisi/wisitoken_grammar_runtime.adb
@@ -2,7 +2,7 @@
--
-- See spec.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -25,11 +25,11 @@ with GNAT.Regexp;
with SAL.Generic_Decimal_Image;
with System.Assertions;
with WisiToken.Generate; use WisiToken.Generate;
-with Wisitoken_Grammar_Actions; use Wisitoken_Grammar_Actions;
with WisiToken.Syntax_Trees.LR_Utils;
package body WisiToken_Grammar_Runtime is
use WisiToken;
+ use Wisitoken_Grammar_Actions;
----------
-- Body subprograms, misc order
@@ -38,14 +38,14 @@ package body WisiToken_Grammar_Runtime is
(Label : in String;
Data : in User_Data_Type;
Tree : in WisiToken.Syntax_Trees.Tree;
- Node : in WisiToken.Syntax_Trees.Node_Index);
+ Node : in WisiToken.Node_Index);
pragma No_Return (Raise_Programmer_Error);
procedure Raise_Programmer_Error
(Label : in String;
Data : in User_Data_Type;
Tree : in WisiToken.Syntax_Trees.Tree;
- Node : in WisiToken.Syntax_Trees.Node_Index)
+ Node : in WisiToken.Node_Index)
is begin
WisiToken.Syntax_Trees.LR_Utils.Raise_Programmer_Error
(Label, Wisitoken_Grammar_Actions.Descriptor, Data.Grammar_Lexer,
Tree, Data.Terminals.all, Node);
@@ -54,7 +54,7 @@ package body WisiToken_Grammar_Runtime is
function Get_Line
(Data : in User_Data_Type;
Tree : in Syntax_Trees.Tree;
- Node : in WisiToken.Syntax_Trees.Valid_Node_Index)
+ Node : in WisiToken.Valid_Node_Index)
return WisiToken.Line_Number_Type
is
-- Find a source line for Node.
@@ -64,12 +64,12 @@ package body WisiToken_Grammar_Runtime is
Temp : Node_Index := Node;
begin
loop
- if Tree.Min_Terminal_Index (Temp) = Invalid_Token_Index then
+ if Tree.First_Shared_Terminal (Temp) = Invalid_Token_Index then
-- Node is empty or all virtual_identifiers; try parents.
Temp := Tree.Parent (Temp);
exit when Temp = Invalid_Node_Index;
else
- return Data.Terminals.all (Tree.Min_Terminal_Index (Temp)).Line;
+ return Data.Terminals.all (Tree.First_Shared_Terminal (Temp)).Line;
end if;
end loop;
return Invalid_Line_Number;
@@ -78,13 +78,13 @@ package body WisiToken_Grammar_Runtime is
function Get_Text
(Data : in User_Data_Type;
Tree : in Syntax_Trees.Tree;
- Tree_Index : in Syntax_Trees.Valid_Node_Index;
+ Tree_Index : in Valid_Node_Index;
Strip_Quotes : in Boolean := False)
return String
is
use all type Syntax_Trees.Node_Label;
- function Strip_Delimiters (Tree_Index : in
Syntax_Trees.Valid_Node_Index) return String
+ function Strip_Delimiters (Tree_Index : in Valid_Node_Index) return
String
is
Region : Buffer_Region renames Data.Terminals.all (Tree.Terminal
(Tree_Index)).Byte_Region;
begin
@@ -124,7 +124,7 @@ package body WisiToken_Grammar_Runtime is
declare
use all type Ada.Strings.Unbounded.Unbounded_String;
Result : Ada.Strings.Unbounded.Unbounded_String;
- Tree_Indices : constant Syntax_Trees.Valid_Node_Index_Array :=
Tree.Get_Terminals (Tree_Index);
+ Tree_Indices : constant Valid_Node_Index_Array :=
Tree.Get_Terminals (Tree_Index);
Need_Space : Boolean :=
False;
begin
for Tree_Index of Tree_Indices loop
@@ -140,12 +140,12 @@ package body WisiToken_Grammar_Runtime is
function Get_Child_Text
(Data : in User_Data_Type;
Tree : in Syntax_Trees.Tree;
- Parent : in Syntax_Trees.Valid_Node_Index;
+ Parent : in Valid_Node_Index;
Child : in SAL.Peek_Type;
Strip_Quotes : in Boolean := False)
return String
is
- Tree_Indices : constant Syntax_Trees.Valid_Node_Index_Array :=
Tree.Get_Terminals (Parent);
+ Tree_Indices : constant Valid_Node_Index_Array := Tree.Get_Terminals
(Parent);
begin
return Get_Text (Data, Tree, Tree_Indices (Child), Strip_Quotes);
end Get_Child_Text;
@@ -153,8 +153,8 @@ package body WisiToken_Grammar_Runtime is
procedure Start_If_1
(Data : in out User_Data_Type;
Tree : in Syntax_Trees.Tree;
- A_Index : in Syntax_Trees.Valid_Node_Index;
- B_Index : in Syntax_Trees.Valid_Node_Index)
+ A_Index : in Valid_Node_Index;
+ B_Index : in Valid_Node_Index)
is
use all type WisiToken.BNF.Generate_Algorithm;
use all type WisiToken.BNF.Lexer_Type;
@@ -171,7 +171,7 @@ package body WisiToken_Grammar_Runtime is
else
raise Grammar_Error with
Error_Message
- (Data.Grammar_Lexer.File_Name, Data.Terminals.all
(Tree.Min_Terminal_Index (A_Index)).Line,
+ (Data.Grammar_Lexer.File_Name, Data.Terminals.all
(Tree.First_Shared_Terminal (A_Index)).Line,
"invalid '%if'; must be one of {lexer | parser}");
end if;
end Start_If_1;
@@ -180,12 +180,11 @@ package body WisiToken_Grammar_Runtime is
(Data : in out User_Data_Type;
Tree : in Syntax_Trees.Tree;
Labels : in out WisiToken.BNF.String_Arrays.Vector;
- Token : in Syntax_Trees.Valid_Node_Index)
+ Token : in Valid_Node_Index)
return WisiToken.BNF.RHS_Type
is
- use all type WisiToken.Syntax_Trees.Node_Index;
use all type SAL.Base_Peek_Type;
- Children : constant Syntax_Trees.Valid_Node_Index_Array := Tree.Children
(Token);
+ Children : constant Valid_Node_Index_Array := Tree.Children (Token);
begin
pragma Assert (-Tree.ID (Token) = rhs_ID);
@@ -253,9 +252,9 @@ package body WisiToken_Grammar_Runtime is
Tree : in WisiToken.Syntax_Trees.Tree;
Right_Hand_Sides : in out WisiToken.BNF.RHS_Lists.List;
Labels : in out WisiToken.BNF.String_Arrays.Vector;
- Token : in WisiToken.Syntax_Trees.Valid_Node_Index)
+ Token : in WisiToken.Valid_Node_Index)
is
- Tokens : constant Syntax_Trees.Valid_Node_Index_Array := Tree.Children
(Token);
+ Tokens : constant Valid_Node_Index_Array := Tree.Children (Token);
begin
pragma Assert (-Tree.ID (Token) = rhs_list_ID);
@@ -345,6 +344,7 @@ package body WisiToken_Grammar_Runtime is
overriding
procedure Lexer_To_Augmented
(Data : in out User_Data_Type;
+ Tree : in out WisiToken.Syntax_Trees.Tree'Class;
Token : in WisiToken.Base_Token;
Lexer : not null access WisiToken.Lexer.Instance'Class)
is
@@ -353,23 +353,31 @@ package body WisiToken_Grammar_Runtime is
begin
if Token.ID < Wisitoken_Grammar_Actions.Descriptor.First_Terminal then
-- Non-grammar token
- if Data.Non_Grammar.Length = 0 then
- Data.Non_Grammar.Set_First_Last (0, 0);
- end if;
-
if Data.Terminals.Length = 0 then
- Data.Non_Grammar (0).Append (Token);
+ Data.Leading_Non_Grammar.Append (Token);
else
- Data.Non_Grammar.Set_First_Last (0, Data.Terminals.Last_Index);
- Data.Non_Grammar (Data.Terminals.Last_Index).Append (Token);
+ declare
+ Containing_Aug : Augmented_Token_Access :=
Augmented_Token_Access
+ (Tree.Augmented (Data.Last_Terminal_Node));
+ begin
+ if Containing_Aug = null then
+ Containing_Aug := new Augmented_Token'
+ (Data.Terminals.all (Tree.First_Shared_Terminal
(Data.Last_Terminal_Node)) with Non_Grammar => <>);
+ Tree.Set_Augmented (Data.Last_Terminal_Node,
WisiToken.Base_Token_Class_Access (Containing_Aug));
+ end if;
+
+ Containing_Aug.Non_Grammar.Append (Token);
+ end;
end if;
+ else
+ Data.Last_Terminal_Node := Token.Tree_Index;
end if;
end Lexer_To_Augmented;
procedure Start_If
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is begin
-- all phases
Start_If_1 (User_Data_Type (User_Data), Tree, Tokens (3), Tokens (5));
@@ -386,7 +394,7 @@ package body WisiToken_Grammar_Runtime is
procedure Add_Declaration
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
use all type WisiToken.Syntax_Trees.Node_Label;
use all type Ada.Strings.Unbounded.Unbounded_String;
@@ -425,7 +433,7 @@ package body WisiToken_Grammar_Runtime is
elsif Kind = "generate" then
declare
use all type SAL.Base_Peek_Type;
- Children : constant
Syntax_Trees.Valid_Node_Index_Array := Tree.Get_Terminals (Tokens (3));
+ Children : constant Valid_Node_Index_Array :=
Tree.Get_Terminals (Tokens (3));
Tuple : WisiToken.BNF.Generate_Tuple;
begin
Tuple.Gen_Alg := WisiToken.BNF.To_Generate_Algorithm
(Get_Text (Data, Tree, Children (1)));
@@ -498,13 +506,13 @@ package body WisiToken_Grammar_Runtime is
when Syntax_Trees.Nonterm =>
-- must be token_keyword_non_grammar
declare
- Children_2 : constant Syntax_Trees.Valid_Node_Index_Array :=
Tree.Children (Tokens (2));
+ Children_2 : constant Valid_Node_Index_Array := Tree.Children
(Tokens (2));
Child_1_ID : constant Token_Enum_ID := To_Token_Enum (Tree.ID
(Children_2 (1)));
begin
case Child_1_ID is
when Wisitoken_Grammar_Actions.TOKEN_ID =>
declare
- Children_4 : constant Syntax_Trees.Valid_Node_Index_Array :=
Tree.Children (Tokens (4));
+ Children_4 : constant Valid_Node_Index_Array :=
Tree.Children (Tokens (4));
begin
WisiToken.BNF.Add_Token
(Data.Tokens.Tokens,
@@ -639,7 +647,7 @@ package body WisiToken_Grammar_Runtime is
elsif Kind = "conflict" then
declare
- Tree_Indices : constant
Syntax_Trees.Valid_Node_Index_Array := Tree.Get_Terminals
+ Tree_Indices : constant Valid_Node_Index_Array :=
Tree.Get_Terminals
(Tokens (3));
-- %conflict <action_a>/<action_b> in state <LHS_A>,
<LHS_B> on token <on>
-- 1 2 3 4 5 6 7 8
9 10 11
@@ -695,13 +703,15 @@ package body WisiToken_Grammar_Runtime is
if Tree.Get_Terminals (Tokens (3))'Length /= 4 then
raise Grammar_Error with
Error_Message
- (Data.Grammar_Lexer.File_Name, Data.Terminals.all
(Tree.Min_Terminal_Index (Tokens (3))).Line,
+ (Data.Grammar_Lexer.File_Name,
+ Data.Terminals.all (Tree.First_Shared_Terminal
(Tokens (3))).Line,
"too " & (if Tree.Get_Terminals (Tokens (3))'Length
> 4 then "many" else "few") &
" default costs; should be 'insert, delete, push
back, ignore check fail'.");
end if;
Data.Language_Params.Error_Recover := True;
- Data.McKenzie_Recover.Source_Line := Data.Terminals.all
(Tree.Min_Terminal_Index (Tokens (1))).Line;
+ Data.McKenzie_Recover.Source_Line := Data.Terminals.all
+ (Tree.First_Shared_Terminal (Tokens (1))).Line;
Data.McKenzie_Recover.Default_Insert :=
Natural'Value
(Get_Child_Text (Data, Tree, Tokens (3), 1));
@@ -796,7 +806,7 @@ package body WisiToken_Grammar_Runtime is
procedure Add_Nonterminal
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+ Tokens : in WisiToken.Valid_Node_Index_Array)
is
use all type Ada.Containers.Count_Type;
use WisiToken.Syntax_Trees;
@@ -841,7 +851,7 @@ package body WisiToken_Grammar_Runtime is
((+LHS_String, Right_Hand_Sides, Labels,
Source_Line =>
(case Tree.Label (LHS_Node) is
- when Shared_Terminal => Data.Terminals.all
(Tree.Min_Terminal_Index (LHS_Node)).Line,
+ when Shared_Terminal => Data.Terminals.all
(Tree.First_Shared_Terminal (LHS_Node)).Line,
when Virtual_Identifier => Invalid_Line_Number, -- IMPROVEME:
get line from Right_Hand_Sides
when others => raise SAL.Programmer_Error)));
end if;
@@ -850,7 +860,7 @@ package body WisiToken_Grammar_Runtime is
procedure Check_EBNF
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
Token : in WisiToken.Positive_Index_Type)
is
Data : User_Data_Type renames User_Data_Type (User_Data);
@@ -861,7 +871,7 @@ package body WisiToken_Grammar_Runtime is
if Data.Meta_Syntax /= EBNF_Syntax then
declare
- Tok : Base_Token renames Data.Terminals.all
(Tree.Min_Terminal_Index (Tokens (Token)));
+ Tok : Base_Token renames Data.Terminals.all
(Tree.First_Shared_Terminal (Tokens (Token)));
begin
raise Grammar_Error with Error_Message
(Data.Grammar_Lexer.File_Name, Tok.Line, Tok.Column,
@@ -879,7 +889,7 @@ package body WisiToken_Grammar_Runtime is
is
use WisiToken.Syntax_Trees;
- Copied_EBNF_Nodes :
WisiToken.Syntax_Trees.Valid_Node_Index_Arrays.Vector;
+ Copied_EBNF_Nodes : WisiToken.Valid_Node_Index_Arrays.Vector;
Symbol_Regexp : constant GNAT.Regexp.Regexp := GNAT.Regexp.Compile
((if Data.Language_Params.Case_Insensitive
@@ -1201,7 +1211,7 @@ package body WisiToken_Grammar_Runtime is
((+rhs_ID, 2),
(1 => RHS_Item_List,
2 => Tree.Add_Terminal
- (Tree.Min_Terminal_Index (Orig_RHS_Children (2)),
+ (Tree.First_Shared_Terminal (Orig_RHS_Children (2)),
Data.Terminals.all)));
when 3 =>
@@ -1209,10 +1219,10 @@ package body WisiToken_Grammar_Runtime is
((+rhs_ID, 3),
(1 => RHS_Item_List,
2 => Tree.Add_Terminal
- (Tree.Min_Terminal_Index (Orig_RHS_Children (2)),
+ (Tree.First_Shared_Terminal (Orig_RHS_Children (2)),
Data.Terminals.all),
3 => Tree.Add_Terminal
- (Tree.Min_Terminal_Index (Orig_RHS_Children (3)),
+ (Tree.First_Shared_Terminal (Orig_RHS_Children (3)),
Data.Terminals.all)));
when others =>
@@ -1227,7 +1237,7 @@ package body WisiToken_Grammar_Runtime is
(Last => Orig_RHS_Element_A_Head,
Root => Orig_RHS_Item_List_A_Root);
- if Trace_Generate > Extra then
+ if Trace_Generate_EBNF > Extra then
Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line ("new a:");
Tree.Print_Tree (Wisitoken_Grammar_Actions.Descriptor,
New_RHS_Item_List_A);
@@ -1240,7 +1250,7 @@ package body WisiToken_Grammar_Runtime is
(Last => Orig_RHS_Element_C_Head,
Root => Orig_RHS_Item_List_C_Root);
- if Trace_Generate > Extra then
+ if Trace_Generate_EBNF > Extra then
Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line ("new c:");
Tree.Print_Tree (Wisitoken_Grammar_Actions.Descriptor,
New_RHS_Item_List_C);
@@ -1293,7 +1303,7 @@ package body WisiToken_Grammar_Runtime is
end if;
end if;
- if Trace_Generate > Extra then
+ if Trace_Generate_EBNF > Extra then
Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line ("new ac:");
Tree.Print_Tree (Wisitoken_Grammar_Actions.Descriptor, New_RHS_AC);
@@ -1303,7 +1313,7 @@ package body WisiToken_Grammar_Runtime is
declare
procedure Record_Copied_Node
(Tree : in out WisiToken.Syntax_Trees.Tree;
- Node : in WisiToken.Syntax_Trees.Valid_Node_Index)
+ Node : in WisiToken.Valid_Node_Index)
is begin
if To_Token_Enum (Tree.ID (Node)) in
rhs_optional_item_ID |
@@ -1338,7 +1348,7 @@ package body WisiToken_Grammar_Runtime is
Append_Element (Compilation_Unit_List_Tail, Comp_Unit);
end if;
- if Trace_Generate > Extra then
+ if Trace_Generate_EBNF > Extra then
Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line ("new comp_unit:");
Tree.Print_Tree (Wisitoken_Grammar_Actions.Descriptor, Unit);
@@ -1540,9 +1550,28 @@ package body WisiToken_Grammar_Runtime is
New_Nonterminal_List_1 (List_Nonterm, RHS_Element_1, RHS_Element_3,
Byte_Region);
end New_Nonterminal_List;
+ procedure Copy_Non_Grammar
+ (From : in Valid_Node_Index;
+ To : in Valid_Node_Index)
+ is
+ From_Aug : constant Base_Token_Class_Access := Tree.Augmented (From);
+ begin
+ if From_Aug /= null then
+ declare
+ New_Aug : constant Augmented_Token_Access := new
Augmented_Token'
+ (ID => Tree.ID (From),
+ Tree_Index => To,
+ Non_Grammar => Augmented_Token_Access (From_Aug).Non_Grammar,
+ others => <>);
+ begin
+ Tree.Set_Augmented (To, Base_Token_Class_Access (New_Aug));
+ end;
+ end if;
+ end Copy_Non_Grammar;
+
procedure Process_Node (Node : in Valid_Node_Index)
is begin
- if Trace_Generate > Detail then
+ if Trace_Generate_EBNF > Detail then
Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line ("translate node" & Node_Index'Image (Node));
end if;
@@ -1552,13 +1581,15 @@ package body WisiToken_Grammar_Runtime is
when declaration_ID =>
-- Must be "%meta_syntax EBNF"; change to BNF
declare
- Decl_Item : constant Valid_Node_Index := Tree.Find_Descendant
+ Decl_Item : constant Valid_Node_Index :=
Tree.Find_Descendant
(Tree.Child (Node, 3), +declaration_item_ID);
- Children : Valid_Node_Index_Array := Tree.Children (Decl_Item);
+ Old_Children : constant Valid_Node_Index_Array := Tree.Children
(Decl_Item);
+ New_Children : constant Valid_Node_Index_Array :=
+ (1 => Tree.Add_Identifier
+ (+IDENTIFIER_ID, New_Identifier ("BNF"), Tree.Byte_Region
(Decl_Item)));
begin
- Children (1) := Tree.Add_Identifier
- (+IDENTIFIER_ID, New_Identifier ("BNF"), Tree.Byte_Region
(Decl_Item));
- Tree.Set_Children (Decl_Item, (+declaration_item_ID, 1),
Children);
+ Copy_Non_Grammar (Old_Children (1), New_Children (1));
+ Tree.Set_Children (Decl_Item, (+declaration_item_ID, 1),
New_Children);
end;
when rhs_alternative_list_ID =>
@@ -1613,14 +1644,15 @@ package body WisiToken_Grammar_Runtime is
-- | | | rhs_alternative_list: Child (Node, 2)
-- | | | RIGHT_PAREN
- -- See if there's an existing nonterminal for this content.
declare
- Element_Content : constant String := Get_Text (Data,
Tree, Tree.Child (Node, 2));
- Temp : Node_Index := First_List_Element
+ Element_Content : constant String := Get_Text (Data,
Tree, Tree.Child (Node, 2));
+ Right_Paren_Node : constant Valid_Node_Index := Tree.Child
(Node, 3);
+ Temp : Node_Index :=
First_List_Element
(Tree.Child (Tree.Root, 1), +compilation_unit_ID);
- Name_Node : Node_Index;
- New_Ident : Base_Identifier_Index :=
Invalid_Identifier_Index;
+ Name_Node : Node_Index;
+ New_Ident : Base_Identifier_Index :=
Invalid_Identifier_Index;
begin
+ -- See if there's an existing nonterminal for this content.
loop
pragma Assert (Tree.ID (Temp) = +compilation_unit_ID);
@@ -1664,6 +1696,7 @@ package body WisiToken_Grammar_Runtime is
end if;
Tree.Set_Node_Identifier (Node, +IDENTIFIER_ID, New_Ident);
+ Copy_Non_Grammar (Right_Paren_Node, Node);
Tree.Set_Children (Tree.Parent (Node), (+rhs_item_ID, 0), (1 =>
Node));
Clear_EBNF_Node (Node);
end;
@@ -1810,7 +1843,7 @@ package body WisiToken_Grammar_Runtime is
declare
List_Name_Node : constant Valid_Node_Index :=
Tree.Find_Ancestor (RHS_2, +nonterminal_ID);
- List_Name_Tok : constant Token_Index :=
Tree.Min_Terminal_Index (List_Name_Node);
+ List_Name_Tok : constant Token_Index :=
Tree.First_Shared_Terminal (List_Name_Node);
List_Name_Region : constant Buffer_Region :=
Data.Terminals.all (List_Name_Tok).Byte_Region;
List_Name : constant String :=
Data.Grammar_Lexer.Buffer_Text (List_Name_Region);
@@ -1823,13 +1856,13 @@ package body WisiToken_Grammar_Runtime is
RHS_1_Action : constant Node_Index :=
(case RHS_2_Index is
when 2 | 3 => Tree.Add_Terminal
- (Tree.Min_Terminal_Index (RHS_2_Children (2)),
Data.Terminals.all),
+ (Tree.First_Shared_Terminal (RHS_2_Children (2)),
Data.Terminals.all),
when others => Invalid_Node_Index);
RHS_1_Check : constant Node_Index :=
(case RHS_2_Index is
when 3 => Tree.Add_Terminal
- (Tree.Min_Terminal_Index (RHS_2_Children (3)),
Data.Terminals.all),
+ (Tree.First_Shared_Terminal (RHS_2_Children (3)),
Data.Terminals.all),
when others => Invalid_Node_Index);
RHS_1 : constant Valid_Node_Index :=
@@ -1902,7 +1935,7 @@ package body WisiToken_Grammar_Runtime is
Clear_EBNF_Node (Node);
- if Trace_Generate > Extra then
+ if Trace_Generate_EBNF > Extra then
Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line ("edited rhs_list:");
Tree.Print_Tree (Wisitoken_Grammar_Actions.Descriptor,
Tree.Parent (RHS_2));
@@ -2000,7 +2033,7 @@ package body WisiToken_Grammar_Runtime is
if Element_Content = RHS_1 and RHS_2 =
Expected_RHS_2 then
case Tree.Label (Name_Node) is
when Shared_Terminal =>
- List_Nonterm_Terminal_Name :=
Tree.Min_Terminal_Index (Name_Node);
+ List_Nonterm_Terminal_Name :=
Tree.First_Shared_Terminal (Name_Node);
when Virtual_Identifier =>
List_Nonterm_Virtual_Name :=
Tree.Identifier (Name_Node);
when others =>
@@ -2042,7 +2075,7 @@ package body WisiToken_Grammar_Runtime is
then
List_Nonterm_Virtual_Name := Next_Nonterm_Name
("_list");
New_Nonterminal_List
- (List_Nonterm_Virtual_Name, Tree.Min_Terminal_Index
(Tree.Child (Node, 2)),
+ (List_Nonterm_Virtual_Name,
Tree.First_Shared_Terminal (Tree.Child (Node, 2)),
Data.Terminals.all, Tree.Byte_Region (Node));
end if;
else
@@ -2063,7 +2096,8 @@ package body WisiToken_Grammar_Runtime is
if List_Nonterm_Virtual_Name = Invalid_Identifier_Index then
List_Nonterm_Virtual_Name := Next_Nonterm_Name ("_list");
New_Nonterminal_List
- (List_Nonterm_Virtual_Name, Tree.Min_Terminal_Index
(Tree.Child (Node, 1)), Data.Terminals.all,
+ (List_Nonterm_Virtual_Name,
+ Tree.First_Shared_Terminal (Tree.Child (Node, 1)),
Data.Terminals.all,
Tree.Byte_Region (Node));
end if;
@@ -2089,7 +2123,7 @@ package body WisiToken_Grammar_Runtime is
Clear_EBNF_Node (Node);
- if Trace_Generate > Extra then
+ if Trace_Generate_EBNF > Extra then
Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line ("edited rhs_item:");
Tree.Print_Tree (Wisitoken_Grammar_Actions.Descriptor,
Parent_RHS_Item);
@@ -2165,7 +2199,7 @@ package body WisiToken_Grammar_Runtime is
Name_Identifier_Node := Tree.Child (Tree.Child
(Name_Element_Node, 1), 1);
else
-- Name has a label
- Name_Label := Tree.Min_Terminal_Index
(Tree.Child (Name_Element_Node, 1));
+ Name_Label :=
Tree.First_Shared_Terminal (Tree.Child (Name_Element_Node, 1));
Name_Identifier_Node := Tree.Child (Tree.Child
(Name_Element_Node, 3), 1);
end if;
@@ -2173,7 +2207,7 @@ package body WisiToken_Grammar_Runtime is
when Virtual_Identifier =>
Name_Ident := Tree.Identifier
(Name_Identifier_Node);
when Shared_Terminal =>
- Name_Terminal := Tree.Min_Terminal_Index
(Name_Identifier_Node);
+ Name_Terminal := Tree.First_Shared_Terminal
(Name_Identifier_Node);
when others =>
Raise_Programmer_Error ("unhandled rhs_optional
case ", Data, Tree, Name_Identifier_Node);
end case;
@@ -2308,7 +2342,7 @@ package body WisiToken_Grammar_Runtime is
end;
end if;
- if Trace_Generate > Extra then
+ if Trace_Generate_EBNF > Extra then
Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line ("edited rhs:");
Tree.Print_Tree
(Wisitoken_Grammar_Actions.Descriptor, RHS);
@@ -2484,7 +2518,7 @@ package body WisiToken_Grammar_Runtime is
Data.Meta_Syntax := BNF_Syntax;
- if Trace_Generate > Detail then
+ if Trace_Generate_EBNF > Detail then
Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line ("Identifiers:");
for I in Data.Tokens.Virtual_Identifiers.First_Index ..
Data.Tokens.Virtual_Identifiers.Last_Index loop
@@ -2500,29 +2534,39 @@ package body WisiToken_Grammar_Runtime is
is
use Ada.Text_IO;
use WisiToken.Syntax_Trees;
- File : File_Type;
- Comments_Include_Newline : Boolean;
- procedure Put_Comments (Node : in Valid_Node_Index)
+ File : File_Type;
+
+ procedure Put_Comments
+ (Node : in Valid_Node_Index;
+ Force_New_Line : in Boolean := False;
+ Force_Comment : in String := "")
is
- Token : constant Base_Token_Index := Tree.Max_Terminal_Index (Node);
+ Last_Term : constant Node_Index := Tree.Last_Terminal
(Node);
+ Aug : constant Base_Token_Class_Access :=
+ (if Last_Term = Invalid_Node_Index
+ then null
+ else Tree.Augmented (Last_Term));
+
+ Comments_Include_Newline : Boolean := False;
begin
- -- Not all tokens have trailing non_grammar, so Data.Non_Grammar may
- -- not have entries for every token.
- Comments_Include_Newline := False;
- if Token /= Invalid_Token_Index and then
- Token in Data.Non_Grammar.First_Index .. Data.Non_Grammar.Last_Index
- then
- declare
- Tokens : Base_Token_Arrays.Vector renames Data.Non_Grammar
(Token);
- begin
- for Token of Tokens loop
- if Token.ID = +NEW_LINE_ID then
- Comments_Include_Newline := True;
- end if;
- Put (File, Data.Grammar_Lexer.Buffer_Text
(Token.Byte_Region));
- end loop;
- end;
+ if Aug = null then
+ if Force_Comment /= "" then
+ Put_Line (File, Force_Comment);
+
+ elsif Force_New_Line then
+ New_Line (File);
+ end if;
+ else
+ for Token of Augmented_Token_Access (Aug).Non_Grammar loop
+ if Token.ID = +NEW_LINE_ID then
+ Comments_Include_Newline := True;
+ end if;
+ Put (File, Data.Grammar_Lexer.Buffer_Text (Token.Byte_Region));
+ end loop;
+ if Force_New_Line and not Comments_Include_Newline then
+ New_Line (File);
+ end if;
end if;
end Put_Comments;
@@ -2627,9 +2671,8 @@ package body WisiToken_Grammar_Runtime is
end Put_RHS_Item_List;
procedure Put_RHS
- (Node : in Valid_Node_Index;
- First : in Boolean;
- Virtual : in Boolean)
+ (Node : in Valid_Node_Index;
+ First : in Boolean)
with Pre => Tree.ID (Node) = +rhs_ID
is
Children : constant Valid_Node_Index_Array := Tree.Children (Node);
@@ -2637,34 +2680,19 @@ package body WisiToken_Grammar_Runtime is
Put (File, (if First then " : " else " | "));
case Tree.RHS_Index (Node) is
when 0 =>
- if Virtual then
- Put_Line (File, ";; empty");
- else
- Put_Comments (Tree.Parent (Node));
- end if;
+ Put_Comments (Tree.Parent (Node), Force_Comment => ";; empty");
when 1 .. 3 =>
Put_RHS_Item_List (Children (1));
- if Virtual then
- New_Line (File);
- else
- Put_Comments (Children (1));
- end if;
+ Put_Comments (Children (1), Force_New_Line => True);
if Tree.RHS_Index (Node) > 1 then
Put (File, " %(" & Get_Text (Data, Tree, Children (2)) &
")%"); -- action
- if Virtual then
- New_Line (File);
- else
- Put_Comments (Children (2));
- end if;
+ Put_Comments (Children (2), Force_New_Line => True);
+
if Tree.RHS_Index (Node) > 2 then
Put (File, " %(" & Get_Text (Data, Tree, Children (3)) &
")%"); -- check
- if Virtual then
- New_Line (File);
- else
- Put_Comments (Children (3));
- end if;
+ Put_Comments (Children (3), Force_New_Line => True);
end if;
end if;
@@ -2693,11 +2721,11 @@ package body WisiToken_Grammar_Runtime is
begin
case Tree.RHS_Index (Node) is
when 0 =>
- Put_RHS (Children (1), First, Virtual or Children (1) >
Data.EBNF_Nodes.Last_Index);
+ Put_RHS (Children (1), First);
First := False;
when 1 =>
Put_RHS_List (Children (1), First, Virtual);
- Put_RHS (Children (3), First => False, Virtual => Virtual or
Children (3) > Data.EBNF_Nodes.Last_Index);
+ Put_RHS (Children (3), First => False);
when 2 =>
Put
(File, "%if " & Get_Text (Data, Tree, Children (3)) & " = " &
Get_Text (Data, Tree, Children (4)));
@@ -2764,11 +2792,7 @@ package body WisiToken_Grammar_Runtime is
Put (File, " " & Get_Text (Data, Tree, Children (3)));
Put_Declaration_Item_List (Children (4));
- if Tree.Is_Virtual (Children (4)) then
- New_Line (File);
- else
- Put_Comments (Children (4));
- end if;
+ Put_Comments (Children (4), Force_New_Line => True);
when 1 =>
Put (File, "%code ");
@@ -2814,14 +2838,7 @@ package body WisiToken_Grammar_Runtime is
First : Boolean := True;
begin
Put (File, Get_Text (Data, Tree, Children (1)));
- if Virtual then
- New_Line (File);
- else
- Put_Comments (Children (1));
- if not Comments_Include_Newline then
- New_Line (File);
- end if;
- end if;
+ Put_Comments (Children (1), Force_New_Line => True);
Put_RHS_List (Children (3), First, Virtual);
@@ -2847,13 +2864,9 @@ package body WisiToken_Grammar_Runtime is
Put_Line (File, ";;; generated from " & Data.Grammar_Lexer.File_Name & "
-*- buffer-read-only:t -*-");
Put_Line (File, ";;;");
- declare
- Tokens : Base_Token_Arrays.Vector renames Data.Non_Grammar (0);
- begin
- for Token of Tokens loop
- Put (File, Data.Grammar_Lexer.Buffer_Text (Token.Byte_Region));
- end loop;
- end;
+ for Token of Data.Leading_Non_Grammar loop
+ Put (File, Data.Grammar_Lexer.Buffer_Text (Token.Byte_Region));
+ end loop;
Process_Node (Tree.Root);
diff --git a/packages/wisi/wisitoken_grammar_runtime.ads
b/packages/wisi/wisitoken_grammar_runtime.ads
index df848a9..082e26e 100644
--- a/packages/wisi/wisitoken_grammar_runtime.ads
+++ b/packages/wisi/wisitoken_grammar_runtime.ads
@@ -2,7 +2,7 @@
--
-- Runtime utils for wisi_grammar.wy actions.
--
--- Copyright (C) 2018 - 2019 Free Software Foundation, Inc.
+-- Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
--
-- This library is free software; you can redistribute it and/or modify it
-- under terms of the GNU General Public License as published by the Free
@@ -18,10 +18,10 @@
pragma License (Modified_GPL);
with Ada.Containers;
-with SAL.Gen_Unbounded_Definite_Vectors;
with WisiToken.BNF;
with WisiToken.Lexer;
with WisiToken.Syntax_Trees;
+with Wisitoken_Grammar_Actions;
package WisiToken_Grammar_Runtime is
type Meta_Syntax is (Unknown, BNF_Syntax, EBNF_Syntax);
@@ -29,10 +29,6 @@ package WisiToken_Grammar_Runtime is
type Action_Phase is (Meta, Other);
- package Base_Token_Array_Arrays is new SAL.Gen_Unbounded_Definite_Vectors
- (WisiToken.Base_Token_Index, WisiToken.Base_Token_Arrays.Vector,
- Default_Element => WisiToken.Base_Token_Arrays.Empty_Vector);
-
type User_Data_Type is new WisiToken.Syntax_Trees.User_Data_Type with
record
Grammar_Lexer : WisiToken.Lexer.Handle; -- used to read the .wy file now.
@@ -61,10 +57,10 @@ package WisiToken_Grammar_Runtime is
Conflicts : WisiToken.BNF.Conflict_Lists.List;
McKenzie_Recover : WisiToken.BNF.McKenzie_Recover_Param_Type;
- Non_Grammar : Base_Token_Array_Arrays.Vector;
- -- Non_Grammar (0) contains leading blank lines and comments;
- -- Non_Grammar (I) contains blank lines and comments following
- -- Terminals (I). Only used in Print_Source.
+ Leading_Non_Grammar : WisiToken.Base_Token_Arrays.Vector;
+ -- leading blank lines and comments
+
+ Last_Terminal_Node : WisiToken.Node_Index :=
WisiToken.Invalid_Node_Index;
Rule_Count : Integer := 0;
Action_Count : Integer := 0;
@@ -81,6 +77,15 @@ package WisiToken_Grammar_Runtime is
-- An '%if' specified a different lexer, during Execute_Actions
end record;
+ type Augmented_Token is new WisiToken.Base_Token with
+ record
+ Non_Grammar : WisiToken.Base_Token_Arrays.Vector;
+ end record;
+ type Augmented_Token_Access is access all Augmented_Token;
+
+ function Image (Item : in WisiToken.Base_Token_Class_Access) return String
+ is (WisiToken.Image (Augmented_Token_Access (Item).Non_Grammar,
Wisitoken_Grammar_Actions.Descriptor));
+
overriding
procedure Set_Lexer_Terminals
(User_Data : in out User_Data_Type;
@@ -97,37 +102,38 @@ package WisiToken_Grammar_Runtime is
overriding
procedure Lexer_To_Augmented
(Data : in out User_Data_Type;
+ Tree : in out WisiToken.Syntax_Trees.Tree'Class;
Token : in WisiToken.Base_Token;
Lexer : not null access WisiToken.Lexer.Instance'Class);
procedure Start_If
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure End_If (User_Data : in out
WisiToken.Syntax_Trees.User_Data_Type'Class);
procedure Add_Declaration
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure Add_Nonterminal
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+ Tokens : in WisiToken.Valid_Node_Index_Array);
procedure Check_EBNF
(User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
Tree : in WisiToken.Syntax_Trees.Tree;
- Tokens : in WisiToken.Syntax_Trees.Valid_Node_Index_Array;
+ Tokens : in WisiToken.Valid_Node_Index_Array;
Token : in WisiToken.Positive_Index_Type);
procedure Translate_EBNF_To_BNF
(Tree : in out WisiToken.Syntax_Trees.Tree;
Data : in out User_Data_Type);
-- Process EBNF nonterms, adding new nonterms as needed, resulting in
- -- a BNF tree. Descriptor is used for error messages.
+ -- a BNF tree.
--
-- Generator.LR.*_Generate requires a BNF grammar.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] master 76cc87e 2/2: Merge commit 'ebee84452d6c68aa4032ad958b0b1b9c0abb53ef',
Stephen Leake <=