From e37f40b99adb77440ac882fdf822199e2c567e0b Mon Sep 17 00:00:00 2001 From: Jason Evans Date: Fri, 23 Aug 2024 15:05:20 -0700 Subject: [PATCH] Add binding error tests (currently failing) --- bootstrap/bin/hocc/Parse.hmh | 17 +- bootstrap/bin/hocc/Parse.ml | 3811 +++++++++++------- bootstrap/bin/hocc/spec.ml | 4 +- bootstrap/test/hocc/Binding_error_b.expected | 0 bootstrap/test/hocc/Binding_error_b.hmh | 11 + bootstrap/test/hocc/Binding_error_c.expected | 0 bootstrap/test/hocc/Binding_error_c.hmh | 11 + bootstrap/test/hocc/Parse_a.hmh | 16 + bootstrap/test/hocc/dune | 24 + 9 files changed, 2448 insertions(+), 1446 deletions(-) create mode 100644 bootstrap/test/hocc/Binding_error_b.expected create mode 100644 bootstrap/test/hocc/Binding_error_b.hmh create mode 100644 bootstrap/test/hocc/Binding_error_c.expected create mode 100644 bootstrap/test/hocc/Binding_error_c.hmh diff --git a/bootstrap/bin/hocc/Parse.hmh b/bootstrap/bin/hocc/Parse.hmh index fadf827f7..9892d3f62 100644 --- a/bootstrap/bin/hocc/Parse.hmh +++ b/bootstrap/bin/hocc/Parse.hmh @@ -199,8 +199,8 @@ type nonterm_precs_tl = | PatternFieldPattern of {pattern: nonterm_pattern} and nonterm_pattern_fields = | PatternFieldsOne of {pattern_field: nonterm_pattern_field} - | PatternFieldsMulti of {pattern_field_a: nonterm_pattern_field; - pattern_field_b: nonterm_pattern_field} + | PatternFieldsMulti of {pattern_field: nonterm_pattern_field; + pattern_fields: nonterm_pattern_fields} and nonterm_semi_suffix = | SemiSuffix and nonterm_module_path = @@ -462,8 +462,8 @@ include hocc | pattern_field:PatternField | pattern_field:PatternField ";" "_" -> PatternFieldsOne {pattern_field} - | pattern_field_a:PatternField ";" pattern_field_b:PatternField - -> PatternFieldsMulti {pattern_field_a; pattern_field_b} + | pattern_field:PatternField ";" pattern_fields:PatternFields + -> PatternFieldsMulti {pattern_field=pattern_field; pattern_fields} nonterm SemiSuffix of nonterm_semi_suffix ::= | ";" @@ -499,8 +499,11 @@ include hocc | binding:Binding ":" prod_param_symbol:ProdParamSymbol -> ProdParamBinding {binding; prod_param_symbol} | lparen:"(" pattern:Pattern rparen:")" ":" prod_param_symbol:ProdParamSymbol + | ModulePath "." lparen:"(" pattern:Pattern rparen:")" ":" prod_param_symbol:ProdParamSymbol -> ProdParamPattern {lparen; pattern; rparen; prod_param_symbol} | lcurly:"{" fields:PatternFields SemiSuffix rcurly:"}" ":" prod_param_symbol:ProdParamSymbol + | ModulePath "." lcurly:"{" fields:PatternFields SemiSuffix rcurly:"}" ":" + prod_param_symbol:ProdParamSymbol -> ProdParamFields {lcurly; fields; rcurly; prod_param_symbol} | "_" ":" prod_param_symbol:ProdParamSymbol | prod_param_symbol:ProdParamSymbol @@ -1446,12 +1449,12 @@ let rec pp_token_hocc (HOCC {token_}) formatter = |> fmt_lcurly ~alt ~width |> Fmt.fmt "pattern_field=" |> fmt_pattern_field ~alt ~width:width' pattern_field |> fmt_rcurly ~alt ~width - | PatternFieldsMulti {pattern_field_a; pattern_field_b} -> + | PatternFieldsMulti {pattern_field; pattern_fields} -> formatter |> Fmt.fmt "PatternFieldsMulti " |> fmt_lcurly ~alt ~width - |> Fmt.fmt "pattern_field_a=" |> fmt_pattern_field ~alt ~width:width' pattern_field_a + |> Fmt.fmt "pattern_field=" |> fmt_pattern_field ~alt ~width:width' pattern_field |> fmt_semi ~alt ~width - |> Fmt.fmt "pattern_field_b=" |> fmt_pattern_field ~alt ~width:width' pattern_field_b + |> Fmt.fmt "pattern_fields=" |> fmt_pattern_fields ~alt ~width:width' pattern_fields |> fmt_rcurly ~alt ~width and pp_pattern_fields pattern_fields formatter = fmt_pattern_fields pattern_fields formatter diff --git a/bootstrap/bin/hocc/Parse.ml b/bootstrap/bin/hocc/Parse.ml index ab125347a..88a8dfe59 100644 --- a/bootstrap/bin/hocc/Parse.ml +++ b/bootstrap/bin/hocc/Parse.ml @@ -193,8 +193,8 @@ type nonterm_precs_tl = | PatternFieldPattern of {pattern: nonterm_pattern} and nonterm_pattern_fields = | PatternFieldsOne of {pattern_field: nonterm_pattern_field} - | PatternFieldsMulti of {pattern_field_a: nonterm_pattern_field; - pattern_field_b: nonterm_pattern_field} + | PatternFieldsMulti of {pattern_field: nonterm_pattern_field; + pattern_fields: nonterm_pattern_fields} and nonterm_semi_suffix = | SemiSuffix and nonterm_module_path = @@ -518,7 +518,7 @@ include struct ~prec:(Some (Array.get 3L precs)) ~callback:54L; Prod.init ~index:55L ~lhs_index:62L ~rhs_indexes:[|61L; 24L; 13L|] ~prec:(Some (Array.get 3L precs)) ~callback:55L; - Prod.init ~index:56L ~lhs_index:62L ~rhs_indexes:[|61L; 24L; 61L|] + Prod.init ~index:56L ~lhs_index:62L ~rhs_indexes:[|61L; 24L; 62L|] ~prec:(Some (Array.get 3L precs)) ~callback:56L; Prod.init ~index:57L ~lhs_index:63L ~rhs_indexes:[|24L|] ~prec:None ~callback:57L; @@ -554,104 +554,108 @@ include struct ~prec:None ~callback:72L; Prod.init ~index:73L ~lhs_index:67L ~rhs_indexes:[|29L; 65L; 30L; 17L; 66L|] ~prec:None ~callback:73L; - Prod.init ~index:74L ~lhs_index:67L ~rhs_indexes:[|37L; 62L; 63L; 38L; 17L; 66L|] + Prod.init ~index:74L ~lhs_index:67L ~rhs_indexes:[|64L; 18L; 29L; 65L; 30L; 17L; 66L|] ~prec:None ~callback:74L; - Prod.init ~index:75L ~lhs_index:67L ~rhs_indexes:[|13L; 17L; 66L|] + Prod.init ~index:75L ~lhs_index:67L ~rhs_indexes:[|37L; 62L; 63L; 38L; 17L; 66L|] ~prec:None ~callback:75L; - Prod.init ~index:76L ~lhs_index:67L ~rhs_indexes:[|66L|] + Prod.init ~index:76L ~lhs_index:67L ~rhs_indexes:[|64L; 18L; 37L; 62L; 63L; 38L; 17L; 66L|] ~prec:None ~callback:76L; - Prod.init ~index:77L ~lhs_index:68L ~rhs_indexes:[|67L; 68L|] + Prod.init ~index:77L ~lhs_index:67L ~rhs_indexes:[|13L; 17L; 66L|] ~prec:None ~callback:77L; - Prod.init ~index:78L ~lhs_index:68L ~rhs_indexes:[||] + Prod.init ~index:78L ~lhs_index:67L ~rhs_indexes:[|66L|] ~prec:None ~callback:78L; - Prod.init ~index:79L ~lhs_index:69L ~rhs_indexes:[|67L; 68L|] + Prod.init ~index:79L ~lhs_index:68L ~rhs_indexes:[|67L; 68L|] ~prec:None ~callback:79L; - Prod.init ~index:80L ~lhs_index:70L ~rhs_indexes:[|69L|] + Prod.init ~index:80L ~lhs_index:68L ~rhs_indexes:[||] ~prec:None ~callback:80L; - Prod.init ~index:81L ~lhs_index:70L ~rhs_indexes:[|4L|] + Prod.init ~index:81L ~lhs_index:69L ~rhs_indexes:[|67L; 68L|] ~prec:None ~callback:81L; - Prod.init ~index:82L ~lhs_index:71L ~rhs_indexes:[|70L; 49L|] + Prod.init ~index:82L ~lhs_index:70L ~rhs_indexes:[|69L|] ~prec:None ~callback:82L; - Prod.init ~index:83L ~lhs_index:72L ~rhs_indexes:[|20L; 71L; 72L|] + Prod.init ~index:83L ~lhs_index:70L ~rhs_indexes:[|4L|] ~prec:None ~callback:83L; - Prod.init ~index:84L ~lhs_index:72L ~rhs_indexes:[||] + Prod.init ~index:84L ~lhs_index:71L ~rhs_indexes:[|70L; 49L|] ~prec:None ~callback:84L; - Prod.init ~index:85L ~lhs_index:73L ~rhs_indexes:[|20L; 71L; 72L|] + Prod.init ~index:85L ~lhs_index:72L ~rhs_indexes:[|20L; 71L; 72L|] ~prec:None ~callback:85L; - Prod.init ~index:86L ~lhs_index:73L ~rhs_indexes:[|71L; 72L|] + Prod.init ~index:86L ~lhs_index:72L ~rhs_indexes:[||] ~prec:None ~callback:86L; - Prod.init ~index:87L ~lhs_index:74L ~rhs_indexes:[|73L; 19L; 59L|] + Prod.init ~index:87L ~lhs_index:73L ~rhs_indexes:[|20L; 71L; 72L|] ~prec:None ~callback:87L; - Prod.init ~index:88L ~lhs_index:75L ~rhs_indexes:[|20L; 74L; 75L|] + Prod.init ~index:88L ~lhs_index:73L ~rhs_indexes:[|71L; 72L|] ~prec:None ~callback:88L; - Prod.init ~index:89L ~lhs_index:75L ~rhs_indexes:[||] + Prod.init ~index:89L ~lhs_index:74L ~rhs_indexes:[|73L; 19L; 59L|] ~prec:None ~callback:89L; - Prod.init ~index:90L ~lhs_index:76L ~rhs_indexes:[|74L; 75L|] + Prod.init ~index:90L ~lhs_index:75L ~rhs_indexes:[|20L; 74L; 75L|] ~prec:None ~callback:90L; - Prod.init ~index:91L ~lhs_index:77L ~rhs_indexes:[|3L|] + Prod.init ~index:91L ~lhs_index:75L ~rhs_indexes:[||] ~prec:None ~callback:91L; - Prod.init ~index:92L ~lhs_index:77L ~rhs_indexes:[|5L|] + Prod.init ~index:92L ~lhs_index:76L ~rhs_indexes:[|74L; 75L|] ~prec:None ~callback:92L; - Prod.init ~index:93L ~lhs_index:78L ~rhs_indexes:[|77L; 12L; 49L; 15L; 73L|] + Prod.init ~index:93L ~lhs_index:77L ~rhs_indexes:[|3L|] ~prec:None ~callback:93L; - Prod.init ~index:94L ~lhs_index:78L ~rhs_indexes:[|77L; 12L; 47L; 49L; 15L; 76L|] + Prod.init ~index:94L ~lhs_index:77L ~rhs_indexes:[|5L|] ~prec:None ~callback:94L; - Prod.init ~index:95L ~lhs_index:79L ~rhs_indexes:[|45L|] + Prod.init ~index:95L ~lhs_index:78L ~rhs_indexes:[|77L; 12L; 49L; 15L; 73L|] ~prec:None ~callback:95L; - Prod.init ~index:96L ~lhs_index:79L ~rhs_indexes:[|51L|] + Prod.init ~index:96L ~lhs_index:78L ~rhs_indexes:[|77L; 12L; 47L; 49L; 15L; 76L|] ~prec:None ~callback:96L; - Prod.init ~index:97L ~lhs_index:79L ~rhs_indexes:[|78L|] + Prod.init ~index:97L ~lhs_index:79L ~rhs_indexes:[|45L|] ~prec:None ~callback:97L; - Prod.init ~index:98L ~lhs_index:79L ~rhs_indexes:[|59L|] + Prod.init ~index:98L ~lhs_index:79L ~rhs_indexes:[|51L|] ~prec:None ~callback:98L; - Prod.init ~index:99L ~lhs_index:80L ~rhs_indexes:[|26L; 79L; 80L|] + Prod.init ~index:99L ~lhs_index:79L ~rhs_indexes:[|78L|] ~prec:None ~callback:99L; - Prod.init ~index:100L ~lhs_index:80L ~rhs_indexes:[||] + Prod.init ~index:100L ~lhs_index:79L ~rhs_indexes:[|59L|] ~prec:None ~callback:100L; - Prod.init ~index:101L ~lhs_index:81L ~rhs_indexes:[|79L; 80L|] + Prod.init ~index:101L ~lhs_index:80L ~rhs_indexes:[|26L; 79L; 80L|] ~prec:None ~callback:101L; - Prod.init ~index:102L ~lhs_index:82L ~rhs_indexes:[|2L; 27L; 81L; 28L|] + Prod.init ~index:102L ~lhs_index:80L ~rhs_indexes:[||] ~prec:None ~callback:102L; - Prod.init ~index:103L ~lhs_index:83L ~rhs_indexes:[|57L|] + Prod.init ~index:103L ~lhs_index:81L ~rhs_indexes:[|79L; 80L|] ~prec:None ~callback:103L; - Prod.init ~index:104L ~lhs_index:83L ~rhs_indexes:[|52L|] + Prod.init ~index:104L ~lhs_index:82L ~rhs_indexes:[|2L; 27L; 81L; 28L|] ~prec:None ~callback:104L; - Prod.init ~index:105L ~lhs_index:83L ~rhs_indexes:[|27L|] + Prod.init ~index:105L ~lhs_index:83L ~rhs_indexes:[|57L|] ~prec:None ~callback:105L; - Prod.init ~index:106L ~lhs_index:83L ~rhs_indexes:[|28L|] + Prod.init ~index:106L ~lhs_index:83L ~rhs_indexes:[|52L|] ~prec:None ~callback:106L; - Prod.init ~index:107L ~lhs_index:83L ~rhs_indexes:[|29L|] + Prod.init ~index:107L ~lhs_index:83L ~rhs_indexes:[|27L|] ~prec:None ~callback:107L; - Prod.init ~index:108L ~lhs_index:83L ~rhs_indexes:[|30L|] + Prod.init ~index:108L ~lhs_index:83L ~rhs_indexes:[|28L|] ~prec:None ~callback:108L; - Prod.init ~index:109L ~lhs_index:83L ~rhs_indexes:[|31L|] + Prod.init ~index:109L ~lhs_index:83L ~rhs_indexes:[|29L|] ~prec:None ~callback:109L; - Prod.init ~index:110L ~lhs_index:83L ~rhs_indexes:[|32L|] + Prod.init ~index:110L ~lhs_index:83L ~rhs_indexes:[|30L|] ~prec:None ~callback:110L; - Prod.init ~index:111L ~lhs_index:83L ~rhs_indexes:[|33L|] + Prod.init ~index:111L ~lhs_index:83L ~rhs_indexes:[|31L|] ~prec:None ~callback:111L; - Prod.init ~index:112L ~lhs_index:83L ~rhs_indexes:[|34L|] + Prod.init ~index:112L ~lhs_index:83L ~rhs_indexes:[|32L|] ~prec:None ~callback:112L; - Prod.init ~index:113L ~lhs_index:83L ~rhs_indexes:[|35L|] + Prod.init ~index:113L ~lhs_index:83L ~rhs_indexes:[|33L|] ~prec:None ~callback:113L; - Prod.init ~index:114L ~lhs_index:83L ~rhs_indexes:[|36L|] + Prod.init ~index:114L ~lhs_index:83L ~rhs_indexes:[|34L|] ~prec:None ~callback:114L; - Prod.init ~index:115L ~lhs_index:83L ~rhs_indexes:[|37L|] + Prod.init ~index:115L ~lhs_index:83L ~rhs_indexes:[|35L|] ~prec:None ~callback:115L; - Prod.init ~index:116L ~lhs_index:83L ~rhs_indexes:[|38L|] + Prod.init ~index:116L ~lhs_index:83L ~rhs_indexes:[|36L|] ~prec:None ~callback:116L; - Prod.init ~index:117L ~lhs_index:84L ~rhs_indexes:[|83L; 84L|] + Prod.init ~index:117L ~lhs_index:83L ~rhs_indexes:[|37L|] ~prec:None ~callback:117L; - Prod.init ~index:118L ~lhs_index:84L ~rhs_indexes:[||] + Prod.init ~index:118L ~lhs_index:83L ~rhs_indexes:[|38L|] ~prec:None ~callback:118L; - Prod.init ~index:119L ~lhs_index:85L ~rhs_indexes:[|84L; 82L; 84L; 40L|] + Prod.init ~index:119L ~lhs_index:84L ~rhs_indexes:[|83L; 84L|] ~prec:None ~callback:119L; - Prod.init ~index:120L ~lhs_index:86L ~rhs_indexes:[|85L; 1L|] + Prod.init ~index:120L ~lhs_index:84L ~rhs_indexes:[||] ~prec:None ~callback:120L; - Prod.init ~index:121L ~lhs_index:87L ~rhs_indexes:[|84L; 2L; 84L; 40L|] + Prod.init ~index:121L ~lhs_index:85L ~rhs_indexes:[|84L; 82L; 84L; 40L|] ~prec:None ~callback:121L; - Prod.init ~index:122L ~lhs_index:88L ~rhs_indexes:[|87L; 1L|] - ~prec:None ~callback:122L + Prod.init ~index:122L ~lhs_index:86L ~rhs_indexes:[|85L; 1L|] + ~prec:None ~callback:122L; + Prod.init ~index:123L ~lhs_index:87L ~rhs_indexes:[|84L; 2L; 84L; 40L|] + ~prec:None ~callback:123L; + Prod.init ~index:124L ~lhs_index:88L ~rhs_indexes:[|87L; 1L|] + ~prec:None ~callback:124L |] module Symbol = struct @@ -1055,102 +1059,102 @@ include struct Array.get 74L prods; Array.get 75L prods; Array.get 76L prods; + Array.get 77L prods; + Array.get 78L prods; ]) ~first:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 29L; 37L]) ~follow:(Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L]); Symbol.init ~index:68L ~name:"ProdParamsTl" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ - Array.get 77L prods; - Array.get 78L prods; + Array.get 79L prods; + Array.get 80L prods; ]) ~first:(Ordset.of_list (module Uns) [0L; 11L; 12L; 13L; 14L; 29L; 37L]) ~follow:(Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L]); Symbol.init ~index:69L ~name:"ProdParams" ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 79L prods)) ~first:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 29L; 37L]) + ~prods:(Ordset.singleton (module Prod) (Array.get 81L prods)) ~first:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 29L; 37L]) ~follow:(Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L]); Symbol.init ~index:70L ~name:"ProdPattern" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ - Array.get 80L prods; - Array.get 81L prods; + Array.get 82L prods; + Array.get 83L prods; ]) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 13L; 14L; 29L; 37L]) ~follow:(Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L]); Symbol.init ~index:71L ~name:"Prod" ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 82L prods)) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 13L; 14L; 29L; 37L]) + ~prods:(Ordset.singleton (module Prod) (Array.get 84L prods)) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 13L; 14L; 29L; 37L]) ~follow:(Ordset.of_list (module Uns) [19L; 20L; 26L; 28L]); Symbol.init ~index:72L ~name:"ProdsTl" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ - Array.get 83L prods; - Array.get 84L prods; + Array.get 85L prods; + Array.get 86L prods; ]) ~first:(Ordset.of_list (module Uns) [0L; 20L]) ~follow:(Ordset.of_list (module Uns) [19L; 26L; 28L]); Symbol.init ~index:73L ~name:"Prods" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ - Array.get 85L prods; - Array.get 86L prods; + Array.get 87L prods; + Array.get 88L prods; ]) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 13L; 14L; 20L; 29L; 37L]) ~follow:(Ordset.of_list (module Uns) [19L; 26L; 28L]); Symbol.init ~index:74L ~name:"Reduction" ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 87L prods)) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 13L; 14L; 20L; 29L; 37L]) + ~prods:(Ordset.singleton (module Prod) (Array.get 89L prods)) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 13L; 14L; 20L; 29L; 37L]) ~follow:(Ordset.of_list (module Uns) [20L; 26L; 28L]); Symbol.init ~index:75L ~name:"ReductionsTl" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ - Array.get 88L prods; - Array.get 89L prods; + Array.get 90L prods; + Array.get 91L prods; ]) ~first:(Ordset.of_list (module Uns) [0L; 20L]) ~follow:(Ordset.of_list (module Uns) [26L; 28L]); Symbol.init ~index:76L ~name:"Reductions" ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 90L prods)) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 13L; 14L; 20L; 29L; 37L]) + ~prods:(Ordset.singleton (module Prod) (Array.get 92L prods)) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 13L; 14L; 20L; 29L; 37L]) ~follow:(Ordset.of_list (module Uns) [26L; 28L]); Symbol.init ~index:77L ~name:"NontermType" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ - Array.get 91L prods; - Array.get 92L prods; + Array.get 93L prods; + Array.get 94L prods; ]) ~first:(Ordset.of_list (module Uns) [3L; 5L]) ~follow:(Ordset.singleton (module Uns) 12L); Symbol.init ~index:78L ~name:"Nonterm" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ - Array.get 93L prods; - Array.get 94L prods; + Array.get 95L prods; + Array.get 96L prods; ]) ~first:(Ordset.of_list (module Uns) [3L; 5L]) ~follow:(Ordset.of_list (module Uns) [26L; 28L]); Symbol.init ~index:79L ~name:"Stmt" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ - Array.get 95L prods; - Array.get 96L prods; Array.get 97L prods; Array.get 98L prods; + Array.get 99L prods; + Array.get 100L prods; ]) ~first:(Ordset.of_list (module Uns) [3L; 5L; 6L; 7L; 8L; 9L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 25L; 27L; 29L; 31L; 33L; 35L; 37L; 39L]) ~follow:(Ordset.of_list (module Uns) [26L; 28L]); Symbol.init ~index:80L ~name:"StmtsTl" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ - Array.get 99L prods; - Array.get 100L prods; + Array.get 101L prods; + Array.get 102L prods; ]) ~first:(Ordset.of_list (module Uns) [0L; 26L]) ~follow:(Ordset.singleton (module Uns) 28L); Symbol.init ~index:81L ~name:"Stmts" ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 101L prods)) ~first:(Ordset.of_list (module Uns) [3L; 5L; 6L; 7L; 8L; 9L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 25L; 27L; 29L; 31L; 33L; 35L; 37L; 39L]) + ~prods:(Ordset.singleton (module Prod) (Array.get 103L prods)) ~first:(Ordset.of_list (module Uns) [3L; 5L; 6L; 7L; 8L; 9L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 25L; 27L; 29L; 31L; 33L; 35L; 37L; 39L]) ~follow:(Ordset.singleton (module Uns) 28L); Symbol.init ~index:82L ~name:"Hocc" ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 102L prods)) ~first:(Ordset.singleton (module Uns) 2L) + ~prods:(Ordset.singleton (module Prod) (Array.get 104L prods)) ~first:(Ordset.singleton (module Uns) 2L) ~follow:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); Symbol.init ~index:83L ~name:"MatterToken" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ - Array.get 103L prods; - Array.get 104L prods; Array.get 105L prods; Array.get 106L prods; Array.get 107L prods; @@ -1163,30 +1167,32 @@ include struct Array.get 114L prods; Array.get 115L prods; Array.get 116L prods; + Array.get 117L prods; + Array.get 118L prods; ]) ~first:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L]) ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); Symbol.init ~index:84L ~name:"Matter" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ - Array.get 117L prods; - Array.get 118L prods; + Array.get 119L prods; + Array.get 120L prods; ]) ~first:(Ordset.of_list (module Uns) [0L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L]) ~follow:(Ordset.of_list (module Uns) [2L; 40L]); Symbol.init ~index:85L ~name:"Hmh" ~prec:None ~alias:None ~start:true - ~prods:(Ordset.singleton (module Prod) (Array.get 119L prods)) ~first:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L]) + ~prods:(Ordset.singleton (module Prod) (Array.get 121L prods)) ~first:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L]) ~follow:(Ordset.singleton (module Uns) 1L); Symbol.init ~index:86L ~name:"Hmh'" ~prec:None ~alias:None ~start:true - ~prods:(Ordset.singleton (module Prod) (Array.get 120L prods)) ~first:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L]) + ~prods:(Ordset.singleton (module Prod) (Array.get 122L prods)) ~first:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L]) ~follow:(Ordset.singleton (module Uns) 0L); Symbol.init ~index:87L ~name:"Hmhi" ~prec:None ~alias:None ~start:true - ~prods:(Ordset.singleton (module Prod) (Array.get 121L prods)) ~first:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L]) + ~prods:(Ordset.singleton (module Prod) (Array.get 123L prods)) ~first:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L]) ~follow:(Ordset.singleton (module Uns) 1L); Symbol.init ~index:88L ~name:"Hmhi'" ~prec:None ~alias:None ~start:true - ~prods:(Ordset.singleton (module Prod) (Array.get 122L prods)) ~first:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L]) + ~prods:(Ordset.singleton (module Prod) (Array.get 124L prods)) ~first:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L]) ~follow:(Ordset.singleton (module Uns) 0L) |] @@ -1391,7 +1397,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 120L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 122L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [0L] ) in @@ -1513,20 +1519,6 @@ include struct ) in lr0item, lr1item ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 103L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 104L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] - ) in - lr0item, lr1item - ); ( let lr0item = Lr0Item.init ~prod:(Array.get 105L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( @@ -1614,19 +1606,33 @@ include struct ( let lr0item = Lr0Item.init ~prod:(Array.get 117L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [2L] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 118L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [2L] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 119L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [2L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 120L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [2L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 121L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -1637,7 +1643,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 118L); + (2L, Action.Reduce 120L); (11L, Action.ShiftPrefix 2L); (12L, Action.ShiftPrefix 3L); (13L, Action.ShiftPrefix 4L); @@ -1684,7 +1690,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 122L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 124L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [0L] ) in @@ -1806,20 +1812,6 @@ include struct ) in lr0item, lr1item ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 103L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 104L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] - ) in - lr0item, lr1item - ); ( let lr0item = Lr0Item.init ~prod:(Array.get 105L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( @@ -1907,19 +1899,33 @@ include struct ( let lr0item = Lr0Item.init ~prod:(Array.get 117L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [2L] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 118L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 119L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [2L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 121L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 120L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [2L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 123L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -1930,7 +1936,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 118L); + (2L, Action.Reduce 120L); (11L, Action.ShiftPrefix 2L); (12L, Action.ShiftPrefix 3L); (13L, Action.ShiftPrefix 4L); @@ -2814,118 +2820,6 @@ include struct ~lr1ItemsetClosure:( Lr1ItemsetClosure.init ~index:17L - ~kernel:( - Lr1Itemset.init [ - ( - let lr0item = Lr0Item.init ~prod:(Array.get 105L prods) ~dot:1L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] - ) in - lr0item, lr1item - ); - ] - ) - ~added:( - Lr1Itemset.empty - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (2L, Action.Reduce 105L); - (11L, Action.Reduce 105L); - (12L, Action.Reduce 105L); - (13L, Action.Reduce 105L); - (14L, Action.Reduce 105L); - (16L, Action.Reduce 105L); - (17L, Action.Reduce 105L); - (18L, Action.Reduce 105L); - (19L, Action.Reduce 105L); - (20L, Action.Reduce 105L); - (21L, Action.Reduce 105L); - (22L, Action.Reduce 105L); - (23L, Action.Reduce 105L); - (24L, Action.Reduce 105L); - (25L, Action.Reduce 105L); - (26L, Action.Reduce 105L); - (27L, Action.Reduce 105L); - (28L, Action.Reduce 105L); - (29L, Action.Reduce 105L); - (30L, Action.Reduce 105L); - (31L, Action.Reduce 105L); - (32L, Action.Reduce 105L); - (33L, Action.Reduce 105L); - (34L, Action.Reduce 105L); - (35L, Action.Reduce 105L); - (36L, Action.Reduce 105L); - (37L, Action.Reduce 105L); - (38L, Action.Reduce 105L); - (39L, Action.Reduce 105L); - (40L, Action.Reduce 105L); - ] - ) - ~gotos:( - Map.empty (module Uns) - ); - (* 18 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:18L - ~kernel:( - Lr1Itemset.init [ - ( - let lr0item = Lr0Item.init ~prod:(Array.get 106L prods) ~dot:1L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] - ) in - lr0item, lr1item - ); - ] - ) - ~added:( - Lr1Itemset.empty - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (2L, Action.Reduce 106L); - (11L, Action.Reduce 106L); - (12L, Action.Reduce 106L); - (13L, Action.Reduce 106L); - (14L, Action.Reduce 106L); - (16L, Action.Reduce 106L); - (17L, Action.Reduce 106L); - (18L, Action.Reduce 106L); - (19L, Action.Reduce 106L); - (20L, Action.Reduce 106L); - (21L, Action.Reduce 106L); - (22L, Action.Reduce 106L); - (23L, Action.Reduce 106L); - (24L, Action.Reduce 106L); - (25L, Action.Reduce 106L); - (26L, Action.Reduce 106L); - (27L, Action.Reduce 106L); - (28L, Action.Reduce 106L); - (29L, Action.Reduce 106L); - (30L, Action.Reduce 106L); - (31L, Action.Reduce 106L); - (32L, Action.Reduce 106L); - (33L, Action.Reduce 106L); - (34L, Action.Reduce 106L); - (35L, Action.Reduce 106L); - (36L, Action.Reduce 106L); - (37L, Action.Reduce 106L); - (38L, Action.Reduce 106L); - (39L, Action.Reduce 106L); - (40L, Action.Reduce 106L); - ] - ) - ~gotos:( - Map.empty (module Uns) - ); - (* 19 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:19L ~kernel:( Lr1Itemset.init [ ( @@ -2978,10 +2872,10 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 20 *) State.init + (* 18 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:20L + ~index:18L ~kernel:( Lr1Itemset.init [ ( @@ -3034,10 +2928,10 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 21 *) State.init + (* 19 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:21L + ~index:19L ~kernel:( Lr1Itemset.init [ ( @@ -3090,10 +2984,10 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 22 *) State.init + (* 20 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:22L + ~index:20L ~kernel:( Lr1Itemset.init [ ( @@ -3146,10 +3040,10 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 23 *) State.init + (* 21 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:23L + ~index:21L ~kernel:( Lr1Itemset.init [ ( @@ -3202,10 +3096,10 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 24 *) State.init + (* 22 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:24L + ~index:22L ~kernel:( Lr1Itemset.init [ ( @@ -3258,10 +3152,10 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 25 *) State.init + (* 23 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:25L + ~index:23L ~kernel:( Lr1Itemset.init [ ( @@ -3314,10 +3208,10 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 26 *) State.init + (* 24 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:26L + ~index:24L ~kernel:( Lr1Itemset.init [ ( @@ -3370,10 +3264,10 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 27 *) State.init + (* 25 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:27L + ~index:25L ~kernel:( Lr1Itemset.init [ ( @@ -3426,10 +3320,10 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 28 *) State.init + (* 26 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:28L + ~index:26L ~kernel:( Lr1Itemset.init [ ( @@ -3482,10 +3376,122 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 29 *) State.init + (* 27 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:29L + ~index:27L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 117L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (2L, Action.Reduce 117L); + (11L, Action.Reduce 117L); + (12L, Action.Reduce 117L); + (13L, Action.Reduce 117L); + (14L, Action.Reduce 117L); + (16L, Action.Reduce 117L); + (17L, Action.Reduce 117L); + (18L, Action.Reduce 117L); + (19L, Action.Reduce 117L); + (20L, Action.Reduce 117L); + (21L, Action.Reduce 117L); + (22L, Action.Reduce 117L); + (23L, Action.Reduce 117L); + (24L, Action.Reduce 117L); + (25L, Action.Reduce 117L); + (26L, Action.Reduce 117L); + (27L, Action.Reduce 117L); + (28L, Action.Reduce 117L); + (29L, Action.Reduce 117L); + (30L, Action.Reduce 117L); + (31L, Action.Reduce 117L); + (32L, Action.Reduce 117L); + (33L, Action.Reduce 117L); + (34L, Action.Reduce 117L); + (35L, Action.Reduce 117L); + (36L, Action.Reduce 117L); + (37L, Action.Reduce 117L); + (38L, Action.Reduce 117L); + (39L, Action.Reduce 117L); + (40L, Action.Reduce 117L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 28 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:28L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 118L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (2L, Action.Reduce 118L); + (11L, Action.Reduce 118L); + (12L, Action.Reduce 118L); + (13L, Action.Reduce 118L); + (14L, Action.Reduce 118L); + (16L, Action.Reduce 118L); + (17L, Action.Reduce 118L); + (18L, Action.Reduce 118L); + (19L, Action.Reduce 118L); + (20L, Action.Reduce 118L); + (21L, Action.Reduce 118L); + (22L, Action.Reduce 118L); + (23L, Action.Reduce 118L); + (24L, Action.Reduce 118L); + (25L, Action.Reduce 118L); + (26L, Action.Reduce 118L); + (27L, Action.Reduce 118L); + (28L, Action.Reduce 118L); + (29L, Action.Reduce 118L); + (30L, Action.Reduce 118L); + (31L, Action.Reduce 118L); + (32L, Action.Reduce 118L); + (33L, Action.Reduce 118L); + (34L, Action.Reduce 118L); + (35L, Action.Reduce 118L); + (36L, Action.Reduce 118L); + (37L, Action.Reduce 118L); + (38L, Action.Reduce 118L); + (39L, Action.Reduce 118L); + (40L, Action.Reduce 118L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 29 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:29L ~kernel:( Lr1Itemset.init [ ( @@ -3545,7 +3551,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 104L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 106L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in @@ -3559,36 +3565,36 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 104L); - (11L, Action.Reduce 104L); - (12L, Action.Reduce 104L); - (13L, Action.Reduce 104L); - (14L, Action.Reduce 104L); - (16L, Action.Reduce 104L); - (17L, Action.Reduce 104L); - (18L, Action.Reduce 104L); - (19L, Action.Reduce 104L); - (20L, Action.Reduce 104L); - (21L, Action.Reduce 104L); - (22L, Action.Reduce 104L); - (23L, Action.Reduce 104L); - (24L, Action.Reduce 104L); - (25L, Action.Reduce 104L); - (26L, Action.Reduce 104L); - (27L, Action.Reduce 104L); - (28L, Action.Reduce 104L); - (29L, Action.Reduce 104L); - (30L, Action.Reduce 104L); - (31L, Action.Reduce 104L); - (32L, Action.Reduce 104L); - (33L, Action.Reduce 104L); - (34L, Action.Reduce 104L); - (35L, Action.Reduce 104L); - (36L, Action.Reduce 104L); - (37L, Action.Reduce 104L); - (38L, Action.Reduce 104L); - (39L, Action.Reduce 104L); - (40L, Action.Reduce 104L); + (2L, Action.Reduce 106L); + (11L, Action.Reduce 106L); + (12L, Action.Reduce 106L); + (13L, Action.Reduce 106L); + (14L, Action.Reduce 106L); + (16L, Action.Reduce 106L); + (17L, Action.Reduce 106L); + (18L, Action.Reduce 106L); + (19L, Action.Reduce 106L); + (20L, Action.Reduce 106L); + (21L, Action.Reduce 106L); + (22L, Action.Reduce 106L); + (23L, Action.Reduce 106L); + (24L, Action.Reduce 106L); + (25L, Action.Reduce 106L); + (26L, Action.Reduce 106L); + (27L, Action.Reduce 106L); + (28L, Action.Reduce 106L); + (29L, Action.Reduce 106L); + (30L, Action.Reduce 106L); + (31L, Action.Reduce 106L); + (32L, Action.Reduce 106L); + (33L, Action.Reduce 106L); + (34L, Action.Reduce 106L); + (35L, Action.Reduce 106L); + (36L, Action.Reduce 106L); + (37L, Action.Reduce 106L); + (38L, Action.Reduce 106L); + (39L, Action.Reduce 106L); + (40L, Action.Reduce 106L); ] ) ~gotos:( @@ -3601,7 +3607,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 103L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 105L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in @@ -3615,36 +3621,36 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 103L); - (11L, Action.Reduce 103L); - (12L, Action.Reduce 103L); - (13L, Action.Reduce 103L); - (14L, Action.Reduce 103L); - (16L, Action.Reduce 103L); - (17L, Action.Reduce 103L); - (18L, Action.Reduce 103L); - (19L, Action.Reduce 103L); - (20L, Action.Reduce 103L); - (21L, Action.Reduce 103L); - (22L, Action.Reduce 103L); - (23L, Action.Reduce 103L); - (24L, Action.Reduce 103L); - (25L, Action.Reduce 103L); - (26L, Action.Reduce 103L); - (27L, Action.Reduce 103L); - (28L, Action.Reduce 103L); - (29L, Action.Reduce 103L); - (30L, Action.Reduce 103L); - (31L, Action.Reduce 103L); - (32L, Action.Reduce 103L); - (33L, Action.Reduce 103L); - (34L, Action.Reduce 103L); - (35L, Action.Reduce 103L); - (36L, Action.Reduce 103L); - (37L, Action.Reduce 103L); - (38L, Action.Reduce 103L); - (39L, Action.Reduce 103L); - (40L, Action.Reduce 103L); + (2L, Action.Reduce 105L); + (11L, Action.Reduce 105L); + (12L, Action.Reduce 105L); + (13L, Action.Reduce 105L); + (14L, Action.Reduce 105L); + (16L, Action.Reduce 105L); + (17L, Action.Reduce 105L); + (18L, Action.Reduce 105L); + (19L, Action.Reduce 105L); + (20L, Action.Reduce 105L); + (21L, Action.Reduce 105L); + (22L, Action.Reduce 105L); + (23L, Action.Reduce 105L); + (24L, Action.Reduce 105L); + (25L, Action.Reduce 105L); + (26L, Action.Reduce 105L); + (27L, Action.Reduce 105L); + (28L, Action.Reduce 105L); + (29L, Action.Reduce 105L); + (30L, Action.Reduce 105L); + (31L, Action.Reduce 105L); + (32L, Action.Reduce 105L); + (33L, Action.Reduce 105L); + (34L, Action.Reduce 105L); + (35L, Action.Reduce 105L); + (36L, Action.Reduce 105L); + (37L, Action.Reduce 105L); + (38L, Action.Reduce 105L); + (39L, Action.Reduce 105L); + (40L, Action.Reduce 105L); ] ) ~gotos:( @@ -3657,7 +3663,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 117L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 119L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [2L; 40L] ) in @@ -3779,20 +3785,6 @@ include struct ) in lr0item, lr1item ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 103L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 104L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] - ) in - lr0item, lr1item - ); ( let lr0item = Lr0Item.init ~prod:(Array.get 105L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( @@ -3880,12 +3872,26 @@ include struct ( let lr0item = Lr0Item.init ~prod:(Array.get 117L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [2L; 40L] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 118L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 119L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [2L; 40L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 120L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [2L; 40L] ) in @@ -3896,7 +3902,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 118L); + (2L, Action.Reduce 120L); (11L, Action.ShiftPrefix 2L); (12L, Action.ShiftPrefix 3L); (13L, Action.ShiftPrefix 4L); @@ -3925,7 +3931,7 @@ include struct (37L, Action.ShiftPrefix 27L); (38L, Action.ShiftPrefix 28L); (39L, Action.ShiftPrefix 29L); - (40L, Action.Reduce 118L); + (40L, Action.Reduce 120L); ] ) ~gotos:( @@ -3943,7 +3949,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 119L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 121L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -3954,7 +3960,7 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 102L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 104L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in @@ -3980,7 +3986,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 120L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 122L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [0L] ) in @@ -4007,7 +4013,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 121L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 123L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -4034,7 +4040,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 122L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 124L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [0L] ) in @@ -4061,7 +4067,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 117L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 119L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [2L; 40L] ) in @@ -4075,8 +4081,8 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 117L); - (40L, Action.Reduce 117L); + (2L, Action.Reduce 119L); + (40L, Action.Reduce 119L); ] ) ~gotos:( @@ -4089,7 +4095,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 102L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 104L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in @@ -4116,7 +4122,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 119L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 121L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -4238,20 +4244,6 @@ include struct ) in lr0item, lr1item ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 103L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 104L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] - ) in - lr0item, lr1item - ); ( let lr0item = Lr0Item.init ~prod:(Array.get 105L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( @@ -4339,12 +4331,26 @@ include struct ( let lr0item = Lr0Item.init ~prod:(Array.get 117L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [40L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 118L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 119L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [40L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 120L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [40L] ) in @@ -4383,7 +4389,7 @@ include struct (37L, Action.ShiftPrefix 27L); (38L, Action.ShiftPrefix 28L); (39L, Action.ShiftPrefix 29L); - (40L, Action.Reduce 118L); + (40L, Action.Reduce 120L); ] ) ~gotos:( @@ -4401,7 +4407,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 120L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 122L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [0L] ) in @@ -4415,7 +4421,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (0L, Action.Reduce 120L); + (0L, Action.Reduce 122L); ] ) ~gotos:( @@ -4428,7 +4434,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 121L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 123L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -4550,20 +4556,6 @@ include struct ) in lr0item, lr1item ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 103L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 104L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] - ) in - lr0item, lr1item - ); ( let lr0item = Lr0Item.init ~prod:(Array.get 105L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( @@ -4651,20 +4643,34 @@ include struct ( let lr0item = Lr0Item.init ~prod:(Array.get 117L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [40L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 118L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 119L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [40L] ) in lr0item, lr1item ); - ] - ) - ) + ( + let lr0item = Lr0Item.init ~prod:(Array.get 120L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [40L] + ) in + lr0item, lr1item + ); + ] + ) + ) ~actions:( Map.of_alist (module Uns) [ (11L, Action.ShiftPrefix 2L); @@ -4695,7 +4701,7 @@ include struct (37L, Action.ShiftPrefix 27L); (38L, Action.ShiftPrefix 28L); (39L, Action.ShiftPrefix 29L); - (40L, Action.Reduce 118L); + (40L, Action.Reduce 120L); ] ) ~gotos:( @@ -4713,7 +4719,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 122L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 124L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [0L] ) in @@ -4727,7 +4733,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (0L, Action.Reduce 122L); + (0L, Action.Reduce 124L); ] ) ~gotos:( @@ -4740,7 +4746,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 102L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 104L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in @@ -4933,63 +4939,63 @@ include struct lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 91L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 93L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [12L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 92L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 94L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [12L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 93L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 95L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 94L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 95L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 97L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 98L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 97L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 99L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 98L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 100L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 101L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 103L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [28L] ) in @@ -5048,7 +5054,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 119L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 121L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -5075,7 +5081,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 121L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 123L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -5102,7 +5108,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 91L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 93L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [12L] ) in @@ -5116,7 +5122,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (12L, Action.Reduce 91L); + (12L, Action.Reduce 93L); ] ) ~gotos:( @@ -5129,7 +5135,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 92L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 94L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [12L] ) in @@ -5143,7 +5149,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (12L, Action.Reduce 92L); + (12L, Action.Reduce 94L); ] ) ~gotos:( @@ -6601,7 +6607,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 95L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 97L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -6615,8 +6621,8 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (26L, Action.Reduce 95L); - (28L, Action.Reduce 95L); + (26L, Action.Reduce 97L); + (28L, Action.Reduce 97L); ] ) ~gotos:( @@ -6629,7 +6635,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 98L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -6643,8 +6649,8 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (26L, Action.Reduce 96L); - (28L, Action.Reduce 96L); + (26L, Action.Reduce 98L); + (28L, Action.Reduce 98L); ] ) ~gotos:( @@ -7083,7 +7089,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 98L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 100L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -7097,8 +7103,8 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (26L, Action.Reduce 98L); - (28L, Action.Reduce 98L); + (26L, Action.Reduce 100L); + (28L, Action.Reduce 100L); ] ) ~gotos:( @@ -7111,14 +7117,14 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 93L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 95L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 94L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -7145,7 +7151,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 97L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 99L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -7159,8 +7165,8 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (26L, Action.Reduce 97L); - (28L, Action.Reduce 97L); + (26L, Action.Reduce 99L); + (28L, Action.Reduce 99L); ] ) ~gotos:( @@ -7173,7 +7179,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 101L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 103L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [28L] ) in @@ -7184,14 +7190,14 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 99L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 101L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 100L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 102L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [28L] ) in @@ -7203,7 +7209,7 @@ include struct ~actions:( Map.of_alist (module Uns) [ (26L, Action.ShiftPrefix 85L); - (28L, Action.Reduce 100L); + (28L, Action.Reduce 102L); ] ) ~gotos:( @@ -7218,7 +7224,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 102L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 104L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in @@ -7245,7 +7251,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 119L prods) ~dot:4L in + let lr0item = Lr0Item.init ~prod:(Array.get 121L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -7259,7 +7265,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (1L, Action.Reduce 119L); + (1L, Action.Reduce 121L); ] ) ~gotos:( @@ -7272,7 +7278,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 121L prods) ~dot:4L in + let lr0item = Lr0Item.init ~prod:(Array.get 123L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -7286,7 +7292,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (1L, Action.Reduce 121L); + (1L, Action.Reduce 123L); ] ) ~gotos:( @@ -8156,14 +8162,14 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 93L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 95L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 94L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -8217,7 +8223,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 99L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 101L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [28L] ) in @@ -8410,56 +8416,56 @@ include struct lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 91L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 93L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [12L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 92L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 94L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [12L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 93L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 95L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 94L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 95L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 97L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 98L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 97L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 99L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 98L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 100L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -8517,7 +8523,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 101L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 103L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [28L] ) in @@ -8531,7 +8537,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (28L, Action.Reduce 101L); + (28L, Action.Reduce 103L); ] ) ~gotos:( @@ -8544,7 +8550,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 102L prods) ~dot:4L in + let lr0item = Lr0Item.init ~prod:(Array.get 104L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in @@ -8558,35 +8564,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.Reduce 102L); - (12L, Action.Reduce 102L); - (13L, Action.Reduce 102L); - (14L, Action.Reduce 102L); - (16L, Action.Reduce 102L); - (17L, Action.Reduce 102L); - (18L, Action.Reduce 102L); - (19L, Action.Reduce 102L); - (20L, Action.Reduce 102L); - (21L, Action.Reduce 102L); - (22L, Action.Reduce 102L); - (23L, Action.Reduce 102L); - (24L, Action.Reduce 102L); - (25L, Action.Reduce 102L); - (26L, Action.Reduce 102L); - (27L, Action.Reduce 102L); - (28L, Action.Reduce 102L); - (29L, Action.Reduce 102L); - (30L, Action.Reduce 102L); - (31L, Action.Reduce 102L); - (32L, Action.Reduce 102L); - (33L, Action.Reduce 102L); - (34L, Action.Reduce 102L); - (35L, Action.Reduce 102L); - (36L, Action.Reduce 102L); - (37L, Action.Reduce 102L); - (38L, Action.Reduce 102L); - (39L, Action.Reduce 102L); - (40L, Action.Reduce 102L); + (11L, Action.Reduce 104L); + (12L, Action.Reduce 104L); + (13L, Action.Reduce 104L); + (14L, Action.Reduce 104L); + (16L, Action.Reduce 104L); + (17L, Action.Reduce 104L); + (18L, Action.Reduce 104L); + (19L, Action.Reduce 104L); + (20L, Action.Reduce 104L); + (21L, Action.Reduce 104L); + (22L, Action.Reduce 104L); + (23L, Action.Reduce 104L); + (24L, Action.Reduce 104L); + (25L, Action.Reduce 104L); + (26L, Action.Reduce 104L); + (27L, Action.Reduce 104L); + (28L, Action.Reduce 104L); + (29L, Action.Reduce 104L); + (30L, Action.Reduce 104L); + (31L, Action.Reduce 104L); + (32L, Action.Reduce 104L); + (33L, Action.Reduce 104L); + (34L, Action.Reduce 104L); + (35L, Action.Reduce 104L); + (36L, Action.Reduce 104L); + (37L, Action.Reduce 104L); + (38L, Action.Reduce 104L); + (39L, Action.Reduce 104L); + (40L, Action.Reduce 104L); ] ) ~gotos:( @@ -9444,7 +9450,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 94L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -9489,7 +9495,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 93L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 95L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -9516,7 +9522,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 99L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 101L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [28L] ) in @@ -9527,14 +9533,14 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 99L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 101L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 100L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 102L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [28L] ) in @@ -9546,7 +9552,7 @@ include struct ~actions:( Map.of_alist (module Uns) [ (26L, Action.ShiftPrefix 85L); - (28L, Action.Reduce 100L); + (28L, Action.Reduce 102L); ] ) ~gotos:( @@ -9869,7 +9875,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 94L prods) ~dot:4L in + let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -9896,7 +9902,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 93L prods) ~dot:4L in + let lr0item = Lr0Item.init ~prod:(Array.get 95L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -9913,6 +9919,20 @@ include struct ) in lr0item, lr1item ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 70L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( @@ -9963,16 +9983,16 @@ include struct lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 79L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 77L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 20L; 26L; 28L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 80L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 78L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 20L; 26L; 28L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); @@ -9985,20 +10005,34 @@ include struct ); ( let lr0item = Lr0Item.init ~prod:(Array.get 82L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 20L; 26L; 28L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 83L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 20L; 26L; 28L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 84L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [20L; 26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 85L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 87L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 86L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 88L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -10022,12 +10056,13 @@ include struct ~gotos:( Map.of_alist (module Uns) [ (60L, 133L); - (66L, 134L); - (67L, 135L); - (69L, 136L); - (70L, 137L); - (71L, 138L); - (73L, 139L); + (64L, 134L); + (66L, 135L); + (67L, 136L); + (69L, 137L); + (70L, 138L); + (71L, 139L); + (73L, 140L); ] ); (* 117 *) State.init @@ -10037,7 +10072,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 99L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 101L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [28L] ) in @@ -10051,7 +10086,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (28L, Action.Reduce 99L); + (28L, Action.Reduce 101L); ] ) ~gotos:( @@ -10138,7 +10173,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.ShiftPrefix 140L); + (11L, Action.ShiftPrefix 141L); ] ) ~gotos:( @@ -10214,7 +10249,7 @@ include struct ) ~gotos:( Map.of_alist (module Uns) [ - (46L, 141L); + (46L, 142L); ] ); (* 123 *) State.init @@ -10254,7 +10289,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 94L prods) ~dot:5L in + let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:5L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -10271,6 +10306,20 @@ include struct ) in lr0item, lr1item ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 70L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( @@ -10321,16 +10370,16 @@ include struct lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 79L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 77L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 29L; 37L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 80L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 78L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 29L; 37L] ) in lr0item, lr1item ); @@ -10343,34 +10392,48 @@ include struct ); ( let lr0item = Lr0Item.init ~prod:(Array.get 82L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 19L; 20L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 83L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 19L; 20L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 84L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 20L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 85L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 87L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 86L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 88L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 87L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 89L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [20L; 26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 90L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 92L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -10394,14 +10457,15 @@ include struct ~gotos:( Map.of_alist (module Uns) [ (60L, 133L); - (66L, 134L); - (67L, 135L); - (69L, 136L); - (70L, 137L); - (71L, 138L); - (73L, 142L); - (74L, 143L); - (76L, 144L); + (64L, 134L); + (66L, 135L); + (67L, 136L); + (69L, 137L); + (70L, 138L); + (71L, 139L); + (73L, 143L); + (74L, 144L); + (76L, 145L); ] ); (* 125 *) State.init @@ -10411,7 +10475,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 81L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 83L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] ) in @@ -10425,11 +10489,11 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 81L); - (19L, Action.Reduce 81L); - (20L, Action.Reduce 81L); - (26L, Action.Reduce 81L); - (28L, Action.Reduce 81L); + (10L, Action.Reduce 83L); + (19L, Action.Reduce 83L); + (20L, Action.Reduce 83L); + (26L, Action.Reduce 83L); + (28L, Action.Reduce 83L); ] ) ~gotos:( @@ -10473,6 +10537,13 @@ include struct ~index:127L ~kernel:( Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 70L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( @@ -10493,6 +10564,7 @@ include struct (12L, Action.Reduce 70L); (13L, Action.Reduce 70L); (14L, Action.Reduce 70L); + (18L, Action.Reduce 59L); (19L, Action.Reduce 70L); (20L, Action.Reduce 70L); (26L, Action.Reduce 70L); @@ -10511,7 +10583,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 75L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 77L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in @@ -10525,7 +10597,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (17L, Action.ShiftPrefix 145L); + (17L, Action.ShiftPrefix 146L); ] ) ~gotos:( @@ -10575,7 +10647,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 85L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 87L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 26L; 28L] ) in @@ -10592,6 +10664,20 @@ include struct ) in lr0item, lr1item ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 70L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( @@ -10642,16 +10728,16 @@ include struct lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 79L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 77L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 80L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 78L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); @@ -10664,6 +10750,20 @@ include struct ); ( let lr0item = Lr0Item.init ~prod:(Array.get 82L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 83L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 84L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 20L; 26L; 28L] ) in @@ -10686,11 +10786,12 @@ include struct ~gotos:( Map.of_alist (module Uns) [ (60L, 133L); - (66L, 134L); - (67L, 135L); - (69L, 136L); - (70L, 137L); - (71L, 146L); + (64L, 134L); + (66L, 135L); + (67L, 136L); + (69L, 137L); + (70L, 138L); + (71L, 147L); ] ); (* 131 *) State.init @@ -10800,17 +10901,17 @@ include struct ~actions:( Map.of_alist (module Uns) [ (11L, Action.ShiftPrefix 126L); - (12L, Action.ShiftPrefix 147L); - (13L, Action.ShiftPrefix 148L); - (29L, Action.ShiftPrefix 149L); - (37L, Action.ShiftPrefix 150L); + (12L, Action.ShiftPrefix 148L); + (13L, Action.ShiftPrefix 149L); + (29L, Action.ShiftPrefix 150L); + (37L, Action.ShiftPrefix 151L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (60L, 151L); - (64L, 152L); - (65L, 153L); + (60L, 152L); + (64L, 153L); + (65L, 154L); ] ); (* 132 *) State.init @@ -10820,7 +10921,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 75L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in @@ -10877,14 +10978,14 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.ShiftPrefix 154L); + (11L, Action.ShiftPrefix 155L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (60L, 155L); - (61L, 156L); - (62L, 157L); + (60L, 156L); + (61L, 157L); + (62L, 158L); ] ); (* 133 *) State.init @@ -10908,7 +11009,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (17L, Action.ShiftPrefix 158L); + (17L, Action.ShiftPrefix 159L); ] ) ~gotos:( @@ -10920,6 +11021,20 @@ include struct ~index:134L ~kernel:( Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 76L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( @@ -10935,17 +11050,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 76L); - (11L, Action.Reduce 76L); - (12L, Action.Reduce 76L); - (13L, Action.Reduce 76L); - (14L, Action.Reduce 76L); - (19L, Action.Reduce 76L); - (20L, Action.Reduce 76L); - (26L, Action.Reduce 76L); - (28L, Action.Reduce 76L); - (29L, Action.Reduce 76L); - (37L, Action.Reduce 76L); + (18L, Action.ShiftPrefix 160L); ] ) ~gotos:( @@ -10958,7 +11063,44 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 79L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 78L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (10L, Action.Reduce 78L); + (11L, Action.Reduce 78L); + (12L, Action.Reduce 78L); + (13L, Action.Reduce 78L); + (14L, Action.Reduce 78L); + (19L, Action.Reduce 78L); + (20L, Action.Reduce 78L); + (26L, Action.Reduce 78L); + (28L, Action.Reduce 78L); + (29L, Action.Reduce 78L); + (37L, Action.Reduce 78L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 136 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:136L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 81L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] ) in @@ -10975,6 +11117,20 @@ include struct ) in lr0item, lr1item ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 70L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( @@ -11027,12 +11183,26 @@ include struct ( let lr0item = Lr0Item.init ~prod:(Array.get 77L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 78L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 79L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 80L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] ) in @@ -11043,15 +11213,15 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 78L); + (10L, Action.Reduce 80L); (11L, Action.ShiftPrefix 126L); (12L, Action.ShiftPrefix 127L); (13L, Action.ShiftPrefix 128L); (14L, Action.ShiftPrefix 129L); - (19L, Action.Reduce 78L); - (20L, Action.Reduce 78L); - (26L, Action.Reduce 78L); - (28L, Action.Reduce 78L); + (19L, Action.Reduce 80L); + (20L, Action.Reduce 80L); + (26L, Action.Reduce 80L); + (28L, Action.Reduce 80L); (29L, Action.ShiftPrefix 131L); (37L, Action.ShiftPrefix 132L); ] @@ -11059,19 +11229,20 @@ include struct ~gotos:( Map.of_alist (module Uns) [ (60L, 133L); - (66L, 134L); - (67L, 159L); - (68L, 160L); + (64L, 134L); + (66L, 135L); + (67L, 161L); + (68L, 162L); ] ); - (* 136 *) State.init + (* 137 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:136L + ~index:137L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 80L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 82L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] ) in @@ -11085,24 +11256,24 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 80L); - (19L, Action.Reduce 80L); - (20L, Action.Reduce 80L); - (26L, Action.Reduce 80L); - (28L, Action.Reduce 80L); + (10L, Action.Reduce 82L); + (19L, Action.Reduce 82L); + (20L, Action.Reduce 82L); + (26L, Action.Reduce 82L); + (28L, Action.Reduce 82L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 137 *) State.init + (* 138 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:137L + ~index:138L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 82L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 84L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 20L; 26L; 28L] ) in @@ -11140,17 +11311,17 @@ include struct ) ~gotos:( Map.of_alist (module Uns) [ - (49L, 161L); + (49L, 163L); ] ); - (* 138 *) State.init + (* 139 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:138L + ~index:139L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 86L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 88L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 26L; 28L] ) in @@ -11161,14 +11332,14 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 83L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 85L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 84L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 86L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 26L; 28L] ) in @@ -11179,25 +11350,25 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (19L, Action.Reduce 84L); - (20L, Action.ShiftPrefix 162L); - (26L, Action.Reduce 84L); - (28L, Action.Reduce 84L); + (19L, Action.Reduce 86L); + (20L, Action.ShiftPrefix 164L); + (26L, Action.Reduce 86L); + (28L, Action.Reduce 86L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (72L, 163L); + (72L, 165L); ] ); - (* 139 *) State.init + (* 140 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:139L + ~index:140L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 93L prods) ~dot:5L in + let lr0item = Lr0Item.init ~prod:(Array.get 95L prods) ~dot:5L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -11211,17 +11382,17 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (26L, Action.Reduce 93L); - (28L, Action.Reduce 93L); + (26L, Action.Reduce 95L); + (28L, Action.Reduce 95L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 140 *) State.init + (* 141 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:140L + ~index:141L ~kernel:( Lr1Itemset.init [ ( @@ -11261,13 +11432,13 @@ include struct ) ~gotos:( Map.of_alist (module Uns) [ - (41L, 164L); + (41L, 166L); ] ); - (* 141 *) State.init + (* 142 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:141L + ~index:142L ~kernel:( Lr1Itemset.init [ ( @@ -11291,14 +11462,14 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 142 *) State.init + (* 143 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:142L + ~index:143L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 87L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 89L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [20L; 26L; 28L] ) in @@ -11312,20 +11483,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (19L, Action.ShiftPrefix 165L); + (19L, Action.ShiftPrefix 167L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 143 *) State.init + (* 144 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:143L + ~index:144L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 90L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 92L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -11336,14 +11507,14 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 88L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 90L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 89L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 91L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -11354,24 +11525,24 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (20L, Action.ShiftPrefix 166L); - (26L, Action.Reduce 89L); - (28L, Action.Reduce 89L); + (20L, Action.ShiftPrefix 168L); + (26L, Action.Reduce 91L); + (28L, Action.Reduce 91L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (75L, 167L); + (75L, 169L); ] ); - (* 144 *) State.init + (* 145 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:144L + ~index:145L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 94L prods) ~dot:6L in + let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:6L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -11385,21 +11556,21 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (26L, Action.Reduce 94L); - (28L, Action.Reduce 94L); + (26L, Action.Reduce 96L); + (28L, Action.Reduce 96L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 145 *) State.init + (* 146 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:145L + ~index:146L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 75L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 77L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in @@ -11428,23 +11599,23 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (12L, Action.ShiftPrefix 127L); + (12L, Action.ShiftPrefix 170L); (14L, Action.ShiftPrefix 129L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (66L, 168L); + (66L, 171L); ] ); - (* 146 *) State.init + (* 147 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:146L + ~index:147L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 85L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 87L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 26L; 28L] ) in @@ -11455,14 +11626,14 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 83L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 85L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 84L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 86L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 26L; 28L] ) in @@ -11473,21 +11644,21 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (19L, Action.Reduce 84L); - (20L, Action.ShiftPrefix 162L); - (26L, Action.Reduce 84L); - (28L, Action.Reduce 84L); + (19L, Action.Reduce 86L); + (20L, Action.ShiftPrefix 164L); + (26L, Action.Reduce 86L); + (28L, Action.Reduce 86L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (72L, 169L); + (72L, 172L); ] ); - (* 147 *) State.init + (* 148 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:147L + ~index:148L ~kernel:( Lr1Itemset.init [ ( @@ -11598,24 +11769,24 @@ include struct ~actions:( Map.of_alist (module Uns) [ (11L, Action.ShiftPrefix 126L); - (12L, Action.ShiftPrefix 147L); - (13L, Action.ShiftPrefix 148L); + (12L, Action.ShiftPrefix 148L); + (13L, Action.ShiftPrefix 149L); (18L, Action.Reduce 59L); - (29L, Action.ShiftPrefix 149L); - (37L, Action.ShiftPrefix 150L); + (29L, Action.ShiftPrefix 150L); + (37L, Action.ShiftPrefix 151L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (60L, 151L); - (64L, 152L); - (65L, 170L); + (60L, 152L); + (64L, 153L); + (65L, 173L); ] ); - (* 148 *) State.init + (* 149 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:148L + ~index:149L ~kernel:( Lr1Itemset.init [ ( @@ -11643,10 +11814,10 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 149 *) State.init + (* 150 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:149L + ~index:150L ~kernel:( Lr1Itemset.init [ ( @@ -11750,23 +11921,23 @@ include struct ~actions:( Map.of_alist (module Uns) [ (11L, Action.ShiftPrefix 126L); - (12L, Action.ShiftPrefix 147L); - (13L, Action.ShiftPrefix 148L); - (29L, Action.ShiftPrefix 149L); - (37L, Action.ShiftPrefix 150L); + (12L, Action.ShiftPrefix 148L); + (13L, Action.ShiftPrefix 149L); + (29L, Action.ShiftPrefix 150L); + (37L, Action.ShiftPrefix 151L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (60L, 151L); - (64L, 152L); - (65L, 171L); + (60L, 152L); + (64L, 153L); + (65L, 174L); ] ); - (* 150 *) State.init + (* 151 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:150L + ~index:151L ~kernel:( Lr1Itemset.init [ ( @@ -11827,20 +11998,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.ShiftPrefix 154L); + (11L, Action.ShiftPrefix 155L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (60L, 155L); - (61L, 156L); - (62L, 172L); + (60L, 156L); + (61L, 157L); + (62L, 175L); ] ); - (* 151 *) State.init + (* 152 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:151L + ~index:152L ~kernel:( Lr1Itemset.init [ ( @@ -11868,10 +12039,10 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 152 *) State.init + (* 153 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:152L + ~index:153L ~kernel:( Lr1Itemset.init [ ( @@ -11903,16 +12074,16 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (18L, Action.ShiftPrefix 173L); + (18L, Action.ShiftPrefix 176L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 153 *) State.init + (* 154 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:153L + ~index:154L ~kernel:( Lr1Itemset.init [ ( @@ -11944,18 +12115,18 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (23L, Action.ShiftPrefix 174L); - (25L, Action.ShiftPrefix 175L); - (30L, Action.ShiftPrefix 176L); + (23L, Action.ShiftPrefix 177L); + (25L, Action.ShiftPrefix 178L); + (30L, Action.ShiftPrefix 179L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 154 *) State.init + (* 155 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:154L + ~index:155L ~kernel:( Lr1Itemset.init [ ( @@ -11980,7 +12151,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (22L, Action.ShiftPrefix 177L); + (22L, Action.ShiftPrefix 180L); (24L, Action.Reduce 51L); (38L, Action.Reduce 51L); ] @@ -11988,10 +12159,10 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 155 *) State.init + (* 156 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:155L + ~index:156L ~kernel:( Lr1Itemset.init [ ( @@ -12016,10 +12187,10 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 156 *) State.init + (* 157 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:156L + ~index:157L ~kernel:( Lr1Itemset.init [ ( @@ -12051,21 +12222,21 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.ShiftPrefix 178L); + (24L, Action.ShiftPrefix 181L); (38L, Action.Reduce 54L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 157 *) State.init + (* 158 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:157L + ~index:158L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 75L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in @@ -12094,19 +12265,19 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.ShiftPrefix 179L); + (24L, Action.ShiftPrefix 182L); (38L, Action.Reduce 58L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (63L, 180L); + (63L, 183L); ] ); - (* 158 *) State.init + (* 159 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:158L + ~index:159L ~kernel:( Lr1Itemset.init [ ( @@ -12139,23 +12310,83 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (12L, Action.ShiftPrefix 127L); + (12L, Action.ShiftPrefix 170L); (14L, Action.ShiftPrefix 129L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (66L, 181L); + (66L, 184L); ] ); - (* 159 *) State.init + (* 160 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:159L + ~index:160L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 77L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:2L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:2L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 76L prods) ~dot:2L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (12L, Action.ShiftPrefix 185L); + (29L, Action.ShiftPrefix 186L); + (37L, Action.ShiftPrefix 187L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (64L, 188L); + ] + ); + (* 161 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:161L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 79L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] ) in @@ -12172,6 +12403,20 @@ include struct ) in lr0item, lr1item ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 70L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( @@ -12224,12 +12469,26 @@ include struct ( let lr0item = Lr0Item.init ~prod:(Array.get 77L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 78L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 79L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 80L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] ) in @@ -12240,15 +12499,15 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 78L); + (10L, Action.Reduce 80L); (11L, Action.ShiftPrefix 126L); (12L, Action.ShiftPrefix 127L); (13L, Action.ShiftPrefix 128L); (14L, Action.ShiftPrefix 129L); - (19L, Action.Reduce 78L); - (20L, Action.Reduce 78L); - (26L, Action.Reduce 78L); - (28L, Action.Reduce 78L); + (19L, Action.Reduce 80L); + (20L, Action.Reduce 80L); + (26L, Action.Reduce 80L); + (28L, Action.Reduce 80L); (29L, Action.ShiftPrefix 131L); (37L, Action.ShiftPrefix 132L); ] @@ -12256,19 +12515,20 @@ include struct ~gotos:( Map.of_alist (module Uns) [ (60L, 133L); - (66L, 134L); - (67L, 159L); - (68L, 182L); + (64L, 134L); + (66L, 135L); + (67L, 161L); + (68L, 189L); ] ); - (* 160 *) State.init + (* 162 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:160L + ~index:162L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 79L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 81L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] ) in @@ -12282,24 +12542,24 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 79L); - (19L, Action.Reduce 79L); - (20L, Action.Reduce 79L); - (26L, Action.Reduce 79L); - (28L, Action.Reduce 79L); + (10L, Action.Reduce 81L); + (19L, Action.Reduce 81L); + (20L, Action.Reduce 81L); + (26L, Action.Reduce 81L); + (28L, Action.Reduce 81L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 161 *) State.init + (* 163 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:161L + ~index:163L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 82L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 84L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 20L; 26L; 28L] ) in @@ -12313,23 +12573,23 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (19L, Action.Reduce 82L); - (20L, Action.Reduce 82L); - (26L, Action.Reduce 82L); - (28L, Action.Reduce 82L); + (19L, Action.Reduce 84L); + (20L, Action.Reduce 84L); + (26L, Action.Reduce 84L); + (28L, Action.Reduce 84L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 162 *) State.init + (* 164 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:162L + ~index:164L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 83L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 85L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 26L; 28L] ) in @@ -12346,6 +12606,20 @@ include struct ) in lr0item, lr1item ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 70L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( @@ -12396,16 +12670,16 @@ include struct lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 79L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 77L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 80L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 78L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); @@ -12418,6 +12692,20 @@ include struct ); ( let lr0item = Lr0Item.init ~prod:(Array.get 82L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 83L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 84L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 20L; 26L; 28L] ) in @@ -12440,21 +12728,22 @@ include struct ~gotos:( Map.of_alist (module Uns) [ (60L, 133L); - (66L, 134L); - (67L, 135L); - (69L, 136L); - (70L, 137L); - (71L, 183L); + (64L, 134L); + (66L, 135L); + (67L, 136L); + (69L, 137L); + (70L, 138L); + (71L, 190L); ] ); - (* 163 *) State.init + (* 165 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:163L + ~index:165L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 86L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 88L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 26L; 28L] ) in @@ -12468,18 +12757,18 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (19L, Action.Reduce 86L); - (26L, Action.Reduce 86L); - (28L, Action.Reduce 86L); + (19L, Action.Reduce 88L); + (26L, Action.Reduce 88L); + (28L, Action.Reduce 88L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 164 *) State.init + (* 166 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:164L + ~index:166L ~kernel:( Lr1Itemset.init [ ( @@ -12504,14 +12793,14 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 165 *) State.init + (* 167 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:165L + ~index:167L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 87L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 89L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [20L; 26L; 28L] ) in @@ -12698,17 +12987,17 @@ include struct Map.of_alist (module Uns) [ (56L, 61L); (57L, 62L); - (59L, 184L); + (59L, 191L); ] ); - (* 166 *) State.init + (* 168 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:166L + ~index:168L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 88L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 90L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -12725,6 +13014,20 @@ include struct ) in lr0item, lr1item ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 70L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( @@ -12775,16 +13078,16 @@ include struct lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 79L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 77L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 29L; 37L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 80L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 78L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 29L; 37L] ) in lr0item, lr1item ); @@ -12797,27 +13100,41 @@ include struct ); ( let lr0item = Lr0Item.init ~prod:(Array.get 82L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 19L; 20L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 83L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 19L; 20L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 84L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 20L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 85L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 87L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 86L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 88L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 87L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 89L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [20L; 26L; 28L] ) in @@ -12841,23 +13158,24 @@ include struct ~gotos:( Map.of_alist (module Uns) [ (60L, 133L); - (66L, 134L); - (67L, 135L); - (69L, 136L); - (70L, 137L); - (71L, 138L); - (73L, 142L); - (74L, 185L); + (64L, 134L); + (66L, 135L); + (67L, 136L); + (69L, 137L); + (70L, 138L); + (71L, 139L); + (73L, 143L); + (74L, 192L); ] ); - (* 167 *) State.init + (* 169 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:167L + ~index:169L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 90L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 92L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [26L; 28L] ) in @@ -12871,21 +13189,21 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (26L, Action.Reduce 90L); - (28L, Action.Reduce 90L); + (26L, Action.Reduce 92L); + (28L, Action.Reduce 92L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 168 *) State.init + (* 170 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:168L + ~index:170L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 75L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 70L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in @@ -12899,30 +13217,67 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 75L); - (11L, Action.Reduce 75L); - (12L, Action.Reduce 75L); - (13L, Action.Reduce 75L); - (14L, Action.Reduce 75L); - (19L, Action.Reduce 75L); - (20L, Action.Reduce 75L); - (26L, Action.Reduce 75L); - (28L, Action.Reduce 75L); - (29L, Action.Reduce 75L); - (37L, Action.Reduce 75L); + (10L, Action.Reduce 70L); + (11L, Action.Reduce 70L); + (12L, Action.Reduce 70L); + (13L, Action.Reduce 70L); + (14L, Action.Reduce 70L); + (19L, Action.Reduce 70L); + (20L, Action.Reduce 70L); + (26L, Action.Reduce 70L); + (28L, Action.Reduce 70L); + (29L, Action.Reduce 70L); + (37L, Action.Reduce 70L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 169 *) State.init + (* 171 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:169L + ~index:171L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 85L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 77L prods) ~dot:3L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (10L, Action.Reduce 77L); + (11L, Action.Reduce 77L); + (12L, Action.Reduce 77L); + (13L, Action.Reduce 77L); + (14L, Action.Reduce 77L); + (19L, Action.Reduce 77L); + (20L, Action.Reduce 77L); + (26L, Action.Reduce 77L); + (28L, Action.Reduce 77L); + (29L, Action.Reduce 77L); + (37L, Action.Reduce 77L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 172 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:172L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 87L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [19L; 26L; 28L] ) in @@ -12936,18 +13291,18 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (19L, Action.Reduce 85L); - (26L, Action.Reduce 85L); - (28L, Action.Reduce 85L); + (19L, Action.Reduce 87L); + (26L, Action.Reduce 87L); + (28L, Action.Reduce 87L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 170 *) State.init + (* 173 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:170L + ~index:173L ~kernel:( Lr1Itemset.init [ ( @@ -12989,10 +13344,10 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 171 *) State.init + (* 174 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:171L + ~index:174L ~kernel:( Lr1Itemset.init [ ( @@ -13024,18 +13379,18 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (23L, Action.ShiftPrefix 174L); - (25L, Action.ShiftPrefix 175L); - (30L, Action.ShiftPrefix 186L); + (23L, Action.ShiftPrefix 177L); + (25L, Action.ShiftPrefix 178L); + (30L, Action.ShiftPrefix 193L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 172 *) State.init + (* 175 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:172L + ~index:175L ~kernel:( Lr1Itemset.init [ ( @@ -13068,19 +13423,19 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.ShiftPrefix 179L); + (24L, Action.ShiftPrefix 182L); (38L, Action.Reduce 58L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (63L, 187L); + (63L, 194L); ] ); - (* 173 *) State.init + (* 176 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:173L + ~index:176L ~kernel:( Lr1Itemset.init [ ( @@ -13127,20 +13482,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (12L, Action.ShiftPrefix 188L); - (29L, Action.ShiftPrefix 189L); - (37L, Action.ShiftPrefix 190L); + (12L, Action.ShiftPrefix 185L); + (29L, Action.ShiftPrefix 195L); + (37L, Action.ShiftPrefix 196L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (64L, 191L); + (64L, 188L); ] ); - (* 174 *) State.init + (* 177 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:174L + ~index:177L ~kernel:( Lr1Itemset.init [ ( @@ -13244,23 +13599,23 @@ include struct ~actions:( Map.of_alist (module Uns) [ (11L, Action.ShiftPrefix 126L); - (12L, Action.ShiftPrefix 147L); - (13L, Action.ShiftPrefix 148L); - (29L, Action.ShiftPrefix 149L); - (37L, Action.ShiftPrefix 150L); + (12L, Action.ShiftPrefix 148L); + (13L, Action.ShiftPrefix 149L); + (29L, Action.ShiftPrefix 150L); + (37L, Action.ShiftPrefix 151L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (60L, 151L); - (64L, 152L); - (65L, 192L); + (60L, 152L); + (64L, 153L); + (65L, 197L); ] ); - (* 175 *) State.init + (* 178 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:175L + ~index:178L ~kernel:( Lr1Itemset.init [ ( @@ -13291,13 +13646,13 @@ include struct ) ~gotos:( Map.of_alist (module Uns) [ - (60L, 193L); + (60L, 198L); ] ); - (* 176 *) State.init + (* 179 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:176L + ~index:179L ~kernel:( Lr1Itemset.init [ ( @@ -13315,16 +13670,16 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (17L, Action.ShiftPrefix 194L); + (17L, Action.ShiftPrefix 199L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 177 *) State.init + (* 180 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:177L + ~index:180L ~kernel:( Lr1Itemset.init [ ( @@ -13428,23 +13783,23 @@ include struct ~actions:( Map.of_alist (module Uns) [ (11L, Action.ShiftPrefix 126L); - (12L, Action.ShiftPrefix 147L); - (13L, Action.ShiftPrefix 148L); - (29L, Action.ShiftPrefix 149L); - (37L, Action.ShiftPrefix 150L); + (12L, Action.ShiftPrefix 148L); + (13L, Action.ShiftPrefix 149L); + (29L, Action.ShiftPrefix 150L); + (37L, Action.ShiftPrefix 151L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (60L, 151L); - (64L, 152L); - (65L, 195L); + (60L, 152L); + (64L, 153L); + (65L, 200L); ] ); - (* 178 *) State.init + (* 181 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:178L + ~index:181L ~kernel:( Lr1Itemset.init [ ( @@ -13486,25 +13841,47 @@ include struct ) in lr0item, lr1item ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 54L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 55L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 56L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); ] ) ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.ShiftPrefix 154L); - (13L, Action.ShiftPrefix 196L); + (11L, Action.ShiftPrefix 155L); + (13L, Action.ShiftPrefix 201L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (60L, 155L); - (61L, 197L); + (60L, 156L); + (61L, 157L); + (62L, 202L); ] ); - (* 179 *) State.init + (* 182 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:179L + ~index:182L ~kernel:( Lr1Itemset.init [ ( @@ -13528,14 +13905,14 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 180 *) State.init + (* 183 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:180L + ~index:183L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 75L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in @@ -13549,16 +13926,16 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (38L, Action.ShiftPrefix 198L); + (38L, Action.ShiftPrefix 203L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 181 *) State.init + (* 184 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:181L + ~index:184L ~kernel:( Lr1Itemset.init [ ( @@ -13592,16 +13969,16 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 182 *) State.init + (* 185 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:182L + ~index:185L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 77L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + Ordset.of_list (module Uns) [18L] ) in lr0item, lr1item ); @@ -13613,26 +13990,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 77L); - (19L, Action.Reduce 77L); - (20L, Action.Reduce 77L); - (26L, Action.Reduce 77L); - (28L, Action.Reduce 77L); + (18L, Action.Reduce 59L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 183 *) State.init + (* 186 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:183L + ~index:186L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 83L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 26L; 28L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); @@ -13641,132 +14014,391 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 83L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 26L; 28L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 84L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 26L; 28L] + Ordset.of_list (module Uns) [18L] ) in lr0item, lr1item ); - ] - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (19L, Action.Reduce 84L); - (20L, Action.ShiftPrefix 162L); - (26L, Action.Reduce 84L); - (28L, Action.Reduce 84L); - ] - ) - ~gotos:( - Map.of_alist (module Uns) [ - (72L, 199L); - ] - ); - (* 184 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:184L - ~kernel:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 87L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 26L; 28L] + Ordset.of_list (module Uns) [18L] ) in lr0item, lr1item ); - ] - ) - ~added:( - Lr1Itemset.empty - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (20L, Action.Reduce 87L); - (26L, Action.Reduce 87L); - (28L, Action.Reduce 87L); - ] - ) - ~gotos:( - Map.empty (module Uns) - ); - (* 185 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:185L - ~kernel:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 88L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 61L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L; 28L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); - ] - ) - ~added:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 88L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L; 28L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 89L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 63L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L; 28L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); - ] - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (20L, Action.ShiftPrefix 166L); - (26L, Action.Reduce 89L); - (28L, Action.Reduce 89L); - ] - ) - ~gotos:( - Map.of_alist (module Uns) [ - (75L, 200L); - ] - ); - (* 186 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:186L - ~kernel:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 64L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 64L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); - ] - ) - ~added:( - Lr1Itemset.empty - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (23L, Action.Reduce 64L); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 65L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 30L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 30L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 30L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 68L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 30L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 30L] + ) in + lr0item, lr1item + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (11L, Action.ShiftPrefix 126L); + (12L, Action.ShiftPrefix 148L); + (13L, Action.ShiftPrefix 149L); + (29L, Action.ShiftPrefix 150L); + (37L, Action.ShiftPrefix 151L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (60L, 152L); + (64L, 153L); + (65L, 204L); + ] + ); + (* 187 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:187L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 76L prods) ~dot:3L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 52L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 53L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 54L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 55L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 56L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (11L, Action.ShiftPrefix 155L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (60L, 156L); + (61L, 157L); + (62L, 205L); + ] + ); + (* 188 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:188L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:3L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (18L, Action.Reduce 60L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 189 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:189L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 79L prods) ~dot:2L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (10L, Action.Reduce 79L); + (19L, Action.Reduce 79L); + (20L, Action.Reduce 79L); + (26L, Action.Reduce 79L); + (28L, Action.Reduce 79L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 190 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:190L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 85L prods) ~dot:2L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [19L; 26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 85L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [19L; 26L; 28L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 86L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [19L; 26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (19L, Action.Reduce 86L); + (20L, Action.ShiftPrefix 164L); + (26L, Action.Reduce 86L); + (28L, Action.Reduce 86L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (72L, 206L); + ] + ); + (* 191 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:191L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 89L prods) ~dot:3L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [20L; 26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (20L, Action.Reduce 89L); + (26L, Action.Reduce 89L); + (28L, Action.Reduce 89L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 192 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:192L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 90L prods) ~dot:2L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 90L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [26L; 28L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 91L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (20L, Action.ShiftPrefix 168L); + (26L, Action.Reduce 91L); + (28L, Action.Reduce 91L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (75L, 207L); + ] + ); + (* 193 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:193L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 64L prods) ~dot:3L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (23L, Action.Reduce 64L); (24L, Action.Reduce 64L); (25L, Action.Reduce 64L); (30L, Action.Reduce 64L); @@ -13774,16 +14406,251 @@ include struct ] ) ~gotos:( - Map.empty (module Uns) + Map.empty (module Uns) + ); + (* 194 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:194L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 68L prods) ~dot:3L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (38L, Action.ShiftPrefix 208L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 195 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:195L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:3L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 30L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [18L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 61L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 30L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 30L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 63L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 30L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 64L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 30L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 65L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 30L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 30L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 30L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 68L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 30L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 30L] + ) in + lr0item, lr1item + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (11L, Action.ShiftPrefix 126L); + (12L, Action.ShiftPrefix 148L); + (13L, Action.ShiftPrefix 149L); + (29L, Action.ShiftPrefix 150L); + (37L, Action.ShiftPrefix 151L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (60L, 152L); + (64L, 153L); + (65L, 209L); + ] + ); + (* 196 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:196L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:3L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 52L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 53L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 54L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 55L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 56L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (11L, Action.ShiftPrefix 155L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (60L, 156L); + (61L, 157L); + (62L, 210L); + ] ); - (* 187 *) State.init + (* 197 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:187L + ~index:197L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 68L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 63L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in @@ -13797,22 +14664,26 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (38L, Action.ShiftPrefix 201L); + (23L, Action.Reduce 67L); + (24L, Action.Reduce 67L); + (25L, Action.Reduce 67L); + (30L, Action.Reduce 67L); + (38L, Action.Reduce 67L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 188 *) State.init + (* 198 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:188L + ~index:198L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 63L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [18L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); @@ -13824,22 +14695,26 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (18L, Action.Reduce 59L); + (23L, Action.Reduce 63L); + (24L, Action.Reduce 63L); + (25L, Action.Reduce 63L); + (30L, Action.Reduce 63L); + (38L, Action.Reduce 63L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 189 *) State.init + (* 199 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:189L + ~index:199L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); @@ -13848,118 +14723,213 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 25L; 30L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 70L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [18L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 71L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [18L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (12L, Action.ShiftPrefix 170L); + (14L, Action.ShiftPrefix 129L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (66L, 211L); + ] + ); + (* 200 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:200L + ~kernel:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 61L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 53L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 25L; 30L] + Ordset.of_list (module Uns) [24L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 63L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 25L; 30L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 63L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 25L; 30L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 38L] ) in lr0item, lr1item ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (23L, Action.ShiftPrefix 177L); + (24L, Action.Reduce 53L); + (25L, Action.ShiftPrefix 178L); + (38L, Action.Reduce 53L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 201 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:201L + ~kernel:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 64L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 55L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 25L; 30L] + Ordset.of_list (module Uns) [24L; 38L] ) in lr0item, lr1item ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (24L, Action.Reduce 55L); + (38L, Action.Reduce 55L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 202 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:202L + ~kernel:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 65L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 56L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 25L; 30L] + Ordset.of_list (module Uns) [24L; 38L] ) in lr0item, lr1item ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (24L, Action.Reduce 56L); + (38L, Action.Reduce 56L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 203 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:203L + ~kernel:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 75L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 25L; 30L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (17L, Action.ShiftPrefix 212L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 204 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:204L + ~kernel:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 63L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 68L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 25L; 30L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); ] ) + ~added:( + Lr1Itemset.empty + ) ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.ShiftPrefix 126L); - (12L, Action.ShiftPrefix 147L); - (13L, Action.ShiftPrefix 148L); - (29L, Action.ShiftPrefix 149L); - (37L, Action.ShiftPrefix 150L); + (23L, Action.ShiftPrefix 177L); + (25L, Action.ShiftPrefix 178L); + (30L, Action.ShiftPrefix 213L); ] ) ~gotos:( - Map.of_alist (module Uns) [ - (60L, 151L); - (64L, 152L); - (65L, 202L); - ] + Map.empty (module Uns) ); - (* 190 *) State.init + (* 205 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:190L + ~index:205L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 76L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); @@ -13968,44 +14938,16 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 38L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 52L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 38L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 53L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 38L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 54L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 38L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 55L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 57L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 38L] + Ordset.of_list (module Uns) [38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 56L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 58L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 38L] + Ordset.of_list (module Uns) [38L] ) in lr0item, lr1item ); @@ -14014,33 +14956,25 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.ShiftPrefix 154L); + (24L, Action.ShiftPrefix 182L); + (38L, Action.Reduce 58L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (60L, 155L); - (61L, 156L); - (62L, 203L); + (63L, 214L); ] ); - (* 191 *) State.init + (* 206 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:191L + ~index:206L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:1L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [18L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 85L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [18L] + Ordset.of_list (module Uns) [19L; 26L; 28L] ) in lr0item, lr1item ); @@ -14052,36 +14986,24 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (18L, Action.Reduce 60L); + (19L, Action.Reduce 85L); + (26L, Action.Reduce 85L); + (28L, Action.Reduce 85L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 192 *) State.init + (* 207 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:192L + ~index:207L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 63L prods) ~dot:1L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:1L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 90L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -14093,24 +15015,21 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (23L, Action.Reduce 67L); - (24L, Action.Reduce 67L); - (25L, Action.Reduce 67L); - (30L, Action.Reduce 67L); - (38L, Action.Reduce 67L); + (26L, Action.Reduce 90L); + (28L, Action.Reduce 90L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 193 *) State.init + (* 208 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:193L + ~index:208L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 63L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 68L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in @@ -14124,115 +15043,114 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (23L, Action.Reduce 63L); - (24L, Action.Reduce 63L); - (25L, Action.Reduce 63L); - (30L, Action.Reduce 63L); - (38L, Action.Reduce 63L); + (23L, Action.Reduce 68L); + (24L, Action.Reduce 68L); + (25L, Action.Reduce 68L); + (30L, Action.Reduce 68L); + (38L, Action.Reduce 68L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 194 *) State.init + (* 209 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:194L + ~index:209L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:4L in + let lr0item = Lr0Item.init ~prod:(Array.get 63L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); - ] - ) - ~added:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 70L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 71L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); ] ) + ~added:( + Lr1Itemset.empty + ) ) ~actions:( Map.of_alist (module Uns) [ - (12L, Action.ShiftPrefix 127L); - (14L, Action.ShiftPrefix 129L); + (23L, Action.ShiftPrefix 177L); + (25L, Action.ShiftPrefix 178L); + (30L, Action.ShiftPrefix 215L); ] ) ~gotos:( - Map.of_alist (module Uns) [ - (66L, 204L); - ] + Map.empty (module Uns) ); - (* 195 *) State.init + (* 210 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:195L + ~index:210L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 53L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 38L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); + ] + ) + ~added:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 63L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 57L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 24L; 25L; 38L] + Ordset.of_list (module Uns) [38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 58L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 24L; 25L; 38L] + Ordset.of_list (module Uns) [38L] ) in lr0item, lr1item ); ] ) - ~added:( - Lr1Itemset.empty - ) ) ~actions:( Map.of_alist (module Uns) [ - (23L, Action.ShiftPrefix 174L); - (24L, Action.Reduce 53L); - (25L, Action.ShiftPrefix 175L); - (38L, Action.Reduce 53L); + (24L, Action.ShiftPrefix 182L); + (38L, Action.Reduce 58L); ] ) ~gotos:( - Map.empty (module Uns) + Map.of_alist (module Uns) [ + (63L, 216L); + ] ); - (* 196 *) State.init + (* 211 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:196L + ~index:211L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 55L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:5L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 38L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); @@ -14244,107 +15162,77 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.Reduce 55L); - (38L, Action.Reduce 55L); + (10L, Action.Reduce 73L); + (11L, Action.Reduce 73L); + (12L, Action.Reduce 73L); + (13L, Action.Reduce 73L); + (14L, Action.Reduce 73L); + (19L, Action.Reduce 73L); + (20L, Action.Reduce 73L); + (26L, Action.Reduce 73L); + (28L, Action.Reduce 73L); + (29L, Action.Reduce 73L); + (37L, Action.Reduce 73L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 197 *) State.init + (* 212 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:197L + ~index:212L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 56L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 75L prods) ~dot:5L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 38L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); ] ) ~added:( - Lr1Itemset.empty - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (24L, Action.Reduce 56L); - (38L, Action.Reduce 56L); - ] - ) - ~gotos:( - Map.empty (module Uns) - ); - (* 198 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:198L - ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:4L in + let lr0item = Lr0Item.init ~prod:(Array.get 70L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); - ] - ) - ~added:( - Lr1Itemset.empty - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (17L, Action.ShiftPrefix 205L); - ] - ) - ~gotos:( - Map.empty (module Uns) - ); - (* 199 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:199L - ~kernel:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 83L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 71L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 26L; 28L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); ] ) - ~added:( - Lr1Itemset.empty - ) ) ~actions:( Map.of_alist (module Uns) [ - (19L, Action.Reduce 83L); - (26L, Action.Reduce 83L); - (28L, Action.Reduce 83L); + (12L, Action.ShiftPrefix 170L); + (14L, Action.ShiftPrefix 129L); ] ) ~gotos:( - Map.empty (module Uns) + Map.of_alist (module Uns) [ + (66L, 217L); + ] ); - (* 200 *) State.init + (* 213 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:200L + ~index:213L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 88L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:5L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L; 28L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); @@ -14356,23 +15244,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (26L, Action.Reduce 88L); - (28L, Action.Reduce 88L); + (17L, Action.ShiftPrefix 218L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 201 *) State.init + (* 214 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:201L + ~index:214L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 68L prods) ~dot:4L in + let lr0item = Lr0Item.init ~prod:(Array.get 76L prods) ~dot:5L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); @@ -14384,43 +15271,25 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (23L, Action.Reduce 68L); - (24L, Action.Reduce 68L); - (25L, Action.Reduce 68L); - (30L, Action.Reduce 68L); - (38L, Action.Reduce 68L); + (38L, Action.ShiftPrefix 219L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 202 *) State.init + (* 215 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:202L + ~index:215L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 63L prods) ~dot:1L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 25L; 30L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:4L in + let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:5L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:1L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 25L; 30L] - ) in - lr0item, lr1item - ); ] ) ~added:( @@ -14429,67 +15298,51 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (23L, Action.ShiftPrefix 174L); - (25L, Action.ShiftPrefix 175L); - (30L, Action.ShiftPrefix 206L); + (23L, Action.Reduce 66L); + (24L, Action.Reduce 66L); + (25L, Action.Reduce 66L); + (30L, Action.Reduce 66L); + (38L, Action.Reduce 66L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 203 *) State.init + (* 216 *) State.init ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:203L - ~kernel:( - Lr1Itemset.init [ - ( - let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:4L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] - ) in - lr0item, lr1item - ); - ] - ) - ~added:( + Lr1ItemsetClosure.init + ~index:216L + ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 57L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [38L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 58L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:5L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [38L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ] ) + ~added:( + Lr1Itemset.empty + ) ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.ShiftPrefix 179L); - (38L, Action.Reduce 58L); + (38L, Action.ShiftPrefix 220L); ] ) ~gotos:( - Map.of_alist (module Uns) [ - (63L, 207L); - ] + Map.empty (module Uns) ); - (* 204 *) State.init + (* 217 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:204L + ~index:217L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:5L in + let lr0item = Lr0Item.init ~prod:(Array.get 75L prods) ~dot:6L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in @@ -14503,30 +15356,30 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 73L); - (11L, Action.Reduce 73L); - (12L, Action.Reduce 73L); - (13L, Action.Reduce 73L); - (14L, Action.Reduce 73L); - (19L, Action.Reduce 73L); - (20L, Action.Reduce 73L); - (26L, Action.Reduce 73L); - (28L, Action.Reduce 73L); - (29L, Action.Reduce 73L); - (37L, Action.Reduce 73L); + (10L, Action.Reduce 75L); + (11L, Action.Reduce 75L); + (12L, Action.Reduce 75L); + (13L, Action.Reduce 75L); + (14L, Action.Reduce 75L); + (19L, Action.Reduce 75L); + (20L, Action.Reduce 75L); + (26L, Action.Reduce 75L); + (28L, Action.Reduce 75L); + (29L, Action.Reduce 75L); + (37L, Action.Reduce 75L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 205 *) State.init + (* 218 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:205L + ~index:218L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:5L in + let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:6L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in @@ -14555,25 +15408,25 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (12L, Action.ShiftPrefix 127L); + (12L, Action.ShiftPrefix 170L); (14L, Action.ShiftPrefix 129L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (66L, 208L); + (66L, 221L); ] ); - (* 206 *) State.init + (* 219 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:206L + ~index:219L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:5L in + let lr0item = Lr0Item.init ~prod:(Array.get 76L prods) ~dot:6L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); @@ -14585,24 +15438,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (23L, Action.Reduce 66L); - (24L, Action.Reduce 66L); - (25L, Action.Reduce 66L); - (30L, Action.Reduce 66L); - (38L, Action.Reduce 66L); + (17L, Action.ShiftPrefix 222L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 207 *) State.init + (* 220 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:207L + ~index:220L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:5L in + let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:6L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in @@ -14616,20 +15465,24 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (38L, Action.ShiftPrefix 209L); + (23L, Action.Reduce 69L); + (24L, Action.Reduce 69L); + (25L, Action.Reduce 69L); + (30L, Action.Reduce 69L); + (38L, Action.Reduce 69L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 208 *) State.init + (* 221 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:208L + ~index:221L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:6L in + let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:7L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in @@ -14659,16 +15512,61 @@ include struct ~gotos:( Map.empty (module Uns) ); - (* 209 *) State.init + (* 222 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:209L + ~index:222L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:6L in + let lr0item = Lr0Item.init ~prod:(Array.get 76L prods) ~dot:7L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 70L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 71L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] + ) in + lr0item, lr1item + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (12L, Action.ShiftPrefix 170L); + (14L, Action.ShiftPrefix 129L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (66L, 223L); + ] + ); + (* 223 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:223L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 76L prods) ~dot:8L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 26L; 28L; 29L; 37L] ) in lr0item, lr1item ); @@ -14680,11 +15578,17 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (23L, Action.Reduce 69L); - (24L, Action.Reduce 69L); - (25L, Action.Reduce 69L); - (30L, Action.Reduce 69L); - (38L, Action.Reduce 69L); + (10L, Action.Reduce 76L); + (11L, Action.Reduce 76L); + (12L, Action.Reduce 76L); + (13L, Action.Reduce 76L); + (14L, Action.Reduce 76L); + (19L, Action.Reduce 76L); + (20L, Action.Reduce 76L); + (26L, Action.Reduce 76L); + (28L, Action.Reduce 76L); + (29L, Action.Reduce 76L); + (37L, Action.Reduce 76L); ] ) ~gotos:( @@ -15034,7 +15938,7 @@ include struct :: _ :: tl__hocc__ -> Symbol.Nonterm (PrecsTl ( (*______________________________________________________________________________*) -#337 "./Parse.hmh" +(* #337 "./Parse.hmh" *) PrecsTlUident {uident; precs_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15043,7 +15947,7 @@ PrecsTlUident {uident; precs_tl} (* 1 *) (function tl__hocc__ -> Symbol.Nonterm (PrecsTl ( (*______________________________________________________________________________*) -#338 "./Parse.hmh" +(* #338 "./Parse.hmh" *) PrecsTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15053,7 +15957,7 @@ PrecsTlEpsilon :: Elm.{symbol=Symbol.Token (UIDENT uident); _} :: tl__hocc__ -> Symbol.Nonterm (Precs ( (*______________________________________________________________________________*) -#341 "./Parse.hmh" +(* #341 "./Parse.hmh" *) Precs {uident; precs_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15064,7 +15968,7 @@ Precs {uident; precs_tl} :: _ :: tl__hocc__ -> Symbol.Nonterm (PrecRels ( (*______________________________________________________________________________*) -#344 "./Parse.hmh" +(* #344 "./Parse.hmh" *) PrecRelsPrecs {precs} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15073,7 +15977,7 @@ PrecRelsPrecs {precs} (* 4 *) (function tl__hocc__ -> Symbol.Nonterm (PrecRels ( (*______________________________________________________________________________*) -#345 "./Parse.hmh" +(* #345 "./Parse.hmh" *) PrecRelsEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15082,7 +15986,7 @@ PrecRelsEpsilon | _ :: tl__hocc__ -> Symbol.Nonterm (PrecType ( (*______________________________________________________________________________*) -#348 "./Parse.hmh" +(* #348 "./Parse.hmh" *) PrecTypeNeutral (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15092,7 +15996,7 @@ PrecTypeNeutral | _ :: tl__hocc__ -> Symbol.Nonterm (PrecType ( (*______________________________________________________________________________*) -#349 "./Parse.hmh" +(* #349 "./Parse.hmh" *) PrecTypeLeft (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15102,7 +16006,7 @@ PrecTypeLeft | _ :: tl__hocc__ -> Symbol.Nonterm (PrecType ( (*______________________________________________________________________________*) -#350 "./Parse.hmh" +(* #350 "./Parse.hmh" *) PrecTypeRight (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15114,7 +16018,7 @@ PrecTypeRight :: Elm.{symbol=Symbol.Nonterm (PrecType prec_type); _} :: tl__hocc__ -> Symbol.Nonterm (Prec ( (*______________________________________________________________________________*) -#353 "./Parse.hmh" +(* #353 "./Parse.hmh" *) Prec {prec_type; uident; prec_rels} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15126,7 +16030,7 @@ Prec {prec_type; uident; prec_rels} :: Elm.{symbol=Symbol.Token (CIDENT cident); _} :: tl__hocc__ -> Symbol.Nonterm (SymbolTypeQualifier ( (*______________________________________________________________________________*) -#357 "./Parse.hmh" +(* #357 "./Parse.hmh" *) SymbolTypeQualifier {cident; symbol_type_qualifier_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15135,7 +16039,7 @@ SymbolTypeQualifier {cident; symbol_type_qualifier_tl} (* 10 *) (function tl__hocc__ -> Symbol.Nonterm (SymbolTypeQualifier ( (*______________________________________________________________________________*) -#358 "./Parse.hmh" +(* #358 "./Parse.hmh" *) SymbolTypeQualifierEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15146,7 +16050,7 @@ SymbolTypeQualifierEpsilon :: _ :: tl__hocc__ -> Symbol.Nonterm (SymbolType ( (*______________________________________________________________________________*) -#362 "./Parse.hmh" +(* #362 "./Parse.hmh" *) SymbolType {symbol_type_qualifier; symbol_type} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15156,7 +16060,7 @@ SymbolType {symbol_type_qualifier; symbol_type} | Elm.{symbol=Symbol.Nonterm (SymbolType symbol_type); _} :: tl__hocc__ -> Symbol.Nonterm (SymbolType0 ( (*______________________________________________________________________________*) -#365 "./Parse.hmh" +(* #365 "./Parse.hmh" *) SymbolType0SymbolType {symbol_type} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15165,7 +16069,7 @@ SymbolType0SymbolType {symbol_type} (* 13 *) (function tl__hocc__ -> Symbol.Nonterm (SymbolType0 ( (*______________________________________________________________________________*) -#366 "./Parse.hmh" +(* #366 "./Parse.hmh" *) SymbolType0Epsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15175,7 +16079,7 @@ SymbolType0Epsilon :: _ :: tl__hocc__ -> Symbol.Nonterm (PrecRef ( (*______________________________________________________________________________*) -#369 "./Parse.hmh" +(* #369 "./Parse.hmh" *) PrecRefUident {uident} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15184,7 +16088,7 @@ PrecRefUident {uident} (* 15 *) (function tl__hocc__ -> Symbol.Nonterm (PrecRef ( (*______________________________________________________________________________*) -#370 "./Parse.hmh" +(* #370 "./Parse.hmh" *) PrecRefEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15193,7 +16097,7 @@ PrecRefEpsilon | Elm.{symbol=Symbol.Token (ISTRING alias); _} :: tl__hocc__ -> Symbol.Nonterm (TokenAlias ( (*______________________________________________________________________________*) -#373 "./Parse.hmh" +(* #373 "./Parse.hmh" *) TokenAlias {alias} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15202,7 +16106,7 @@ TokenAlias {alias} (* 17 *) (function tl__hocc__ -> Symbol.Nonterm (TokenAlias ( (*______________________________________________________________________________*) -#374 "./Parse.hmh" +(* #374 "./Parse.hmh" *) TokenAliasEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15215,7 +16119,7 @@ TokenAliasEpsilon :: _ :: tl__hocc__ -> Symbol.Nonterm (Token ( (*______________________________________________________________________________*) -#378 "./Parse.hmh" +(* #378 "./Parse.hmh" *) Token {cident; token_alias; symbol_type0; prec_ref} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15225,7 +16129,7 @@ Token {cident; token_alias; symbol_type0; prec_ref} | Elm.{symbol=Symbol.Token (LINE_DELIM line_delim); _} :: tl__hocc__ -> Symbol.Nonterm (Sep ( (*______________________________________________________________________________*) -#381 "./Parse.hmh" +(* #381 "./Parse.hmh" *) SepLineDelim {line_delim} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15235,7 +16139,7 @@ SepLineDelim {line_delim} | Elm.{symbol=Symbol.Token (SEMI semi); _} :: tl__hocc__ -> Symbol.Nonterm (Sep ( (*______________________________________________________________________________*) -#382 "./Parse.hmh" +(* #382 "./Parse.hmh" *) SepSemi {semi} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15245,7 +16149,7 @@ SepSemi {semi} | Elm.{symbol=Symbol.Token (BAR bar); _} :: tl__hocc__ -> Symbol.Nonterm (Sep ( (*______________________________________________________________________________*) -#383 "./Parse.hmh" +(* #383 "./Parse.hmh" *) SepBar {bar} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15257,7 +16161,7 @@ SepBar {bar} :: Elm.{symbol=Symbol.Nonterm (Sep sep); _} :: tl__hocc__ -> Symbol.Nonterm (CodesTl ( (*______________________________________________________________________________*) -#386 "./Parse.hmh" +(* #386 "./Parse.hmh" *) CodesTlSepCode {sep; code; codes_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15266,7 +16170,7 @@ CodesTlSepCode {sep; code; codes_tl} (* 23 *) (function tl__hocc__ -> Symbol.Nonterm (CodesTl ( (*______________________________________________________________________________*) -#387 "./Parse.hmh" +(* #387 "./Parse.hmh" *) CodesTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15276,7 +16180,7 @@ CodesTlEpsilon :: Elm.{symbol=Symbol.Nonterm (Code code); _} :: tl__hocc__ -> Symbol.Nonterm (Codes ( (*______________________________________________________________________________*) -#390 "./Parse.hmh" +(* #390 "./Parse.hmh" *) Codes {code; codes_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15286,7 +16190,7 @@ Codes {code; codes_tl} | Elm.{symbol=Symbol.Nonterm (Codes codes); _} :: tl__hocc__ -> Symbol.Nonterm (Codes0 ( (*______________________________________________________________________________*) -#393 "./Parse.hmh" +(* #393 "./Parse.hmh" *) Codes0Codes {codes} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15295,7 +16199,7 @@ Codes0Codes {codes} (* 26 *) (function tl__hocc__ -> Symbol.Nonterm (Codes0 ( (*______________________________________________________________________________*) -#394 "./Parse.hmh" +(* #394 "./Parse.hmh" *) Codes0Epsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15306,7 +16210,7 @@ Codes0Epsilon :: Elm.{symbol=Symbol.Token (INDENT indent); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -#397 "./Parse.hmh" +(* #397 "./Parse.hmh" *) DelimitedBlock {indent; codes; dedent} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15318,7 +16222,7 @@ DelimitedBlock {indent; codes; dedent} :: Elm.{symbol=Symbol.Token (LPAREN lparen); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -#398 "./Parse.hmh" +(* #398 "./Parse.hmh" *) DelimitedParen {lparen; codes0; rparen} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15330,7 +16234,7 @@ DelimitedParen {lparen; codes0; rparen} :: Elm.{symbol=Symbol.Token (LCAPTURE lcapture); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -#399 "./Parse.hmh" +(* #399 "./Parse.hmh" *) DelimitedCapture {lcapture; codes0; rcapture} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15342,7 +16246,7 @@ DelimitedCapture {lcapture; codes0; rcapture} :: Elm.{symbol=Symbol.Token (LBRACK lbrack); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -#400 "./Parse.hmh" +(* #400 "./Parse.hmh" *) DelimitedList {lbrack; codes0; rbrack} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15354,7 +16258,7 @@ DelimitedList {lbrack; codes0; rbrack} :: Elm.{symbol=Symbol.Token (LARRAY larray); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -#401 "./Parse.hmh" +(* #401 "./Parse.hmh" *) DelimitedArray {larray; codes0; rarray} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15366,7 +16270,7 @@ DelimitedArray {larray; codes0; rarray} :: Elm.{symbol=Symbol.Token (LCURLY lcurly); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -#402 "./Parse.hmh" +(* #402 "./Parse.hmh" *) DelimitedModule {lcurly; codes0; rcurly} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15376,7 +16280,7 @@ DelimitedModule {lcurly; codes0; rcurly} | Elm.{symbol=Symbol.Token (OTHER_TOKEN token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#406 "./Parse.hmh" +(* #406 "./Parse.hmh" *) let OTHER_TOKEN {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -15387,7 +16291,7 @@ let OTHER_TOKEN {token_} = token_ in | Elm.{symbol=Symbol.Token (UIDENT token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#409 "./Parse.hmh" +(* #409 "./Parse.hmh" *) let UIDENT {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -15398,7 +16302,7 @@ let UIDENT {token_} = token_ in | Elm.{symbol=Symbol.Token (CIDENT token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#412 "./Parse.hmh" +(* #412 "./Parse.hmh" *) let CIDENT {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -15409,7 +16313,7 @@ let CIDENT {token_} = token_ in | Elm.{symbol=Symbol.Token (USCORE token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#415 "./Parse.hmh" +(* #415 "./Parse.hmh" *) let USCORE {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -15420,7 +16324,7 @@ let USCORE {token_} = token_ in | Elm.{symbol=Symbol.Token (ISTRING token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#418 "./Parse.hmh" +(* #418 "./Parse.hmh" *) let ISTRING {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -15431,7 +16335,7 @@ let ISTRING {token_} = token_ in | Elm.{symbol=Symbol.Token (AS token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#421 "./Parse.hmh" +(* #421 "./Parse.hmh" *) let AS {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -15442,7 +16346,7 @@ let AS {token_} = token_ in | Elm.{symbol=Symbol.Token (OF token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#424 "./Parse.hmh" +(* #424 "./Parse.hmh" *) let OF {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -15453,7 +16357,7 @@ let OF {token_} = token_ in | Elm.{symbol=Symbol.Token (COLON token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#427 "./Parse.hmh" +(* #427 "./Parse.hmh" *) let COLON {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -15464,7 +16368,7 @@ let COLON {token_} = token_ in | Elm.{symbol=Symbol.Token (DOT token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#430 "./Parse.hmh" +(* #430 "./Parse.hmh" *) let DOT {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -15475,7 +16379,7 @@ let DOT {token_} = token_ in | Elm.{symbol=Symbol.Token (ARROW token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#433 "./Parse.hmh" +(* #433 "./Parse.hmh" *) let ARROW {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -15486,7 +16390,7 @@ let ARROW {token_} = token_ in | Elm.{symbol=Symbol.Token (LT token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#436 "./Parse.hmh" +(* #436 "./Parse.hmh" *) let LT {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -15497,7 +16401,7 @@ let LT {token_} = token_ in | Elm.{symbol=Symbol.Token (EQ token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#439 "./Parse.hmh" +(* #439 "./Parse.hmh" *) let EQ {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -15508,7 +16412,7 @@ let EQ {token_} = token_ in | Elm.{symbol=Symbol.Token (COMMA token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#442 "./Parse.hmh" +(* #442 "./Parse.hmh" *) let COMMA {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -15520,7 +16424,7 @@ let COMMA {token_} = token_ in :: Elm.{symbol=Symbol.Nonterm (Delimited delimited); _} :: tl__hocc__ -> Symbol.Nonterm (CodeTl ( (*______________________________________________________________________________*) -#446 "./Parse.hmh" +(* #446 "./Parse.hmh" *) CodeTlDelimited {delimited; code_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15531,7 +16435,7 @@ CodeTlDelimited {delimited; code_tl} :: Elm.{symbol=Symbol.Nonterm (CodeToken code_token); _} :: tl__hocc__ -> Symbol.Nonterm (CodeTl ( (*______________________________________________________________________________*) -#447 "./Parse.hmh" +(* #447 "./Parse.hmh" *) CodeTlCodeToken {code_token; code_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15540,7 +16444,7 @@ CodeTlCodeToken {code_token; code_tl} (* 48 *) (function tl__hocc__ -> Symbol.Nonterm (CodeTl ( (*______________________________________________________________________________*) -#448 "./Parse.hmh" +(* #448 "./Parse.hmh" *) CodeTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15550,7 +16454,7 @@ CodeTlEpsilon :: Elm.{symbol=Symbol.Nonterm (Delimited delimited); _} :: tl__hocc__ -> Symbol.Nonterm (Code ( (*______________________________________________________________________________*) -#451 "./Parse.hmh" +(* #451 "./Parse.hmh" *) CodeDelimited {delimited; code_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15561,7 +16465,7 @@ CodeDelimited {delimited; code_tl} :: Elm.{symbol=Symbol.Nonterm (CodeToken code_token); _} :: tl__hocc__ -> Symbol.Nonterm (Code ( (*______________________________________________________________________________*) -#452 "./Parse.hmh" +(* #452 "./Parse.hmh" *) CodeCodeToken {code_token; code_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15571,7 +16475,7 @@ CodeCodeToken {code_token; code_tl} | Elm.{symbol=Symbol.Token (UIDENT uident); _} :: tl__hocc__ -> Symbol.Nonterm (Binding ( (*______________________________________________________________________________*) -#455 "./Parse.hmh" +(* #455 "./Parse.hmh" *) Binding {uident} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15581,7 +16485,7 @@ Binding {uident} | Elm.{symbol=Symbol.Nonterm (Binding binding); _} :: tl__hocc__ -> Symbol.Nonterm (PatternField ( (*______________________________________________________________________________*) -#458 "./Parse.hmh" +(* #458 "./Parse.hmh" *) PatternFieldBinding {binding} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15593,7 +16497,7 @@ PatternFieldBinding {binding} :: _ :: tl__hocc__ -> Symbol.Nonterm (PatternField ( (*______________________________________________________________________________*) -#459 "./Parse.hmh" +(* #459 "./Parse.hmh" *) PatternFieldPattern {pattern} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15603,7 +16507,7 @@ PatternFieldPattern {pattern} | Elm.{symbol=Symbol.Nonterm (PatternField pattern_field); _} :: tl__hocc__ -> Symbol.Nonterm (PatternFields ( (*______________________________________________________________________________*) -#464 "./Parse.hmh" +(* #464 "./Parse.hmh" *) PatternFieldsOne {pattern_field} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15615,20 +16519,20 @@ PatternFieldsOne {pattern_field} :: Elm.{symbol=Symbol.Nonterm (PatternField pattern_field); _} :: tl__hocc__ -> Symbol.Nonterm (PatternFields ( (*______________________________________________________________________________*) -#464 "./Parse.hmh" +(* #464 "./Parse.hmh" *) PatternFieldsOne {pattern_field} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); (* 56 *) (function - | Elm.{symbol=Symbol.Nonterm (PatternField pattern_field_b); _} + | Elm.{symbol=Symbol.Nonterm (PatternFields pattern_fields); _} :: _ - :: Elm.{symbol=Symbol.Nonterm (PatternField pattern_field_a); _} + :: Elm.{symbol=Symbol.Nonterm (PatternField pattern_field); _} :: tl__hocc__ -> Symbol.Nonterm (PatternFields ( (*______________________________________________________________________________*) -#466 "./Parse.hmh" -PatternFieldsMulti {pattern_field_a; pattern_field_b} +(* #466 "./Parse.hmh" *) +PatternFieldsMulti {pattern_field=pattern_field; pattern_fields} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () @@ -15637,7 +16541,7 @@ PatternFieldsMulti {pattern_field_a; pattern_field_b} | _ :: tl__hocc__ -> Symbol.Nonterm (SemiSuffix ( (*______________________________________________________________________________*) -#471 "./Parse.hmh" +(* #471 "./Parse.hmh" *) SemiSuffix (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15646,7 +16550,7 @@ SemiSuffix (* 58 *) (function tl__hocc__ -> Symbol.Nonterm (SemiSuffix ( (*______________________________________________________________________________*) -#471 "./Parse.hmh" +(* #471 "./Parse.hmh" *) SemiSuffix (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15655,7 +16559,7 @@ SemiSuffix | _ :: tl__hocc__ -> Symbol.Nonterm (ModulePath ( (*______________________________________________________________________________*) -#476 "./Parse.hmh" +(* #476 "./Parse.hmh" *) ModulePath (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15667,7 +16571,7 @@ ModulePath :: _ :: tl__hocc__ -> Symbol.Nonterm (ModulePath ( (*______________________________________________________________________________*) -#476 "./Parse.hmh" +(* #476 "./Parse.hmh" *) ModulePath (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15677,7 +16581,7 @@ ModulePath | _ :: tl__hocc__ -> Symbol.Nonterm (Pattern ( (*______________________________________________________________________________*) -#480 "./Parse.hmh" +(* #480 "./Parse.hmh" *) PatternUscore (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15687,7 +16591,7 @@ PatternUscore | Elm.{symbol=Symbol.Nonterm (Binding binding); _} :: tl__hocc__ -> Symbol.Nonterm (Pattern ( (*______________________________________________________________________________*) -#483 "./Parse.hmh" +(* #483 "./Parse.hmh" *) PatternBinding {binding} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15699,7 +16603,7 @@ PatternBinding {binding} :: _ :: tl__hocc__ -> Symbol.Nonterm (Pattern ( (*______________________________________________________________________________*) -#483 "./Parse.hmh" +(* #483 "./Parse.hmh" *) PatternBinding {binding} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15711,7 +16615,7 @@ PatternBinding {binding} :: _ :: tl__hocc__ -> Symbol.Nonterm (Pattern ( (*______________________________________________________________________________*) -#487 "./Parse.hmh" +(* #487 "./Parse.hmh" *) PatternPattern {pattern} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15722,7 +16626,7 @@ PatternPattern {pattern} :: _ :: tl__hocc__ -> Symbol.Nonterm (Pattern ( (*______________________________________________________________________________*) -#487 "./Parse.hmh" +(* #487 "./Parse.hmh" *) PatternPattern {pattern} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15736,7 +16640,7 @@ PatternPattern {pattern} :: _ :: tl__hocc__ -> Symbol.Nonterm (Pattern ( (*______________________________________________________________________________*) -#487 "./Parse.hmh" +(* #487 "./Parse.hmh" *) PatternPattern {pattern} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15748,7 +16652,7 @@ PatternPattern {pattern} :: Elm.{symbol=Symbol.Nonterm (Pattern pattern_a); _} :: tl__hocc__ -> Symbol.Nonterm (Pattern ( (*______________________________________________________________________________*) -#489 "./Parse.hmh" +(* #489 "./Parse.hmh" *) PatternComma {pattern_a; pattern_b} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15761,7 +16665,7 @@ PatternComma {pattern_a; pattern_b} :: _ :: tl__hocc__ -> Symbol.Nonterm (Pattern ( (*______________________________________________________________________________*) -#492 "./Parse.hmh" +(* #492 "./Parse.hmh" *) PatternFields {fields} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15776,7 +16680,7 @@ PatternFields {fields} :: _ :: tl__hocc__ -> Symbol.Nonterm (Pattern ( (*______________________________________________________________________________*) -#492 "./Parse.hmh" +(* #492 "./Parse.hmh" *) PatternFields {fields} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15786,7 +16690,7 @@ PatternFields {fields} | Elm.{symbol=Symbol.Token (CIDENT cident); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParamSymbol ( (*______________________________________________________________________________*) -#495 "./Parse.hmh" +(* #495 "./Parse.hmh" *) ProdParamSymbolCident {cident} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15796,7 +16700,7 @@ ProdParamSymbolCident {cident} | Elm.{symbol=Symbol.Token (ISTRING alias); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParamSymbol ( (*______________________________________________________________________________*) -#496 "./Parse.hmh" +(* #496 "./Parse.hmh" *) ProdParamSymbolAlias {alias} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15808,7 +16712,7 @@ ProdParamSymbolAlias {alias} :: Elm.{symbol=Symbol.Nonterm (Binding binding); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParam ( (*______________________________________________________________________________*) -#500 "./Parse.hmh" +(* #500 "./Parse.hmh" *) ProdParamBinding {binding; prod_param_symbol} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -15822,13 +16726,29 @@ ProdParamBinding {binding; prod_param_symbol} :: Elm.{symbol=Symbol.Token (LPAREN lparen); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParam ( (*______________________________________________________________________________*) -#502 "./Parse.hmh" +(* #503 "./Parse.hmh" *) ProdParamPattern {lparen; pattern; rparen; prod_param_symbol} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); (* 74 *) (function + | Elm.{symbol=Symbol.Nonterm (ProdParamSymbol prod_param_symbol); _} + :: _ + :: Elm.{symbol=Symbol.Token (RPAREN rparen); _} + :: Elm.{symbol=Symbol.Nonterm (Pattern pattern); _} + :: Elm.{symbol=Symbol.Token (LPAREN lparen); _} + :: _ + :: _ + :: tl__hocc__ -> Symbol.Nonterm (ProdParam ( + (*______________________________________________________________________________*) +(* #503 "./Parse.hmh" *) +ProdParamPattern {lparen; pattern; rparen; prod_param_symbol} + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + | _ -> not_reached () + ); + (* 75 *) (function | Elm.{symbol=Symbol.Nonterm (ProdParamSymbol prod_param_symbol); _} :: _ :: Elm.{symbol=Symbol.Token (RCURLY rcurly); _} @@ -15837,202 +16757,219 @@ ProdParamPattern {lparen; pattern; rparen; prod_param_symbol} :: Elm.{symbol=Symbol.Token (LCURLY lcurly); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParam ( (*______________________________________________________________________________*) -#504 "./Parse.hmh" +(* #507 "./Parse.hmh" *) ProdParamFields {lcurly; fields; rcurly; prod_param_symbol} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 75 *) (function + (* 76 *) (function + | Elm.{symbol=Symbol.Nonterm (ProdParamSymbol prod_param_symbol); _} + :: _ + :: Elm.{symbol=Symbol.Token (RCURLY rcurly); _} + :: _ + :: Elm.{symbol=Symbol.Nonterm (PatternFields fields); _} + :: Elm.{symbol=Symbol.Token (LCURLY lcurly); _} + :: _ + :: _ + :: tl__hocc__ -> Symbol.Nonterm (ProdParam ( + (*______________________________________________________________________________*) +(* #507 "./Parse.hmh" *) +ProdParamFields {lcurly; fields; rcurly; prod_param_symbol} + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + | _ -> not_reached () + ); + (* 77 *) (function | Elm.{symbol=Symbol.Nonterm (ProdParamSymbol prod_param_symbol); _} :: _ :: _ :: tl__hocc__ -> Symbol.Nonterm (ProdParam ( (*______________________________________________________________________________*) -#507 "./Parse.hmh" +(* #510 "./Parse.hmh" *) ProdParam {prod_param_symbol} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 76 *) (function + (* 78 *) (function | Elm.{symbol=Symbol.Nonterm (ProdParamSymbol prod_param_symbol); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParam ( (*______________________________________________________________________________*) -#507 "./Parse.hmh" +(* #510 "./Parse.hmh" *) ProdParam {prod_param_symbol} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 77 *) (function + (* 79 *) (function | Elm.{symbol=Symbol.Nonterm (ProdParamsTl prod_params_tl); _} :: Elm.{symbol=Symbol.Nonterm (ProdParam prod_param); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParamsTl ( (*______________________________________________________________________________*) -#511 "./Parse.hmh" +(* #514 "./Parse.hmh" *) ProdParamsTlProdParam {prod_param; prod_params_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 78 *) (function + (* 80 *) (function tl__hocc__ -> Symbol.Nonterm (ProdParamsTl ( (*______________________________________________________________________________*) -#512 "./Parse.hmh" +(* #515 "./Parse.hmh" *) ProdParamsTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 79 *) (function + (* 81 *) (function | Elm.{symbol=Symbol.Nonterm (ProdParamsTl prod_params_tl); _} :: Elm.{symbol=Symbol.Nonterm (ProdParam prod_param); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParams ( (*______________________________________________________________________________*) -#516 "./Parse.hmh" +(* #519 "./Parse.hmh" *) ProdParamsProdParam {prod_param; prod_params_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 80 *) (function + (* 82 *) (function | Elm.{symbol=Symbol.Nonterm (ProdParams prod_params); _} :: tl__hocc__ -> Symbol.Nonterm (ProdPattern ( (*______________________________________________________________________________*) -#519 "./Parse.hmh" +(* #522 "./Parse.hmh" *) ProdPatternParams {prod_params} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 81 *) (function + (* 83 *) (function | Elm.{symbol=Symbol.Token (EPSILON_ epsilon_); _} :: tl__hocc__ -> Symbol.Nonterm (ProdPattern ( (*______________________________________________________________________________*) -#520 "./Parse.hmh" +(* #523 "./Parse.hmh" *) ProdPatternEpsilon {epsilon_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 82 *) (function + (* 84 *) (function | Elm.{symbol=Symbol.Nonterm (PrecRef prec_ref); _} :: Elm.{symbol=Symbol.Nonterm (ProdPattern prod_pattern); _} :: tl__hocc__ -> Symbol.Nonterm (Prod ( (*______________________________________________________________________________*) -#523 "./Parse.hmh" +(* #526 "./Parse.hmh" *) Prod {prod_pattern; prec_ref} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 83 *) (function + (* 85 *) (function | Elm.{symbol=Symbol.Nonterm (ProdsTl prods_tl); _} :: Elm.{symbol=Symbol.Nonterm (Prod prod); _} :: _ :: tl__hocc__ -> Symbol.Nonterm (ProdsTl ( (*______________________________________________________________________________*) -#526 "./Parse.hmh" +(* #529 "./Parse.hmh" *) ProdsTlProd {prod; prods_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 84 *) (function + (* 86 *) (function tl__hocc__ -> Symbol.Nonterm (ProdsTl ( (*______________________________________________________________________________*) -#527 "./Parse.hmh" +(* #530 "./Parse.hmh" *) ProdsTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 85 *) (function + (* 87 *) (function | Elm.{symbol=Symbol.Nonterm (ProdsTl prods_tl); _} :: Elm.{symbol=Symbol.Nonterm (Prod prod); _} :: _ :: tl__hocc__ -> Symbol.Nonterm (Prods ( (*______________________________________________________________________________*) -#531 "./Parse.hmh" +(* #534 "./Parse.hmh" *) ProdsProd {prod; prods_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 86 *) (function + (* 88 *) (function | Elm.{symbol=Symbol.Nonterm (ProdsTl prods_tl); _} :: Elm.{symbol=Symbol.Nonterm (Prod prod); _} :: tl__hocc__ -> Symbol.Nonterm (Prods ( (*______________________________________________________________________________*) -#531 "./Parse.hmh" +(* #534 "./Parse.hmh" *) ProdsProd {prod; prods_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 87 *) (function + (* 89 *) (function | Elm.{symbol=Symbol.Nonterm (Code code); _} :: _ :: Elm.{symbol=Symbol.Nonterm (Prods prods); _} :: tl__hocc__ -> Symbol.Nonterm (Reduction ( (*______________________________________________________________________________*) -#534 "./Parse.hmh" +(* #537 "./Parse.hmh" *) Reduction {prods; code} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 88 *) (function + (* 90 *) (function | Elm.{symbol=Symbol.Nonterm (ReductionsTl reductions_tl); _} :: Elm.{symbol=Symbol.Nonterm (Reduction reduction); _} :: _ :: tl__hocc__ -> Symbol.Nonterm (ReductionsTl ( (*______________________________________________________________________________*) -#538 "./Parse.hmh" +(* #541 "./Parse.hmh" *) ReductionsTlReduction {reduction; reductions_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 89 *) (function + (* 91 *) (function tl__hocc__ -> Symbol.Nonterm (ReductionsTl ( (*______________________________________________________________________________*) -#539 "./Parse.hmh" +(* #542 "./Parse.hmh" *) ReductionsTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 90 *) (function + (* 92 *) (function | Elm.{symbol=Symbol.Nonterm (ReductionsTl reductions_tl); _} :: Elm.{symbol=Symbol.Nonterm (Reduction reduction); _} :: tl__hocc__ -> Symbol.Nonterm (Reductions ( (*______________________________________________________________________________*) -#543 "./Parse.hmh" +(* #546 "./Parse.hmh" *) ReductionsReduction {reduction; reductions_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 91 *) (function + (* 93 *) (function | _ :: tl__hocc__ -> Symbol.Nonterm (NontermType ( (*______________________________________________________________________________*) -#546 "./Parse.hmh" +(* #549 "./Parse.hmh" *) NontermTypeNonterm (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 92 *) (function + (* 94 *) (function | _ :: tl__hocc__ -> Symbol.Nonterm (NontermType ( (*______________________________________________________________________________*) -#547 "./Parse.hmh" +(* #550 "./Parse.hmh" *) NontermTypeStart (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 93 *) (function + (* 95 *) (function | Elm.{symbol=Symbol.Nonterm (Prods prods); _} :: _ :: Elm.{symbol=Symbol.Nonterm (PrecRef prec_ref); _} @@ -16040,13 +16977,13 @@ NontermTypeStart :: Elm.{symbol=Symbol.Nonterm (NontermType nonterm_type); _} :: tl__hocc__ -> Symbol.Nonterm (Nonterm ( (*______________________________________________________________________________*) -#551 "./Parse.hmh" +(* #554 "./Parse.hmh" *) NontermProds {nonterm_type; cident; prec_ref; prods} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 94 *) (function + (* 96 *) (function | Elm.{symbol=Symbol.Nonterm (Reductions reductions); _} :: _ :: Elm.{symbol=Symbol.Nonterm (PrecRef prec_ref); _} @@ -16055,112 +16992,112 @@ NontermProds {nonterm_type; cident; prec_ref; prods} :: Elm.{symbol=Symbol.Nonterm (NontermType nonterm_type); _} :: tl__hocc__ -> Symbol.Nonterm (Nonterm ( (*______________________________________________________________________________*) -#554 "./Parse.hmh" +(* #557 "./Parse.hmh" *) NontermReductions {nonterm_type; cident; symbol_type; prec_ref; reductions} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 95 *) (function + (* 97 *) (function | Elm.{symbol=Symbol.Nonterm (Prec prec_); _} :: tl__hocc__ -> Symbol.Nonterm (Stmt ( (*______________________________________________________________________________*) -#557 "./Parse.hmh" +(* #560 "./Parse.hmh" *) StmtPrec {prec_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 96 *) (function + (* 98 *) (function | Elm.{symbol=Symbol.Nonterm (Token token_); _} :: tl__hocc__ -> Symbol.Nonterm (Stmt ( (*______________________________________________________________________________*) -#558 "./Parse.hmh" +(* #561 "./Parse.hmh" *) StmtToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 97 *) (function + (* 99 *) (function | Elm.{symbol=Symbol.Nonterm (Nonterm nonterm_); _} :: tl__hocc__ -> Symbol.Nonterm (Stmt ( (*______________________________________________________________________________*) -#559 "./Parse.hmh" +(* #562 "./Parse.hmh" *) StmtNonterm {nonterm_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 98 *) (function + (* 100 *) (function | Elm.{symbol=Symbol.Nonterm (Code code); _} :: tl__hocc__ -> Symbol.Nonterm (Stmt ( (*______________________________________________________________________________*) -#560 "./Parse.hmh" +(* #563 "./Parse.hmh" *) StmtCode {code} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 99 *) (function + (* 101 *) (function | Elm.{symbol=Symbol.Nonterm (StmtsTl stmts_tl); _} :: Elm.{symbol=Symbol.Nonterm (Stmt stmt); _} :: _ :: tl__hocc__ -> Symbol.Nonterm (StmtsTl ( (*______________________________________________________________________________*) -#563 "./Parse.hmh" +(* #566 "./Parse.hmh" *) StmtsTl {stmt; stmts_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 100 *) (function + (* 102 *) (function tl__hocc__ -> Symbol.Nonterm (StmtsTl ( (*______________________________________________________________________________*) -#564 "./Parse.hmh" +(* #567 "./Parse.hmh" *) StmtsTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 101 *) (function + (* 103 *) (function | Elm.{symbol=Symbol.Nonterm (StmtsTl stmts_tl); _} :: Elm.{symbol=Symbol.Nonterm (Stmt stmt); _} :: tl__hocc__ -> Symbol.Nonterm (Stmts ( (*______________________________________________________________________________*) -#567 "./Parse.hmh" +(* #570 "./Parse.hmh" *) Stmts {stmt; stmts_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 102 *) (function + (* 104 *) (function | Elm.{symbol=Symbol.Token (DEDENT dedent); _} :: Elm.{symbol=Symbol.Nonterm (Stmts stmts); _} :: Elm.{symbol=Symbol.Token (INDENT indent); _} :: Elm.{symbol=Symbol.Token (HOCC hocc_); _} :: tl__hocc__ -> Symbol.Nonterm (Hocc ( (*______________________________________________________________________________*) -#570 "./Parse.hmh" +(* #573 "./Parse.hmh" *) Hocc {hocc_; indent; stmts; dedent} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 103 *) (function + (* 105 *) (function | Elm.{symbol=Symbol.Nonterm (CodeToken code_token); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#574 "./Parse.hmh" +(* #577 "./Parse.hmh" *) let CodeToken {token_} = code_token in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 104 *) (function + (* 106 *) (function | Elm.{symbol=Symbol.Nonterm (Sep sep); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#577 "./Parse.hmh" +(* #580 "./Parse.hmh" *) let token_ = match sep with | SepLineDelim {line_delim=LINE_DELIM {token_}} | SepSemi {semi=SEMI {token_}} @@ -16172,186 +17109,186 @@ let token_ = match sep with )), tl__hocc__ | _ -> not_reached () ); - (* 105 *) (function + (* 107 *) (function | Elm.{symbol=Symbol.Token (INDENT token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#585 "./Parse.hmh" +(* #588 "./Parse.hmh" *) let INDENT {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 106 *) (function + (* 108 *) (function | Elm.{symbol=Symbol.Token (DEDENT token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#588 "./Parse.hmh" +(* #591 "./Parse.hmh" *) let DEDENT {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 107 *) (function + (* 109 *) (function | Elm.{symbol=Symbol.Token (LPAREN token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#591 "./Parse.hmh" +(* #594 "./Parse.hmh" *) let LPAREN {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 108 *) (function + (* 110 *) (function | Elm.{symbol=Symbol.Token (RPAREN token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#594 "./Parse.hmh" +(* #597 "./Parse.hmh" *) let RPAREN {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 109 *) (function + (* 111 *) (function | Elm.{symbol=Symbol.Token (LCAPTURE token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#597 "./Parse.hmh" +(* #600 "./Parse.hmh" *) let LCAPTURE {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 110 *) (function + (* 112 *) (function | Elm.{symbol=Symbol.Token (RCAPTURE token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#600 "./Parse.hmh" +(* #603 "./Parse.hmh" *) let RCAPTURE {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 111 *) (function + (* 113 *) (function | Elm.{symbol=Symbol.Token (LBRACK token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#603 "./Parse.hmh" +(* #606 "./Parse.hmh" *) let LBRACK {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 112 *) (function + (* 114 *) (function | Elm.{symbol=Symbol.Token (RBRACK token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#606 "./Parse.hmh" +(* #609 "./Parse.hmh" *) let RBRACK {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 113 *) (function + (* 115 *) (function | Elm.{symbol=Symbol.Token (LARRAY token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#609 "./Parse.hmh" +(* #612 "./Parse.hmh" *) let LARRAY {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 114 *) (function + (* 116 *) (function | Elm.{symbol=Symbol.Token (RARRAY token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#612 "./Parse.hmh" +(* #615 "./Parse.hmh" *) let RARRAY {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 115 *) (function + (* 117 *) (function | Elm.{symbol=Symbol.Token (LCURLY token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#615 "./Parse.hmh" +(* #618 "./Parse.hmh" *) let LCURLY {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 116 *) (function + (* 118 *) (function | Elm.{symbol=Symbol.Token (RCURLY token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#618 "./Parse.hmh" +(* #621 "./Parse.hmh" *) let RCURLY {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 117 *) (function + (* 119 *) (function | Elm.{symbol=Symbol.Nonterm (Matter matter); _} :: Elm.{symbol=Symbol.Nonterm (MatterToken matter_token); _} :: tl__hocc__ -> Symbol.Nonterm (Matter ( (*______________________________________________________________________________*) -#623 "./Parse.hmh" +(* #626 "./Parse.hmh" *) let MatterToken {token_} = matter_token in Matter {token_; matter} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 118 *) (function + (* 120 *) (function tl__hocc__ -> Symbol.Nonterm (Matter ( (*______________________________________________________________________________*) -#625 "./Parse.hmh" +(* #628 "./Parse.hmh" *) MatterEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 119 *) (function + (* 121 *) (function | Elm.{symbol=Symbol.Token (EOI eoi); _} :: Elm.{symbol=Symbol.Nonterm (Matter postlude); _} :: Elm.{symbol=Symbol.Nonterm (Hocc hocc_); _} :: Elm.{symbol=Symbol.Nonterm (Matter prelude); _} :: tl__hocc__ -> Symbol.Nonterm (Hmh ( (*______________________________________________________________________________*) -#628 "./Parse.hmh" +(* #631 "./Parse.hmh" *) Hmh {prelude; hocc_; postlude; eoi} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 120 *) (fun _stack -> not_reached ()); - (* 121 *) (function + (* 122 *) (fun _stack -> not_reached ()); + (* 123 *) (function | Elm.{symbol=Symbol.Token (EOI eoi); _} :: Elm.{symbol=Symbol.Nonterm (Matter postlude); _} :: Elm.{symbol=Symbol.Token (HOCC hocc_); _} :: Elm.{symbol=Symbol.Nonterm (Matter prelude); _} :: tl__hocc__ -> Symbol.Nonterm (Hmhi ( (*______________________________________________________________________________*) -#631 "./Parse.hmh" +(* #634 "./Parse.hmh" *) Hmhi {prelude; hocc_; postlude; eoi} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 122 *) (fun _stack -> not_reached ()) + (* 124 *) (fun _stack -> not_reached ()) |] let callback t = @@ -16558,7 +17495,7 @@ Hmhi {prelude; hocc_; postlude; eoi} | Status.Prefix -> t |> feed token |> walk | _ -> not_reached () end -#632 "./Parse.hmh" +(* #635 "./Parse.hmh" *) let rec scan scanner = let scanner, scan_token = Scan.next scanner in @@ -17376,12 +18313,12 @@ let rec pp_token_hocc (HOCC {token_}) formatter = |> fmt_lcurly ~alt ~width |> Fmt.fmt "pattern_field=" |> fmt_pattern_field ~alt ~width:width' pattern_field |> fmt_rcurly ~alt ~width - | PatternFieldsMulti {pattern_field_a; pattern_field_b} -> + | PatternFieldsMulti {pattern_field; pattern_fields} -> formatter |> Fmt.fmt "PatternFieldsMulti " |> fmt_lcurly ~alt ~width - |> Fmt.fmt "pattern_field_a=" |> fmt_pattern_field ~alt ~width:width' pattern_field_a + |> Fmt.fmt "pattern_field=" |> fmt_pattern_field ~alt ~width:width' pattern_field |> fmt_semi ~alt ~width - |> Fmt.fmt "pattern_field_b=" |> fmt_pattern_field ~alt ~width:width' pattern_field_b + |> Fmt.fmt "pattern_fields=" |> fmt_pattern_fields ~alt ~width:width' pattern_fields |> fmt_rcurly ~alt ~width and pp_pattern_fields pattern_fields formatter = fmt_pattern_fields pattern_fields formatter diff --git a/bootstrap/bin/hocc/spec.ml b/bootstrap/bin/hocc/spec.ml index 0d41ced4b..b17a1cf43 100644 --- a/bootstrap/bin/hocc/spec.ml +++ b/bootstrap/bin/hocc/spec.ml @@ -374,8 +374,8 @@ let symbols_init io precs symbols hmh = in io end - | ProdParamPattern _ -> not_implemented "XXX" - | ProdParamFields _ -> not_implemented "XXX" + | ProdParamPattern _ -> not_implemented "XXX spec ProdParamPattern" + | ProdParamFields _ -> not_implemented "XXX spec ProdParamFields" | ProdParam _ -> io in let param = diff --git a/bootstrap/test/hocc/Binding_error_b.expected b/bootstrap/test/hocc/Binding_error_b.expected new file mode 100644 index 000000000..e69de29bb diff --git a/bootstrap/test/hocc/Binding_error_b.hmh b/bootstrap/test/hocc/Binding_error_b.hmh new file mode 100644 index 000000000..dfeed4748 --- /dev/null +++ b/bootstrap/test/hocc/Binding_error_b.hmh @@ -0,0 +1,11 @@ +type t: t = { + x: uns + y: uns + } + +hocc + token T of t + token EOI + start S of uns ::= + | {x; y}:T EOI -> x + y + | {x; y=x}:T EOI -> x + y diff --git a/bootstrap/test/hocc/Binding_error_c.expected b/bootstrap/test/hocc/Binding_error_c.expected new file mode 100644 index 000000000..e69de29bb diff --git a/bootstrap/test/hocc/Binding_error_c.hmh b/bootstrap/test/hocc/Binding_error_c.hmh new file mode 100644 index 000000000..ba61ddf8f --- /dev/null +++ b/bootstrap/test/hocc/Binding_error_c.hmh @@ -0,0 +1,11 @@ +type t: t = { + x: uns + y: uns + } + +hocc + token T of t + token EOI + start S of uns ::= + | {x; _}:T EOI + | {x; y}:T EOI -> x + y diff --git a/bootstrap/test/hocc/Parse_a.hmh b/bootstrap/test/hocc/Parse_a.hmh index f70cd0a4d..5996df428 100644 --- a/bootstrap/test/hocc/Parse_a.hmh +++ b/bootstrap/test/hocc/Parse_a.hmh @@ -49,6 +49,22 @@ include hocc nonterm N7 of Unit.t ::= | OP n:N1 _:N2 -> foo + start N8 of Unit.t ::= + | + _:N5 + x0:N5 + {x2}:N5 + X.{x2}:N5 + {x3; x4}:N6 + (_):N5 + (x5):N5 + X.(x5):N5 + (X x6):N5 + (X.(x7)):N5 + (x8, x9):N5 + {x10; x11=x12; x13={x14; _}; _;}:N5 + -> () + Code = { } diff --git a/bootstrap/test/hocc/dune b/bootstrap/test/hocc/dune index b7805617c..c85886729 100644 --- a/bootstrap/test/hocc/dune +++ b/bootstrap/test/hocc/dune @@ -260,6 +260,30 @@ (alias runtest) (action (diff Binding_error.expected Binding_error.out))) +(rule + (deps + (glob_files Binding_error_b.hmh*) + %{bin:hocc}) + (action + (with-accepted-exit-codes + (or 0 1) + (with-outputs-to Binding_error_b.out (run ./hocc_test %{bin:hocc} Binding_error_b -v))))) +(rule + (alias runtest) + (action (diff Binding_error_b.expected Binding_error_b.out))) + +(rule + (deps + (glob_files Binding_error_c.hmh*) + %{bin:hocc}) + (action + (with-accepted-exit-codes + (or 0 1) + (with-outputs-to Binding_error_c.out (run ./hocc_test %{bin:hocc} Binding_error_c -v))))) +(rule + (alias runtest) + (action (diff Binding_error_c.expected Binding_error_c.out))) + (rule (deps (glob_files Unused.hmh*)