branch: externals/wisitoken-grammar-mode commit 66e5952d38d404cd0c37787f5e01a4cc0f2ccea4 Author: Stephen Leake <stephen_le...@stephe-leake.org> Commit: Stephen Leake <stephen_le...@stephe-leake.org>
In wisitoken-grammar-mode, release version 1.2.0 --- wisitoken-grammar-mode.el | 36 +++++++------ wisitoken_grammar_1.wy | 4 ++ wisitoken_grammar_1_process_actions.adb | 72 ++++++++++++++++++++++++++ wisitoken_grammar_1_process_actions.ads | 20 ++++++++ wisitoken_grammar_1_process_main.adb | 90 +++++++++++++++++---------------- 5 files changed, 163 insertions(+), 59 deletions(-) diff --git a/wisitoken-grammar-mode.el b/wisitoken-grammar-mode.el index 96e1541..704638b 100644 --- a/wisitoken-grammar-mode.el +++ b/wisitoken-grammar-mode.el @@ -5,7 +5,7 @@ ;; Author: Stephen Leake <stephen_le...@stephe-leake.org> ;; Maintainer: Stephen Leake <stephen_le...@stephe-leake.org> ;; Keywords: languages -;; Version: 1.1.0 +;; Version: 1.2.0 ;; package-requires: ((wisi "3.1.1") (emacs "25.0") (mmm-mode "0.5.7")) ;; url: http://www.nongnu.org/ada-mode/ @@ -40,16 +40,24 @@ :group 'languages) (defcustom wisitoken-grammar-process-parse-exec "wisitoken_grammar_mode_parse.exe" + ;; wisitoken_grammar.gpr uses .exe even on non-windows. "Name of executable to use for external process wisitoken-grammar parser," :type 'string :group 'wisitoken-grammar) (defvar wisitoken-grammar-mode-syntax-table (let ((table (make-syntax-table))) - ;; see wisitoken-grammar-syntax-propertize for comment start - (modify-syntax-entry ?\n "> " table) - (modify-syntax-entry ?= ". " table) ;; default symbol - (modify-syntax-entry ?* ". " table) ;; default symbol + (modify-syntax-entry ?\; ". 12" table) ;; ";;" comment start; default punctuation + (modify-syntax-entry ?\n "> " table) ;; comment end + (modify-syntax-entry ?= ". " table) ;; default symbol + (modify-syntax-entry ?* ". " table) ;; default symbol + + ;; WORKAROUND (see mmm github issue 130) Because mmm does not + ;; limit syntax-ppss, we can't set ?\' to string here; that sees + ;; ?\' in 'code' and 'action' blocks. In addition, we prefer + ;; font-lock-constant-face for tokens. So we handle ?\' in the + ;; parser. + table)) (defvar wisitoken-grammar-mode-map @@ -60,6 +68,7 @@ (define-key map "\C-c\C-f" 'wisi-show-parse-error) (define-key map "\C-c\C-m" 'wisitoken-grammar-mmm-parse) (define-key map [S-return] 'wisitoken-grammar-new-line) + (define-key map "\C-c`" 'ada-show-secondary-error) map ) "Local keymap used for wisitoken-grammar mode.") @@ -175,7 +184,7 @@ "If in action, call `mmm-parse-region' on it." (interactive) (save-excursion - (let* ((begin (search-backward-regexp "%[(}]" nil t)) + (let* ((begin (search-backward-regexp "%[({]" nil t)) (end (when begin (search-forward-regexp "[)}]%" nil t)))) (when (and begin end) (mmm-parse-region begin end))) @@ -236,19 +245,14 @@ Otherwise insert a plain new line." (goto-char start) (save-match-data (while (re-search-forward - (concat - "\\(;;\\)" ;; comment start - "\\|\\(%\\[\\)" ;; regexp begin - ) + "\\(%\\[\\)" ;; regexp begin end t) (cond ((match-beginning 1) - (put-text-property (match-beginning 1) (match-end 1) 'syntax-table '(11 . nil))) - - ((match-beginning 2) - (let ((begin (match-beginning 2)) + (let ((begin (match-beginning 1)) (end (search-forward "]%"))) - ;; allow single quotes in regexp to not mess up the rest of the buffer + ;; allow single quotes in regexp to not mess up the rest + ;; of the buffer (put-text-property begin end 'syntax-table '(11 . nil)) )) )) @@ -358,7 +362,7 @@ Otherwise insert a plain new line." (define-derived-mode wisitoken-grammar-mode prog-mode "Wisi" "A major mode for Wisi grammar files." (set (make-local-variable 'syntax-propertize-function) 'wisitoken-grammar-syntax-propertize) - (syntax-ppss-flush-cache (point-min));; reparse with new function + (set (make-local-variable 'parse-sexp-ignore-comments) t) (set (make-local-variable 'parse-sexp-lookup-properties) t) diff --git a/wisitoken_grammar_1.wy b/wisitoken_grammar_1.wy index 3950b86..69bb3cd 100644 --- a/wisitoken_grammar_1.wy +++ b/wisitoken_grammar_1.wy @@ -181,7 +181,9 @@ declaration_item | RIGHT_PAREN | SLASH | STRING_LITERAL_1 + %((wisi-face-apply-action [1 nil font-lock-string-face]))% | STRING_LITERAL_2 + %((wisi-face-apply-action [1 nil font-lock-string-face]))% | TOKEN ;; ",", "token", "/", "(", ")" appear in %conflict declarations ; @@ -235,6 +237,7 @@ rhs_item_list rhs_item : IDENTIFIER | STRING_LITERAL_2 ;; value of token + %((wisi-face-apply-action [1 nil font-lock-constant-face]))% | rhs_attribute ;; ANTLR attribute | rhs_optional_item | rhs_multiple_item @@ -250,6 +253,7 @@ rhs_optional_item | LEFT_PAREN rhs_alternative_list RIGHT_PAREN QUESTION | IDENTIFIER QUESTION | STRING_LITERAL_2 QUESTION + %((wisi-face-apply-action [1 nil font-lock-constant-face]))% ; rhs_multiple_item diff --git a/wisitoken_grammar_1_process_actions.adb b/wisitoken_grammar_1_process_actions.adb index 14a4920..bcbc566 100644 --- a/wisitoken_grammar_1_process_actions.adb +++ b/wisitoken_grammar_1_process_actions.adb @@ -191,6 +191,42 @@ package body Wisitoken_Grammar_1_Process_Actions is end case; end declaration_item_5; + procedure declaration_item_8 + (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class; + Tree : in out WisiToken.Syntax_Trees.Tree; + Nonterm : in WisiToken.Valid_Node_Index; + Tokens : in WisiToken.Valid_Node_Index_Array) + is + Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type (User_Data); + begin + case Parse_Data.Post_Parse_Action is + when Navigate => + null; + when Face => + Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 5, 3))); + when Indent => + null; + end case; + end declaration_item_8; + + procedure declaration_item_9 + (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class; + Tree : in out WisiToken.Syntax_Trees.Tree; + Nonterm : in WisiToken.Valid_Node_Index; + Tokens : in WisiToken.Valid_Node_Index_Array) + is + Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type (User_Data); + begin + case Parse_Data.Post_Parse_Action is + when Navigate => + null; + when Face => + Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 5, 3))); + when Indent => + null; + end case; + end declaration_item_9; + procedure nonterminal_0 (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class; Tree : in out WisiToken.Syntax_Trees.Tree; @@ -306,6 +342,42 @@ package body Wisitoken_Grammar_1_Process_Actions is end case; end rhs_3; + 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.Valid_Node_Index; + Tokens : in WisiToken.Valid_Node_Index_Array) + is + Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type (User_Data); + begin + case Parse_Data.Post_Parse_Action is + when Navigate => + null; + when Face => + Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 5, 0))); + when Indent => + null; + end case; + end rhs_item_1; + + 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.Valid_Node_Index; + Tokens : in WisiToken.Valid_Node_Index_Array) + is + Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type (User_Data); + begin + case Parse_Data.Post_Parse_Action is + when Navigate => + null; + when Face => + Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 5, 0))); + when Indent => + null; + end case; + end rhs_optional_item_3; + procedure compilation_unit_list_0 (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class; Tree : in out WisiToken.Syntax_Trees.Tree; diff --git a/wisitoken_grammar_1_process_actions.ads b/wisitoken_grammar_1_process_actions.ads index 2574c95..b53261e 100644 --- a/wisitoken_grammar_1_process_actions.ads +++ b/wisitoken_grammar_1_process_actions.ads @@ -211,6 +211,16 @@ package Wisitoken_Grammar_1_Process_Actions is Tree : in out WisiToken.Syntax_Trees.Tree; Nonterm : in WisiToken.Valid_Node_Index; Tokens : in WisiToken.Valid_Node_Index_Array); + procedure declaration_item_8 + (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class; + Tree : in out WisiToken.Syntax_Trees.Tree; + Nonterm : in WisiToken.Valid_Node_Index; + Tokens : in WisiToken.Valid_Node_Index_Array); + procedure declaration_item_9 + (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class; + Tree : in out WisiToken.Syntax_Trees.Tree; + Nonterm : in WisiToken.Valid_Node_Index; + Tokens : in WisiToken.Valid_Node_Index_Array); procedure nonterminal_0 (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class; Tree : in out WisiToken.Syntax_Trees.Tree; @@ -241,6 +251,16 @@ package Wisitoken_Grammar_1_Process_Actions is Tree : in out WisiToken.Syntax_Trees.Tree; 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.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.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; diff --git a/wisitoken_grammar_1_process_main.adb b/wisitoken_grammar_1_process_main.adb index f408395..61ac8dc 100644 --- a/wisitoken_grammar_1_process_main.adb +++ b/wisitoken_grammar_1_process_main.adb @@ -285,13 +285,13 @@ package body Wisitoken_Grammar_1_Process_Main is Table.States (33).Kernel := To_Vector ((0 => ((42, 1), 33, 0, (42, 1), 1))); Table.States (33).Minimal_Complete_Actions := To_Vector ((0 => (Reduce, (42, 1), 1))); 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, 8), 1, null, - null); + Add_Action (Table.States (34), (8, 10, 15, 16, 20, 23, 28, 30, 32, 33, 34, 35, 36), (42, 8), 1, + declaration_item_8'Access, null); Table.States (34).Kernel := To_Vector ((0 => ((42, 8), 34, 0, (42, 8), 1))); Table.States (34).Minimal_Complete_Actions := To_Vector ((0 => (Reduce, (42, 8), 1))); Table.States (35).Action_List.Set_Capacity (13); - Add_Action (Table.States (35), (8, 10, 15, 16, 20, 23, 28, 30, 32, 33, 34, 35, 36), (42, 9), 1, null, - null); + Add_Action (Table.States (35), (8, 10, 15, 16, 20, 23, 28, 30, 32, 33, 34, 35, 36), (42, 9), 1, + declaration_item_9'Access, null); Table.States (35).Kernel := To_Vector ((0 => ((42, 9), 35, 0, (42, 9), 1))); Table.States (35).Minimal_Complete_Actions := To_Vector ((0 => (Reduce, (42, 9), 1))); Table.States (36).Action_List.Set_Capacity (13); @@ -418,18 +418,18 @@ package body Wisitoken_Grammar_1_Process_Main is Table.States (43).Minimal_Complete_Actions := To_Vector (((Reduce, (50, 0), 1), (Shift, (52, 2), 25, 106), (Shift, (53, 4), 24, 105), (Shift, (53, 5), 31, 107))); Table.States (44).Action_List.Set_Capacity (12); - Add_Action (Table.States (44), 11, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (44), 12, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (44), 18, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (44), 19, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (44), 20, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (44), 21, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (44), 23, Reduce, (50, 1), 1, null, null); + Add_Action (Table.States (44), 11, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (44), 12, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (44), 18, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (44), 19, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (44), 20, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (44), 21, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (44), 23, Reduce, (50, 1), 1, rhs_item_1'Access, null); Add_Action (Table.States (44), 25, (52, 3), 108); - Add_Action (Table.States (44), 29, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (44), 33, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (44), 35, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (44), 36, Reduce, (50, 1), 1, null, null); + Add_Action (Table.States (44), 29, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (44), 33, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (44), 35, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (44), 36, Reduce, (50, 1), 1, rhs_item_1'Access, null); Table.States (44).Kernel := To_Vector ((((50, 1), 35, 0, (50, 1), 1), ((52, 3), 35, 1, (2147483647, 0), 0))); Table.States (44).Minimal_Complete_Actions := To_Vector (((Reduce, (50, 1), 1), (Shift, (52, 3), 25, @@ -622,15 +622,15 @@ package body Wisitoken_Grammar_1_Process_Main is Table.States (65).Minimal_Complete_Actions := To_Vector (((Reduce, (50, 0), 1), (Shift, (52, 2), 25, 124), (Shift, (53, 4), 24, 123), (Shift, (53, 5), 31, 125))); Table.States (66).Action_List.Set_Capacity (9); - Add_Action (Table.States (66), 12, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (66), 18, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (66), 19, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (66), 20, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (66), 21, Reduce, (50, 1), 1, null, null); + Add_Action (Table.States (66), 12, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (66), 18, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (66), 19, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (66), 20, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (66), 21, Reduce, (50, 1), 1, rhs_item_1'Access, null); Add_Action (Table.States (66), 25, (52, 3), 126); - Add_Action (Table.States (66), 26, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (66), 33, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (66), 35, Reduce, (50, 1), 1, null, null); + Add_Action (Table.States (66), 26, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (66), 33, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (66), 35, Reduce, (50, 1), 1, rhs_item_1'Access, null); Table.States (66).Kernel := To_Vector ((((50, 1), 35, 0, (50, 1), 1), ((52, 3), 35, 1, (2147483647, 0), 0))); Table.States (66).Minimal_Complete_Actions := To_Vector (((Reduce, (50, 1), 1), (Shift, (52, 3), 25, @@ -763,15 +763,15 @@ package body Wisitoken_Grammar_1_Process_Main is Table.States (79).Minimal_Complete_Actions := To_Vector (((Reduce, (50, 0), 1), (Shift, (52, 2), 25, 136), (Shift, (53, 4), 24, 135), (Shift, (53, 5), 31, 137))); Table.States (80).Action_List.Set_Capacity (9); - Add_Action (Table.States (80), 12, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (80), 18, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (80), 19, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (80), 20, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (80), 21, Reduce, (50, 1), 1, null, null); + Add_Action (Table.States (80), 12, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (80), 18, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (80), 19, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (80), 20, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (80), 21, Reduce, (50, 1), 1, rhs_item_1'Access, null); Add_Action (Table.States (80), 25, (52, 3), 138); - Add_Action (Table.States (80), 27, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (80), 33, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (80), 35, Reduce, (50, 1), 1, null, null); + Add_Action (Table.States (80), 27, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (80), 33, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (80), 35, Reduce, (50, 1), 1, rhs_item_1'Access, null); Table.States (80).Kernel := To_Vector ((((50, 1), 35, 0, (50, 1), 1), ((52, 3), 35, 1, (2147483647, 0), 0))); Table.States (80).Minimal_Complete_Actions := To_Vector (((Reduce, (50, 1), 1), (Shift, (52, 3), 25, @@ -907,15 +907,15 @@ package body Wisitoken_Grammar_1_Process_Main is Table.States (93).Minimal_Complete_Actions := To_Vector (((Reduce, (50, 0), 1), (Shift, (52, 2), 25, 148), (Shift, (53, 4), 24, 147), (Shift, (53, 5), 31, 149))); Table.States (94).Action_List.Set_Capacity (9); - Add_Action (Table.States (94), 12, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (94), 18, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (94), 19, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (94), 20, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (94), 21, Reduce, (50, 1), 1, null, null); + Add_Action (Table.States (94), 12, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (94), 18, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (94), 19, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (94), 20, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (94), 21, Reduce, (50, 1), 1, rhs_item_1'Access, null); Add_Action (Table.States (94), 25, (52, 3), 150); - Add_Action (Table.States (94), 28, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (94), 33, Reduce, (50, 1), 1, null, null); - Add_Action (Table.States (94), 35, Reduce, (50, 1), 1, null, null); + Add_Action (Table.States (94), 28, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (94), 33, Reduce, (50, 1), 1, rhs_item_1'Access, null); + Add_Action (Table.States (94), 35, Reduce, (50, 1), 1, rhs_item_1'Access, null); Table.States (94).Kernel := To_Vector ((((50, 1), 35, 0, (50, 1), 1), ((52, 3), 35, 1, (2147483647, 0), 0))); Table.States (94).Minimal_Complete_Actions := To_Vector (((Reduce, (50, 1), 1), (Shift, (52, 3), 25, @@ -1002,7 +1002,8 @@ package body Wisitoken_Grammar_1_Process_Main is Table.States (107).Kernel := To_Vector ((0 => ((53, 5), 31, 0, (53, 5), 2))); Table.States (107).Minimal_Complete_Actions := To_Vector ((0 => (Reduce, (53, 5), 2))); Table.States (108).Action_List.Set_Capacity (11); - Add_Action (Table.States (108), (11, 12, 18, 19, 20, 21, 23, 29, 33, 35, 36), (52, 3), 2, null, null); + Add_Action (Table.States (108), (11, 12, 18, 19, 20, 21, 23, 29, 33, 35, 36), (52, 3), 2, + rhs_optional_item_3'Access, null); Table.States (108).Kernel := To_Vector ((0 => ((52, 3), 25, 0, (52, 3), 2))); Table.States (108).Minimal_Complete_Actions := To_Vector ((0 => (Reduce, (52, 3), 2))); Table.States (109).Action_List.Set_Capacity (10); @@ -1119,7 +1120,8 @@ package body Wisitoken_Grammar_1_Process_Main is Table.States (125).Kernel := To_Vector ((0 => ((53, 5), 31, 0, (53, 5), 2))); Table.States (125).Minimal_Complete_Actions := To_Vector ((0 => (Reduce, (53, 5), 2))); Table.States (126).Action_List.Set_Capacity (8); - Add_Action (Table.States (126), (12, 18, 19, 20, 21, 26, 33, 35), (52, 3), 2, null, null); + Add_Action (Table.States (126), (12, 18, 19, 20, 21, 26, 33, 35), (52, 3), 2, rhs_optional_item_3'Access, + null); Table.States (126).Kernel := To_Vector ((0 => ((52, 3), 25, 0, (52, 3), 2))); Table.States (126).Minimal_Complete_Actions := To_Vector ((0 => (Reduce, (52, 3), 2))); Table.States (127).Action_List.Set_Capacity (8); @@ -1211,7 +1213,8 @@ package body Wisitoken_Grammar_1_Process_Main is Table.States (137).Kernel := To_Vector ((0 => ((53, 5), 31, 0, (53, 5), 2))); Table.States (137).Minimal_Complete_Actions := To_Vector ((0 => (Reduce, (53, 5), 2))); Table.States (138).Action_List.Set_Capacity (8); - Add_Action (Table.States (138), (12, 18, 19, 20, 21, 27, 33, 35), (52, 3), 2, null, null); + Add_Action (Table.States (138), (12, 18, 19, 20, 21, 27, 33, 35), (52, 3), 2, rhs_optional_item_3'Access, + null); Table.States (138).Kernel := To_Vector ((0 => ((52, 3), 25, 0, (52, 3), 2))); Table.States (138).Minimal_Complete_Actions := To_Vector ((0 => (Reduce, (52, 3), 2))); Table.States (139).Action_List.Set_Capacity (8); @@ -1290,7 +1293,8 @@ package body Wisitoken_Grammar_1_Process_Main is Table.States (149).Kernel := To_Vector ((0 => ((53, 5), 31, 0, (53, 5), 2))); Table.States (149).Minimal_Complete_Actions := To_Vector ((0 => (Reduce, (53, 5), 2))); Table.States (150).Action_List.Set_Capacity (8); - Add_Action (Table.States (150), (12, 18, 19, 20, 21, 28, 33, 35), (52, 3), 2, null, null); + Add_Action (Table.States (150), (12, 18, 19, 20, 21, 28, 33, 35), (52, 3), 2, rhs_optional_item_3'Access, + null); Table.States (150).Kernel := To_Vector ((0 => ((52, 3), 25, 0, (52, 3), 2))); Table.States (150).Minimal_Complete_Actions := To_Vector ((0 => (Reduce, (52, 3), 2))); Table.States (151).Action_List.Set_Capacity (8);