From 3311d5f6e2fe3999b2d5090f146cd76db5dff4b3 Mon Sep 17 00:00:00 2001 From: Jason Evans Date: Thu, 22 Aug 2024 17:55:09 -0700 Subject: [PATCH] Start implementing richer binding syntax --- bootstrap/bin/hocc/Parse.hmh | 298 +- bootstrap/bin/hocc/Parse.ml | 10887 ++++++++++++++++++++------------- 2 files changed, 6907 insertions(+), 4278 deletions(-) diff --git a/bootstrap/bin/hocc/Parse.hmh b/bootstrap/bin/hocc/Parse.hmh index 1984fa56..67a15063 100644 --- a/bootstrap/bin/hocc/Parse.hmh +++ b/bootstrap/bin/hocc/Parse.hmh @@ -1,11 +1,10 @@ (* To bootstrap the `hocc` parser, run one of the following commands: * * - Compilable (trivial update): - * dune exec -- hocc -v -a pgm1 -ml -s Parse + * dune exec -- hocc -v -a ielr1 -ml -s Parse * - Not compilable (use external `hocc`): - * hocc -v -a pgm1 -ml -s Parse - * - * PGM(1) is appropriate only as long as the parser avoids precedence for conflict resolution. *) + * hocc -v -a ielr1 -ml -s Parse + *) open Basis open! Basis.Rudiments @@ -93,10 +92,14 @@ type token_bar = | BAR of {token_: Scan.Token.t} type token_lt = | LT of {token_: Scan.Token.t} +type token_eq = + | EQ of {token_: Scan.Token.t} type token_comma = | COMMA of {token_: Scan.Token.t} type token_semi = | SEMI of {token_: Scan.Token.t} +type token_as = + | AS of {token_: Scan.Token.t} type token_line_delim = | LINE_DELIM of {token_: Scan.Token.t} type token_indent = @@ -128,11 +131,7 @@ type token_other_token = type token_eoi = | EOI of {token_: Scan.Token.t} -type nonterm_ident = - | IdentUident of {uident: token_uident} - | IdentCident of {cident: token_cident} - | IdentUscore of {uscore: token_uscore} - and nonterm_precs_tl = +type nonterm_precs_tl = | PrecsTlUident of {uident: token_uident; precs_tl: nonterm_precs_tl} | PrecsTlEpsilon and nonterm_precs = @@ -193,11 +192,32 @@ type nonterm_ident = and nonterm_code = | CodeDelimited of {delimited: nonterm_delimited; code_tl: nonterm_code_tl} | CodeCodeToken of {code_token: nonterm_code_token; code_tl: nonterm_code_tl} + and nonterm_binding = + | Binding of {uident: token_uident} + and nonterm_pattern_field = + | PatternFieldBinding of {binding: nonterm_binding} + | 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} + and nonterm_semi_suffix = + | SemiSuffix + and nonterm_module_path = + | ModulePath + and nonterm_pattern = + | PatternUscore + | PatternBinding of {binding: nonterm_binding} + | PatternPattern of {pattern: nonterm_pattern} + | PatternComma of {pattern_a: nonterm_pattern; pattern_b: nonterm_pattern} + | PatternFields of {fields: nonterm_pattern_fields} and nonterm_prod_param_symbol = | ProdParamSymbolCident of {cident: token_cident} | ProdParamSymbolAlias of {alias: token_istring} and nonterm_prod_param = - | ProdParamBinding of {ident: nonterm_ident; prod_param_symbol: nonterm_prod_param_symbol} + | ProdParamBinding of {binding: nonterm_binding; prod_param_symbol: nonterm_prod_param_symbol} + | ProdParamPattern of {lparen: token_lparen; pattern: nonterm_pattern; rparen: token_rparen; + prod_param_symbol: nonterm_prod_param_symbol} | ProdParam of {prod_param_symbol: nonterm_prod_param_symbol} and nonterm_prod_params_tl = | ProdParamsTlProdParam of {prod_param: nonterm_prod_param; @@ -266,7 +286,8 @@ include hocc (* Identifiers *) token UIDENT of token_uident # Uncapitalized - token CIDENT of token_cident # Capitalized + right pCIDENT + token CIDENT of token_cident prec pCIDENT # Capitalized token USCORE "_" of token_uscore (* Token alias *) @@ -276,12 +297,18 @@ include hocc token COLON_COLON_EQ "::=" of token_colon_colon_eq token OF "of" of token_of token COLON ":" of token_colon - token DOT "." of token_dot + left pDOT + token DOT "." of token_dot prec pDOT token ARROW "->" of token_arrow token BAR "|" of token_bar token LT "<" of token_lt - token COMMA "," of token_comma - token SEMI ";" of token_semi + token EQ "=" of token_eq + left pCOMMA < pCIDENT + token COMMA "," of token_comma prec pCOMMA + right pSEMI + token SEMI ";" of token_semi prec pSEMI + neutral pAS < pCOMMA + token AS "as" of token_as prec pAS token LINE_DELIM of token_line_delim (* Left-right paired delimiters *) @@ -304,11 +331,6 @@ include hocc (* End of input, used to terminate start symbols *) token EOI of token_eoi - nonterm Ident of nonterm_ident ::= - | uident:UIDENT -> IdentUident {uident} - | cident:CIDENT -> IdentCident {cident} - | uscore:"_" -> IdentUscore {uscore} - nonterm PrecsTl of nonterm_precs_tl ::= | "," uident:UIDENT precs_tl:PrecsTl -> PrecsTlUident {uident; precs_tl} | epsilon -> PrecsTlEpsilon @@ -408,6 +430,9 @@ include hocc | token_:"<" -> let LT {token_} = token_ in CodeToken {token_} + | token_:"=" -> + let EQ {token_} = token_ in + CodeToken {token_} | token_:"," -> let COMMA {token_} = token_ in CodeToken {token_} @@ -421,14 +446,55 @@ include hocc | delimited:Delimited code_tl:CodeTl -> CodeDelimited {delimited; code_tl} | code_token:CodeToken code_tl:CodeTl -> CodeCodeToken {code_token; code_tl} + nonterm Binding of nonterm_binding ::= + | uident:UIDENT -> Binding {uident} + + nonterm PatternField of nonterm_pattern_field ::= + | binding:Binding -> PatternFieldBinding {binding} + | UIDENT "=" pattern:Pattern -> PatternFieldPattern {pattern} + + nonterm PatternFields of nonterm_pattern_fields prec pSEMI ::= + | pattern_field:PatternField + | pattern_field:PatternField ";" "_" + -> PatternFieldsOne {pattern_field} + | pattern_field_a:PatternField ";" pattern_field_b:PatternField + -> PatternFieldsMulti {pattern_field_a; pattern_field_b} + + nonterm SemiSuffix of nonterm_semi_suffix ::= + | ";" + | epsilon -> SemiSuffix + + nonterm ModulePath of nonterm_module_path ::= + | CIDENT + | ModulePath "." ModulePath prec pDOT -> ModulePath + + nonterm Pattern of nonterm_pattern ::= + | "_" + -> PatternUscore + | binding:Binding + | Pattern "as" binding:Binding prec pAS + -> PatternBinding {binding} + | "(" pattern:Pattern ")" + | CIDENT pattern:Pattern prec pCIDENT + | ModulePath "." "(" pattern:Pattern ")" + | ModulePath "." "{" pattern:Pattern "}" + -> PatternPattern {pattern} + | pattern_a:Pattern "," pattern_b:Pattern prec pCOMMA + -> PatternComma {pattern_a; pattern_b} + | "{" fields:PatternFields SemiSuffix "}" + -> PatternFields {fields} + nonterm ProdParamSymbol of nonterm_prod_param_symbol ::= | cident:CIDENT -> ProdParamSymbolCident {cident} | alias:ISTRING -> ProdParamSymbolAlias {alias} nonterm ProdParam of nonterm_prod_param ::= - | ident:Ident ":" prod_param_symbol:ProdParamSymbol -> - ProdParamBinding {ident; prod_param_symbol} - | prod_param_symbol:ProdParamSymbol -> ProdParam {prod_param_symbol} + | binding:Binding ":" prod_param_symbol:ProdParamSymbol -> + ProdParamBinding {binding; prod_param_symbol} + | lparen:"(" pattern:Pattern rparen:")" ":" prod_param_symbol:ProdParamSymbol -> + ProdParamPattern {lparen; pattern; rparen; prod_param_symbol} + | prod_param_symbol:ProdParamSymbol -> + ProdParam {prod_param_symbol} nonterm ProdParamsTl of nonterm_prod_params_tl ::= | prod_param:ProdParam prod_params_tl:ProdParamsTl -> @@ -574,8 +640,10 @@ let rec scan scanner = | Tok_arrow _ -> Some (Token.ARROW (ARROW {token_=scan_token})) | Tok_bar _ -> Some (Token.BAR (BAR {token_=scan_token})) | Tok_lt _ -> Some (Token.LT (LT {token_=scan_token})) + | Tok_eq _ -> Some (Token.EQ (EQ {token_=scan_token})) | Tok_comma _ -> Some (Token.COMMA (COMMA {token_=scan_token})) | Tok_semi _ -> Some (Token.SEMI (SEMI {token_=scan_token})) + | Tok_as _ -> Some (Token.AS (AS {token_=scan_token})) | Tok_line_delim _ -> Some (Token.LINE_DELIM (LINE_DELIM {token_=scan_token})) | Tok_indent _ -> Some (Token.INDENT (INDENT {token_=scan_token})) | Tok_dedent _ -> Some (Token.DEDENT (DEDENT {token_=scan_token})) @@ -732,48 +800,20 @@ let token_source token_ = let source_of_token_uident = function | UIDENT {token_} -> token_source token_ -let source_of_token_cident = function - | CIDENT {token_} -> token_source token_ - -let source_of_token_uscore = function - | USCORE {token_} -> token_source token_ - -let source_of_token_istring = function - | ISTRING {token_} -> token_source token_ - -let source_of_token_epsilon = function - | EPSILON {token_} -> token_source token_ - -let rec source_of_ident = function - | IdentUident {uident} -> source_of_token_uident uident - | IdentCident {cident} -> source_of_token_cident cident - | IdentUscore {uscore} -> source_of_token_uscore uscore - - and source_of_prod_param_symbol = function - | ProdParamSymbolCident {cident} -> source_of_token_cident cident - | ProdParamSymbolAlias {alias} -> source_of_token_istring alias +let source_of_token_lparen = function + | LPAREN {token_} -> token_source token_ - and source_of_prod_param = function - | ProdParamBinding {ident; prod_param_symbol} -> - source_of_ident ident - |> join_sources (source_of_prod_param_symbol prod_param_symbol) - | ProdParam {prod_param_symbol} -> - source_of_prod_param_symbol prod_param_symbol +let source_of_token_rparen = function + | RPAREN {token_} -> token_source token_ - and source_of_prod_params_tl = function - | ProdParamsTlProdParam {prod_param; prod_params_tl} -> - source_of_prod_param prod_param - |> join_sources (source_of_prod_params_tl prod_params_tl) - | ProdParamsTlEpsilon -> None - - and source_of_prod_params = function - | ProdParamsProdParam {prod_param; prod_params_tl} -> - source_of_prod_param prod_param - |> join_sources (source_of_prod_params_tl prod_params_tl) - - and source_of_prod_pattern = function - | ProdPatternParams {prod_params} -> source_of_prod_params prod_params - | ProdPatternEpsilon {epsilon_} -> source_of_token_epsilon epsilon_ +let rec source_of_binding = function + | Binding {uident} -> source_of_token_uident uident + and source_of_prod_param_binding = function + | ProdParamBinding {binding; _} -> source_of_binding binding + | ProdParamPattern {lparen; rparen; _} -> + source_of_token_lparen lparen + |> join_sources (source_of_token_rparen rparen) + | ProdParam _ -> not_reached () (**************************************************************************************************) (* fmt_* functions. *) @@ -898,6 +938,12 @@ let rec pp_token_hocc (HOCC {token_}) formatter = |> Scan.Token.pp token_ |> Fmt.fmt "}" + and pp_token_eq (EQ {token_}) formatter = + formatter + |> Fmt.fmt "EQ {" + |> Scan.Token.pp token_ + |> Fmt.fmt "}" + and pp_token_comma (COMMA {token_}) formatter = formatter |> Fmt.fmt "COMMA {" @@ -910,6 +956,12 @@ let rec pp_token_hocc (HOCC {token_}) formatter = |> Scan.Token.pp token_ |> Fmt.fmt "}" + and pp_token_as (AS {token_}) formatter = + formatter + |> Fmt.fmt "AS {" + |> Scan.Token.pp token_ + |> Fmt.fmt "}" + and pp_token_line_delim (LINE_DELIM {token_}) formatter = formatter |> Fmt.fmt "LINE_DELIM {" @@ -1025,26 +1077,6 @@ let rec pp_token_hocc (HOCC {token_}) formatter = |> Fmt.fmt ~pad:" " ~just:Fmt.Left ~width:(width + 2L) "" |> Fmt.fmt "}" - and fmt_ident ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) ident formatter = - match ident with - | IdentUident {uident} -> - formatter |> Fmt.fmt "IdentUident " - |> fmt_lcurly ~alt ~width - |> Fmt.fmt "uident=" |> pp_token_uident uident - |> fmt_rcurly ~alt ~width - | IdentCident {cident} -> - formatter |> Fmt.fmt "IdentCident " - |> fmt_lcurly ~alt ~width - |> Fmt.fmt "cident=" |> pp_token_cident cident - |> fmt_rcurly ~alt ~width - | IdentUscore {uscore} -> - formatter |> Fmt.fmt "IdentUscore " - |> fmt_lcurly ~alt ~width - |> Fmt.fmt "uscore=" |> pp_token_uscore uscore - |> fmt_rcurly ~alt ~width - and pp_ident ident formatter = - fmt_ident ident formatter - and fmt_precs_tl ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) precs_tl formatter = let width' = width + 4L in match precs_tl with @@ -1360,6 +1392,89 @@ let rec pp_token_hocc (HOCC {token_}) formatter = and pp_code code formatter = fmt_code code formatter + and fmt_binding ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) binding formatter = + match binding with + | Binding {uident} -> + formatter |> Fmt.fmt "Binding " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "uident=" |> pp_token_uident uident + |> fmt_rcurly ~alt ~width + and pp_binding binding formatter = + fmt_binding binding formatter + + and fmt_pattern_field ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) pattern_field formatter = + let width' = width + 4L in + match pattern_field with + | PatternFieldBinding {binding} -> + formatter |> Fmt.fmt "PatternFieldBinding " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "binding=" |> fmt_binding ~alt ~width:width' binding + |> fmt_rcurly ~alt ~width + | PatternFieldPattern {pattern} -> + formatter |> Fmt.fmt "PatternFieldPattern " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "pattern=" |> fmt_pattern ~alt ~width:width' pattern + |> fmt_rcurly ~alt ~width + and pp_pattern_field pattern_field formatter = + fmt_pattern_field pattern_field formatter + + and fmt_pattern_fields ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) pattern_fields + formatter = + let width' = width + 4L in + match pattern_fields with + | PatternFieldsOne {pattern_field} -> + formatter |> Fmt.fmt "PatternFieldsOne " + |> 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} -> + formatter |> Fmt.fmt "PatternFieldsMulti " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "pattern_field_a=" |> fmt_pattern_field ~alt ~width:width' pattern_field_a + |> fmt_semi ~alt ~width + |> Fmt.fmt "pattern_field_b=" |> fmt_pattern_field ~alt ~width:width' pattern_field_b + |> fmt_rcurly ~alt ~width + and pp_pattern_fields pattern_fields formatter = + fmt_pattern_fields pattern_fields formatter + + and pp_semi_suffix semi_suffix formatter = + match semi_suffix with + | SemiSuffix -> formatter |> Fmt.fmt "SemiSuffix" + + and pp_module_path module_path formatter = + match module_path with + | ModulePath -> formatter |> Fmt.fmt "ModulePath" + + and fmt_pattern ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) pattern formatter = + let width' = width + 4L in + match pattern with + | PatternUscore -> + formatter |> Fmt.fmt "PatternUscore" + | PatternBinding {binding} -> + formatter |> Fmt.fmt "PatternBinding " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "binding=" |> fmt_binding ~alt ~width:width' binding + |> fmt_rcurly ~alt ~width + | PatternPattern {pattern} -> + formatter |> Fmt.fmt "PatternPattern " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "pattern=" |> fmt_pattern ~alt ~width:width' pattern + |> fmt_rcurly ~alt ~width + | PatternComma {pattern_a; pattern_b} -> + formatter |> Fmt.fmt "PatternComma " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "pattern_a=" |> fmt_pattern ~alt ~width:width' pattern_a + |> fmt_semi ~alt ~width + |> Fmt.fmt "pattern_b=" |> fmt_pattern ~alt ~width:width' pattern_b + |> fmt_rcurly ~alt ~width + | PatternFields {fields} -> + formatter |> Fmt.fmt "PatternFields " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "fields=" |> fmt_pattern_fields ~alt ~width:width' fields + |> fmt_rcurly ~alt ~width + and pp_pattern pattern formatter = + fmt_pattern pattern formatter + and fmt_prod_param_symbol ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) prod_param_symbol formatter = match prod_param_symbol with @@ -1379,10 +1494,22 @@ let rec pp_token_hocc (HOCC {token_}) formatter = and fmt_prod_param ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) prod_param formatter = let width' = width + 4L in match prod_param with - | ProdParamBinding {ident; prod_param_symbol} -> - formatter |> Fmt.fmt "ProdParam " + | ProdParamBinding {binding; prod_param_symbol} -> + formatter |> Fmt.fmt "ProdParamBinding " |> fmt_lcurly ~alt ~width - |> Fmt.fmt "ident=" |> fmt_ident ~alt ~width:width' ident + |> Fmt.fmt "binding=" |> fmt_binding ~alt ~width:width' binding + |> fmt_semi ~alt ~width + |> Fmt.fmt "prod_param_symbol=" + |> fmt_prod_param_symbol ~alt ~width:width' prod_param_symbol + |> fmt_rcurly ~alt ~width + | ProdParamPattern {lparen; pattern; rparen; prod_param_symbol} -> + formatter |> Fmt.fmt "ProdParamPattern " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "lparen=" |> pp_token_lparen lparen + |> fmt_semi ~alt ~width + |> Fmt.fmt "pattern=" |> fmt_pattern ~alt ~width:width' pattern + |> fmt_semi ~alt ~width + |> Fmt.fmt "rparen=" |> pp_token_rparen rparen |> fmt_semi ~alt ~width |> Fmt.fmt "prod_param_symbol=" |> fmt_prod_param_symbol ~alt ~width:width' prod_param_symbol @@ -1799,6 +1926,7 @@ let postlude_base_of_hocc (Hocc {stmts=Stmts {stmt; stmts_tl}; _}) = | ProdParamSymbolAlias {alias=ISTRING {token_=alias}} -> alias and of_prod_param = function | ProdParamBinding {prod_param_symbol; _} + | ProdParamPattern {prod_param_symbol; _} | ProdParam {prod_param_symbol} -> of_prod_param_symbol prod_param_symbol and of_prod_params_tl = function | ProdParamsTlProdParam {prod_param; prod_params_tl} -> begin diff --git a/bootstrap/bin/hocc/Parse.ml b/bootstrap/bin/hocc/Parse.ml index 2bbe078e..cf9768ec 100644 --- a/bootstrap/bin/hocc/Parse.ml +++ b/bootstrap/bin/hocc/Parse.ml @@ -86,10 +86,14 @@ type token_bar = | BAR of {token_: Scan.Token.t} type token_lt = | LT of {token_: Scan.Token.t} +type token_eq = + | EQ of {token_: Scan.Token.t} type token_comma = | COMMA of {token_: Scan.Token.t} type token_semi = | SEMI of {token_: Scan.Token.t} +type token_as = + | AS of {token_: Scan.Token.t} type token_line_delim = | LINE_DELIM of {token_: Scan.Token.t} type token_indent = @@ -121,11 +125,7 @@ type token_other_token = type token_eoi = | EOI of {token_: Scan.Token.t} -type nonterm_ident = - | IdentUident of {uident: token_uident} - | IdentCident of {cident: token_cident} - | IdentUscore of {uscore: token_uscore} - and nonterm_precs_tl = +type nonterm_precs_tl = | PrecsTlUident of {uident: token_uident; precs_tl: nonterm_precs_tl} | PrecsTlEpsilon and nonterm_precs = @@ -186,11 +186,32 @@ type nonterm_ident = and nonterm_code = | CodeDelimited of {delimited: nonterm_delimited; code_tl: nonterm_code_tl} | CodeCodeToken of {code_token: nonterm_code_token; code_tl: nonterm_code_tl} + and nonterm_binding = + | Binding of {uident: token_uident} + and nonterm_pattern_field = + | PatternFieldBinding of {binding: nonterm_binding} + | 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} + and nonterm_semi_suffix = + | SemiSuffix + and nonterm_module_path = + | ModulePath + and nonterm_pattern = + | PatternUscore + | PatternBinding of {binding: nonterm_binding} + | PatternPattern of {pattern: nonterm_pattern} + | PatternComma of {pattern_a: nonterm_pattern; pattern_b: nonterm_pattern} + | PatternFields of {fields: nonterm_pattern_fields} and nonterm_prod_param_symbol = | ProdParamSymbolCident of {cident: token_cident} | ProdParamSymbolAlias of {alias: token_istring} and nonterm_prod_param = - | ProdParamBinding of {ident: nonterm_ident; prod_param_symbol: nonterm_prod_param_symbol} + | ProdParamBinding of {binding: nonterm_binding; prod_param_symbol: nonterm_prod_param_symbol} + | ProdParamPattern of {lparen: token_lparen; pattern: nonterm_pattern; rparen: token_rparen; + prod_param_symbol: nonterm_prod_param_symbol} | ProdParam of {prod_param_symbol: nonterm_prod_param_symbol} and nonterm_prod_params_tl = | ProdParamsTlProdParam of {prod_param: nonterm_prod_param; @@ -280,7 +301,7 @@ include struct include Identifiable.Make(T) end - let algorithm = Algorithm.Pgm1 + let algorithm = Algorithm.Ielr1 module Assoc = struct module T = struct @@ -343,7 +364,11 @@ include struct end let precs = [| - + Prec.init ~index:0L ~name:"pCIDENT" ~assoc:(Some Right) ~doms:(Ordset.empty (module Uns)); + Prec.init ~index:1L ~name:"pDOT" ~assoc:(Some Left) ~doms:(Ordset.empty (module Uns)); + Prec.init ~index:2L ~name:"pCOMMA" ~assoc:(Some Left) ~doms:(Ordset.singleton (module Uns) 0L); + Prec.init ~index:3L ~name:"pSEMI" ~assoc:(Some Right) ~doms:(Ordset.empty (module Uns)); + Prec.init ~index:4L ~name:"pAS" ~assoc:None ~doms:(Ordset.of_list (module Uns) [0L; 2L]) |] module Prod = struct @@ -379,210 +404,246 @@ include struct end let prods = [| - Prod.init ~index:0L ~lhs_index:39L ~rhs_indexes:[|11L|] + Prod.init ~index:0L ~lhs_index:41L ~rhs_indexes:[|23L; 11L; 41L|] ~prec:None ~callback:0L; - Prod.init ~index:1L ~lhs_index:39L ~rhs_indexes:[|12L|] + Prod.init ~index:1L ~lhs_index:41L ~rhs_indexes:[||] ~prec:None ~callback:1L; - Prod.init ~index:2L ~lhs_index:39L ~rhs_indexes:[|13L|] + Prod.init ~index:2L ~lhs_index:42L ~rhs_indexes:[|11L; 41L|] ~prec:None ~callback:2L; - Prod.init ~index:3L ~lhs_index:40L ~rhs_indexes:[|22L; 11L; 40L|] + Prod.init ~index:3L ~lhs_index:43L ~rhs_indexes:[|21L; 42L|] ~prec:None ~callback:3L; - Prod.init ~index:4L ~lhs_index:40L ~rhs_indexes:[||] + Prod.init ~index:4L ~lhs_index:43L ~rhs_indexes:[||] ~prec:None ~callback:4L; - Prod.init ~index:5L ~lhs_index:41L ~rhs_indexes:[|11L; 40L|] + Prod.init ~index:5L ~lhs_index:44L ~rhs_indexes:[|7L|] ~prec:None ~callback:5L; - Prod.init ~index:6L ~lhs_index:42L ~rhs_indexes:[|21L; 41L|] + Prod.init ~index:6L ~lhs_index:44L ~rhs_indexes:[|8L|] ~prec:None ~callback:6L; - Prod.init ~index:7L ~lhs_index:42L ~rhs_indexes:[||] + Prod.init ~index:7L ~lhs_index:44L ~rhs_indexes:[|9L|] ~prec:None ~callback:7L; - Prod.init ~index:8L ~lhs_index:43L ~rhs_indexes:[|7L|] + Prod.init ~index:8L ~lhs_index:45L ~rhs_indexes:[|44L; 11L; 43L|] ~prec:None ~callback:8L; - Prod.init ~index:9L ~lhs_index:43L ~rhs_indexes:[|8L|] + Prod.init ~index:9L ~lhs_index:46L ~rhs_indexes:[|12L; 18L; 46L|] ~prec:None ~callback:9L; - Prod.init ~index:10L ~lhs_index:43L ~rhs_indexes:[|9L|] + Prod.init ~index:10L ~lhs_index:46L ~rhs_indexes:[||] ~prec:None ~callback:10L; - Prod.init ~index:11L ~lhs_index:44L ~rhs_indexes:[|43L; 11L; 42L|] + Prod.init ~index:11L ~lhs_index:47L ~rhs_indexes:[|16L; 46L; 11L|] ~prec:None ~callback:11L; - Prod.init ~index:12L ~lhs_index:45L ~rhs_indexes:[|12L; 18L; 45L|] + Prod.init ~index:12L ~lhs_index:48L ~rhs_indexes:[|47L|] ~prec:None ~callback:12L; - Prod.init ~index:13L ~lhs_index:45L ~rhs_indexes:[||] + Prod.init ~index:13L ~lhs_index:48L ~rhs_indexes:[||] ~prec:None ~callback:13L; - Prod.init ~index:14L ~lhs_index:46L ~rhs_indexes:[|16L; 45L; 11L|] + Prod.init ~index:14L ~lhs_index:49L ~rhs_indexes:[|10L; 11L|] ~prec:None ~callback:14L; - Prod.init ~index:15L ~lhs_index:47L ~rhs_indexes:[|46L|] + Prod.init ~index:15L ~lhs_index:49L ~rhs_indexes:[||] ~prec:None ~callback:15L; - Prod.init ~index:16L ~lhs_index:47L ~rhs_indexes:[||] + Prod.init ~index:16L ~lhs_index:50L ~rhs_indexes:[|14L|] ~prec:None ~callback:16L; - Prod.init ~index:17L ~lhs_index:48L ~rhs_indexes:[|10L; 11L|] + Prod.init ~index:17L ~lhs_index:50L ~rhs_indexes:[||] ~prec:None ~callback:17L; - Prod.init ~index:18L ~lhs_index:48L ~rhs_indexes:[||] + Prod.init ~index:18L ~lhs_index:51L ~rhs_indexes:[|6L; 12L; 50L; 48L; 49L|] ~prec:None ~callback:18L; - Prod.init ~index:19L ~lhs_index:49L ~rhs_indexes:[|14L|] + Prod.init ~index:19L ~lhs_index:52L ~rhs_indexes:[|26L|] ~prec:None ~callback:19L; - Prod.init ~index:20L ~lhs_index:49L ~rhs_indexes:[||] + Prod.init ~index:20L ~lhs_index:52L ~rhs_indexes:[|24L|] ~prec:None ~callback:20L; - Prod.init ~index:21L ~lhs_index:50L ~rhs_indexes:[|6L; 12L; 49L; 47L; 48L|] + Prod.init ~index:21L ~lhs_index:52L ~rhs_indexes:[|20L|] ~prec:None ~callback:21L; - Prod.init ~index:22L ~lhs_index:51L ~rhs_indexes:[|24L|] + Prod.init ~index:22L ~lhs_index:53L ~rhs_indexes:[|52L; 59L; 53L|] ~prec:None ~callback:22L; - Prod.init ~index:23L ~lhs_index:51L ~rhs_indexes:[|23L|] + Prod.init ~index:23L ~lhs_index:53L ~rhs_indexes:[||] ~prec:None ~callback:23L; - Prod.init ~index:24L ~lhs_index:51L ~rhs_indexes:[|20L|] + Prod.init ~index:24L ~lhs_index:54L ~rhs_indexes:[|59L; 53L|] ~prec:None ~callback:24L; - Prod.init ~index:25L ~lhs_index:52L ~rhs_indexes:[|51L; 58L; 52L|] + Prod.init ~index:25L ~lhs_index:55L ~rhs_indexes:[|54L|] ~prec:None ~callback:25L; - Prod.init ~index:26L ~lhs_index:52L ~rhs_indexes:[||] + Prod.init ~index:26L ~lhs_index:55L ~rhs_indexes:[||] ~prec:None ~callback:26L; - Prod.init ~index:27L ~lhs_index:53L ~rhs_indexes:[|58L; 52L|] + Prod.init ~index:27L ~lhs_index:56L ~rhs_indexes:[|27L; 54L; 28L|] ~prec:None ~callback:27L; - Prod.init ~index:28L ~lhs_index:54L ~rhs_indexes:[|53L|] + Prod.init ~index:28L ~lhs_index:56L ~rhs_indexes:[|29L; 55L; 30L|] ~prec:None ~callback:28L; - Prod.init ~index:29L ~lhs_index:54L ~rhs_indexes:[||] + Prod.init ~index:29L ~lhs_index:56L ~rhs_indexes:[|31L; 55L; 32L|] ~prec:None ~callback:29L; - Prod.init ~index:30L ~lhs_index:55L ~rhs_indexes:[|25L; 53L; 26L|] + Prod.init ~index:30L ~lhs_index:56L ~rhs_indexes:[|33L; 55L; 34L|] ~prec:None ~callback:30L; - Prod.init ~index:31L ~lhs_index:55L ~rhs_indexes:[|27L; 54L; 28L|] + Prod.init ~index:31L ~lhs_index:56L ~rhs_indexes:[|35L; 55L; 36L|] ~prec:None ~callback:31L; - Prod.init ~index:32L ~lhs_index:55L ~rhs_indexes:[|29L; 54L; 30L|] + Prod.init ~index:32L ~lhs_index:56L ~rhs_indexes:[|37L; 55L; 38L|] ~prec:None ~callback:32L; - Prod.init ~index:33L ~lhs_index:55L ~rhs_indexes:[|31L; 54L; 32L|] + Prod.init ~index:33L ~lhs_index:57L ~rhs_indexes:[|39L|] ~prec:None ~callback:33L; - Prod.init ~index:34L ~lhs_index:55L ~rhs_indexes:[|33L; 54L; 34L|] + Prod.init ~index:34L ~lhs_index:57L ~rhs_indexes:[|11L|] ~prec:None ~callback:34L; - Prod.init ~index:35L ~lhs_index:55L ~rhs_indexes:[|35L; 54L; 36L|] + Prod.init ~index:35L ~lhs_index:57L ~rhs_indexes:[|12L|] ~prec:None ~callback:35L; - Prod.init ~index:36L ~lhs_index:56L ~rhs_indexes:[|37L|] + Prod.init ~index:36L ~lhs_index:57L ~rhs_indexes:[|13L|] ~prec:None ~callback:36L; - Prod.init ~index:37L ~lhs_index:56L ~rhs_indexes:[|11L|] + Prod.init ~index:37L ~lhs_index:57L ~rhs_indexes:[|14L|] ~prec:None ~callback:37L; - Prod.init ~index:38L ~lhs_index:56L ~rhs_indexes:[|12L|] + Prod.init ~index:38L ~lhs_index:57L ~rhs_indexes:[|16L|] ~prec:None ~callback:38L; - Prod.init ~index:39L ~lhs_index:56L ~rhs_indexes:[|13L|] + Prod.init ~index:39L ~lhs_index:57L ~rhs_indexes:[|17L|] ~prec:None ~callback:39L; - Prod.init ~index:40L ~lhs_index:56L ~rhs_indexes:[|14L|] + Prod.init ~index:40L ~lhs_index:57L ~rhs_indexes:[|18L|] ~prec:None ~callback:40L; - Prod.init ~index:41L ~lhs_index:56L ~rhs_indexes:[|16L|] + Prod.init ~index:41L ~lhs_index:57L ~rhs_indexes:[|19L|] ~prec:None ~callback:41L; - Prod.init ~index:42L ~lhs_index:56L ~rhs_indexes:[|17L|] + Prod.init ~index:42L ~lhs_index:57L ~rhs_indexes:[|21L|] ~prec:None ~callback:42L; - Prod.init ~index:43L ~lhs_index:56L ~rhs_indexes:[|18L|] + Prod.init ~index:43L ~lhs_index:57L ~rhs_indexes:[|22L|] ~prec:None ~callback:43L; - Prod.init ~index:44L ~lhs_index:56L ~rhs_indexes:[|19L|] + Prod.init ~index:44L ~lhs_index:57L ~rhs_indexes:[|23L|] ~prec:None ~callback:44L; - Prod.init ~index:45L ~lhs_index:56L ~rhs_indexes:[|21L|] + Prod.init ~index:45L ~lhs_index:58L ~rhs_indexes:[|56L; 58L|] ~prec:None ~callback:45L; - Prod.init ~index:46L ~lhs_index:56L ~rhs_indexes:[|22L|] + Prod.init ~index:46L ~lhs_index:58L ~rhs_indexes:[|57L; 58L|] ~prec:None ~callback:46L; - Prod.init ~index:47L ~lhs_index:57L ~rhs_indexes:[|55L; 57L|] + Prod.init ~index:47L ~lhs_index:58L ~rhs_indexes:[||] ~prec:None ~callback:47L; - Prod.init ~index:48L ~lhs_index:57L ~rhs_indexes:[|56L; 57L|] + Prod.init ~index:48L ~lhs_index:59L ~rhs_indexes:[|56L; 58L|] ~prec:None ~callback:48L; - Prod.init ~index:49L ~lhs_index:57L ~rhs_indexes:[||] + Prod.init ~index:49L ~lhs_index:59L ~rhs_indexes:[|57L; 58L|] ~prec:None ~callback:49L; - Prod.init ~index:50L ~lhs_index:58L ~rhs_indexes:[|55L; 57L|] + Prod.init ~index:50L ~lhs_index:60L ~rhs_indexes:[|11L|] ~prec:None ~callback:50L; - Prod.init ~index:51L ~lhs_index:58L ~rhs_indexes:[|56L; 57L|] + Prod.init ~index:51L ~lhs_index:61L ~rhs_indexes:[|60L|] ~prec:None ~callback:51L; - Prod.init ~index:52L ~lhs_index:59L ~rhs_indexes:[|12L|] + Prod.init ~index:52L ~lhs_index:61L ~rhs_indexes:[|11L; 22L; 65L|] ~prec:None ~callback:52L; - Prod.init ~index:53L ~lhs_index:59L ~rhs_indexes:[|14L|] - ~prec:None ~callback:53L; - Prod.init ~index:54L ~lhs_index:60L ~rhs_indexes:[|39L; 17L; 59L|] - ~prec:None ~callback:54L; - Prod.init ~index:55L ~lhs_index:60L ~rhs_indexes:[|59L|] + Prod.init ~index:53L ~lhs_index:62L ~rhs_indexes:[|61L|] + ~prec:(Some (Array.get 3L precs)) ~callback:53L; + Prod.init ~index:54L ~lhs_index:62L ~rhs_indexes:[|61L; 24L; 13L|] + ~prec:(Some (Array.get 3L precs)) ~callback:53L; + Prod.init ~index:55L ~lhs_index:62L ~rhs_indexes:[|61L; 24L; 61L|] + ~prec:(Some (Array.get 3L precs)) ~callback:54L; + Prod.init ~index:56L ~lhs_index:63L ~rhs_indexes:[|24L|] + ~prec:None ~callback:55L; + Prod.init ~index:57L ~lhs_index:63L ~rhs_indexes:[||] ~prec:None ~callback:55L; - Prod.init ~index:56L ~lhs_index:61L ~rhs_indexes:[|60L; 61L|] + Prod.init ~index:58L ~lhs_index:64L ~rhs_indexes:[|12L|] ~prec:None ~callback:56L; - Prod.init ~index:57L ~lhs_index:61L ~rhs_indexes:[||] + Prod.init ~index:59L ~lhs_index:64L ~rhs_indexes:[|64L; 18L; 64L|] + ~prec:(Some (Array.get 1L precs)) ~callback:56L; + Prod.init ~index:60L ~lhs_index:65L ~rhs_indexes:[|13L|] ~prec:None ~callback:57L; - Prod.init ~index:58L ~lhs_index:62L ~rhs_indexes:[|60L; 61L|] + Prod.init ~index:61L ~lhs_index:65L ~rhs_indexes:[|60L|] ~prec:None ~callback:58L; - Prod.init ~index:59L ~lhs_index:63L ~rhs_indexes:[|62L|] + Prod.init ~index:62L ~lhs_index:65L ~rhs_indexes:[|65L; 25L; 60L|] + ~prec:(Some (Array.get 4L precs)) ~callback:58L; + Prod.init ~index:63L ~lhs_index:65L ~rhs_indexes:[|29L; 65L; 30L|] + ~prec:None ~callback:59L; + Prod.init ~index:64L ~lhs_index:65L ~rhs_indexes:[|12L; 65L|] + ~prec:(Some (Array.get 0L precs)) ~callback:59L; + Prod.init ~index:65L ~lhs_index:65L ~rhs_indexes:[|64L; 18L; 29L; 65L; 30L|] + ~prec:None ~callback:59L; + Prod.init ~index:66L ~lhs_index:65L ~rhs_indexes:[|64L; 18L; 37L; 65L; 38L|] ~prec:None ~callback:59L; - Prod.init ~index:60L ~lhs_index:63L ~rhs_indexes:[|4L|] - ~prec:None ~callback:60L; - Prod.init ~index:61L ~lhs_index:64L ~rhs_indexes:[|63L; 48L|] + Prod.init ~index:67L ~lhs_index:65L ~rhs_indexes:[|65L; 23L; 65L|] + ~prec:(Some (Array.get 2L precs)) ~callback:60L; + Prod.init ~index:68L ~lhs_index:65L ~rhs_indexes:[|37L; 62L; 63L; 38L|] ~prec:None ~callback:61L; - Prod.init ~index:62L ~lhs_index:65L ~rhs_indexes:[|20L; 64L; 65L|] + Prod.init ~index:69L ~lhs_index:66L ~rhs_indexes:[|12L|] ~prec:None ~callback:62L; - Prod.init ~index:63L ~lhs_index:65L ~rhs_indexes:[||] + Prod.init ~index:70L ~lhs_index:66L ~rhs_indexes:[|14L|] ~prec:None ~callback:63L; - Prod.init ~index:64L ~lhs_index:66L ~rhs_indexes:[|20L; 64L; 65L|] + Prod.init ~index:71L ~lhs_index:67L ~rhs_indexes:[|60L; 17L; 66L|] ~prec:None ~callback:64L; - Prod.init ~index:65L ~lhs_index:66L ~rhs_indexes:[|64L; 65L|] + Prod.init ~index:72L ~lhs_index:67L ~rhs_indexes:[|29L; 65L; 30L; 17L; 66L|] ~prec:None ~callback:65L; - Prod.init ~index:66L ~lhs_index:67L ~rhs_indexes:[|66L; 19L; 58L|] + Prod.init ~index:73L ~lhs_index:67L ~rhs_indexes:[|66L|] ~prec:None ~callback:66L; - Prod.init ~index:67L ~lhs_index:68L ~rhs_indexes:[|20L; 67L; 68L|] + Prod.init ~index:74L ~lhs_index:68L ~rhs_indexes:[|67L; 68L|] ~prec:None ~callback:67L; - Prod.init ~index:68L ~lhs_index:68L ~rhs_indexes:[||] + Prod.init ~index:75L ~lhs_index:68L ~rhs_indexes:[||] ~prec:None ~callback:68L; - Prod.init ~index:69L ~lhs_index:69L ~rhs_indexes:[|67L; 68L|] + Prod.init ~index:76L ~lhs_index:69L ~rhs_indexes:[|67L; 68L|] ~prec:None ~callback:69L; - Prod.init ~index:70L ~lhs_index:70L ~rhs_indexes:[|3L|] + Prod.init ~index:77L ~lhs_index:70L ~rhs_indexes:[|69L|] ~prec:None ~callback:70L; - Prod.init ~index:71L ~lhs_index:70L ~rhs_indexes:[|5L|] + Prod.init ~index:78L ~lhs_index:70L ~rhs_indexes:[|4L|] ~prec:None ~callback:71L; - Prod.init ~index:72L ~lhs_index:71L ~rhs_indexes:[|70L; 12L; 48L; 15L; 66L|] + Prod.init ~index:79L ~lhs_index:71L ~rhs_indexes:[|70L; 49L|] ~prec:None ~callback:72L; - Prod.init ~index:73L ~lhs_index:71L ~rhs_indexes:[|70L; 12L; 46L; 48L; 15L; 69L|] + Prod.init ~index:80L ~lhs_index:72L ~rhs_indexes:[|20L; 71L; 72L|] ~prec:None ~callback:73L; - Prod.init ~index:74L ~lhs_index:72L ~rhs_indexes:[|44L|] + Prod.init ~index:81L ~lhs_index:72L ~rhs_indexes:[||] ~prec:None ~callback:74L; - Prod.init ~index:75L ~lhs_index:72L ~rhs_indexes:[|50L|] + Prod.init ~index:82L ~lhs_index:73L ~rhs_indexes:[|20L; 71L; 72L|] ~prec:None ~callback:75L; - Prod.init ~index:76L ~lhs_index:72L ~rhs_indexes:[|71L|] + Prod.init ~index:83L ~lhs_index:73L ~rhs_indexes:[|71L; 72L|] + ~prec:None ~callback:75L; + Prod.init ~index:84L ~lhs_index:74L ~rhs_indexes:[|73L; 19L; 59L|] ~prec:None ~callback:76L; - Prod.init ~index:77L ~lhs_index:72L ~rhs_indexes:[|58L|] + Prod.init ~index:85L ~lhs_index:75L ~rhs_indexes:[|20L; 74L; 75L|] ~prec:None ~callback:77L; - Prod.init ~index:78L ~lhs_index:73L ~rhs_indexes:[|24L; 72L; 73L|] + Prod.init ~index:86L ~lhs_index:75L ~rhs_indexes:[||] ~prec:None ~callback:78L; - Prod.init ~index:79L ~lhs_index:73L ~rhs_indexes:[||] + Prod.init ~index:87L ~lhs_index:76L ~rhs_indexes:[|74L; 75L|] ~prec:None ~callback:79L; - Prod.init ~index:80L ~lhs_index:74L ~rhs_indexes:[|72L; 73L|] + Prod.init ~index:88L ~lhs_index:77L ~rhs_indexes:[|3L|] ~prec:None ~callback:80L; - Prod.init ~index:81L ~lhs_index:75L ~rhs_indexes:[|2L; 25L; 74L; 26L|] + Prod.init ~index:89L ~lhs_index:77L ~rhs_indexes:[|5L|] ~prec:None ~callback:81L; - Prod.init ~index:82L ~lhs_index:76L ~rhs_indexes:[|56L|] + Prod.init ~index:90L ~lhs_index:78L ~rhs_indexes:[|77L; 12L; 49L; 15L; 73L|] ~prec:None ~callback:82L; - Prod.init ~index:83L ~lhs_index:76L ~rhs_indexes:[|51L|] + Prod.init ~index:91L ~lhs_index:78L ~rhs_indexes:[|77L; 12L; 47L; 49L; 15L; 76L|] ~prec:None ~callback:83L; - Prod.init ~index:84L ~lhs_index:76L ~rhs_indexes:[|25L|] + Prod.init ~index:92L ~lhs_index:79L ~rhs_indexes:[|45L|] ~prec:None ~callback:84L; - Prod.init ~index:85L ~lhs_index:76L ~rhs_indexes:[|26L|] + Prod.init ~index:93L ~lhs_index:79L ~rhs_indexes:[|51L|] ~prec:None ~callback:85L; - Prod.init ~index:86L ~lhs_index:76L ~rhs_indexes:[|27L|] + Prod.init ~index:94L ~lhs_index:79L ~rhs_indexes:[|78L|] ~prec:None ~callback:86L; - Prod.init ~index:87L ~lhs_index:76L ~rhs_indexes:[|28L|] + Prod.init ~index:95L ~lhs_index:79L ~rhs_indexes:[|59L|] ~prec:None ~callback:87L; - Prod.init ~index:88L ~lhs_index:76L ~rhs_indexes:[|29L|] + Prod.init ~index:96L ~lhs_index:80L ~rhs_indexes:[|26L; 79L; 80L|] ~prec:None ~callback:88L; - Prod.init ~index:89L ~lhs_index:76L ~rhs_indexes:[|30L|] + Prod.init ~index:97L ~lhs_index:80L ~rhs_indexes:[||] ~prec:None ~callback:89L; - Prod.init ~index:90L ~lhs_index:76L ~rhs_indexes:[|31L|] + Prod.init ~index:98L ~lhs_index:81L ~rhs_indexes:[|79L; 80L|] ~prec:None ~callback:90L; - Prod.init ~index:91L ~lhs_index:76L ~rhs_indexes:[|32L|] + Prod.init ~index:99L ~lhs_index:82L ~rhs_indexes:[|2L; 27L; 81L; 28L|] ~prec:None ~callback:91L; - Prod.init ~index:92L ~lhs_index:76L ~rhs_indexes:[|33L|] + Prod.init ~index:100L ~lhs_index:83L ~rhs_indexes:[|57L|] ~prec:None ~callback:92L; - Prod.init ~index:93L ~lhs_index:76L ~rhs_indexes:[|34L|] + Prod.init ~index:101L ~lhs_index:83L ~rhs_indexes:[|52L|] ~prec:None ~callback:93L; - Prod.init ~index:94L ~lhs_index:76L ~rhs_indexes:[|35L|] + Prod.init ~index:102L ~lhs_index:83L ~rhs_indexes:[|27L|] ~prec:None ~callback:94L; - Prod.init ~index:95L ~lhs_index:76L ~rhs_indexes:[|36L|] + Prod.init ~index:103L ~lhs_index:83L ~rhs_indexes:[|28L|] ~prec:None ~callback:95L; - Prod.init ~index:96L ~lhs_index:77L ~rhs_indexes:[|76L; 77L|] + Prod.init ~index:104L ~lhs_index:83L ~rhs_indexes:[|29L|] ~prec:None ~callback:96L; - Prod.init ~index:97L ~lhs_index:77L ~rhs_indexes:[||] + Prod.init ~index:105L ~lhs_index:83L ~rhs_indexes:[|30L|] ~prec:None ~callback:97L; - Prod.init ~index:98L ~lhs_index:78L ~rhs_indexes:[|77L; 75L; 77L; 38L|] + Prod.init ~index:106L ~lhs_index:83L ~rhs_indexes:[|31L|] ~prec:None ~callback:98L; - Prod.init ~index:99L ~lhs_index:79L ~rhs_indexes:[|78L; 1L|] + Prod.init ~index:107L ~lhs_index:83L ~rhs_indexes:[|32L|] ~prec:None ~callback:99L; - Prod.init ~index:100L ~lhs_index:80L ~rhs_indexes:[|77L; 2L; 77L; 38L|] + Prod.init ~index:108L ~lhs_index:83L ~rhs_indexes:[|33L|] ~prec:None ~callback:100L; - Prod.init ~index:101L ~lhs_index:81L ~rhs_indexes:[|80L; 1L|] - ~prec:None ~callback:101L + Prod.init ~index:109L ~lhs_index:83L ~rhs_indexes:[|34L|] + ~prec:None ~callback:101L; + Prod.init ~index:110L ~lhs_index:83L ~rhs_indexes:[|35L|] + ~prec:None ~callback:102L; + Prod.init ~index:111L ~lhs_index:83L ~rhs_indexes:[|36L|] + ~prec:None ~callback:103L; + Prod.init ~index:112L ~lhs_index:83L ~rhs_indexes:[|37L|] + ~prec:None ~callback:104L; + Prod.init ~index:113L ~lhs_index:83L ~rhs_indexes:[|38L|] + ~prec:None ~callback:105L; + Prod.init ~index:114L ~lhs_index:84L ~rhs_indexes:[|83L; 84L|] + ~prec:None ~callback:106L; + Prod.init ~index:115L ~lhs_index:84L ~rhs_indexes:[||] + ~prec:None ~callback:107L; + Prod.init ~index:116L ~lhs_index:85L ~rhs_indexes:[|84L; 82L; 84L; 40L|] + ~prec:None ~callback:108L; + Prod.init ~index:117L ~lhs_index:86L ~rhs_indexes:[|85L; 1L|] + ~prec:None ~callback:109L; + Prod.init ~index:118L ~lhs_index:87L ~rhs_indexes:[|84L; 2L; 84L; 40L|] + ~prec:None ~callback:110L; + Prod.init ~index:119L ~lhs_index:88L ~rhs_indexes:[|87L; 1L|] + ~prec:None ~callback:111L |] module Symbol = struct @@ -635,7 +696,7 @@ include struct Symbol.init ~index:2L ~name:"HOCC" ~prec:None ~alias:(Some "hocc") ~start:false ~prods:(Ordset.empty (module Prod)) ~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]); + ~follow:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); Symbol.init ~index:3L ~name:"NONTERM" ~prec:None ~alias:(Some "nonterm") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 3L) @@ -643,7 +704,7 @@ include struct Symbol.init ~index:4L ~name:"EPSILON_" ~prec:None ~alias:(Some "epsilon") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 4L) - ~follow:(Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L]); + ~follow:(Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L]); Symbol.init ~index:5L ~name:"START" ~prec:None ~alias:(Some "start") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 5L) @@ -671,229 +732,232 @@ include struct Symbol.init ~index:11L ~name:"UIDENT" ~prec:None ~alias:None ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 11L) - ~follow:(Ordset.of_list (module Uns) [2L; 10L; 11L; 12L; 13L; 14L; 15L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L]); + ~follow:(Ordset.of_list (module Uns) [2L; 10L; 11L; 12L; 13L; 14L; 15L; 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:12L ~name:"CIDENT" - ~prec:None ~alias:None ~start:false + ~prec:(Some (Array.get 0L precs)) ~alias:None ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 12L) - ~follow:(Ordset.of_list (module Uns) [2L; 10L; 11L; 12L; 13L; 14L; 15L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 25L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L]); + ~follow:(Ordset.of_list (module Uns) [2L; 10L; 11L; 12L; 13L; 14L; 15L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); Symbol.init ~index:13L ~name:"USCORE" ~prec:None ~alias:(Some "_") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 13L) - ~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]); + ~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:14L ~name:"ISTRING" ~prec:None ~alias:None ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 14L) - ~follow:(Ordset.of_list (module Uns) [2L; 10L; 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]); + ~follow:(Ordset.of_list (module Uns) [2L; 10L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); Symbol.init ~index:15L ~name:"COLON_COLON_EQ" ~prec:None ~alias:(Some "::=") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 15L) - ~follow:(Ordset.of_list (module Uns) [4L; 11L; 12L; 13L; 14L; 20L]); + ~follow:(Ordset.of_list (module Uns) [4L; 11L; 12L; 14L; 20L; 29L]); Symbol.init ~index:16L ~name:"OF" ~prec:None ~alias:(Some "of") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 16L) - ~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]); + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); Symbol.init ~index:17L ~name:"COLON" ~prec:None ~alias:(Some ":") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 17L) - ~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]); + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); Symbol.init ~index:18L ~name:"DOT" - ~prec:None ~alias:(Some ".") ~start:false + ~prec:(Some (Array.get 1L precs)) ~alias:(Some ".") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 18L) - ~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]); + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); Symbol.init ~index:19L ~name:"ARROW" ~prec:None ~alias:(Some "->") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 19L) - ~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]); + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); Symbol.init ~index:20L ~name:"BAR" ~prec:None ~alias:(Some "|") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 20L) - ~follow:(Ordset.of_list (module Uns) [2L; 4L; 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]); + ~follow:(Ordset.of_list (module Uns) [2L; 4L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); Symbol.init ~index:21L ~name:"LT" ~prec:None ~alias:(Some "<") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 21L) - ~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]); - Symbol.init ~index:22L ~name:"COMMA" - ~prec:None ~alias:(Some ",") ~start:false + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:22L ~name:"EQ" + ~prec:None ~alias:(Some "=") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 22L) - ~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]); - Symbol.init ~index:23L ~name:"SEMI" - ~prec:None ~alias:(Some ";") ~start:false + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:23L ~name:"COMMA" + ~prec:(Some (Array.get 2L precs)) ~alias:(Some ",") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 23L) - ~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]); - Symbol.init ~index:24L ~name:"LINE_DELIM" - ~prec:None ~alias:None ~start:false + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:24L ~name:"SEMI" + ~prec:(Some (Array.get 3L precs)) ~alias:(Some ";") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 24L) - ~follow:(Ordset.of_list (module Uns) [2L; 3L; 5L; 6L; 7L; 8L; 9L; 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]); - Symbol.init ~index:25L ~name:"INDENT" - ~prec:None ~alias:None ~start:false + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:25L ~name:"AS" + ~prec:(Some (Array.get 4L precs)) ~alias:(Some "as") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 25L) - ~follow:(Ordset.of_list (module Uns) [2L; 3L; 5L; 6L; 7L; 8L; 9L; 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]); - Symbol.init ~index:26L ~name:"DEDENT" + ~follow:(Ordset.singleton (module Uns) 11L); + Symbol.init ~index:26L ~name:"LINE_DELIM" ~prec:None ~alias:None ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 26L) - ~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]); - Symbol.init ~index:27L ~name:"LPAREN" - ~prec:None ~alias:(Some "(") ~start:false + ~follow:(Ordset.of_list (module Uns) [2L; 3L; 5L; 6L; 7L; 8L; 9L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:27L ~name:"INDENT" + ~prec:None ~alias:None ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 27L) - ~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]); - Symbol.init ~index:28L ~name:"RPAREN" - ~prec:None ~alias:(Some ")") ~start:false + ~follow:(Ordset.of_list (module Uns) [2L; 3L; 5L; 6L; 7L; 8L; 9L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:28L ~name:"DEDENT" + ~prec:None ~alias:None ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 28L) - ~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]); - Symbol.init ~index:29L ~name:"LCAPTURE" - ~prec:None ~alias:(Some "(|") ~start:false + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:29L ~name:"LPAREN" + ~prec:None ~alias:(Some "(") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 29L) - ~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]); - Symbol.init ~index:30L ~name:"RCAPTURE" - ~prec:None ~alias:(Some "|)") ~start:false + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:30L ~name:"RPAREN" + ~prec:None ~alias:(Some ")") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 30L) - ~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]); - Symbol.init ~index:31L ~name:"LBRACK" - ~prec:None ~alias:(Some "[") ~start:false + ~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:31L ~name:"LCAPTURE" + ~prec:None ~alias:(Some "(|") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 31L) - ~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]); - Symbol.init ~index:32L ~name:"RBRACK" - ~prec:None ~alias:(Some "]") ~start:false + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:32L ~name:"RCAPTURE" + ~prec:None ~alias:(Some "|)") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 32L) - ~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]); - Symbol.init ~index:33L ~name:"LARRAY" - ~prec:None ~alias:(Some "[|") ~start:false + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:33L ~name:"LBRACK" + ~prec:None ~alias:(Some "[") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 33L) - ~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]); - Symbol.init ~index:34L ~name:"RARRAY" - ~prec:None ~alias:(Some "|]") ~start:false + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:34L ~name:"RBRACK" + ~prec:None ~alias:(Some "]") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 34L) - ~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]); - Symbol.init ~index:35L ~name:"LCURLY" - ~prec:None ~alias:(Some "{") ~start:false + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:35L ~name:"LARRAY" + ~prec:None ~alias:(Some "[|") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 35L) - ~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]); - Symbol.init ~index:36L ~name:"RCURLY" - ~prec:None ~alias:(Some "}") ~start:false + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:36L ~name:"RARRAY" + ~prec:None ~alias:(Some "|]") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 36L) - ~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]); - Symbol.init ~index:37L ~name:"OTHER_TOKEN" - ~prec:None ~alias:None ~start:false + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:37L ~name:"LCURLY" + ~prec:None ~alias:(Some "{") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 37L) - ~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]); - Symbol.init ~index:38L ~name:"EOI" - ~prec:None ~alias:None ~start:false + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:38L ~name:"RCURLY" + ~prec:None ~alias:(Some "}") ~start:false ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 38L) + ~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:39L ~name:"OTHER_TOKEN" + ~prec:None ~alias:None ~start:false + ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 39L) + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:40L ~name:"EOI" + ~prec:None ~alias:None ~start:false + ~prods:(Ordset.empty (module Prod)) ~first:(Ordset.singleton (module Uns) 40L) ~follow:(Ordset.singleton (module Uns) 1L); - Symbol.init ~index:39L ~name:"Ident" + Symbol.init ~index:41L ~name:"PrecsTl" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ Array.get 0L prods; Array.get 1L prods; - Array.get 2L prods; - ]) ~first:(Ordset.of_list (module Uns) [11L; 12L; 13L]) - ~follow:(Ordset.singleton (module Uns) 17L); - Symbol.init ~index:40L ~name:"PrecsTl" + ]) ~first:(Ordset.of_list (module Uns) [0L; 23L]) + ~follow:(Ordset.of_list (module Uns) [26L; 28L]); + Symbol.init ~index:42L ~name:"Precs" + ~prec:None ~alias:None ~start:false + ~prods:(Ordset.singleton (module Prod) (Array.get 2L prods)) ~first:(Ordset.singleton (module Uns) 11L) + ~follow:(Ordset.of_list (module Uns) [26L; 28L]); + Symbol.init ~index:43L ~name:"PrecRels" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ Array.get 3L prods; Array.get 4L prods; - ]) ~first:(Ordset.of_list (module Uns) [0L; 22L]) - ~follow:(Ordset.of_list (module Uns) [24L; 26L]); - Symbol.init ~index:41L ~name:"Precs" - ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 5L prods)) ~first:(Ordset.singleton (module Uns) 11L) - ~follow:(Ordset.of_list (module Uns) [24L; 26L]); - Symbol.init ~index:42L ~name:"PrecRels" + ]) ~first:(Ordset.of_list (module Uns) [0L; 21L]) + ~follow:(Ordset.of_list (module Uns) [26L; 28L]); + Symbol.init ~index:44L ~name:"PrecType" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ + Array.get 5L prods; Array.get 6L prods; Array.get 7L prods; - ]) ~first:(Ordset.of_list (module Uns) [0L; 21L]) - ~follow:(Ordset.of_list (module Uns) [24L; 26L]); - Symbol.init ~index:43L ~name:"PrecType" + ]) ~first:(Ordset.of_list (module Uns) [7L; 8L; 9L]) + ~follow:(Ordset.singleton (module Uns) 11L); + Symbol.init ~index:45L ~name:"Prec" + ~prec:None ~alias:None ~start:false + ~prods:(Ordset.singleton (module Prod) (Array.get 8L prods)) ~first:(Ordset.of_list (module Uns) [7L; 8L; 9L]) + ~follow:(Ordset.of_list (module Uns) [26L; 28L]); + Symbol.init ~index:46L ~name:"SymbolTypeQualifier" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ - Array.get 8L prods; Array.get 9L prods; Array.get 10L prods; - ]) ~first:(Ordset.of_list (module Uns) [7L; 8L; 9L]) + ]) ~first:(Ordset.of_list (module Uns) [0L; 12L]) ~follow:(Ordset.singleton (module Uns) 11L); - Symbol.init ~index:44L ~name:"Prec" + Symbol.init ~index:47L ~name:"SymbolType" ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 11L prods)) ~first:(Ordset.of_list (module Uns) [7L; 8L; 9L]) - ~follow:(Ordset.of_list (module Uns) [24L; 26L]); - Symbol.init ~index:45L ~name:"SymbolTypeQualifier" + ~prods:(Ordset.singleton (module Prod) (Array.get 11L prods)) ~first:(Ordset.singleton (module Uns) 16L) + ~follow:(Ordset.of_list (module Uns) [10L; 15L; 26L; 28L]); + Symbol.init ~index:48L ~name:"SymbolType0" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ Array.get 12L prods; Array.get 13L prods; - ]) ~first:(Ordset.of_list (module Uns) [0L; 12L]) - ~follow:(Ordset.singleton (module Uns) 11L); - Symbol.init ~index:46L ~name:"SymbolType" - ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 14L prods)) ~first:(Ordset.singleton (module Uns) 16L) - ~follow:(Ordset.of_list (module Uns) [10L; 15L; 24L; 26L]); - Symbol.init ~index:47L ~name:"SymbolType0" + ]) ~first:(Ordset.of_list (module Uns) [0L; 16L]) + ~follow:(Ordset.of_list (module Uns) [10L; 26L; 28L]); + Symbol.init ~index:49L ~name:"PrecRef" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ + Array.get 14L prods; Array.get 15L prods; - Array.get 16L prods; - ]) ~first:(Ordset.of_list (module Uns) [0L; 16L]) - ~follow:(Ordset.of_list (module Uns) [10L; 24L; 26L]); - Symbol.init ~index:48L ~name:"PrecRef" + ]) ~first:(Ordset.of_list (module Uns) [0L; 10L]) + ~follow:(Ordset.of_list (module Uns) [15L; 19L; 20L; 26L; 28L]); + Symbol.init ~index:50L ~name:"TokenAlias" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ + Array.get 16L prods; Array.get 17L prods; - Array.get 18L prods; - ]) ~first:(Ordset.of_list (module Uns) [0L; 10L]) - ~follow:(Ordset.of_list (module Uns) [15L; 19L; 20L; 24L; 26L]); - Symbol.init ~index:49L ~name:"TokenAlias" + ]) ~first:(Ordset.of_list (module Uns) [0L; 14L]) + ~follow:(Ordset.of_list (module Uns) [10L; 16L; 26L; 28L]); + Symbol.init ~index:51L ~name:"Token" + ~prec:None ~alias:None ~start:false + ~prods:(Ordset.singleton (module Prod) (Array.get 18L prods)) ~first:(Ordset.singleton (module Uns) 6L) + ~follow:(Ordset.of_list (module Uns) [26L; 28L]); + Symbol.init ~index:52L ~name:"Sep" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ Array.get 19L prods; Array.get 20L prods; - ]) ~first:(Ordset.of_list (module Uns) [0L; 14L]) - ~follow:(Ordset.of_list (module Uns) [10L; 16L; 24L; 26L]); - Symbol.init ~index:50L ~name:"Token" - ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 21L prods)) ~first:(Ordset.singleton (module Uns) 6L) - ~follow:(Ordset.of_list (module Uns) [24L; 26L]); - Symbol.init ~index:51L ~name:"Sep" + Array.get 21L prods; + ]) ~first:(Ordset.of_list (module Uns) [20L; 24L; 26L]) + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:53L ~name:"CodesTl" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ Array.get 22L prods; Array.get 23L prods; - Array.get 24L prods; - ]) ~first:(Ordset.of_list (module Uns) [20L; 23L; 24L]) - ~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]); - Symbol.init ~index:52L ~name:"CodesTl" + ]) ~first:(Ordset.of_list (module Uns) [0L; 20L; 24L; 26L]) + ~follow:(Ordset.of_list (module Uns) [28L; 30L; 32L; 34L; 36L; 38L]); + Symbol.init ~index:54L ~name:"Codes" + ~prec:None ~alias:None ~start:false + ~prods:(Ordset.singleton (module Prod) (Array.get 24L prods)) ~first:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 27L; 29L; 31L; 33L; 35L; 37L; 39L]) + ~follow:(Ordset.of_list (module Uns) [28L; 30L; 32L; 34L; 36L; 38L]); + Symbol.init ~index:55L ~name:"Codes0" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ Array.get 25L prods; Array.get 26L prods; - ]) ~first:(Ordset.of_list (module Uns) [0L; 20L; 23L; 24L]) - ~follow:(Ordset.of_list (module Uns) [26L; 28L; 30L; 32L; 34L; 36L]); - Symbol.init ~index:53L ~name:"Codes" - ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 27L prods)) ~first:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 25L; 27L; 29L; 31L; 33L; 35L; 37L]) - ~follow:(Ordset.of_list (module Uns) [26L; 28L; 30L; 32L; 34L; 36L]); - Symbol.init ~index:54L ~name:"Codes0" + ]) ~first:(Ordset.of_list (module Uns) [0L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 27L; 29L; 31L; 33L; 35L; 37L; 39L]) + ~follow:(Ordset.of_list (module Uns) [30L; 32L; 34L; 36L; 38L]); + Symbol.init ~index:56L ~name:"Delimited" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ + Array.get 27L prods; Array.get 28L prods; Array.get 29L prods; - ]) ~first:(Ordset.of_list (module Uns) [0L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 25L; 27L; 29L; 31L; 33L; 35L; 37L]) - ~follow:(Ordset.of_list (module Uns) [28L; 30L; 32L; 34L; 36L]); - Symbol.init ~index:55L ~name:"Delimited" - ~prec:None ~alias:None ~start:false - ~prods:(Ordset.of_list (module Prod) [ Array.get 30L prods; Array.get 31L prods; Array.get 32L prods; + ]) ~first:(Ordset.of_list (module Uns) [27L; 29L; 31L; 33L; 35L; 37L]) + ~follow:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L]); + Symbol.init ~index:57L ~name:"CodeToken" + ~prec:None ~alias:None ~start:false + ~prods:(Ordset.of_list (module Prod) [ Array.get 33L prods; Array.get 34L prods; Array.get 35L prods; - ]) ~first:(Ordset.of_list (module Uns) [25L; 27L; 29L; 31L; 33L; 35L]) - ~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]); - Symbol.init ~index:56L ~name:"CodeToken" - ~prec:None ~alias:None ~start:false - ~prods:(Ordset.of_list (module Prod) [ Array.get 36L prods; Array.get 37L prods; Array.get 38L prods; @@ -903,169 +967,215 @@ include struct Array.get 42L prods; Array.get 43L prods; Array.get 44L prods; + ]) ~first:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 39L]) + ~follow:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L]); + Symbol.init ~index:58L ~name:"CodeTl" + ~prec:None ~alias:None ~start:false + ~prods:(Ordset.of_list (module Prod) [ Array.get 45L prods; Array.get 46L prods; - ]) ~first:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 37L]) - ~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]); - Symbol.init ~index:57L ~name:"CodeTl" + Array.get 47L prods; + ]) ~first:(Ordset.of_list (module Uns) [0L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 27L; 29L; 31L; 33L; 35L; 37L; 39L]) + ~follow:(Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L]); + Symbol.init ~index:59L ~name:"Code" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ - Array.get 47L prods; Array.get 48L prods; Array.get 49L prods; - ]) ~first:(Ordset.of_list (module Uns) [0L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 25L; 27L; 29L; 31L; 33L; 35L; 37L]) - ~follow:(Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L]); - Symbol.init ~index:58L ~name:"Code" + ]) ~first:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 27L; 29L; 31L; 33L; 35L; 37L; 39L]) + ~follow:(Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L]); + Symbol.init ~index:60L ~name:"Binding" ~prec:None ~alias:None ~start:false - ~prods:(Ordset.of_list (module Prod) [ - Array.get 50L prods; - Array.get 51L prods; - ]) ~first:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 25L; 27L; 29L; 31L; 33L; 35L; 37L]) - ~follow:(Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L]); - Symbol.init ~index:59L ~name:"ProdParamSymbol" + ~prods:(Ordset.singleton (module Prod) (Array.get 50L prods)) ~first:(Ordset.singleton (module Uns) 11L) + ~follow:(Ordset.of_list (module Uns) [17L; 23L; 24L; 25L; 30L; 38L]); + Symbol.init ~index:61L ~name:"PatternField" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ + Array.get 51L prods; Array.get 52L prods; - Array.get 53L prods; - ]) ~first:(Ordset.of_list (module Uns) [12L; 14L]) - ~follow:(Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L]); - Symbol.init ~index:60L ~name:"ProdParam" - ~prec:None ~alias:None ~start:false + ]) ~first:(Ordset.singleton (module Uns) 11L) + ~follow:(Ordset.of_list (module Uns) [24L; 38L]); + Symbol.init ~index:62L ~name:"PatternFields" + ~prec:(Some (Array.get 3L precs)) ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ + Array.get 53L prods; Array.get 54L prods; Array.get 55L prods; - ]) ~first:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L]) - ~follow:(Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L]); - Symbol.init ~index:61L ~name:"ProdParamsTl" + ]) ~first:(Ordset.singleton (module Uns) 11L) + ~follow:(Ordset.of_list (module Uns) [24L; 38L]); + Symbol.init ~index:63L ~name:"SemiSuffix" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ Array.get 56L prods; Array.get 57L prods; - ]) ~first:(Ordset.of_list (module Uns) [0L; 11L; 12L; 13L; 14L]) - ~follow:(Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L]); - Symbol.init ~index:62L ~name:"ProdParams" - ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 58L prods)) ~first:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L]) - ~follow:(Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L]); - Symbol.init ~index:63L ~name:"ProdPattern" + ]) ~first:(Ordset.of_list (module Uns) [0L; 24L]) + ~follow:(Ordset.singleton (module Uns) 38L); + Symbol.init ~index:64L ~name:"ModulePath" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ + Array.get 58L prods; Array.get 59L prods; - Array.get 60L prods; - ]) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 13L; 14L]) - ~follow:(Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L]); - Symbol.init ~index:64L ~name:"Prod" - ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 61L prods)) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 13L; 14L]) - ~follow:(Ordset.of_list (module Uns) [19L; 20L; 24L; 26L]); - Symbol.init ~index:65L ~name:"ProdsTl" + ]) ~first:(Ordset.singleton (module Uns) 12L) + ~follow:(Ordset.singleton (module Uns) 18L); + Symbol.init ~index:65L ~name:"Pattern" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ + Array.get 60L prods; + Array.get 61L prods; Array.get 62L prods; Array.get 63L prods; - ]) ~first:(Ordset.of_list (module Uns) [0L; 20L]) - ~follow:(Ordset.of_list (module Uns) [19L; 24L; 26L]); - Symbol.init ~index:66L ~name:"Prods" - ~prec:None ~alias:None ~start:false - ~prods:(Ordset.of_list (module Prod) [ Array.get 64L prods; Array.get 65L prods; - ]) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 13L; 14L; 20L]) - ~follow:(Ordset.of_list (module Uns) [19L; 24L; 26L]); - Symbol.init ~index:67L ~name:"Reduction" - ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 66L prods)) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 13L; 14L; 20L]) - ~follow:(Ordset.of_list (module Uns) [20L; 24L; 26L]); - Symbol.init ~index:68L ~name:"ReductionsTl" - ~prec:None ~alias:None ~start:false - ~prods:(Ordset.of_list (module Prod) [ + Array.get 66L prods; Array.get 67L prods; Array.get 68L prods; - ]) ~first:(Ordset.of_list (module Uns) [0L; 20L]) - ~follow:(Ordset.of_list (module Uns) [24L; 26L]); - Symbol.init ~index:69L ~name:"Reductions" - ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 69L prods)) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 13L; 14L; 20L]) - ~follow:(Ordset.of_list (module Uns) [24L; 26L]); - Symbol.init ~index:70L ~name:"NontermType" + ]) ~first:(Ordset.of_list (module Uns) [11L; 12L; 13L; 29L; 37L]) + ~follow:(Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L]); + Symbol.init ~index:66L ~name:"ProdParamSymbol" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ + Array.get 69L prods; Array.get 70L prods; - Array.get 71L prods; - ]) ~first:(Ordset.of_list (module Uns) [3L; 5L]) - ~follow:(Ordset.singleton (module Uns) 12L); - Symbol.init ~index:71L ~name:"Nonterm" + ]) ~first:(Ordset.of_list (module Uns) [12L; 14L]) + ~follow:(Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L]); + Symbol.init ~index:67L ~name:"ProdParam" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ + Array.get 71L prods; Array.get 72L prods; Array.get 73L prods; - ]) ~first:(Ordset.of_list (module Uns) [3L; 5L]) - ~follow:(Ordset.of_list (module Uns) [24L; 26L]); - Symbol.init ~index:72L ~name:"Stmt" + ]) ~first:(Ordset.of_list (module Uns) [11L; 12L; 14L; 29L]) + ~follow:(Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L]); + Symbol.init ~index:68L ~name:"ProdParamsTl" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ Array.get 74L prods; Array.get 75L prods; - Array.get 76L prods; - Array.get 77L prods; - ]) ~first:(Ordset.of_list (module Uns) [3L; 5L; 6L; 7L; 8L; 9L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 25L; 27L; 29L; 31L; 33L; 35L; 37L]) - ~follow:(Ordset.of_list (module Uns) [24L; 26L]); - Symbol.init ~index:73L ~name:"StmtsTl" + ]) ~first:(Ordset.of_list (module Uns) [0L; 11L; 12L; 14L; 29L]) + ~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 76L prods)) ~first:(Ordset.of_list (module Uns) [11L; 12L; 14L; 29L]) + ~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 77L prods; Array.get 78L prods; - Array.get 79L prods; - ]) ~first:(Ordset.of_list (module Uns) [0L; 24L]) - ~follow:(Ordset.singleton (module Uns) 26L); - Symbol.init ~index:74L ~name:"Stmts" + ]) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 14L; 29L]) + ~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 80L prods)) ~first:(Ordset.of_list (module Uns) [3L; 5L; 6L; 7L; 8L; 9L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 25L; 27L; 29L; 31L; 33L; 35L; 37L]) - ~follow:(Ordset.singleton (module Uns) 26L); - Symbol.init ~index:75L ~name:"Hocc" + ~prods:(Ordset.singleton (module Prod) (Array.get 79L prods)) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 14L; 29L]) + ~follow:(Ordset.of_list (module Uns) [19L; 20L; 26L; 28L]); + Symbol.init ~index:72L ~name:"ProdsTl" ~prec:None ~alias:None ~start:false - ~prods:(Ordset.singleton (module Prod) (Array.get 81L 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]); - Symbol.init ~index:76L ~name:"MatterToken" + ~prods:(Ordset.of_list (module Prod) [ + Array.get 80L prods; + Array.get 81L 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 82L prods; Array.get 83L prods; - Array.get 84L prods; + ]) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 14L; 20L; 29L]) + ~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 84L prods)) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 14L; 20L; 29L]) + ~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 85L prods; Array.get 86L prods; - Array.get 87L 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 87L prods)) ~first:(Ordset.of_list (module Uns) [4L; 11L; 12L; 14L; 20L; 29L]) + ~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 88L prods; Array.get 89L 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 90L prods; Array.get 91L 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 92L prods; Array.get 93L prods; Array.get 94L prods; Array.get 95L 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]) - ~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]); - Symbol.init ~index:77L ~name:"Matter" + ]) ~first:(Ordset.of_list (module Uns) [3L; 5L; 6L; 7L; 8L; 9L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 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 96L prods; Array.get 97L 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]) - ~follow:(Ordset.of_list (module Uns) [2L; 38L]); - Symbol.init ~index:78L ~name:"Hmh" + ]) ~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 98L prods)) ~first:(Ordset.of_list (module Uns) [3L; 5L; 6L; 7L; 8L; 9L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 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 99L 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; 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 100L prods; + Array.get 101L prods; + Array.get 102L prods; + Array.get 103L prods; + Array.get 104L prods; + Array.get 105L prods; + Array.get 106L prods; + Array.get 107L prods; + Array.get 108L prods; + Array.get 109L prods; + Array.get 110L prods; + Array.get 111L prods; + Array.get 112L prods; + Array.get 113L prods; + ]) ~first:(Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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; 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 114L prods; + Array.get 115L prods; + ]) ~first:(Ordset.of_list (module Uns) [0L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 98L 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]) + ~prods:(Ordset.singleton (module Prod) (Array.get 116L prods)) ~first:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L]) ~follow:(Ordset.singleton (module Uns) 1L); - Symbol.init ~index:79L ~name:"Hmh'" + Symbol.init ~index:86L ~name:"Hmh'" ~prec:None ~alias:None ~start:true - ~prods:(Ordset.singleton (module Prod) (Array.get 99L 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]) + ~prods:(Ordset.singleton (module Prod) (Array.get 117L prods)) ~first:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L]) ~follow:(Ordset.singleton (module Uns) 0L); - Symbol.init ~index:80L ~name:"Hmhi" + Symbol.init ~index:87L ~name:"Hmhi" ~prec:None ~alias:None ~start:true - ~prods:(Ordset.singleton (module Prod) (Array.get 100L 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]) + ~prods:(Ordset.singleton (module Prod) (Array.get 118L prods)) ~first:(Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L]) ~follow:(Ordset.singleton (module Uns) 1L); - Symbol.init ~index:81L ~name:"Hmhi'" + Symbol.init ~index:88L ~name:"Hmhi'" ~prec:None ~alias:None ~start:true - ~prods:(Ordset.singleton (module Prod) (Array.get 101L 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]) + ~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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L]) ~follow:(Ordset.singleton (module Uns) 0L) |] @@ -1270,7 +1380,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 99L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 117L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [0L] ) in @@ -1281,217 +1391,224 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 22L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 19L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 23L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 20L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 24L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 21L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 36L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 33L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 37L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 34L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 38L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 35L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 39L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 36L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 40L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 37L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 41L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 38L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 42L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 39L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 43L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 40L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 44L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 41L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 45L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 42L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 46L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 43L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 82L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 44L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 83L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 84L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 85L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 86L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 87L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 88L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 105L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 89L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 106L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 90L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 107L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 91L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 108L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 92L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 109L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 93L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 110L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 94L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 111L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 95L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 112L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 113L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 114L 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 97L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 115L 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 98L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 116L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -1502,7 +1619,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 97L); + (2L, Action.Reduce 115L); (11L, Action.ShiftPrefix 2L); (12L, Action.ShiftPrefix 3L); (13L, Action.ShiftPrefix 4L); @@ -1516,28 +1633,29 @@ include struct (22L, Action.ShiftPrefix 12L); (23L, Action.ShiftPrefix 13L); (24L, Action.ShiftPrefix 14L); - (25L, Action.ShiftPrefix 15L); - (26L, Action.ShiftPrefix 16L); - (27L, Action.ShiftPrefix 17L); - (28L, Action.ShiftPrefix 18L); - (29L, Action.ShiftPrefix 19L); - (30L, Action.ShiftPrefix 20L); - (31L, Action.ShiftPrefix 21L); - (32L, Action.ShiftPrefix 22L); - (33L, Action.ShiftPrefix 23L); - (34L, Action.ShiftPrefix 24L); - (35L, Action.ShiftPrefix 25L); - (36L, Action.ShiftPrefix 26L); - (37L, Action.ShiftPrefix 27L); + (26L, Action.ShiftPrefix 15L); + (27L, Action.ShiftPrefix 16L); + (28L, Action.ShiftPrefix 17L); + (29L, Action.ShiftPrefix 18L); + (30L, Action.ShiftPrefix 19L); + (31L, Action.ShiftPrefix 20L); + (32L, Action.ShiftPrefix 21L); + (33L, Action.ShiftPrefix 22L); + (34L, Action.ShiftPrefix 23L); + (35L, Action.ShiftPrefix 24L); + (36L, Action.ShiftPrefix 25L); + (37L, Action.ShiftPrefix 26L); + (38L, Action.ShiftPrefix 27L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (51L, 28L); - (56L, 29L); - (76L, 30L); - (77L, 31L); - (78L, 32L); + (52L, 29L); + (57L, 30L); + (83L, 31L); + (84L, 32L); + (85L, 33L); ] ); (* 1 *) State.init @@ -1547,7 +1665,7 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 101L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 119L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [0L] ) in @@ -1558,217 +1676,224 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 22L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 19L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 23L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 20L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 24L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 21L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 36L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 33L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 37L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 34L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 38L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 35L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 39L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 36L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 40L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 37L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 41L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 38L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 42L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 39L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 43L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 40L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 44L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 41L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 45L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 42L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 46L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 43L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 82L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 44L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 83L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 84L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 85L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 86L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 87L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 88L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 105L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 89L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 106L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 90L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 107L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 91L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 108L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 92L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 109L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 93L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 110L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 94L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 111L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 95L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 112L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 113L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 114L 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 97L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 115L 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 100L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 118L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -1779,7 +1904,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 97L); + (2L, Action.Reduce 115L); (11L, Action.ShiftPrefix 2L); (12L, Action.ShiftPrefix 3L); (13L, Action.ShiftPrefix 4L); @@ -1793,28 +1918,29 @@ include struct (22L, Action.ShiftPrefix 12L); (23L, Action.ShiftPrefix 13L); (24L, Action.ShiftPrefix 14L); - (25L, Action.ShiftPrefix 15L); - (26L, Action.ShiftPrefix 16L); - (27L, Action.ShiftPrefix 17L); - (28L, Action.ShiftPrefix 18L); - (29L, Action.ShiftPrefix 19L); - (30L, Action.ShiftPrefix 20L); - (31L, Action.ShiftPrefix 21L); - (32L, Action.ShiftPrefix 22L); - (33L, Action.ShiftPrefix 23L); - (34L, Action.ShiftPrefix 24L); - (35L, Action.ShiftPrefix 25L); - (36L, Action.ShiftPrefix 26L); - (37L, Action.ShiftPrefix 27L); + (26L, Action.ShiftPrefix 15L); + (27L, Action.ShiftPrefix 16L); + (28L, Action.ShiftPrefix 17L); + (29L, Action.ShiftPrefix 18L); + (30L, Action.ShiftPrefix 19L); + (31L, Action.ShiftPrefix 20L); + (32L, Action.ShiftPrefix 21L); + (33L, Action.ShiftPrefix 22L); + (34L, Action.ShiftPrefix 23L); + (35L, Action.ShiftPrefix 24L); + (36L, Action.ShiftPrefix 25L); + (37L, Action.ShiftPrefix 26L); + (38L, Action.ShiftPrefix 27L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (51L, 28L); - (56L, 29L); - (76L, 30L); - (77L, 33L); - (80L, 34L); + (52L, 29L); + (57L, 30L); + (83L, 31L); + (84L, 34L); + (87L, 35L); ] ); (* 2 *) State.init @@ -1824,9 +1950,9 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 37L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 34L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -1838,34 +1964,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 37L); - (11L, Action.Reduce 37L); - (12L, Action.Reduce 37L); - (13L, Action.Reduce 37L); - (14L, Action.Reduce 37L); - (16L, Action.Reduce 37L); - (17L, Action.Reduce 37L); - (18L, Action.Reduce 37L); - (19L, Action.Reduce 37L); - (20L, Action.Reduce 37L); - (21L, Action.Reduce 37L); - (22L, Action.Reduce 37L); - (23L, Action.Reduce 37L); - (24L, Action.Reduce 37L); - (25L, Action.Reduce 37L); - (26L, Action.Reduce 37L); - (27L, Action.Reduce 37L); - (28L, Action.Reduce 37L); - (29L, Action.Reduce 37L); - (30L, Action.Reduce 37L); - (31L, Action.Reduce 37L); - (32L, Action.Reduce 37L); - (33L, Action.Reduce 37L); - (34L, Action.Reduce 37L); - (35L, Action.Reduce 37L); - (36L, Action.Reduce 37L); - (37L, Action.Reduce 37L); - (38L, Action.Reduce 37L); + (2L, Action.Reduce 34L); + (11L, Action.Reduce 34L); + (12L, Action.Reduce 34L); + (13L, Action.Reduce 34L); + (14L, Action.Reduce 34L); + (16L, Action.Reduce 34L); + (17L, Action.Reduce 34L); + (18L, Action.Reduce 34L); + (19L, Action.Reduce 34L); + (20L, Action.Reduce 34L); + (21L, Action.Reduce 34L); + (22L, Action.Reduce 34L); + (23L, Action.Reduce 34L); + (24L, Action.Reduce 34L); + (26L, Action.Reduce 34L); + (27L, Action.Reduce 34L); + (28L, Action.Reduce 34L); + (29L, Action.Reduce 34L); + (30L, Action.Reduce 34L); + (31L, Action.Reduce 34L); + (32L, Action.Reduce 34L); + (33L, Action.Reduce 34L); + (34L, Action.Reduce 34L); + (35L, Action.Reduce 34L); + (36L, Action.Reduce 34L); + (37L, Action.Reduce 34L); + (38L, Action.Reduce 34L); + (39L, Action.Reduce 34L); + (40L, Action.Reduce 34L); ] ) ~gotos:( @@ -1875,12 +2002,177 @@ include struct ~lr1ItemsetClosure:( Lr1ItemsetClosure.init ~index:3L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 35L 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; 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 35L); + (11L, Action.Reduce 35L); + (12L, Action.Reduce 35L); + (13L, Action.Reduce 35L); + (14L, Action.Reduce 35L); + (16L, Action.Reduce 35L); + (17L, Action.Reduce 35L); + (18L, Action.Reduce 35L); + (19L, Action.Reduce 35L); + (20L, Action.Reduce 35L); + (21L, Action.Reduce 35L); + (22L, Action.Reduce 35L); + (23L, Action.Reduce 35L); + (24L, Action.Reduce 35L); + (26L, Action.Reduce 35L); + (27L, Action.Reduce 35L); + (28L, Action.Reduce 35L); + (29L, Action.Reduce 35L); + (30L, Action.Reduce 35L); + (31L, Action.Reduce 35L); + (32L, Action.Reduce 35L); + (33L, Action.Reduce 35L); + (34L, Action.Reduce 35L); + (35L, Action.Reduce 35L); + (36L, Action.Reduce 35L); + (37L, Action.Reduce 35L); + (38L, Action.Reduce 35L); + (39L, Action.Reduce 35L); + (40L, Action.Reduce 35L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 4 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:4L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 36L 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; 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 36L); + (11L, Action.Reduce 36L); + (12L, Action.Reduce 36L); + (13L, Action.Reduce 36L); + (14L, Action.Reduce 36L); + (16L, Action.Reduce 36L); + (17L, Action.Reduce 36L); + (18L, Action.Reduce 36L); + (19L, Action.Reduce 36L); + (20L, Action.Reduce 36L); + (21L, Action.Reduce 36L); + (22L, Action.Reduce 36L); + (23L, Action.Reduce 36L); + (24L, Action.Reduce 36L); + (26L, Action.Reduce 36L); + (27L, Action.Reduce 36L); + (28L, Action.Reduce 36L); + (29L, Action.Reduce 36L); + (30L, Action.Reduce 36L); + (31L, Action.Reduce 36L); + (32L, Action.Reduce 36L); + (33L, Action.Reduce 36L); + (34L, Action.Reduce 36L); + (35L, Action.Reduce 36L); + (36L, Action.Reduce 36L); + (37L, Action.Reduce 36L); + (38L, Action.Reduce 36L); + (39L, Action.Reduce 36L); + (40L, Action.Reduce 36L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 5 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:5L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 37L 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; 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 37L); + (11L, Action.Reduce 37L); + (12L, Action.Reduce 37L); + (13L, Action.Reduce 37L); + (14L, Action.Reduce 37L); + (16L, Action.Reduce 37L); + (17L, Action.Reduce 37L); + (18L, Action.Reduce 37L); + (19L, Action.Reduce 37L); + (20L, Action.Reduce 37L); + (21L, Action.Reduce 37L); + (22L, Action.Reduce 37L); + (23L, Action.Reduce 37L); + (24L, Action.Reduce 37L); + (26L, Action.Reduce 37L); + (27L, Action.Reduce 37L); + (28L, Action.Reduce 37L); + (29L, Action.Reduce 37L); + (30L, Action.Reduce 37L); + (31L, Action.Reduce 37L); + (32L, Action.Reduce 37L); + (33L, Action.Reduce 37L); + (34L, Action.Reduce 37L); + (35L, Action.Reduce 37L); + (36L, Action.Reduce 37L); + (37L, Action.Reduce 37L); + (38L, Action.Reduce 37L); + (39L, Action.Reduce 37L); + (40L, Action.Reduce 37L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 6 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:6L ~kernel:( Lr1Itemset.init [ ( let lr0item = Lr0Item.init ~prod:(Array.get 38L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -1906,7 +2198,6 @@ include struct (22L, Action.Reduce 38L); (23L, Action.Reduce 38L); (24L, Action.Reduce 38L); - (25L, Action.Reduce 38L); (26L, Action.Reduce 38L); (27L, Action.Reduce 38L); (28L, Action.Reduce 38L); @@ -1920,21 +2211,23 @@ include struct (36L, Action.Reduce 38L); (37L, Action.Reduce 38L); (38L, Action.Reduce 38L); + (39L, Action.Reduce 38L); + (40L, Action.Reduce 38L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 4 *) State.init + (* 7 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:4L + ~index:7L ~kernel:( Lr1Itemset.init [ ( let lr0item = Lr0Item.init ~prod:(Array.get 39L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -1960,7 +2253,6 @@ include struct (22L, Action.Reduce 39L); (23L, Action.Reduce 39L); (24L, Action.Reduce 39L); - (25L, Action.Reduce 39L); (26L, Action.Reduce 39L); (27L, Action.Reduce 39L); (28L, Action.Reduce 39L); @@ -1974,21 +2266,23 @@ include struct (36L, Action.Reduce 39L); (37L, Action.Reduce 39L); (38L, Action.Reduce 39L); + (39L, Action.Reduce 39L); + (40L, Action.Reduce 39L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 5 *) State.init + (* 8 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:5L + ~index:8L ~kernel:( Lr1Itemset.init [ ( let lr0item = Lr0Item.init ~prod:(Array.get 40L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -2014,7 +2308,6 @@ include struct (22L, Action.Reduce 40L); (23L, Action.Reduce 40L); (24L, Action.Reduce 40L); - (25L, Action.Reduce 40L); (26L, Action.Reduce 40L); (27L, Action.Reduce 40L); (28L, Action.Reduce 40L); @@ -2028,21 +2321,23 @@ include struct (36L, Action.Reduce 40L); (37L, Action.Reduce 40L); (38L, Action.Reduce 40L); + (39L, Action.Reduce 40L); + (40L, Action.Reduce 40L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 6 *) State.init + (* 9 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:6L + ~index:9L ~kernel:( Lr1Itemset.init [ ( let lr0item = Lr0Item.init ~prod:(Array.get 41L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -2068,7 +2363,6 @@ include struct (22L, Action.Reduce 41L); (23L, Action.Reduce 41L); (24L, Action.Reduce 41L); - (25L, Action.Reduce 41L); (26L, Action.Reduce 41L); (27L, Action.Reduce 41L); (28L, Action.Reduce 41L); @@ -2082,21 +2376,78 @@ include struct (36L, Action.Reduce 41L); (37L, Action.Reduce 41L); (38L, Action.Reduce 41L); + (39L, Action.Reduce 41L); + (40L, Action.Reduce 41L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 7 *) State.init + (* 10 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:7L + ~index:10L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 21L 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; 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 21L); + (11L, Action.Reduce 21L); + (12L, Action.Reduce 21L); + (13L, Action.Reduce 21L); + (14L, Action.Reduce 21L); + (16L, Action.Reduce 21L); + (17L, Action.Reduce 21L); + (18L, Action.Reduce 21L); + (19L, Action.Reduce 21L); + (20L, Action.Reduce 21L); + (21L, Action.Reduce 21L); + (22L, Action.Reduce 21L); + (23L, Action.Reduce 21L); + (24L, Action.Reduce 21L); + (26L, Action.Reduce 21L); + (27L, Action.Reduce 21L); + (28L, Action.Reduce 21L); + (29L, Action.Reduce 21L); + (30L, Action.Reduce 21L); + (31L, Action.Reduce 21L); + (32L, Action.Reduce 21L); + (33L, Action.Reduce 21L); + (34L, Action.Reduce 21L); + (35L, Action.Reduce 21L); + (36L, Action.Reduce 21L); + (37L, Action.Reduce 21L); + (38L, Action.Reduce 21L); + (39L, Action.Reduce 21L); + (40L, Action.Reduce 21L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 11 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:11L ~kernel:( Lr1Itemset.init [ ( let lr0item = Lr0Item.init ~prod:(Array.get 42L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -2122,7 +2473,6 @@ include struct (22L, Action.Reduce 42L); (23L, Action.Reduce 42L); (24L, Action.Reduce 42L); - (25L, Action.Reduce 42L); (26L, Action.Reduce 42L); (27L, Action.Reduce 42L); (28L, Action.Reduce 42L); @@ -2136,21 +2486,23 @@ include struct (36L, Action.Reduce 42L); (37L, Action.Reduce 42L); (38L, Action.Reduce 42L); + (39L, Action.Reduce 42L); + (40L, Action.Reduce 42L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 8 *) State.init + (* 12 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:8L + ~index:12L ~kernel:( Lr1Itemset.init [ ( let lr0item = Lr0Item.init ~prod:(Array.get 43L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -2176,7 +2528,6 @@ include struct (22L, Action.Reduce 43L); (23L, Action.Reduce 43L); (24L, Action.Reduce 43L); - (25L, Action.Reduce 43L); (26L, Action.Reduce 43L); (27L, Action.Reduce 43L); (28L, Action.Reduce 43L); @@ -2190,21 +2541,23 @@ include struct (36L, Action.Reduce 43L); (37L, Action.Reduce 43L); (38L, Action.Reduce 43L); + (39L, Action.Reduce 43L); + (40L, Action.Reduce 43L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 9 *) State.init + (* 13 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:9L + ~index:13L ~kernel:( Lr1Itemset.init [ ( let lr0item = Lr0Item.init ~prod:(Array.get 44L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -2230,7 +2583,6 @@ include struct (22L, Action.Reduce 44L); (23L, Action.Reduce 44L); (24L, Action.Reduce 44L); - (25L, Action.Reduce 44L); (26L, Action.Reduce 44L); (27L, Action.Reduce 44L); (28L, Action.Reduce 44L); @@ -2244,21 +2596,23 @@ include struct (36L, Action.Reduce 44L); (37L, Action.Reduce 44L); (38L, Action.Reduce 44L); + (39L, Action.Reduce 44L); + (40L, Action.Reduce 44L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 10 *) State.init + (* 14 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:10L + ~index:14L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 24L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 20L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -2270,49 +2624,50 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 24L); - (11L, Action.Reduce 24L); - (12L, Action.Reduce 24L); - (13L, Action.Reduce 24L); - (14L, Action.Reduce 24L); - (16L, Action.Reduce 24L); - (17L, Action.Reduce 24L); - (18L, Action.Reduce 24L); - (19L, Action.Reduce 24L); - (20L, Action.Reduce 24L); - (21L, Action.Reduce 24L); - (22L, Action.Reduce 24L); - (23L, Action.Reduce 24L); - (24L, Action.Reduce 24L); - (25L, Action.Reduce 24L); - (26L, Action.Reduce 24L); - (27L, Action.Reduce 24L); - (28L, Action.Reduce 24L); - (29L, Action.Reduce 24L); - (30L, Action.Reduce 24L); - (31L, Action.Reduce 24L); - (32L, Action.Reduce 24L); - (33L, Action.Reduce 24L); - (34L, Action.Reduce 24L); - (35L, Action.Reduce 24L); - (36L, Action.Reduce 24L); - (37L, Action.Reduce 24L); - (38L, Action.Reduce 24L); + (2L, Action.Reduce 20L); + (11L, Action.Reduce 20L); + (12L, Action.Reduce 20L); + (13L, Action.Reduce 20L); + (14L, Action.Reduce 20L); + (16L, Action.Reduce 20L); + (17L, Action.Reduce 20L); + (18L, Action.Reduce 20L); + (19L, Action.Reduce 20L); + (20L, Action.Reduce 20L); + (21L, Action.Reduce 20L); + (22L, Action.Reduce 20L); + (23L, Action.Reduce 20L); + (24L, Action.Reduce 20L); + (26L, Action.Reduce 20L); + (27L, Action.Reduce 20L); + (28L, Action.Reduce 20L); + (29L, Action.Reduce 20L); + (30L, Action.Reduce 20L); + (31L, Action.Reduce 20L); + (32L, Action.Reduce 20L); + (33L, Action.Reduce 20L); + (34L, Action.Reduce 20L); + (35L, Action.Reduce 20L); + (36L, Action.Reduce 20L); + (37L, Action.Reduce 20L); + (38L, Action.Reduce 20L); + (39L, Action.Reduce 20L); + (40L, Action.Reduce 20L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 11 *) State.init + (* 15 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:11L + ~index:15L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 45L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 19L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -2324,250 +2679,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 45L); - (11L, Action.Reduce 45L); - (12L, Action.Reduce 45L); - (13L, Action.Reduce 45L); - (14L, Action.Reduce 45L); - (16L, Action.Reduce 45L); - (17L, Action.Reduce 45L); - (18L, Action.Reduce 45L); - (19L, Action.Reduce 45L); - (20L, Action.Reduce 45L); - (21L, Action.Reduce 45L); - (22L, Action.Reduce 45L); - (23L, Action.Reduce 45L); - (24L, Action.Reduce 45L); - (25L, Action.Reduce 45L); - (26L, Action.Reduce 45L); - (27L, Action.Reduce 45L); - (28L, Action.Reduce 45L); - (29L, Action.Reduce 45L); - (30L, Action.Reduce 45L); - (31L, Action.Reduce 45L); - (32L, Action.Reduce 45L); - (33L, Action.Reduce 45L); - (34L, Action.Reduce 45L); - (35L, Action.Reduce 45L); - (36L, Action.Reduce 45L); - (37L, Action.Reduce 45L); - (38L, Action.Reduce 45L); - ] - ) - ~gotos:( - Map.empty (module Uns) - ); - (* 12 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:12L - ~kernel:( - Lr1Itemset.init [ - ( - let lr0item = Lr0Item.init ~prod:(Array.get 46L 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] - ) in - lr0item, lr1item - ); - ] - ) - ~added:( - Lr1Itemset.empty - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (2L, Action.Reduce 46L); - (11L, Action.Reduce 46L); - (12L, Action.Reduce 46L); - (13L, Action.Reduce 46L); - (14L, Action.Reduce 46L); - (16L, Action.Reduce 46L); - (17L, Action.Reduce 46L); - (18L, Action.Reduce 46L); - (19L, Action.Reduce 46L); - (20L, Action.Reduce 46L); - (21L, Action.Reduce 46L); - (22L, Action.Reduce 46L); - (23L, Action.Reduce 46L); - (24L, Action.Reduce 46L); - (25L, Action.Reduce 46L); - (26L, Action.Reduce 46L); - (27L, Action.Reduce 46L); - (28L, Action.Reduce 46L); - (29L, Action.Reduce 46L); - (30L, Action.Reduce 46L); - (31L, Action.Reduce 46L); - (32L, Action.Reduce 46L); - (33L, Action.Reduce 46L); - (34L, Action.Reduce 46L); - (35L, Action.Reduce 46L); - (36L, Action.Reduce 46L); - (37L, Action.Reduce 46L); - (38L, Action.Reduce 46L); - ] - ) - ~gotos:( - Map.empty (module Uns) - ); - (* 13 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:13L - ~kernel:( - Lr1Itemset.init [ - ( - let lr0item = Lr0Item.init ~prod:(Array.get 23L 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] - ) in - lr0item, lr1item - ); - ] - ) - ~added:( - Lr1Itemset.empty - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (2L, Action.Reduce 23L); - (11L, Action.Reduce 23L); - (12L, Action.Reduce 23L); - (13L, Action.Reduce 23L); - (14L, Action.Reduce 23L); - (16L, Action.Reduce 23L); - (17L, Action.Reduce 23L); - (18L, Action.Reduce 23L); - (19L, Action.Reduce 23L); - (20L, Action.Reduce 23L); - (21L, Action.Reduce 23L); - (22L, Action.Reduce 23L); - (23L, Action.Reduce 23L); - (24L, Action.Reduce 23L); - (25L, Action.Reduce 23L); - (26L, Action.Reduce 23L); - (27L, Action.Reduce 23L); - (28L, Action.Reduce 23L); - (29L, Action.Reduce 23L); - (30L, Action.Reduce 23L); - (31L, Action.Reduce 23L); - (32L, Action.Reduce 23L); - (33L, Action.Reduce 23L); - (34L, Action.Reduce 23L); - (35L, Action.Reduce 23L); - (36L, Action.Reduce 23L); - (37L, Action.Reduce 23L); - (38L, Action.Reduce 23L); - ] - ) - ~gotos:( - Map.empty (module Uns) - ); - (* 14 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:14L - ~kernel:( - Lr1Itemset.init [ - ( - let lr0item = Lr0Item.init ~prod:(Array.get 22L 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] - ) in - lr0item, lr1item - ); - ] - ) - ~added:( - Lr1Itemset.empty - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (2L, Action.Reduce 22L); - (11L, Action.Reduce 22L); - (12L, Action.Reduce 22L); - (13L, Action.Reduce 22L); - (14L, Action.Reduce 22L); - (16L, Action.Reduce 22L); - (17L, Action.Reduce 22L); - (18L, Action.Reduce 22L); - (19L, Action.Reduce 22L); - (20L, Action.Reduce 22L); - (21L, Action.Reduce 22L); - (22L, Action.Reduce 22L); - (23L, Action.Reduce 22L); - (24L, Action.Reduce 22L); - (25L, Action.Reduce 22L); - (26L, Action.Reduce 22L); - (27L, Action.Reduce 22L); - (28L, Action.Reduce 22L); - (29L, Action.Reduce 22L); - (30L, Action.Reduce 22L); - (31L, Action.Reduce 22L); - (32L, Action.Reduce 22L); - (33L, Action.Reduce 22L); - (34L, Action.Reduce 22L); - (35L, Action.Reduce 22L); - (36L, Action.Reduce 22L); - (37L, Action.Reduce 22L); - (38L, Action.Reduce 22L); - ] - ) - ~gotos:( - Map.empty (module Uns) - ); - (* 15 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:15L - ~kernel:( - Lr1Itemset.init [ - ( - let lr0item = Lr0Item.init ~prod:(Array.get 84L 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] - ) in - lr0item, lr1item - ); - ] - ) - ~added:( - Lr1Itemset.empty - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (2L, Action.Reduce 84L); - (11L, Action.Reduce 84L); - (12L, Action.Reduce 84L); - (13L, Action.Reduce 84L); - (14L, Action.Reduce 84L); - (16L, Action.Reduce 84L); - (17L, Action.Reduce 84L); - (18L, Action.Reduce 84L); - (19L, Action.Reduce 84L); - (20L, Action.Reduce 84L); - (21L, Action.Reduce 84L); - (22L, Action.Reduce 84L); - (23L, Action.Reduce 84L); - (24L, Action.Reduce 84L); - (25L, Action.Reduce 84L); - (26L, Action.Reduce 84L); - (27L, Action.Reduce 84L); - (28L, Action.Reduce 84L); - (29L, Action.Reduce 84L); - (30L, Action.Reduce 84L); - (31L, Action.Reduce 84L); - (32L, Action.Reduce 84L); - (33L, Action.Reduce 84L); - (34L, Action.Reduce 84L); - (35L, Action.Reduce 84L); - (36L, Action.Reduce 84L); - (37L, Action.Reduce 84L); - (38L, Action.Reduce 84L); + (2L, Action.Reduce 19L); + (11L, Action.Reduce 19L); + (12L, Action.Reduce 19L); + (13L, Action.Reduce 19L); + (14L, Action.Reduce 19L); + (16L, Action.Reduce 19L); + (17L, Action.Reduce 19L); + (18L, Action.Reduce 19L); + (19L, Action.Reduce 19L); + (20L, Action.Reduce 19L); + (21L, Action.Reduce 19L); + (22L, Action.Reduce 19L); + (23L, Action.Reduce 19L); + (24L, Action.Reduce 19L); + (26L, Action.Reduce 19L); + (27L, Action.Reduce 19L); + (28L, Action.Reduce 19L); + (29L, Action.Reduce 19L); + (30L, Action.Reduce 19L); + (31L, Action.Reduce 19L); + (32L, Action.Reduce 19L); + (33L, Action.Reduce 19L); + (34L, Action.Reduce 19L); + (35L, Action.Reduce 19L); + (36L, Action.Reduce 19L); + (37L, Action.Reduce 19L); + (38L, Action.Reduce 19L); + (39L, Action.Reduce 19L); + (40L, Action.Reduce 19L); ] ) ~gotos:( @@ -2580,9 +2720,9 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 85L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 102L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -2594,34 +2734,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 85L); - (11L, Action.Reduce 85L); - (12L, Action.Reduce 85L); - (13L, Action.Reduce 85L); - (14L, Action.Reduce 85L); - (16L, Action.Reduce 85L); - (17L, Action.Reduce 85L); - (18L, Action.Reduce 85L); - (19L, Action.Reduce 85L); - (20L, Action.Reduce 85L); - (21L, Action.Reduce 85L); - (22L, Action.Reduce 85L); - (23L, Action.Reduce 85L); - (24L, Action.Reduce 85L); - (25L, Action.Reduce 85L); - (26L, Action.Reduce 85L); - (27L, Action.Reduce 85L); - (28L, Action.Reduce 85L); - (29L, Action.Reduce 85L); - (30L, Action.Reduce 85L); - (31L, Action.Reduce 85L); - (32L, Action.Reduce 85L); - (33L, Action.Reduce 85L); - (34L, Action.Reduce 85L); - (35L, Action.Reduce 85L); - (36L, Action.Reduce 85L); - (37L, Action.Reduce 85L); - (38L, Action.Reduce 85L); + (2L, Action.Reduce 102L); + (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); + (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); ] ) ~gotos:( @@ -2634,9 +2775,9 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 86L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -2648,34 +2789,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 86L); - (11L, Action.Reduce 86L); - (12L, Action.Reduce 86L); - (13L, Action.Reduce 86L); - (14L, Action.Reduce 86L); - (16L, Action.Reduce 86L); - (17L, Action.Reduce 86L); - (18L, Action.Reduce 86L); - (19L, Action.Reduce 86L); - (20L, Action.Reduce 86L); - (21L, Action.Reduce 86L); - (22L, Action.Reduce 86L); - (23L, Action.Reduce 86L); - (24L, Action.Reduce 86L); - (25L, Action.Reduce 86L); - (26L, Action.Reduce 86L); - (27L, Action.Reduce 86L); - (28L, Action.Reduce 86L); - (29L, Action.Reduce 86L); - (30L, Action.Reduce 86L); - (31L, Action.Reduce 86L); - (32L, Action.Reduce 86L); - (33L, Action.Reduce 86L); - (34L, Action.Reduce 86L); - (35L, Action.Reduce 86L); - (36L, Action.Reduce 86L); - (37L, Action.Reduce 86L); - (38L, Action.Reduce 86L); + (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); + (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); ] ) ~gotos:( @@ -2688,9 +2830,9 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 87L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -2702,34 +2844,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 87L); - (11L, Action.Reduce 87L); - (12L, Action.Reduce 87L); - (13L, Action.Reduce 87L); - (14L, Action.Reduce 87L); - (16L, Action.Reduce 87L); - (17L, Action.Reduce 87L); - (18L, Action.Reduce 87L); - (19L, Action.Reduce 87L); - (20L, Action.Reduce 87L); - (21L, Action.Reduce 87L); - (22L, Action.Reduce 87L); - (23L, Action.Reduce 87L); - (24L, Action.Reduce 87L); - (25L, Action.Reduce 87L); - (26L, Action.Reduce 87L); - (27L, Action.Reduce 87L); - (28L, Action.Reduce 87L); - (29L, Action.Reduce 87L); - (30L, Action.Reduce 87L); - (31L, Action.Reduce 87L); - (32L, Action.Reduce 87L); - (33L, Action.Reduce 87L); - (34L, Action.Reduce 87L); - (35L, Action.Reduce 87L); - (36L, Action.Reduce 87L); - (37L, Action.Reduce 87L); - (38L, Action.Reduce 87L); + (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); + (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:( @@ -2742,9 +2885,9 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 88L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -2756,34 +2899,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 88L); - (11L, Action.Reduce 88L); - (12L, Action.Reduce 88L); - (13L, Action.Reduce 88L); - (14L, Action.Reduce 88L); - (16L, Action.Reduce 88L); - (17L, Action.Reduce 88L); - (18L, Action.Reduce 88L); - (19L, Action.Reduce 88L); - (20L, Action.Reduce 88L); - (21L, Action.Reduce 88L); - (22L, Action.Reduce 88L); - (23L, Action.Reduce 88L); - (24L, Action.Reduce 88L); - (25L, Action.Reduce 88L); - (26L, Action.Reduce 88L); - (27L, Action.Reduce 88L); - (28L, Action.Reduce 88L); - (29L, Action.Reduce 88L); - (30L, Action.Reduce 88L); - (31L, Action.Reduce 88L); - (32L, Action.Reduce 88L); - (33L, Action.Reduce 88L); - (34L, Action.Reduce 88L); - (35L, Action.Reduce 88L); - (36L, Action.Reduce 88L); - (37L, Action.Reduce 88L); - (38L, Action.Reduce 88L); + (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); + (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:( @@ -2796,9 +2940,9 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 89L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -2810,34 +2954,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 89L); - (11L, Action.Reduce 89L); - (12L, Action.Reduce 89L); - (13L, Action.Reduce 89L); - (14L, Action.Reduce 89L); - (16L, Action.Reduce 89L); - (17L, Action.Reduce 89L); - (18L, Action.Reduce 89L); - (19L, Action.Reduce 89L); - (20L, Action.Reduce 89L); - (21L, Action.Reduce 89L); - (22L, Action.Reduce 89L); - (23L, Action.Reduce 89L); - (24L, Action.Reduce 89L); - (25L, Action.Reduce 89L); - (26L, Action.Reduce 89L); - (27L, Action.Reduce 89L); - (28L, Action.Reduce 89L); - (29L, Action.Reduce 89L); - (30L, Action.Reduce 89L); - (31L, Action.Reduce 89L); - (32L, Action.Reduce 89L); - (33L, Action.Reduce 89L); - (34L, Action.Reduce 89L); - (35L, Action.Reduce 89L); - (36L, Action.Reduce 89L); - (37L, Action.Reduce 89L); - (38L, Action.Reduce 89L); + (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); + (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:( @@ -2850,9 +2995,9 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 90L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 107L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -2864,34 +3009,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 90L); - (11L, Action.Reduce 90L); - (12L, Action.Reduce 90L); - (13L, Action.Reduce 90L); - (14L, Action.Reduce 90L); - (16L, Action.Reduce 90L); - (17L, Action.Reduce 90L); - (18L, Action.Reduce 90L); - (19L, Action.Reduce 90L); - (20L, Action.Reduce 90L); - (21L, Action.Reduce 90L); - (22L, Action.Reduce 90L); - (23L, Action.Reduce 90L); - (24L, Action.Reduce 90L); - (25L, Action.Reduce 90L); - (26L, Action.Reduce 90L); - (27L, Action.Reduce 90L); - (28L, Action.Reduce 90L); - (29L, Action.Reduce 90L); - (30L, Action.Reduce 90L); - (31L, Action.Reduce 90L); - (32L, Action.Reduce 90L); - (33L, Action.Reduce 90L); - (34L, Action.Reduce 90L); - (35L, Action.Reduce 90L); - (36L, Action.Reduce 90L); - (37L, Action.Reduce 90L); - (38L, Action.Reduce 90L); + (2L, Action.Reduce 107L); + (11L, Action.Reduce 107L); + (12L, Action.Reduce 107L); + (13L, Action.Reduce 107L); + (14L, Action.Reduce 107L); + (16L, Action.Reduce 107L); + (17L, Action.Reduce 107L); + (18L, Action.Reduce 107L); + (19L, Action.Reduce 107L); + (20L, Action.Reduce 107L); + (21L, Action.Reduce 107L); + (22L, Action.Reduce 107L); + (23L, Action.Reduce 107L); + (24L, Action.Reduce 107L); + (26L, Action.Reduce 107L); + (27L, Action.Reduce 107L); + (28L, Action.Reduce 107L); + (29L, Action.Reduce 107L); + (30L, Action.Reduce 107L); + (31L, Action.Reduce 107L); + (32L, Action.Reduce 107L); + (33L, Action.Reduce 107L); + (34L, Action.Reduce 107L); + (35L, Action.Reduce 107L); + (36L, Action.Reduce 107L); + (37L, Action.Reduce 107L); + (38L, Action.Reduce 107L); + (39L, Action.Reduce 107L); + (40L, Action.Reduce 107L); ] ) ~gotos:( @@ -2904,9 +3050,9 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 91L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 108L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -2918,34 +3064,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 91L); - (11L, Action.Reduce 91L); - (12L, Action.Reduce 91L); - (13L, Action.Reduce 91L); - (14L, Action.Reduce 91L); - (16L, Action.Reduce 91L); - (17L, Action.Reduce 91L); - (18L, Action.Reduce 91L); - (19L, Action.Reduce 91L); - (20L, Action.Reduce 91L); - (21L, Action.Reduce 91L); - (22L, Action.Reduce 91L); - (23L, Action.Reduce 91L); - (24L, Action.Reduce 91L); - (25L, Action.Reduce 91L); - (26L, Action.Reduce 91L); - (27L, Action.Reduce 91L); - (28L, Action.Reduce 91L); - (29L, Action.Reduce 91L); - (30L, Action.Reduce 91L); - (31L, Action.Reduce 91L); - (32L, Action.Reduce 91L); - (33L, Action.Reduce 91L); - (34L, Action.Reduce 91L); - (35L, Action.Reduce 91L); - (36L, Action.Reduce 91L); - (37L, Action.Reduce 91L); - (38L, Action.Reduce 91L); + (2L, Action.Reduce 108L); + (11L, Action.Reduce 108L); + (12L, Action.Reduce 108L); + (13L, Action.Reduce 108L); + (14L, Action.Reduce 108L); + (16L, Action.Reduce 108L); + (17L, Action.Reduce 108L); + (18L, Action.Reduce 108L); + (19L, Action.Reduce 108L); + (20L, Action.Reduce 108L); + (21L, Action.Reduce 108L); + (22L, Action.Reduce 108L); + (23L, Action.Reduce 108L); + (24L, Action.Reduce 108L); + (26L, Action.Reduce 108L); + (27L, Action.Reduce 108L); + (28L, Action.Reduce 108L); + (29L, Action.Reduce 108L); + (30L, Action.Reduce 108L); + (31L, Action.Reduce 108L); + (32L, Action.Reduce 108L); + (33L, Action.Reduce 108L); + (34L, Action.Reduce 108L); + (35L, Action.Reduce 108L); + (36L, Action.Reduce 108L); + (37L, Action.Reduce 108L); + (38L, Action.Reduce 108L); + (39L, Action.Reduce 108L); + (40L, Action.Reduce 108L); ] ) ~gotos:( @@ -2958,9 +3105,9 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 92L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 109L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -2972,34 +3119,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 92L); - (11L, Action.Reduce 92L); - (12L, Action.Reduce 92L); - (13L, Action.Reduce 92L); - (14L, Action.Reduce 92L); - (16L, Action.Reduce 92L); - (17L, Action.Reduce 92L); - (18L, Action.Reduce 92L); - (19L, Action.Reduce 92L); - (20L, Action.Reduce 92L); - (21L, Action.Reduce 92L); - (22L, Action.Reduce 92L); - (23L, Action.Reduce 92L); - (24L, Action.Reduce 92L); - (25L, Action.Reduce 92L); - (26L, Action.Reduce 92L); - (27L, Action.Reduce 92L); - (28L, Action.Reduce 92L); - (29L, Action.Reduce 92L); - (30L, Action.Reduce 92L); - (31L, Action.Reduce 92L); - (32L, Action.Reduce 92L); - (33L, Action.Reduce 92L); - (34L, Action.Reduce 92L); - (35L, Action.Reduce 92L); - (36L, Action.Reduce 92L); - (37L, Action.Reduce 92L); - (38L, Action.Reduce 92L); + (2L, Action.Reduce 109L); + (11L, Action.Reduce 109L); + (12L, Action.Reduce 109L); + (13L, Action.Reduce 109L); + (14L, Action.Reduce 109L); + (16L, Action.Reduce 109L); + (17L, Action.Reduce 109L); + (18L, Action.Reduce 109L); + (19L, Action.Reduce 109L); + (20L, Action.Reduce 109L); + (21L, Action.Reduce 109L); + (22L, Action.Reduce 109L); + (23L, Action.Reduce 109L); + (24L, Action.Reduce 109L); + (26L, Action.Reduce 109L); + (27L, Action.Reduce 109L); + (28L, Action.Reduce 109L); + (29L, Action.Reduce 109L); + (30L, Action.Reduce 109L); + (31L, Action.Reduce 109L); + (32L, Action.Reduce 109L); + (33L, Action.Reduce 109L); + (34L, Action.Reduce 109L); + (35L, Action.Reduce 109L); + (36L, Action.Reduce 109L); + (37L, Action.Reduce 109L); + (38L, Action.Reduce 109L); + (39L, Action.Reduce 109L); + (40L, Action.Reduce 109L); ] ) ~gotos:( @@ -3012,9 +3160,9 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 93L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 110L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -3026,34 +3174,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 93L); - (11L, Action.Reduce 93L); - (12L, Action.Reduce 93L); - (13L, Action.Reduce 93L); - (14L, Action.Reduce 93L); - (16L, Action.Reduce 93L); - (17L, Action.Reduce 93L); - (18L, Action.Reduce 93L); - (19L, Action.Reduce 93L); - (20L, Action.Reduce 93L); - (21L, Action.Reduce 93L); - (22L, Action.Reduce 93L); - (23L, Action.Reduce 93L); - (24L, Action.Reduce 93L); - (25L, Action.Reduce 93L); - (26L, Action.Reduce 93L); - (27L, Action.Reduce 93L); - (28L, Action.Reduce 93L); - (29L, Action.Reduce 93L); - (30L, Action.Reduce 93L); - (31L, Action.Reduce 93L); - (32L, Action.Reduce 93L); - (33L, Action.Reduce 93L); - (34L, Action.Reduce 93L); - (35L, Action.Reduce 93L); - (36L, Action.Reduce 93L); - (37L, Action.Reduce 93L); - (38L, Action.Reduce 93L); + (2L, Action.Reduce 110L); + (11L, Action.Reduce 110L); + (12L, Action.Reduce 110L); + (13L, Action.Reduce 110L); + (14L, Action.Reduce 110L); + (16L, Action.Reduce 110L); + (17L, Action.Reduce 110L); + (18L, Action.Reduce 110L); + (19L, Action.Reduce 110L); + (20L, Action.Reduce 110L); + (21L, Action.Reduce 110L); + (22L, Action.Reduce 110L); + (23L, Action.Reduce 110L); + (24L, Action.Reduce 110L); + (26L, Action.Reduce 110L); + (27L, Action.Reduce 110L); + (28L, Action.Reduce 110L); + (29L, Action.Reduce 110L); + (30L, Action.Reduce 110L); + (31L, Action.Reduce 110L); + (32L, Action.Reduce 110L); + (33L, Action.Reduce 110L); + (34L, Action.Reduce 110L); + (35L, Action.Reduce 110L); + (36L, Action.Reduce 110L); + (37L, Action.Reduce 110L); + (38L, Action.Reduce 110L); + (39L, Action.Reduce 110L); + (40L, Action.Reduce 110L); ] ) ~gotos:( @@ -3066,9 +3215,9 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 94L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 111L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -3080,34 +3229,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 94L); - (11L, Action.Reduce 94L); - (12L, Action.Reduce 94L); - (13L, Action.Reduce 94L); - (14L, Action.Reduce 94L); - (16L, Action.Reduce 94L); - (17L, Action.Reduce 94L); - (18L, Action.Reduce 94L); - (19L, Action.Reduce 94L); - (20L, Action.Reduce 94L); - (21L, Action.Reduce 94L); - (22L, Action.Reduce 94L); - (23L, Action.Reduce 94L); - (24L, Action.Reduce 94L); - (25L, Action.Reduce 94L); - (26L, Action.Reduce 94L); - (27L, Action.Reduce 94L); - (28L, Action.Reduce 94L); - (29L, Action.Reduce 94L); - (30L, Action.Reduce 94L); - (31L, Action.Reduce 94L); - (32L, Action.Reduce 94L); - (33L, Action.Reduce 94L); - (34L, Action.Reduce 94L); - (35L, Action.Reduce 94L); - (36L, Action.Reduce 94L); - (37L, Action.Reduce 94L); - (38L, Action.Reduce 94L); + (2L, Action.Reduce 111L); + (11L, Action.Reduce 111L); + (12L, Action.Reduce 111L); + (13L, Action.Reduce 111L); + (14L, Action.Reduce 111L); + (16L, Action.Reduce 111L); + (17L, Action.Reduce 111L); + (18L, Action.Reduce 111L); + (19L, Action.Reduce 111L); + (20L, Action.Reduce 111L); + (21L, Action.Reduce 111L); + (22L, Action.Reduce 111L); + (23L, Action.Reduce 111L); + (24L, Action.Reduce 111L); + (26L, Action.Reduce 111L); + (27L, Action.Reduce 111L); + (28L, Action.Reduce 111L); + (29L, Action.Reduce 111L); + (30L, Action.Reduce 111L); + (31L, Action.Reduce 111L); + (32L, Action.Reduce 111L); + (33L, Action.Reduce 111L); + (34L, Action.Reduce 111L); + (35L, Action.Reduce 111L); + (36L, Action.Reduce 111L); + (37L, Action.Reduce 111L); + (38L, Action.Reduce 111L); + (39L, Action.Reduce 111L); + (40L, Action.Reduce 111L); ] ) ~gotos:( @@ -3120,9 +3270,9 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 95L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 112L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -3134,34 +3284,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 95L); - (11L, Action.Reduce 95L); - (12L, Action.Reduce 95L); - (13L, Action.Reduce 95L); - (14L, Action.Reduce 95L); - (16L, Action.Reduce 95L); - (17L, Action.Reduce 95L); - (18L, Action.Reduce 95L); - (19L, Action.Reduce 95L); - (20L, Action.Reduce 95L); - (21L, Action.Reduce 95L); - (22L, Action.Reduce 95L); - (23L, Action.Reduce 95L); - (24L, Action.Reduce 95L); - (25L, Action.Reduce 95L); - (26L, Action.Reduce 95L); - (27L, Action.Reduce 95L); - (28L, Action.Reduce 95L); - (29L, Action.Reduce 95L); - (30L, Action.Reduce 95L); - (31L, Action.Reduce 95L); - (32L, Action.Reduce 95L); - (33L, Action.Reduce 95L); - (34L, Action.Reduce 95L); - (35L, Action.Reduce 95L); - (36L, Action.Reduce 95L); - (37L, Action.Reduce 95L); - (38L, Action.Reduce 95L); + (2L, Action.Reduce 112L); + (11L, Action.Reduce 112L); + (12L, Action.Reduce 112L); + (13L, Action.Reduce 112L); + (14L, Action.Reduce 112L); + (16L, Action.Reduce 112L); + (17L, Action.Reduce 112L); + (18L, Action.Reduce 112L); + (19L, Action.Reduce 112L); + (20L, Action.Reduce 112L); + (21L, Action.Reduce 112L); + (22L, Action.Reduce 112L); + (23L, Action.Reduce 112L); + (24L, Action.Reduce 112L); + (26L, Action.Reduce 112L); + (27L, Action.Reduce 112L); + (28L, Action.Reduce 112L); + (29L, Action.Reduce 112L); + (30L, Action.Reduce 112L); + (31L, Action.Reduce 112L); + (32L, Action.Reduce 112L); + (33L, Action.Reduce 112L); + (34L, Action.Reduce 112L); + (35L, Action.Reduce 112L); + (36L, Action.Reduce 112L); + (37L, Action.Reduce 112L); + (38L, Action.Reduce 112L); + (39L, Action.Reduce 112L); + (40L, Action.Reduce 112L); ] ) ~gotos:( @@ -3174,9 +3325,9 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 36L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 113L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -3188,34 +3339,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 36L); - (11L, Action.Reduce 36L); - (12L, Action.Reduce 36L); - (13L, Action.Reduce 36L); - (14L, Action.Reduce 36L); - (16L, Action.Reduce 36L); - (17L, Action.Reduce 36L); - (18L, Action.Reduce 36L); - (19L, Action.Reduce 36L); - (20L, Action.Reduce 36L); - (21L, Action.Reduce 36L); - (22L, Action.Reduce 36L); - (23L, Action.Reduce 36L); - (24L, Action.Reduce 36L); - (25L, Action.Reduce 36L); - (26L, Action.Reduce 36L); - (27L, Action.Reduce 36L); - (28L, Action.Reduce 36L); - (29L, Action.Reduce 36L); - (30L, Action.Reduce 36L); - (31L, Action.Reduce 36L); - (32L, Action.Reduce 36L); - (33L, Action.Reduce 36L); - (34L, Action.Reduce 36L); - (35L, Action.Reduce 36L); - (36L, Action.Reduce 36L); - (37L, Action.Reduce 36L); - (38L, Action.Reduce 36L); + (2L, Action.Reduce 113L); + (11L, Action.Reduce 113L); + (12L, Action.Reduce 113L); + (13L, Action.Reduce 113L); + (14L, Action.Reduce 113L); + (16L, Action.Reduce 113L); + (17L, Action.Reduce 113L); + (18L, Action.Reduce 113L); + (19L, Action.Reduce 113L); + (20L, Action.Reduce 113L); + (21L, Action.Reduce 113L); + (22L, Action.Reduce 113L); + (23L, Action.Reduce 113L); + (24L, Action.Reduce 113L); + (26L, Action.Reduce 113L); + (27L, Action.Reduce 113L); + (28L, Action.Reduce 113L); + (29L, Action.Reduce 113L); + (30L, Action.Reduce 113L); + (31L, Action.Reduce 113L); + (32L, Action.Reduce 113L); + (33L, Action.Reduce 113L); + (34L, Action.Reduce 113L); + (35L, Action.Reduce 113L); + (36L, Action.Reduce 113L); + (37L, Action.Reduce 113L); + (38L, Action.Reduce 113L); + (39L, Action.Reduce 113L); + (40L, Action.Reduce 113L); ] ) ~gotos:( @@ -3228,9 +3380,9 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 83L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 33L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -3242,34 +3394,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 83L); - (11L, Action.Reduce 83L); - (12L, Action.Reduce 83L); - (13L, Action.Reduce 83L); - (14L, Action.Reduce 83L); - (16L, Action.Reduce 83L); - (17L, Action.Reduce 83L); - (18L, Action.Reduce 83L); - (19L, Action.Reduce 83L); - (20L, Action.Reduce 83L); - (21L, Action.Reduce 83L); - (22L, Action.Reduce 83L); - (23L, Action.Reduce 83L); - (24L, Action.Reduce 83L); - (25L, Action.Reduce 83L); - (26L, Action.Reduce 83L); - (27L, Action.Reduce 83L); - (28L, Action.Reduce 83L); - (29L, Action.Reduce 83L); - (30L, Action.Reduce 83L); - (31L, Action.Reduce 83L); - (32L, Action.Reduce 83L); - (33L, Action.Reduce 83L); - (34L, Action.Reduce 83L); - (35L, Action.Reduce 83L); - (36L, Action.Reduce 83L); - (37L, Action.Reduce 83L); - (38L, Action.Reduce 83L); + (2L, Action.Reduce 33L); + (11L, Action.Reduce 33L); + (12L, Action.Reduce 33L); + (13L, Action.Reduce 33L); + (14L, Action.Reduce 33L); + (16L, Action.Reduce 33L); + (17L, Action.Reduce 33L); + (18L, Action.Reduce 33L); + (19L, Action.Reduce 33L); + (20L, Action.Reduce 33L); + (21L, Action.Reduce 33L); + (22L, Action.Reduce 33L); + (23L, Action.Reduce 33L); + (24L, Action.Reduce 33L); + (26L, Action.Reduce 33L); + (27L, Action.Reduce 33L); + (28L, Action.Reduce 33L); + (29L, Action.Reduce 33L); + (30L, Action.Reduce 33L); + (31L, Action.Reduce 33L); + (32L, Action.Reduce 33L); + (33L, Action.Reduce 33L); + (34L, Action.Reduce 33L); + (35L, Action.Reduce 33L); + (36L, Action.Reduce 33L); + (37L, Action.Reduce 33L); + (38L, Action.Reduce 33L); + (39L, Action.Reduce 33L); + (40L, Action.Reduce 33L); ] ) ~gotos:( @@ -3282,9 +3435,9 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 82L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -3296,34 +3449,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 82L); - (11L, Action.Reduce 82L); - (12L, Action.Reduce 82L); - (13L, Action.Reduce 82L); - (14L, Action.Reduce 82L); - (16L, Action.Reduce 82L); - (17L, Action.Reduce 82L); - (18L, Action.Reduce 82L); - (19L, Action.Reduce 82L); - (20L, Action.Reduce 82L); - (21L, Action.Reduce 82L); - (22L, Action.Reduce 82L); - (23L, Action.Reduce 82L); - (24L, Action.Reduce 82L); - (25L, Action.Reduce 82L); - (26L, Action.Reduce 82L); - (27L, Action.Reduce 82L); - (28L, Action.Reduce 82L); - (29L, Action.Reduce 82L); - (30L, Action.Reduce 82L); - (31L, Action.Reduce 82L); - (32L, Action.Reduce 82L); - (33L, Action.Reduce 82L); - (34L, Action.Reduce 82L); - (35L, Action.Reduce 82L); - (36L, Action.Reduce 82L); - (37L, Action.Reduce 82L); - (38L, Action.Reduce 82L); + (2L, Action.Reduce 101L); + (11L, Action.Reduce 101L); + (12L, Action.Reduce 101L); + (13L, Action.Reduce 101L); + (14L, Action.Reduce 101L); + (16L, Action.Reduce 101L); + (17L, Action.Reduce 101L); + (18L, Action.Reduce 101L); + (19L, Action.Reduce 101L); + (20L, Action.Reduce 101L); + (21L, Action.Reduce 101L); + (22L, Action.Reduce 101L); + (23L, Action.Reduce 101L); + (24L, Action.Reduce 101L); + (26L, Action.Reduce 101L); + (27L, Action.Reduce 101L); + (28L, Action.Reduce 101L); + (29L, Action.Reduce 101L); + (30L, Action.Reduce 101L); + (31L, Action.Reduce 101L); + (32L, Action.Reduce 101L); + (33L, Action.Reduce 101L); + (34L, Action.Reduce 101L); + (35L, Action.Reduce 101L); + (36L, Action.Reduce 101L); + (37L, Action.Reduce 101L); + (38L, Action.Reduce 101L); + (39L, Action.Reduce 101L); + (40L, Action.Reduce 101L); ] ) ~gotos:( @@ -3336,223 +3490,285 @@ include struct ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 96L 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) [2L; 38L] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 100L); + (11L, Action.Reduce 100L); + (12L, Action.Reduce 100L); + (13L, Action.Reduce 100L); + (14L, Action.Reduce 100L); + (16L, Action.Reduce 100L); + (17L, Action.Reduce 100L); + (18L, Action.Reduce 100L); + (19L, Action.Reduce 100L); + (20L, Action.Reduce 100L); + (21L, Action.Reduce 100L); + (22L, Action.Reduce 100L); + (23L, Action.Reduce 100L); + (24L, Action.Reduce 100L); + (26L, Action.Reduce 100L); + (27L, Action.Reduce 100L); + (28L, Action.Reduce 100L); + (29L, Action.Reduce 100L); + (30L, Action.Reduce 100L); + (31L, Action.Reduce 100L); + (32L, Action.Reduce 100L); + (33L, Action.Reduce 100L); + (34L, Action.Reduce 100L); + (35L, Action.Reduce 100L); + (36L, Action.Reduce 100L); + (37L, Action.Reduce 100L); + (38L, Action.Reduce 100L); + (39L, Action.Reduce 100L); + (40L, Action.Reduce 100L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 31 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:31L + ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 22L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 114L 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] + Ordset.of_list (module Uns) [2L; 40L] ) in lr0item, lr1item ); + ] + ) + ~added:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 23L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 19L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 24L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 20L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 36L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 21L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 37L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 33L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 38L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 34L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 39L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 35L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 40L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 36L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 41L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 37L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 42L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 38L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 43L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 39L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 44L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 40L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 45L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 41L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 46L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 42L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 82L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 43L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 83L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 44L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 84L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 85L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 86L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 87L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 88L 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) [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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 89L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 105L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 90L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 106L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 91L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 107L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 92L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 108L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 93L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 109L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 94L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 110L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 95L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 111L 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] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 96L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 112L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [2L; 38L] + Ordset.of_list (module Uns) [2L; 11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 97L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 113L 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; 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 114L 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 115L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [2L; 38L] + Ordset.of_list (module Uns) [2L; 40L] ) in lr0item, lr1item ); @@ -3561,7 +3777,7 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 97L); + (2L, Action.Reduce 115L); (11L, Action.ShiftPrefix 2L); (12L, Action.ShiftPrefix 3L); (13L, Action.ShiftPrefix 4L); @@ -3575,38 +3791,39 @@ include struct (22L, Action.ShiftPrefix 12L); (23L, Action.ShiftPrefix 13L); (24L, Action.ShiftPrefix 14L); - (25L, Action.ShiftPrefix 15L); - (26L, Action.ShiftPrefix 16L); - (27L, Action.ShiftPrefix 17L); - (28L, Action.ShiftPrefix 18L); - (29L, Action.ShiftPrefix 19L); - (30L, Action.ShiftPrefix 20L); - (31L, Action.ShiftPrefix 21L); - (32L, Action.ShiftPrefix 22L); - (33L, Action.ShiftPrefix 23L); - (34L, Action.ShiftPrefix 24L); - (35L, Action.ShiftPrefix 25L); - (36L, Action.ShiftPrefix 26L); - (37L, Action.ShiftPrefix 27L); - (38L, Action.Reduce 97L); + (26L, Action.ShiftPrefix 15L); + (27L, Action.ShiftPrefix 16L); + (28L, Action.ShiftPrefix 17L); + (29L, Action.ShiftPrefix 18L); + (30L, Action.ShiftPrefix 19L); + (31L, Action.ShiftPrefix 20L); + (32L, Action.ShiftPrefix 21L); + (33L, Action.ShiftPrefix 22L); + (34L, Action.ShiftPrefix 23L); + (35L, Action.ShiftPrefix 24L); + (36L, Action.ShiftPrefix 25L); + (37L, Action.ShiftPrefix 26L); + (38L, Action.ShiftPrefix 27L); + (39L, Action.ShiftPrefix 28L); + (40L, Action.Reduce 115L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (51L, 28L); - (56L, 29L); - (76L, 30L); - (77L, 35L); + (52L, 29L); + (57L, 30L); + (83L, 31L); + (84L, 36L); ] ); - (* 31 *) State.init + (* 32 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:31L + ~index:32L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 98L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 116L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -3617,9 +3834,9 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 81L 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) [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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -3628,22 +3845,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.ShiftPrefix 36L); + (2L, Action.ShiftPrefix 37L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (75L, 37L); + (82L, 38L); ] ); - (* 32 *) State.init + (* 33 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:32L + ~index:33L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 99L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 117L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [0L] ) in @@ -3657,20 +3874,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (1L, Action.ShiftPrefix 38L); + (1L, Action.ShiftPrefix 39L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 33 *) State.init + (* 34 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:33L + ~index:34L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 100L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 118L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -3684,20 +3901,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.ShiftPrefix 39L); + (2L, Action.ShiftPrefix 40L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 34 *) State.init + (* 35 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:34L + ~index:35L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 101L 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) [0L] ) in @@ -3711,22 +3928,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (1L, Action.ShiftPrefix 40L); + (1L, Action.ShiftPrefix 41L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 35 *) State.init + (* 36 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:35L + ~index:36L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 114L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [2L; 38L] + Ordset.of_list (module Uns) [2L; 40L] ) in lr0item, lr1item ); @@ -3738,23 +3955,23 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (2L, Action.Reduce 96L); - (38L, Action.Reduce 96L); + (2L, Action.Reduce 114L); + (40L, Action.Reduce 114L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 36 *) State.init + (* 37 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:36L + ~index:37L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 81L 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) [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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -3766,20 +3983,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (25L, Action.ShiftPrefix 41L); + (27L, Action.ShiftPrefix 42L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 37 *) State.init + (* 38 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:37L + ~index:38L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 98L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 116L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -3790,212 +4007,219 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 22L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 19L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 23L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 20L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 24L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 21L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 36L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 33L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 37L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 34L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 38L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 35L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 39L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 36L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 40L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 37L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 41L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 38L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 42L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 39L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 43L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 40L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 44L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 41L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 45L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 42L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 46L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 43L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 82L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 44L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 83L 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) [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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 84L 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) [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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 85L 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) [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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 86L 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) [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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 87L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 88L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 105L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 89L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 106L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 90L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 107L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 91L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 108L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 92L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 109L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 93L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 110L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 94L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 111L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 95L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 112L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 96L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 113L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [38L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 97L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 114L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [38L] + Ordset.of_list (module Uns) [40L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 115L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [40L] ) in lr0item, lr1item ); @@ -4017,38 +4241,39 @@ include struct (22L, Action.ShiftPrefix 12L); (23L, Action.ShiftPrefix 13L); (24L, Action.ShiftPrefix 14L); - (25L, Action.ShiftPrefix 15L); - (26L, Action.ShiftPrefix 16L); - (27L, Action.ShiftPrefix 17L); - (28L, Action.ShiftPrefix 18L); - (29L, Action.ShiftPrefix 19L); - (30L, Action.ShiftPrefix 20L); - (31L, Action.ShiftPrefix 21L); - (32L, Action.ShiftPrefix 22L); - (33L, Action.ShiftPrefix 23L); - (34L, Action.ShiftPrefix 24L); - (35L, Action.ShiftPrefix 25L); - (36L, Action.ShiftPrefix 26L); - (37L, Action.ShiftPrefix 27L); - (38L, Action.Reduce 97L); + (26L, Action.ShiftPrefix 15L); + (27L, Action.ShiftPrefix 16L); + (28L, Action.ShiftPrefix 17L); + (29L, Action.ShiftPrefix 18L); + (30L, Action.ShiftPrefix 19L); + (31L, Action.ShiftPrefix 20L); + (32L, Action.ShiftPrefix 21L); + (33L, Action.ShiftPrefix 22L); + (34L, Action.ShiftPrefix 23L); + (35L, Action.ShiftPrefix 24L); + (36L, Action.ShiftPrefix 25L); + (37L, Action.ShiftPrefix 26L); + (38L, Action.ShiftPrefix 27L); + (39L, Action.ShiftPrefix 28L); + (40L, Action.Reduce 115L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (51L, 28L); - (56L, 29L); - (76L, 30L); - (77L, 42L); + (52L, 29L); + (57L, 30L); + (83L, 31L); + (84L, 43L); ] ); - (* 38 *) State.init + (* 39 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:38L + ~index:39L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 99L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 117L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [0L] ) in @@ -4062,20 +4287,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (0L, Action.Reduce 99L); + (0L, Action.Reduce 117L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 39 *) State.init + (* 40 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:39L + ~index:40L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 100L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 118L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -4086,212 +4311,219 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 22L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 19L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 23L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 20L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 24L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 21L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 36L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 33L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 37L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 34L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 38L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 35L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 39L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 36L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 40L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 37L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 41L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 38L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 42L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 39L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 43L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 40L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 44L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 41L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 45L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 42L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 46L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 43L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 82L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 44L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 83L 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) [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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 84L 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) [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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 85L 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) [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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 86L 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) [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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 87L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 88L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 105L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 89L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 106L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 90L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 107L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 91L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 108L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 92L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 109L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 93L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 110L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 94L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 111L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 95L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 112L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 96L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 113L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [38L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 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 97L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 114L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [38L] + Ordset.of_list (module Uns) [40L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 115L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [40L] ) in lr0item, lr1item ); @@ -4313,38 +4545,39 @@ include struct (22L, Action.ShiftPrefix 12L); (23L, Action.ShiftPrefix 13L); (24L, Action.ShiftPrefix 14L); - (25L, Action.ShiftPrefix 15L); - (26L, Action.ShiftPrefix 16L); - (27L, Action.ShiftPrefix 17L); - (28L, Action.ShiftPrefix 18L); - (29L, Action.ShiftPrefix 19L); - (30L, Action.ShiftPrefix 20L); - (31L, Action.ShiftPrefix 21L); - (32L, Action.ShiftPrefix 22L); - (33L, Action.ShiftPrefix 23L); - (34L, Action.ShiftPrefix 24L); - (35L, Action.ShiftPrefix 25L); - (36L, Action.ShiftPrefix 26L); - (37L, Action.ShiftPrefix 27L); - (38L, Action.Reduce 97L); + (26L, Action.ShiftPrefix 15L); + (27L, Action.ShiftPrefix 16L); + (28L, Action.ShiftPrefix 17L); + (29L, Action.ShiftPrefix 18L); + (30L, Action.ShiftPrefix 19L); + (31L, Action.ShiftPrefix 20L); + (32L, Action.ShiftPrefix 21L); + (33L, Action.ShiftPrefix 22L); + (34L, Action.ShiftPrefix 23L); + (35L, Action.ShiftPrefix 24L); + (36L, Action.ShiftPrefix 25L); + (37L, Action.ShiftPrefix 26L); + (38L, Action.ShiftPrefix 27L); + (39L, Action.ShiftPrefix 28L); + (40L, Action.Reduce 115L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (51L, 28L); - (56L, 29L); - (76L, 30L); - (77L, 43L); + (52L, 29L); + (57L, 30L); + (83L, 31L); + (84L, 44L); ] ); - (* 40 *) State.init + (* 41 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:40L + ~index:41L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 101L 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) [0L] ) in @@ -4358,22 +4591,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (0L, Action.Reduce 101L); + (0L, Action.Reduce 119L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 41 *) State.init + (* 42 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:41L + ~index:42L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 81L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 99L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -4382,233 +4615,240 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 8L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 5L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [11L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 9L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 6L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [11L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 10L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 7L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [11L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 11L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 8L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 21L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 18L 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 27L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 28L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 29L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 30L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 31L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 32L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 33L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 34L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 35L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 36L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 37L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 38L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 39L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 40L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 41L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 42L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 43L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 44L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 45L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 46L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 49L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 50L 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) [24L; 26L] + Ordset.of_list (module Uns) [12L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 51L 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) [24L; 26L] + Ordset.of_list (module Uns) [12L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 70L 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) [12L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 71L 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) [12L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 72L 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) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 75L 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) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 76L 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) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 77L 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) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 80L 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] + Ordset.of_list (module Uns) [28L] ) in lr0item, lr1item ); @@ -4617,12 +4857,12 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (3L, Action.ShiftPrefix 44L); - (5L, Action.ShiftPrefix 45L); - (6L, Action.ShiftPrefix 46L); - (7L, Action.ShiftPrefix 47L); - (8L, Action.ShiftPrefix 48L); - (9L, Action.ShiftPrefix 49L); + (3L, Action.ShiftPrefix 45L); + (5L, Action.ShiftPrefix 46L); + (6L, Action.ShiftPrefix 47L); + (7L, Action.ShiftPrefix 48L); + (8L, Action.ShiftPrefix 49L); + (9L, Action.ShiftPrefix 50L); (11L, Action.ShiftPrefix 2L); (12L, Action.ShiftPrefix 3L); (13L, Action.ShiftPrefix 4L); @@ -4633,37 +4873,38 @@ include struct (19L, Action.ShiftPrefix 9L); (21L, Action.ShiftPrefix 11L); (22L, Action.ShiftPrefix 12L); - (25L, Action.ShiftPrefix 50L); + (23L, Action.ShiftPrefix 13L); (27L, Action.ShiftPrefix 51L); (29L, Action.ShiftPrefix 52L); (31L, Action.ShiftPrefix 53L); (33L, Action.ShiftPrefix 54L); (35L, Action.ShiftPrefix 55L); - (37L, Action.ShiftPrefix 27L); + (37L, Action.ShiftPrefix 56L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (43L, 56L); (44L, 57L); - (50L, 58L); - (55L, 59L); + (45L, 58L); + (51L, 59L); (56L, 60L); - (58L, 61L); - (70L, 62L); - (71L, 63L); - (72L, 64L); - (74L, 65L); + (57L, 61L); + (59L, 62L); + (77L, 63L); + (78L, 64L); + (79L, 65L); + (81L, 66L); ] ); - (* 42 *) State.init + (* 43 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:42L + ~index:43L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 98L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 116L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -4677,20 +4918,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (38L, Action.ShiftAccept 66L); + (40L, Action.ShiftAccept 67L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 43 *) State.init + (* 44 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:43L + ~index:44L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 100L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 118L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -4704,20 +4945,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (38L, Action.ShiftAccept 67L); + (40L, Action.ShiftAccept 68L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 44 *) State.init + (* 45 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:44L + ~index:45L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 70L 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) [12L] ) in @@ -4731,20 +4972,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (12L, Action.Reduce 70L); + (12L, Action.Reduce 88L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 45 *) State.init + (* 46 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:45L + ~index:46L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 71L 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) [12L] ) in @@ -4758,22 +4999,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (12L, Action.Reduce 71L); + (12L, Action.Reduce 89L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 46 *) State.init + (* 47 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:46L + ~index:47L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 21L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 18L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -4785,20 +5026,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (12L, Action.ShiftPrefix 68L); + (12L, Action.ShiftPrefix 69L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 47 *) State.init + (* 48 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:47L + ~index:48L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 8L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 5L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [11L] ) in @@ -4812,20 +5053,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.Reduce 8L); + (11L, Action.Reduce 5L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 48 *) State.init + (* 49 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:48L + ~index:49L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 9L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 6L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [11L] ) in @@ -4839,20 +5080,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.Reduce 9L); + (11L, Action.Reduce 6L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 49 *) State.init + (* 50 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:49L + ~index:50L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 10L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 7L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [11L] ) in @@ -4866,22 +5107,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.Reduce 10L); + (11L, Action.Reduce 7L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 50 *) State.init + (* 51 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:50L + ~index:51L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 30L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 27L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); @@ -4889,143 +5130,150 @@ include struct ) ~added:( Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 24L 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 27L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 28L 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; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 29L 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; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 30L 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; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 31L 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; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 32L 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; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 33L 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; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 34L 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; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 35L 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; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 36L 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; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 37L 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; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 38L 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; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 39L 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; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 40L 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; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 41L 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; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 42L 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; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 43L 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; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 44L 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; 29L; 31L; 33L; 35L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 45L 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; 29L; 31L; 33L; 35L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 46L 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; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 49L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L] ) in lr0item, lr1item ); @@ -5044,33 +5292,34 @@ include struct (19L, Action.ShiftPrefix 9L); (21L, Action.ShiftPrefix 11L); (22L, Action.ShiftPrefix 12L); - (25L, Action.ShiftPrefix 50L); + (23L, Action.ShiftPrefix 13L); (27L, Action.ShiftPrefix 51L); (29L, Action.ShiftPrefix 52L); (31L, Action.ShiftPrefix 53L); (33L, Action.ShiftPrefix 54L); (35L, Action.ShiftPrefix 55L); - (37L, Action.ShiftPrefix 27L); + (37L, Action.ShiftPrefix 56L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (53L, 69L); - (55L, 59L); + (54L, 70L); (56L, 60L); - (58L, 70L); + (57L, 61L); + (59L, 71L); ] ); - (* 51 *) State.init + (* 52 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:51L + ~index:52L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 31L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 28L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); @@ -5078,157 +5327,164 @@ include struct ) ~added:( Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 24L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [30L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 25L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [30L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 26L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [30L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 27L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [28L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 28L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [28L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 29L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [28L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 30L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 31L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 32L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 33L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 34L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 35L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 36L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 37L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 38L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 39L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 40L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 41L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 42L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 43L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 44L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 45L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 46L 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; 27L; 28L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 30L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 28L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 30L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 49L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 28L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 30L] ) in lr0item, lr1item ); @@ -5247,35 +5503,36 @@ include struct (19L, Action.ShiftPrefix 9L); (21L, Action.ShiftPrefix 11L); (22L, Action.ShiftPrefix 12L); - (25L, Action.ShiftPrefix 50L); + (23L, Action.ShiftPrefix 13L); (27L, Action.ShiftPrefix 51L); - (28L, Action.Reduce 29L); (29L, Action.ShiftPrefix 52L); + (30L, Action.Reduce 26L); (31L, Action.ShiftPrefix 53L); (33L, Action.ShiftPrefix 54L); (35L, Action.ShiftPrefix 55L); - (37L, Action.ShiftPrefix 27L); + (37L, Action.ShiftPrefix 56L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (53L, 71L); (54L, 72L); - (55L, 59L); + (55L, 73L); (56L, 60L); - (58L, 70L); + (57L, 61L); + (59L, 71L); ] ); - (* 52 *) State.init + (* 53 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:52L + ~index:53L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 32L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 29L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); @@ -5283,157 +5540,164 @@ include struct ) ~added:( Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 24L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [32L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 25L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [32L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 26L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [32L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 27L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [30L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 28L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [30L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 29L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [30L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 30L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 31L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 32L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 33L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 34L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 35L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 36L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 37L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 38L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 39L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 40L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 41L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 42L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 43L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 44L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 45L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 46L 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; 27L; 29L; 30L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 32L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 30L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 32L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 49L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 30L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 32L] ) in lr0item, lr1item ); @@ -5452,35 +5716,36 @@ include struct (19L, Action.ShiftPrefix 9L); (21L, Action.ShiftPrefix 11L); (22L, Action.ShiftPrefix 12L); - (25L, Action.ShiftPrefix 50L); + (23L, Action.ShiftPrefix 13L); (27L, Action.ShiftPrefix 51L); (29L, Action.ShiftPrefix 52L); - (30L, Action.Reduce 29L); (31L, Action.ShiftPrefix 53L); + (32L, Action.Reduce 26L); (33L, Action.ShiftPrefix 54L); (35L, Action.ShiftPrefix 55L); - (37L, Action.ShiftPrefix 27L); + (37L, Action.ShiftPrefix 56L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (53L, 71L); - (54L, 73L); - (55L, 59L); + (54L, 72L); + (55L, 74L); (56L, 60L); - (58L, 70L); + (57L, 61L); + (59L, 71L); ] ); - (* 53 *) State.init + (* 54 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:53L + ~index:54L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 33L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 30L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); @@ -5488,157 +5753,164 @@ include struct ) ~added:( Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 24L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [34L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 25L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [34L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 26L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [34L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 27L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [32L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 28L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [32L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 29L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [32L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 30L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 31L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 32L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 33L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 34L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 35L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 36L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 37L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 38L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 39L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 40L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 41L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 42L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 43L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 44L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 45L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 46L 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; 27L; 29L; 31L; 32L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 34L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 32L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 34L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 49L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 32L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 34L] ) in lr0item, lr1item ); @@ -5657,35 +5929,36 @@ include struct (19L, Action.ShiftPrefix 9L); (21L, Action.ShiftPrefix 11L); (22L, Action.ShiftPrefix 12L); - (25L, Action.ShiftPrefix 50L); + (23L, Action.ShiftPrefix 13L); (27L, Action.ShiftPrefix 51L); (29L, Action.ShiftPrefix 52L); (31L, Action.ShiftPrefix 53L); - (32L, Action.Reduce 29L); (33L, Action.ShiftPrefix 54L); + (34L, Action.Reduce 26L); (35L, Action.ShiftPrefix 55L); - (37L, Action.ShiftPrefix 27L); + (37L, Action.ShiftPrefix 56L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (53L, 71L); - (54L, 74L); - (55L, 59L); + (54L, 72L); + (55L, 75L); (56L, 60L); - (58L, 70L); + (57L, 61L); + (59L, 71L); ] ); - (* 54 *) State.init + (* 55 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:54L + ~index:55L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 34L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 31L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); @@ -5693,157 +5966,164 @@ include struct ) ~added:( Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 24L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [36L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 25L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [36L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 26L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [36L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 27L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [34L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 28L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [34L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 29L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [34L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 30L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 31L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 32L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 33L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 34L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 35L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 36L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 37L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 38L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 39L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 40L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 41L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 42L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 43L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 44L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 36L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 45L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 46L 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; 27L; 29L; 31L; 33L; 34L; 35L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 34L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 36L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 49L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 34L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 36L] ) in lr0item, lr1item ); @@ -5862,35 +6142,36 @@ include struct (19L, Action.ShiftPrefix 9L); (21L, Action.ShiftPrefix 11L); (22L, Action.ShiftPrefix 12L); - (25L, Action.ShiftPrefix 50L); + (23L, Action.ShiftPrefix 13L); (27L, Action.ShiftPrefix 51L); (29L, Action.ShiftPrefix 52L); (31L, Action.ShiftPrefix 53L); (33L, Action.ShiftPrefix 54L); - (34L, Action.Reduce 29L); (35L, Action.ShiftPrefix 55L); - (37L, Action.ShiftPrefix 27L); + (36L, Action.Reduce 26L); + (37L, Action.ShiftPrefix 56L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (53L, 71L); - (54L, 75L); - (55L, 59L); + (54L, 72L); + (55L, 76L); (56L, 60L); - (58L, 70L); + (57L, 61L); + (59L, 71L); ] ); - (* 55 *) State.init + (* 56 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:55L + ~index:56L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 35L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 32L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); @@ -5898,157 +6179,164 @@ include struct ) ~added:( Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 24L 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 25L 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 26L 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 27L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [36L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 28L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [36L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 29L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [36L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 30L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 31L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 32L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 33L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 34L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 35L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 36L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 37L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 38L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 39L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 40L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 41L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 42L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 43L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 44L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 45L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 29L; 31L; 33L; 35L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 46L 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; 27L; 29L; 31L; 33L; 35L; 36L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 36L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 49L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 36L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 38L] ) in lr0item, lr1item ); @@ -6067,35 +6355,36 @@ include struct (19L, Action.ShiftPrefix 9L); (21L, Action.ShiftPrefix 11L); (22L, Action.ShiftPrefix 12L); - (25L, Action.ShiftPrefix 50L); + (23L, Action.ShiftPrefix 13L); (27L, Action.ShiftPrefix 51L); (29L, Action.ShiftPrefix 52L); (31L, Action.ShiftPrefix 53L); (33L, Action.ShiftPrefix 54L); (35L, Action.ShiftPrefix 55L); - (36L, Action.Reduce 29L); - (37L, Action.ShiftPrefix 27L); + (37L, Action.ShiftPrefix 56L); + (38L, Action.Reduce 26L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (53L, 71L); - (54L, 76L); - (55L, 59L); + (54L, 72L); + (55L, 77L); (56L, 60L); - (58L, 70L); + (57L, 61L); + (59L, 71L); ] ); - (* 56 *) State.init + (* 57 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:56L + ~index:57L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 11L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 8L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -6107,22 +6396,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.ShiftPrefix 77L); + (11L, Action.ShiftPrefix 78L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 57 *) State.init + (* 58 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:57L + ~index:58L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 74L 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) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -6134,23 +6423,23 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.Reduce 74L); - (26L, Action.Reduce 74L); + (26L, Action.Reduce 92L); + (28L, Action.Reduce 92L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 58 *) State.init + (* 59 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:58L + ~index:59L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 75L 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) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -6162,23 +6451,23 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.Reduce 75L); - (26L, Action.Reduce 75L); + (26L, Action.Reduce 93L); + (28L, Action.Reduce 93L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 59 *) State.init + (* 60 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:59L + ~index:60L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -6186,143 +6475,150 @@ include struct ) ~added:( Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 27L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 28L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 29L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 30L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 31L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 32L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 33L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 34L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 35L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 36L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 37L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 38L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 39L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 40L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 41L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 42L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 43L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 44L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 45L 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] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 46L 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] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 47L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 49L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -6339,43 +6635,44 @@ include struct (17L, Action.ShiftPrefix 7L); (18L, Action.ShiftPrefix 8L); (19L, Action.ShiftPrefix 9L); - (20L, Action.Reduce 49L); + (20L, Action.Reduce 47L); (21L, Action.ShiftPrefix 11L); (22L, Action.ShiftPrefix 12L); - (23L, Action.Reduce 49L); - (24L, Action.Reduce 49L); - (25L, Action.ShiftPrefix 50L); - (26L, Action.Reduce 49L); + (23L, Action.ShiftPrefix 13L); + (24L, Action.Reduce 47L); + (26L, Action.Reduce 47L); (27L, Action.ShiftPrefix 51L); - (28L, Action.Reduce 49L); + (28L, Action.Reduce 47L); (29L, Action.ShiftPrefix 52L); - (30L, Action.Reduce 49L); + (30L, Action.Reduce 47L); (31L, Action.ShiftPrefix 53L); - (32L, Action.Reduce 49L); + (32L, Action.Reduce 47L); (33L, Action.ShiftPrefix 54L); - (34L, Action.Reduce 49L); + (34L, Action.Reduce 47L); (35L, Action.ShiftPrefix 55L); - (36L, Action.Reduce 49L); - (37L, Action.ShiftPrefix 27L); + (36L, Action.Reduce 47L); + (37L, Action.ShiftPrefix 56L); + (38L, Action.Reduce 47L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (55L, 78L); (56L, 79L); (57L, 80L); + (58L, 81L); ] ); - (* 60 *) State.init + (* 61 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:60L + ~index:61L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 49L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -6383,143 +6680,150 @@ include struct ) ~added:( Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 27L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 28L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 29L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 30L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 31L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 32L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 33L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 34L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 35L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 36L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 37L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 38L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 39L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 40L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 41L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 42L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 43L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 44L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 45L 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] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 46L 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] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 47L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 49L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -6536,43 +6840,44 @@ include struct (17L, Action.ShiftPrefix 7L); (18L, Action.ShiftPrefix 8L); (19L, Action.ShiftPrefix 9L); - (20L, Action.Reduce 49L); + (20L, Action.Reduce 47L); (21L, Action.ShiftPrefix 11L); (22L, Action.ShiftPrefix 12L); - (23L, Action.Reduce 49L); - (24L, Action.Reduce 49L); - (25L, Action.ShiftPrefix 50L); - (26L, Action.Reduce 49L); + (23L, Action.ShiftPrefix 13L); + (24L, Action.Reduce 47L); + (26L, Action.Reduce 47L); (27L, Action.ShiftPrefix 51L); - (28L, Action.Reduce 49L); + (28L, Action.Reduce 47L); (29L, Action.ShiftPrefix 52L); - (30L, Action.Reduce 49L); + (30L, Action.Reduce 47L); (31L, Action.ShiftPrefix 53L); - (32L, Action.Reduce 49L); + (32L, Action.Reduce 47L); (33L, Action.ShiftPrefix 54L); - (34L, Action.Reduce 49L); + (34L, Action.Reduce 47L); (35L, Action.ShiftPrefix 55L); - (36L, Action.Reduce 49L); - (37L, Action.ShiftPrefix 27L); + (36L, Action.Reduce 47L); + (37L, Action.ShiftPrefix 56L); + (38L, Action.Reduce 47L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (55L, 78L); (56L, 79L); - (57L, 81L); + (57L, 80L); + (58L, 82L); ] ); - (* 61 *) State.init + (* 62 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:61L + ~index:62L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 77L 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) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -6584,30 +6889,30 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.Reduce 77L); - (26L, Action.Reduce 77L); + (26L, Action.Reduce 95L); + (28L, Action.Reduce 95L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 62 *) State.init + (* 63 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:62L + ~index:63L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 72L 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) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 91L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -6619,22 +6924,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (12L, Action.ShiftPrefix 82L); + (12L, Action.ShiftPrefix 83L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 63 *) State.init + (* 64 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:63L + ~index:64L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 76L 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) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -6646,23 +6951,23 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.Reduce 76L); - (26L, Action.Reduce 76L); + (26L, Action.Reduce 94L); + (28L, Action.Reduce 94L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 64 *) State.init + (* 65 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:64L + ~index:65L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 80L 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] + Ordset.of_list (module Uns) [28L] ) in lr0item, lr1item ); @@ -6671,16 +6976,16 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 78L 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] + Ordset.of_list (module Uns) [28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 79L 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] + Ordset.of_list (module Uns) [28L] ) in lr0item, lr1item ); @@ -6689,25 +6994,25 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.ShiftPrefix 83L); - (26L, Action.Reduce 79L); + (26L, Action.ShiftPrefix 84L); + (28L, Action.Reduce 97L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (73L, 84L); + (80L, 85L); ] ); - (* 65 *) State.init + (* 66 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:65L + ~index:66L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 81L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 99L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -6719,20 +7024,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (26L, Action.ShiftPrefix 85L); + (28L, Action.ShiftPrefix 86L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 66 *) State.init + (* 67 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:66L + ~index:67L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 98L prods) ~dot:4L in + let lr0item = Lr0Item.init ~prod:(Array.get 116L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -6746,20 +7051,20 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (1L, Action.Reduce 98L); + (1L, Action.Reduce 116L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 67 *) State.init + (* 68 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:67L + ~index:68L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 100L prods) ~dot:4L in + let lr0item = Lr0Item.init ~prod:(Array.get 118L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [1L] ) in @@ -6773,22 +7078,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (1L, Action.Reduce 100L); + (1L, Action.Reduce 118L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 68 *) State.init + (* 69 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:68L + ~index:69L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 21L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 18L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -6797,16 +7102,16 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 19L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 16L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 16L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 16L; 26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 20L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 17L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 16L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 16L; 26L; 28L] ) in lr0item, lr1item ); @@ -6815,28 +7120,28 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 20L); - (14L, Action.ShiftPrefix 86L); - (16L, Action.Reduce 20L); - (24L, Action.Reduce 20L); - (26L, Action.Reduce 20L); + (10L, Action.Reduce 17L); + (14L, Action.ShiftPrefix 87L); + (16L, Action.Reduce 17L); + (26L, Action.Reduce 17L); + (28L, Action.Reduce 17L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (49L, 87L); + (50L, 88L); ] ); - (* 69 *) State.init + (* 70 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:69L + ~index:70L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 30L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 27L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); @@ -6848,22 +7153,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (26L, Action.ShiftPrefix 88L); + (28L, Action.ShiftPrefix 89L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 70 *) State.init + (* 71 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:70L + ~index:71L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 27L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 24L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -6872,37 +7177,37 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 22L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 19L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 25L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 27L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 23L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 20L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 25L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 27L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 24L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 21L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 25L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 27L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 25L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 22L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 26L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 23L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -6912,32 +7217,32 @@ include struct ~actions:( Map.of_alist (module Uns) [ (20L, Action.ShiftPrefix 10L); - (23L, Action.ShiftPrefix 13L); (24L, Action.ShiftPrefix 14L); - (26L, Action.Reduce 26L); - (28L, Action.Reduce 26L); - (30L, Action.Reduce 26L); - (32L, Action.Reduce 26L); - (34L, Action.Reduce 26L); - (36L, Action.Reduce 26L); + (26L, Action.ShiftPrefix 15L); + (28L, Action.Reduce 23L); + (30L, Action.Reduce 23L); + (32L, Action.Reduce 23L); + (34L, Action.Reduce 23L); + (36L, Action.Reduce 23L); + (38L, Action.Reduce 23L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (51L, 89L); (52L, 90L); + (53L, 91L); ] ); - (* 71 *) State.init + (* 72 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:71L + ~index:72L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 28L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 25L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -6949,26 +7254,26 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (28L, Action.Reduce 28L); - (30L, Action.Reduce 28L); - (32L, Action.Reduce 28L); - (34L, Action.Reduce 28L); - (36L, Action.Reduce 28L); + (30L, Action.Reduce 25L); + (32L, Action.Reduce 25L); + (34L, Action.Reduce 25L); + (36L, Action.Reduce 25L); + (38L, Action.Reduce 25L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 72 *) State.init + (* 73 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:72L + ~index:73L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 31L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 28L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); @@ -6980,22 +7285,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (28L, Action.ShiftPrefix 91L); + (30L, Action.ShiftPrefix 92L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 73 *) State.init + (* 74 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:73L + ~index:74L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 32L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 29L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); @@ -7007,22 +7312,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (30L, Action.ShiftPrefix 92L); + (32L, Action.ShiftPrefix 93L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 74 *) State.init + (* 75 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:74L + ~index:75L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 33L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 30L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); @@ -7034,22 +7339,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (32L, Action.ShiftPrefix 93L); + (34L, Action.ShiftPrefix 94L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 75 *) State.init + (* 76 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:75L + ~index:76L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 34L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 31L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); @@ -7061,22 +7366,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (34L, Action.ShiftPrefix 94L); + (36L, Action.ShiftPrefix 95L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 76 *) State.init + (* 77 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:76L + ~index:77L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 35L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 32L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); @@ -7088,22 +7393,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (36L, Action.ShiftPrefix 95L); + (38L, Action.ShiftPrefix 96L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 77 *) State.init + (* 78 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:77L + ~index:78L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 11L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 8L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -7112,16 +7417,16 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 6L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 3L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 7L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 4L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -7130,26 +7435,26 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (21L, Action.ShiftPrefix 96L); - (24L, Action.Reduce 7L); - (26L, Action.Reduce 7L); + (21L, Action.ShiftPrefix 97L); + (26L, Action.Reduce 4L); + (28L, Action.Reduce 4L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (42L, 97L); + (43L, 98L); ] ); - (* 78 *) State.init + (* 79 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:78L + ~index:79L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 47L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 45L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -7157,143 +7462,150 @@ include struct ) ~added:( Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 27L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 28L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 29L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 30L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 31L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 32L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 33L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 34L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 35L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 36L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 37L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 38L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 39L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 40L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 41L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 42L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 43L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 44L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 45L 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] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 46L 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] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 47L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 49L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -7310,43 +7622,44 @@ include struct (17L, Action.ShiftPrefix 7L); (18L, Action.ShiftPrefix 8L); (19L, Action.ShiftPrefix 9L); - (20L, Action.Reduce 49L); + (20L, Action.Reduce 47L); (21L, Action.ShiftPrefix 11L); (22L, Action.ShiftPrefix 12L); - (23L, Action.Reduce 49L); - (24L, Action.Reduce 49L); - (25L, Action.ShiftPrefix 50L); - (26L, Action.Reduce 49L); + (23L, Action.ShiftPrefix 13L); + (24L, Action.Reduce 47L); + (26L, Action.Reduce 47L); (27L, Action.ShiftPrefix 51L); - (28L, Action.Reduce 49L); + (28L, Action.Reduce 47L); (29L, Action.ShiftPrefix 52L); - (30L, Action.Reduce 49L); + (30L, Action.Reduce 47L); (31L, Action.ShiftPrefix 53L); - (32L, Action.Reduce 49L); + (32L, Action.Reduce 47L); (33L, Action.ShiftPrefix 54L); - (34L, Action.Reduce 49L); + (34L, Action.Reduce 47L); (35L, Action.ShiftPrefix 55L); - (36L, Action.Reduce 49L); - (37L, Action.ShiftPrefix 27L); + (36L, Action.Reduce 47L); + (37L, Action.ShiftPrefix 56L); + (38L, Action.Reduce 47L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (55L, 78L); (56L, 79L); - (57L, 98L); + (57L, 80L); + (58L, 99L); ] ); - (* 79 *) State.init + (* 80 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:79L + ~index:80L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 46L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -7354,143 +7667,150 @@ include struct ) ~added:( Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 27L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 28L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 29L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 30L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 31L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 32L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 33L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 34L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 35L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 36L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 37L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 38L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 39L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 40L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 41L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 42L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 43L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 44L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 45L 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] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 46L 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] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 47L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 49L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -7507,43 +7827,44 @@ include struct (17L, Action.ShiftPrefix 7L); (18L, Action.ShiftPrefix 8L); (19L, Action.ShiftPrefix 9L); - (20L, Action.Reduce 49L); + (20L, Action.Reduce 47L); (21L, Action.ShiftPrefix 11L); (22L, Action.ShiftPrefix 12L); - (23L, Action.Reduce 49L); - (24L, Action.Reduce 49L); - (25L, Action.ShiftPrefix 50L); - (26L, Action.Reduce 49L); + (23L, Action.ShiftPrefix 13L); + (24L, Action.Reduce 47L); + (26L, Action.Reduce 47L); (27L, Action.ShiftPrefix 51L); - (28L, Action.Reduce 49L); + (28L, Action.Reduce 47L); (29L, Action.ShiftPrefix 52L); - (30L, Action.Reduce 49L); + (30L, Action.Reduce 47L); (31L, Action.ShiftPrefix 53L); - (32L, Action.Reduce 49L); + (32L, Action.Reduce 47L); (33L, Action.ShiftPrefix 54L); - (34L, Action.Reduce 49L); + (34L, Action.Reduce 47L); (35L, Action.ShiftPrefix 55L); - (36L, Action.Reduce 49L); - (37L, Action.ShiftPrefix 27L); + (36L, Action.Reduce 47L); + (37L, Action.ShiftPrefix 56L); + (38L, Action.Reduce 47L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (55L, 78L); (56L, 79L); - (57L, 99L); + (57L, 80L); + (58L, 100L); ] ); - (* 80 *) State.init + (* 81 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:80L + ~index:81L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -7555,30 +7876,30 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (20L, Action.Reduce 50L); - (23L, Action.Reduce 50L); - (24L, Action.Reduce 50L); - (26L, Action.Reduce 50L); - (28L, Action.Reduce 50L); - (30L, Action.Reduce 50L); - (32L, Action.Reduce 50L); - (34L, Action.Reduce 50L); - (36L, Action.Reduce 50L); + (20L, Action.Reduce 48L); + (24L, Action.Reduce 48L); + (26L, Action.Reduce 48L); + (28L, Action.Reduce 48L); + (30L, Action.Reduce 48L); + (32L, Action.Reduce 48L); + (34L, Action.Reduce 48L); + (36L, Action.Reduce 48L); + (38L, Action.Reduce 48L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 81 *) State.init + (* 82 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:81L + ~index:82L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 49L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -7590,37 +7911,37 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (20L, Action.Reduce 51L); - (23L, Action.Reduce 51L); - (24L, Action.Reduce 51L); - (26L, Action.Reduce 51L); - (28L, Action.Reduce 51L); - (30L, Action.Reduce 51L); - (32L, Action.Reduce 51L); - (34L, Action.Reduce 51L); - (36L, Action.Reduce 51L); + (20L, Action.Reduce 49L); + (24L, Action.Reduce 49L); + (26L, Action.Reduce 49L); + (28L, Action.Reduce 49L); + (30L, Action.Reduce 49L); + (32L, Action.Reduce 49L); + (34L, Action.Reduce 49L); + (36L, Action.Reduce 49L); + (38L, Action.Reduce 49L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 82 *) State.init + (* 83 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:82L + ~index:83L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 90L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 91L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -7629,21 +7950,21 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 14L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 11L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [10L; 15L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 17L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 14L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [15L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 18L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 15L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [15L] ) in @@ -7654,27 +7975,27 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.ShiftPrefix 100L); - (15L, Action.Reduce 18L); - (16L, Action.ShiftPrefix 101L); + (10L, Action.ShiftPrefix 101L); + (15L, Action.Reduce 15L); + (16L, Action.ShiftPrefix 102L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (46L, 102L); - (48L, 103L); + (47L, 103L); + (49L, 104L); ] ); - (* 83 *) State.init + (* 84 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:83L + ~index:84L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 78L 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] + Ordset.of_list (module Uns) [28L] ) in lr0item, lr1item ); @@ -7683,226 +8004,233 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 8L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 5L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [11L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 9L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 6L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [11L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 10L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 7L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [11L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 11L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 8L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 21L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 18L 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 27L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 28L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 29L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 30L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 31L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 32L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 33L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 34L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 35L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 36L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 37L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 38L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 39L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 40L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 41L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 42L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 43L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 44L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 45L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 46L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 49L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 70L 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) [12L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 71L 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) [12L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 72L 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) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 73L 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) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 74L 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) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 75L 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) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 76L 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) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 77L 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) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -7911,12 +8239,12 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (3L, Action.ShiftPrefix 44L); - (5L, Action.ShiftPrefix 45L); - (6L, Action.ShiftPrefix 46L); - (7L, Action.ShiftPrefix 47L); - (8L, Action.ShiftPrefix 48L); - (9L, Action.ShiftPrefix 49L); + (3L, Action.ShiftPrefix 45L); + (5L, Action.ShiftPrefix 46L); + (6L, Action.ShiftPrefix 47L); + (7L, Action.ShiftPrefix 48L); + (8L, Action.ShiftPrefix 49L); + (9L, Action.ShiftPrefix 50L); (11L, Action.ShiftPrefix 2L); (12L, Action.ShiftPrefix 3L); (13L, Action.ShiftPrefix 4L); @@ -7927,38 +8255,39 @@ include struct (19L, Action.ShiftPrefix 9L); (21L, Action.ShiftPrefix 11L); (22L, Action.ShiftPrefix 12L); - (25L, Action.ShiftPrefix 50L); + (23L, Action.ShiftPrefix 13L); (27L, Action.ShiftPrefix 51L); (29L, Action.ShiftPrefix 52L); (31L, Action.ShiftPrefix 53L); (33L, Action.ShiftPrefix 54L); (35L, Action.ShiftPrefix 55L); - (37L, Action.ShiftPrefix 27L); + (37L, Action.ShiftPrefix 56L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (43L, 56L); (44L, 57L); - (50L, 58L); - (55L, 59L); + (45L, 58L); + (51L, 59L); (56L, 60L); - (58L, 61L); - (70L, 62L); - (71L, 63L); - (72L, 104L); + (57L, 61L); + (59L, 62L); + (77L, 63L); + (78L, 64L); + (79L, 105L); ] ); - (* 84 *) State.init + (* 85 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:84L + ~index:85L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 80L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 98L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L] + Ordset.of_list (module Uns) [28L] ) in lr0item, lr1item ); @@ -7970,22 +8299,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (26L, Action.Reduce 80L); + (28L, Action.Reduce 98L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 85 *) State.init + (* 86 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:85L + ~index:86L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 81L prods) ~dot:4L in + let lr0item = Lr0Item.init ~prod:(Array.get 99L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L; 40L] ) in lr0item, lr1item ); @@ -7997,48 +8326,49 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.Reduce 81L); - (12L, Action.Reduce 81L); - (13L, Action.Reduce 81L); - (14L, Action.Reduce 81L); - (16L, Action.Reduce 81L); - (17L, Action.Reduce 81L); - (18L, Action.Reduce 81L); - (19L, Action.Reduce 81L); - (20L, Action.Reduce 81L); - (21L, Action.Reduce 81L); - (22L, Action.Reduce 81L); - (23L, Action.Reduce 81L); - (24L, Action.Reduce 81L); - (25L, Action.Reduce 81L); - (26L, Action.Reduce 81L); - (27L, Action.Reduce 81L); - (28L, Action.Reduce 81L); - (29L, Action.Reduce 81L); - (30L, Action.Reduce 81L); - (31L, Action.Reduce 81L); - (32L, Action.Reduce 81L); - (33L, Action.Reduce 81L); - (34L, Action.Reduce 81L); - (35L, Action.Reduce 81L); - (36L, Action.Reduce 81L); - (37L, Action.Reduce 81L); - (38L, Action.Reduce 81L); + (11L, Action.Reduce 99L); + (12L, Action.Reduce 99L); + (13L, Action.Reduce 99L); + (14L, Action.Reduce 99L); + (16L, Action.Reduce 99L); + (17L, Action.Reduce 99L); + (18L, Action.Reduce 99L); + (19L, Action.Reduce 99L); + (20L, Action.Reduce 99L); + (21L, Action.Reduce 99L); + (22L, Action.Reduce 99L); + (23L, Action.Reduce 99L); + (24L, Action.Reduce 99L); + (26L, Action.Reduce 99L); + (27L, Action.Reduce 99L); + (28L, Action.Reduce 99L); + (29L, Action.Reduce 99L); + (30L, Action.Reduce 99L); + (31L, Action.Reduce 99L); + (32L, Action.Reduce 99L); + (33L, Action.Reduce 99L); + (34L, Action.Reduce 99L); + (35L, Action.Reduce 99L); + (36L, Action.Reduce 99L); + (37L, Action.Reduce 99L); + (38L, Action.Reduce 99L); + (39L, Action.Reduce 99L); + (40L, Action.Reduce 99L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 86 *) State.init + (* 87 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:86L + ~index:87L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 19L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 16L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 16L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 16L; 26L; 28L] ) in lr0item, lr1item ); @@ -8050,25 +8380,25 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 19L); - (16L, Action.Reduce 19L); - (24L, Action.Reduce 19L); - (26L, Action.Reduce 19L); + (10L, Action.Reduce 16L); + (16L, Action.Reduce 16L); + (26L, Action.Reduce 16L); + (28L, Action.Reduce 16L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 87 *) State.init + (* 88 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:87L + ~index:88L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 21L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 18L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -8077,23 +8407,23 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 14L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 11L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 15L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 12L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 16L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 13L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 26L; 28L] ) in lr0item, lr1item ); @@ -8102,28 +8432,28 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 16L); - (16L, Action.ShiftPrefix 101L); - (24L, Action.Reduce 16L); - (26L, Action.Reduce 16L); + (10L, Action.Reduce 13L); + (16L, Action.ShiftPrefix 102L); + (26L, Action.Reduce 13L); + (28L, Action.Reduce 13L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (46L, 105L); (47L, 106L); + (48L, 107L); ] ); - (* 88 *) State.init + (* 89 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:88L + ~index:89L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 30L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 27L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); @@ -8135,47 +8465,48 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.Reduce 30L); - (12L, Action.Reduce 30L); - (13L, Action.Reduce 30L); - (14L, Action.Reduce 30L); - (16L, Action.Reduce 30L); - (17L, Action.Reduce 30L); - (18L, Action.Reduce 30L); - (19L, Action.Reduce 30L); - (20L, Action.Reduce 30L); - (21L, Action.Reduce 30L); - (22L, Action.Reduce 30L); - (23L, Action.Reduce 30L); - (24L, Action.Reduce 30L); - (25L, Action.Reduce 30L); - (26L, Action.Reduce 30L); - (27L, Action.Reduce 30L); - (28L, Action.Reduce 30L); - (29L, Action.Reduce 30L); - (30L, Action.Reduce 30L); - (31L, Action.Reduce 30L); - (32L, Action.Reduce 30L); - (33L, Action.Reduce 30L); - (34L, Action.Reduce 30L); - (35L, Action.Reduce 30L); - (36L, Action.Reduce 30L); - (37L, Action.Reduce 30L); + (11L, Action.Reduce 27L); + (12L, Action.Reduce 27L); + (13L, Action.Reduce 27L); + (14L, Action.Reduce 27L); + (16L, Action.Reduce 27L); + (17L, Action.Reduce 27L); + (18L, Action.Reduce 27L); + (19L, Action.Reduce 27L); + (20L, Action.Reduce 27L); + (21L, Action.Reduce 27L); + (22L, Action.Reduce 27L); + (23L, Action.Reduce 27L); + (24L, Action.Reduce 27L); + (26L, Action.Reduce 27L); + (27L, Action.Reduce 27L); + (28L, Action.Reduce 27L); + (29L, Action.Reduce 27L); + (30L, Action.Reduce 27L); + (31L, Action.Reduce 27L); + (32L, Action.Reduce 27L); + (33L, Action.Reduce 27L); + (34L, Action.Reduce 27L); + (35L, Action.Reduce 27L); + (36L, Action.Reduce 27L); + (37L, Action.Reduce 27L); + (38L, Action.Reduce 27L); + (39L, Action.Reduce 27L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 89 *) State.init + (* 90 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:89L + ~index:90L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 25L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 22L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -8183,136 +8514,143 @@ include struct ) ~added:( Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 27L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 28L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 29L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); ( let lr0item = Lr0Item.init ~prod:(Array.get 30L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 31L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 32L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 33L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 34L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 35L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 36L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 37L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 38L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 39L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 40L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 41L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 42L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 43L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( let lr0item = Lr0Item.init ~prod:(Array.get 44L 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] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 45L 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] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 46L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 49L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -8331,32 +8669,33 @@ include struct (19L, Action.ShiftPrefix 9L); (21L, Action.ShiftPrefix 11L); (22L, Action.ShiftPrefix 12L); - (25L, Action.ShiftPrefix 50L); + (23L, Action.ShiftPrefix 13L); (27L, Action.ShiftPrefix 51L); (29L, Action.ShiftPrefix 52L); (31L, Action.ShiftPrefix 53L); (33L, Action.ShiftPrefix 54L); (35L, Action.ShiftPrefix 55L); - (37L, Action.ShiftPrefix 27L); + (37L, Action.ShiftPrefix 56L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (55L, 59L); (56L, 60L); - (58L, 107L); + (57L, 61L); + (59L, 108L); ] ); - (* 90 *) State.init + (* 91 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:90L + ~index:91L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 27L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 24L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -8368,27 +8707,27 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (26L, Action.Reduce 27L); - (28L, Action.Reduce 27L); - (30L, Action.Reduce 27L); - (32L, Action.Reduce 27L); - (34L, Action.Reduce 27L); - (36L, Action.Reduce 27L); + (28L, Action.Reduce 24L); + (30L, Action.Reduce 24L); + (32L, Action.Reduce 24L); + (34L, Action.Reduce 24L); + (36L, Action.Reduce 24L); + (38L, Action.Reduce 24L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 91 *) State.init + (* 92 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:91L + ~index:92L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 31L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 28L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); @@ -8400,47 +8739,207 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.Reduce 31L); - (12L, Action.Reduce 31L); - (13L, Action.Reduce 31L); - (14L, Action.Reduce 31L); - (16L, Action.Reduce 31L); - (17L, Action.Reduce 31L); - (18L, Action.Reduce 31L); - (19L, Action.Reduce 31L); - (20L, Action.Reduce 31L); - (21L, Action.Reduce 31L); - (22L, Action.Reduce 31L); - (23L, Action.Reduce 31L); - (24L, Action.Reduce 31L); - (25L, Action.Reduce 31L); - (26L, Action.Reduce 31L); - (27L, Action.Reduce 31L); - (28L, Action.Reduce 31L); - (29L, Action.Reduce 31L); - (30L, Action.Reduce 31L); - (31L, Action.Reduce 31L); - (32L, Action.Reduce 31L); - (33L, Action.Reduce 31L); - (34L, Action.Reduce 31L); - (35L, Action.Reduce 31L); - (36L, Action.Reduce 31L); - (37L, Action.Reduce 31L); + (11L, Action.Reduce 28L); + (12L, Action.Reduce 28L); + (13L, Action.Reduce 28L); + (14L, Action.Reduce 28L); + (16L, Action.Reduce 28L); + (17L, Action.Reduce 28L); + (18L, Action.Reduce 28L); + (19L, Action.Reduce 28L); + (20L, Action.Reduce 28L); + (21L, Action.Reduce 28L); + (22L, Action.Reduce 28L); + (23L, Action.Reduce 28L); + (24L, Action.Reduce 28L); + (26L, Action.Reduce 28L); + (27L, Action.Reduce 28L); + (28L, Action.Reduce 28L); + (29L, Action.Reduce 28L); + (30L, Action.Reduce 28L); + (31L, Action.Reduce 28L); + (32L, Action.Reduce 28L); + (33L, Action.Reduce 28L); + (34L, Action.Reduce 28L); + (35L, Action.Reduce 28L); + (36L, Action.Reduce 28L); + (37L, Action.Reduce 28L); + (38L, Action.Reduce 28L); + (39L, Action.Reduce 28L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 92 *) State.init + (* 93 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:92L + ~index:93L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 29L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (11L, Action.Reduce 29L); + (12L, Action.Reduce 29L); + (13L, Action.Reduce 29L); + (14L, Action.Reduce 29L); + (16L, Action.Reduce 29L); + (17L, Action.Reduce 29L); + (18L, Action.Reduce 29L); + (19L, Action.Reduce 29L); + (20L, Action.Reduce 29L); + (21L, Action.Reduce 29L); + (22L, Action.Reduce 29L); + (23L, Action.Reduce 29L); + (24L, Action.Reduce 29L); + (26L, Action.Reduce 29L); + (27L, Action.Reduce 29L); + (28L, Action.Reduce 29L); + (29L, Action.Reduce 29L); + (30L, Action.Reduce 29L); + (31L, Action.Reduce 29L); + (32L, Action.Reduce 29L); + (33L, Action.Reduce 29L); + (34L, Action.Reduce 29L); + (35L, Action.Reduce 29L); + (36L, Action.Reduce 29L); + (37L, Action.Reduce 29L); + (38L, Action.Reduce 29L); + (39L, Action.Reduce 29L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 94 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:94L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 30L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (11L, Action.Reduce 30L); + (12L, Action.Reduce 30L); + (13L, Action.Reduce 30L); + (14L, Action.Reduce 30L); + (16L, Action.Reduce 30L); + (17L, Action.Reduce 30L); + (18L, Action.Reduce 30L); + (19L, Action.Reduce 30L); + (20L, Action.Reduce 30L); + (21L, Action.Reduce 30L); + (22L, Action.Reduce 30L); + (23L, Action.Reduce 30L); + (24L, Action.Reduce 30L); + (26L, Action.Reduce 30L); + (27L, Action.Reduce 30L); + (28L, Action.Reduce 30L); + (29L, Action.Reduce 30L); + (30L, Action.Reduce 30L); + (31L, Action.Reduce 30L); + (32L, Action.Reduce 30L); + (33L, Action.Reduce 30L); + (34L, Action.Reduce 30L); + (35L, Action.Reduce 30L); + (36L, Action.Reduce 30L); + (37L, Action.Reduce 30L); + (38L, Action.Reduce 30L); + (39L, Action.Reduce 30L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 95 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:95L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 31L 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; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (11L, Action.Reduce 31L); + (12L, Action.Reduce 31L); + (13L, Action.Reduce 31L); + (14L, Action.Reduce 31L); + (16L, Action.Reduce 31L); + (17L, Action.Reduce 31L); + (18L, Action.Reduce 31L); + (19L, Action.Reduce 31L); + (20L, Action.Reduce 31L); + (21L, Action.Reduce 31L); + (22L, Action.Reduce 31L); + (23L, Action.Reduce 31L); + (24L, Action.Reduce 31L); + (26L, Action.Reduce 31L); + (27L, Action.Reduce 31L); + (28L, Action.Reduce 31L); + (29L, Action.Reduce 31L); + (30L, Action.Reduce 31L); + (31L, Action.Reduce 31L); + (32L, Action.Reduce 31L); + (33L, Action.Reduce 31L); + (34L, Action.Reduce 31L); + (35L, Action.Reduce 31L); + (36L, Action.Reduce 31L); + (37L, Action.Reduce 31L); + (38L, Action.Reduce 31L); + (39L, Action.Reduce 31L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 96 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:96L ~kernel:( Lr1Itemset.init [ ( let lr0item = Lr0Item.init ~prod:(Array.get 32L 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] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 24L; 26L; 27L; 28L; 29L; 30L; 31L; 32L; 33L; 34L; 35L; 36L; 37L; 38L; 39L] ) in lr0item, lr1item ); @@ -8465,7 +8964,6 @@ include struct (22L, Action.Reduce 32L); (23L, Action.Reduce 32L); (24L, Action.Reduce 32L); - (25L, Action.Reduce 32L); (26L, Action.Reduce 32L); (27L, Action.Reduce 32L); (28L, Action.Reduce 32L); @@ -8478,73 +8976,60 @@ include struct (35L, Action.Reduce 32L); (36L, Action.Reduce 32L); (37L, Action.Reduce 32L); + (38L, Action.Reduce 32L); + (39L, Action.Reduce 32L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 93 *) State.init + (* 97 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:93L + ~index:97L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 33L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 3L 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] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ] ) ~added:( - Lr1Itemset.empty + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 2L 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) [ - (11L, Action.Reduce 33L); - (12L, Action.Reduce 33L); - (13L, Action.Reduce 33L); - (14L, Action.Reduce 33L); - (16L, Action.Reduce 33L); - (17L, Action.Reduce 33L); - (18L, Action.Reduce 33L); - (19L, Action.Reduce 33L); - (20L, Action.Reduce 33L); - (21L, Action.Reduce 33L); - (22L, Action.Reduce 33L); - (23L, Action.Reduce 33L); - (24L, Action.Reduce 33L); - (25L, Action.Reduce 33L); - (26L, Action.Reduce 33L); - (27L, Action.Reduce 33L); - (28L, Action.Reduce 33L); - (29L, Action.Reduce 33L); - (30L, Action.Reduce 33L); - (31L, Action.Reduce 33L); - (32L, Action.Reduce 33L); - (33L, Action.Reduce 33L); - (34L, Action.Reduce 33L); - (35L, Action.Reduce 33L); - (36L, Action.Reduce 33L); - (37L, Action.Reduce 33L); + (11L, Action.ShiftPrefix 109L); ] ) ~gotos:( - Map.empty (module Uns) + Map.of_alist (module Uns) [ + (42L, 110L); + ] ); - (* 94 *) State.init + (* 98 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:94L + ~index:98L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 34L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 8L 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] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -8556,47 +9041,23 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.Reduce 34L); - (12L, Action.Reduce 34L); - (13L, Action.Reduce 34L); - (14L, Action.Reduce 34L); - (16L, Action.Reduce 34L); - (17L, Action.Reduce 34L); - (18L, Action.Reduce 34L); - (19L, Action.Reduce 34L); - (20L, Action.Reduce 34L); - (21L, Action.Reduce 34L); - (22L, Action.Reduce 34L); - (23L, Action.Reduce 34L); - (24L, Action.Reduce 34L); - (25L, Action.Reduce 34L); - (26L, Action.Reduce 34L); - (27L, Action.Reduce 34L); - (28L, Action.Reduce 34L); - (29L, Action.Reduce 34L); - (30L, Action.Reduce 34L); - (31L, Action.Reduce 34L); - (32L, Action.Reduce 34L); - (33L, Action.Reduce 34L); - (34L, Action.Reduce 34L); - (35L, Action.Reduce 34L); - (36L, Action.Reduce 34L); - (37L, Action.Reduce 34L); + (26L, Action.Reduce 8L); + (28L, Action.Reduce 8L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 95 *) State.init + (* 99 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:95L + ~index:99L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 35L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 45L 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] + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] ) in lr0item, lr1item ); @@ -8608,58 +9069,1402 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.Reduce 35L); - (12L, Action.Reduce 35L); - (13L, Action.Reduce 35L); - (14L, Action.Reduce 35L); - (16L, Action.Reduce 35L); - (17L, Action.Reduce 35L); - (18L, Action.Reduce 35L); - (19L, Action.Reduce 35L); - (20L, Action.Reduce 35L); - (21L, Action.Reduce 35L); - (22L, Action.Reduce 35L); - (23L, Action.Reduce 35L); - (24L, Action.Reduce 35L); - (25L, Action.Reduce 35L); - (26L, Action.Reduce 35L); - (27L, Action.Reduce 35L); - (28L, Action.Reduce 35L); - (29L, Action.Reduce 35L); - (30L, Action.Reduce 35L); - (31L, Action.Reduce 35L); - (32L, Action.Reduce 35L); - (33L, Action.Reduce 35L); - (34L, Action.Reduce 35L); - (35L, Action.Reduce 35L); - (36L, Action.Reduce 35L); - (37L, Action.Reduce 35L); + (20L, Action.Reduce 45L); + (24L, Action.Reduce 45L); + (26L, Action.Reduce 45L); + (28L, Action.Reduce 45L); + (30L, Action.Reduce 45L); + (32L, Action.Reduce 45L); + (34L, Action.Reduce 45L); + (36L, Action.Reduce 45L); + (38L, Action.Reduce 45L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 96 *) State.init + (* 100 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:96L + ~index:100L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 6L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 46L prods) ~dot:2L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [20L; 24L; 26L; 28L; 30L; 32L; 34L; 36L; 38L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (20L, Action.Reduce 46L); + (24L, Action.Reduce 46L); + (26L, Action.Reduce 46L); + (28L, Action.Reduce 46L); + (30L, Action.Reduce 46L); + (32L, Action.Reduce 46L); + (34L, Action.Reduce 46L); + (36L, Action.Reduce 46L); + (38L, Action.Reduce 46L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 101 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:101L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 14L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [15L; 19L; 20L; 26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (11L, Action.ShiftPrefix 111L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 102 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:102L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 11L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 15L; 26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 9L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [11L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 10L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [11L] + ) in + lr0item, lr1item + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (11L, Action.Reduce 10L); + (12L, Action.ShiftPrefix 112L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (46L, 113L); + ] + ); + (* 103 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:103L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 91L prods) ~dot:3L 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 14L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [15L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 15L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [15L] + ) in + lr0item, lr1item + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (10L, Action.ShiftPrefix 101L); + (15L, Action.Reduce 15L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (49L, 114L); + ] + ); + (* 104 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:104L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 90L prods) ~dot:3L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (15L, Action.ShiftPrefix 115L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 105 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:105L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:2L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 96L 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 97L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [28L] + ) in + lr0item, lr1item + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (26L, Action.ShiftPrefix 84L); + (28L, Action.Reduce 97L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (80L, 116L); + ] + ); + (* 106 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:106L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 12L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (10L, Action.Reduce 12L); + (26L, Action.Reduce 12L); + (28L, Action.Reduce 12L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 107 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:107L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 18L prods) ~dot:4L 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 14L 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 15L 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) [ + (10L, Action.ShiftPrefix 101L); + (26L, Action.Reduce 15L); + (28L, Action.Reduce 15L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (49L, 117L); + ] + ); + (* 108 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:108L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 22L prods) ~dot:2L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [28L; 30L; 32L; 34L; 36L; 38L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 19L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 27L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 20L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 27L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 21L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 23L; 27L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 22L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [28L; 30L; 32L; 34L; 36L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 23L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [28L; 30L; 32L; 34L; 36L; 38L] + ) in + lr0item, lr1item + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (20L, Action.ShiftPrefix 10L); + (24L, Action.ShiftPrefix 14L); + (26L, Action.ShiftPrefix 15L); + (28L, Action.Reduce 23L); + (30L, Action.Reduce 23L); + (32L, Action.Reduce 23L); + (34L, Action.Reduce 23L); + (36L, Action.Reduce 23L); + (38L, Action.Reduce 23L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (52L, 90L); + (53L, 118L); + ] + ); + (* 109 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:109L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 2L prods) ~dot:1L 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 0L 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 1L 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) [ + (23L, Action.ShiftPrefix 119L); + (26L, Action.Reduce 1L); + (28L, Action.Reduce 1L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (41L, 120L); + ] + ); + (* 110 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:110L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 3L prods) ~dot:2L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (26L, Action.Reduce 3L); + (28L, Action.Reduce 3L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 111 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:111L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 14L prods) ~dot:2L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [15L; 19L; 20L; 26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (15L, Action.Reduce 14L); + (19L, Action.Reduce 14L); + (20L, Action.Reduce 14L); + (26L, Action.Reduce 14L); + (28L, Action.Reduce 14L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 112 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:112L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 9L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [11L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (18L, Action.ShiftPrefix 121L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 113 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:113L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 11L prods) ~dot:2L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 15L; 26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (11L, Action.ShiftPrefix 122L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 114 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:114L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 91L prods) ~dot:4L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (15L, Action.ShiftPrefix 123L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 115 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:115L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 90L prods) ~dot:4L 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 50L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [17L] + ) 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) [10L; 11L; 12L; 14L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ( + 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; 14L; 20L; 26L; 28L; 29L] + ) 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; 14L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 76L 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 77L 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 78L 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 79L 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 82L 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 83L 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) [ + (4L, Action.ShiftPrefix 124L); + (11L, Action.ShiftPrefix 125L); + (12L, Action.ShiftPrefix 126L); + (14L, Action.ShiftPrefix 127L); + (20L, Action.ShiftPrefix 128L); + (29L, Action.ShiftPrefix 129L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (60L, 130L); + (66L, 131L); + (67L, 132L); + (69L, 133L); + (70L, 134L); + (71L, 135L); + (73L, 136L); + ] + ); + (* 116 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:116L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 96L prods) ~dot:3L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (28L, Action.Reduce 96L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 117 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:117L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 18L prods) ~dot:5L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (26L, Action.Reduce 18L); + (28L, Action.Reduce 18L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 118 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:118L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 22L prods) ~dot:3L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [28L; 30L; 32L; 34L; 36L; 38L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (28L, Action.Reduce 22L); + (30L, Action.Reduce 22L); + (32L, Action.Reduce 22L); + (34L, Action.Reduce 22L); + (36L, Action.Reduce 22L); + (38L, Action.Reduce 22L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 119 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:119L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 0L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (11L, Action.ShiftPrefix 137L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 120 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:120L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 2L prods) ~dot:2L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (26L, Action.Reduce 2L); + (28L, Action.Reduce 2L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 121 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:121L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 9L prods) ~dot:2L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [11L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 9L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [11L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 10L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [11L] + ) in + lr0item, lr1item + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (11L, Action.Reduce 10L); + (12L, Action.ShiftPrefix 112L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (46L, 138L); + ] + ); + (* 122 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:122L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 11L prods) ~dot:3L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 15L; 26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (10L, Action.Reduce 11L); + (15L, Action.Reduce 11L); + (26L, Action.Reduce 11L); + (28L, Action.Reduce 11L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 123 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:123L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 91L prods) ~dot:5L 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 50L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [17L] + ) 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) [10L; 11L; 12L; 14L; 19L; 20L; 29L] + ) in + lr0item, lr1item + ); + ( + 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; 14L; 19L; 20L; 29L] + ) 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; 14L; 19L; 20L; 29L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 29L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 29L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 76L 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 77L 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 78L 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 79L 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 82L 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 83L 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 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 87L 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) [ + (4L, Action.ShiftPrefix 124L); + (11L, Action.ShiftPrefix 125L); + (12L, Action.ShiftPrefix 126L); + (14L, Action.ShiftPrefix 127L); + (20L, Action.ShiftPrefix 128L); + (29L, Action.ShiftPrefix 129L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (60L, 130L); + (66L, 131L); + (67L, 132L); + (69L, 133L); + (70L, 134L); + (71L, 135L); + (73L, 139L); + (74L, 140L); + (76L, 141L); + ] + ); + (* 124 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:124L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 78L prods) ~dot:1L 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 78L); + (19L, Action.Reduce 78L); + (20L, Action.Reduce 78L); + (26L, Action.Reduce 78L); + (28L, Action.Reduce 78L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 125 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:125L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [17L; 23L; 24L; 25L; 30L; 38L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (17L, Action.Reduce 50L); + (23L, Action.Reduce 50L); + (24L, Action.Reduce 50L); + (25L, Action.Reduce 50L); + (30L, Action.Reduce 50L); + (38L, Action.Reduce 50L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 126 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:126L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (10L, Action.Reduce 69L); + (11L, Action.Reduce 69L); + (12L, Action.Reduce 69L); + (14L, Action.Reduce 69L); + (19L, Action.Reduce 69L); + (20L, Action.Reduce 69L); + (26L, Action.Reduce 69L); + (28L, Action.Reduce 69L); + (29L, Action.Reduce 69L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 127 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:127L + ~kernel:( + Lr1Itemset.init [ + ( + 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; 14L; 19L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (10L, Action.Reduce 70L); + (11L, Action.Reduce 70L); + (12L, 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); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 128 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:128L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 82L prods) ~dot:1L 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 50L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [17L] + ) 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) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ( + 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; 14L; 19L; 20L; 26L; 28L; 29L] + ) 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; 14L; 19L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 76L 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 77L 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 78L 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 79L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [19L; 20L; 26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (4L, Action.ShiftPrefix 124L); + (11L, Action.ShiftPrefix 125L); + (12L, Action.ShiftPrefix 126L); + (14L, Action.ShiftPrefix 127L); + (29L, Action.ShiftPrefix 129L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (60L, 130L); + (66L, 131L); + (67L, 132L); + (69L, 133L); + (70L, 134L); + (71L, 142L); + ] + ); + (* 129 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:129L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 50L 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 58L 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 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) [23L; 25L; 30L] + ) 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) [24L; 26L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); - ] - ) - ~added:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 5L prods) ~dot:0L 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; 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) [24L; 26L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); @@ -8668,24 +10473,30 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.ShiftPrefix 108L); + (11L, Action.ShiftPrefix 125L); + (12L, Action.ShiftPrefix 143L); + (13L, Action.ShiftPrefix 144L); + (29L, Action.ShiftPrefix 145L); + (37L, Action.ShiftPrefix 146L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (41L, 109L); + (60L, 147L); + (64L, 148L); + (65L, 149L); ] ); - (* 97 *) State.init + (* 130 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:97L + ~index:130L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 11L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 71L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); @@ -8697,23 +10508,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.Reduce 11L); - (26L, Action.Reduce 11L); + (17L, Action.ShiftPrefix 150L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 98 *) State.init + (* 131 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:98L + ~index:131L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 47L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); @@ -8725,155 +10535,90 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (20L, Action.Reduce 47L); - (23L, Action.Reduce 47L); - (24L, Action.Reduce 47L); - (26L, Action.Reduce 47L); - (28L, Action.Reduce 47L); - (30L, Action.Reduce 47L); - (32L, Action.Reduce 47L); - (34L, Action.Reduce 47L); - (36L, Action.Reduce 47L); + (10L, Action.Reduce 73L); + (11L, Action.Reduce 73L); + (12L, 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); ] ) ~gotos:( Map.empty (module Uns) ); - (* 99 *) State.init + (* 132 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:99L + ~index:132L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 48L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 76L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 23L; 24L; 26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] ) in lr0item, lr1item ); ] ) ~added:( - Lr1Itemset.empty - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (20L, Action.Reduce 48L); - (23L, Action.Reduce 48L); - (24L, Action.Reduce 48L); - (26L, Action.Reduce 48L); - (28L, Action.Reduce 48L); - (30L, Action.Reduce 48L); - (32L, Action.Reduce 48L); - (34L, Action.Reduce 48L); - (36L, Action.Reduce 48L); - ] - ) - ~gotos:( - Map.empty (module Uns) - ); - (* 100 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:100L - ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 17L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [15L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [17L] ) in lr0item, lr1item ); - ] - ) - ~added:( - Lr1Itemset.empty - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (11L, Action.ShiftPrefix 110L); - ] - ) - ~gotos:( - Map.empty (module Uns) - ); - (* 101 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:101L - ~kernel:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 14L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 15L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); - ] - ) - ~added:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 12L 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) [11L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 13L 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) [11L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); - ] - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (11L, Action.Reduce 13L); - (12L, Action.ShiftPrefix 111L); - ] - ) - ~gotos:( - Map.of_alist (module Uns) [ - (45L, 112L); - ] - ); - (* 102 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:102L - ~kernel:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); - ] - ) - ~added:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 17L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [15L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 18L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [15L] + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 75L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] ) in lr0item, lr1item ); @@ -8882,25 +10627,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.ShiftPrefix 100L); - (15L, Action.Reduce 18L); + (10L, Action.Reduce 75L); + (11L, Action.ShiftPrefix 125L); + (12L, Action.ShiftPrefix 126L); + (14L, Action.ShiftPrefix 127L); + (19L, Action.Reduce 75L); + (20L, Action.Reduce 75L); + (26L, Action.Reduce 75L); + (28L, Action.Reduce 75L); + (29L, Action.ShiftPrefix 129L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (48L, 113L); + (60L, 130L); + (66L, 131L); + (67L, 151L); + (68L, 152L); ] ); - (* 103 *) State.init + (* 133 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:103L + ~index:133L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 77L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] ) in lr0item, lr1item ); @@ -8912,22 +10667,26 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (15L, Action.ShiftPrefix 114L); + (10L, Action.Reduce 77L); + (19L, Action.Reduce 77L); + (20L, Action.Reduce 77L); + (26L, Action.Reduce 77L); + (28L, Action.Reduce 77L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 104 *) State.init + (* 134 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:104L + ~index:134L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 78L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 79L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L] + Ordset.of_list (module Uns) [19L; 20L; 26L; 28L] ) in lr0item, lr1item ); @@ -8936,16 +10695,16 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 78L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 14L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L] + Ordset.of_list (module Uns) [19L; 20L; 26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 79L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 15L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L] + Ordset.of_list (module Uns) [19L; 20L; 26L; 28L] ) in lr0item, lr1item ); @@ -8954,54 +10713,28 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.ShiftPrefix 83L); - (26L, Action.Reduce 79L); + (10L, Action.ShiftPrefix 101L); + (19L, Action.Reduce 15L); + (20L, Action.Reduce 15L); + (26L, Action.Reduce 15L); + (28L, Action.Reduce 15L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (73L, 115L); - ] - ); - (* 105 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:105L - ~kernel:( - Lr1Itemset.init [ - ( - let lr0item = Lr0Item.init ~prod:(Array.get 15L prods) ~dot:1L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 24L; 26L] - ) in - lr0item, lr1item - ); - ] - ) - ~added:( - Lr1Itemset.empty - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (10L, Action.Reduce 15L); - (24L, Action.Reduce 15L); - (26L, Action.Reduce 15L); + (49L, 153L); ] - ) - ~gotos:( - Map.empty (module Uns) ); - (* 106 *) State.init + (* 135 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:106L + ~index:135L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 21L prods) ~dot:4L in + let lr0item = Lr0Item.init ~prod:(Array.get 83L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [19L; 26L; 28L] ) in lr0item, lr1item ); @@ -9010,16 +10743,16 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 17L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 80L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [19L; 26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 18L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 81L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [19L; 26L; 28L] ) in lr0item, lr1item ); @@ -9028,100 +10761,55 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.ShiftPrefix 100L); - (24L, Action.Reduce 18L); - (26L, Action.Reduce 18L); + (19L, Action.Reduce 81L); + (20L, Action.ShiftPrefix 154L); + (26L, Action.Reduce 81L); + (28L, Action.Reduce 81L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (48L, 116L); + (72L, 155L); ] ); - (* 107 *) State.init + (* 136 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:107L + ~index:136L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 25L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 90L prods) ~dot:5L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ] ) ~added:( - Lr1Itemset.init [ - ( - let lr0item = Lr0Item.init ~prod:(Array.get 22L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 25L; 27L; 29L; 31L; 33L; 35L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 23L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 25L; 27L; 29L; 31L; 33L; 35L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 24L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 21L; 22L; 25L; 27L; 29L; 31L; 33L; 35L; 37L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 25L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L; 28L; 30L; 32L; 34L; 36L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 26L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L; 28L; 30L; 32L; 34L; 36L] - ) in - lr0item, lr1item - ); - ] + Lr1Itemset.empty ) ) ~actions:( Map.of_alist (module Uns) [ - (20L, Action.ShiftPrefix 10L); - (23L, Action.ShiftPrefix 13L); - (24L, Action.ShiftPrefix 14L); - (26L, Action.Reduce 26L); - (28L, Action.Reduce 26L); - (30L, Action.Reduce 26L); - (32L, Action.Reduce 26L); - (34L, Action.Reduce 26L); - (36L, Action.Reduce 26L); + (26L, Action.Reduce 90L); + (28L, Action.Reduce 90L); ] ) ~gotos:( - Map.of_alist (module Uns) [ - (51L, 89L); - (52L, 117L); - ] + Map.empty (module Uns) ); - (* 108 *) State.init + (* 137 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:108L + ~index:137L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 5L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 0L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -9130,16 +10818,16 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 3L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 0L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 4L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 1L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -9148,26 +10836,26 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (22L, Action.ShiftPrefix 118L); - (24L, Action.Reduce 4L); - (26L, Action.Reduce 4L); + (23L, Action.ShiftPrefix 119L); + (26L, Action.Reduce 1L); + (28L, Action.Reduce 1L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (40L, 119L); + (41L, 156L); ] ); - (* 109 *) State.init + (* 138 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:109L + ~index:138L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 6L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 9L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [11L] ) in lr0item, lr1item ); @@ -9179,23 +10867,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.Reduce 6L); - (26L, Action.Reduce 6L); + (11L, Action.Reduce 9L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 110 *) State.init + (* 139 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:110L + ~index:139L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 17L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 84L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [15L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [20L; 26L; 28L] ) in lr0item, lr1item ); @@ -9207,53 +10894,68 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (15L, Action.Reduce 17L); - (19L, Action.Reduce 17L); - (20L, Action.Reduce 17L); - (24L, Action.Reduce 17L); - (26L, Action.Reduce 17L); + (19L, Action.ShiftPrefix 157L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 111 *) State.init + (* 140 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:111L + ~index:140L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 12L 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) [11L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ] ) ~added:( - Lr1Itemset.empty + 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) [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) [26L; 28L] + ) in + lr0item, lr1item + ); + ] ) ) ~actions:( Map.of_alist (module Uns) [ - (18L, Action.ShiftPrefix 120L); + (20L, Action.ShiftPrefix 158L); + (26L, Action.Reduce 86L); + (28L, Action.Reduce 86L); ] ) ~gotos:( - Map.empty (module Uns) + Map.of_alist (module Uns) [ + (75L, 159L); + ] ); - (* 112 *) State.init + (* 141 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:112L + ~index:141L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 14L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 91L prods) ~dot:6L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 15L; 24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -9265,144 +10967,165 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.ShiftPrefix 121L); + (26L, Action.Reduce 91L); + (28L, Action.Reduce 91L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 113 *) State.init + (* 142 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:113L + ~index:142L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:4L in + let lr0item = Lr0Item.init ~prod:(Array.get 82L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [19L; 26L; 28L] ) in lr0item, lr1item ); ] ) ~added:( - Lr1Itemset.empty + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 80L 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 81L 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) [ - (15L, Action.ShiftPrefix 122L); + (19L, Action.Reduce 81L); + (20L, Action.ShiftPrefix 154L); + (26L, Action.Reduce 81L); + (28L, Action.Reduce 81L); ] ) ~gotos:( - Map.empty (module Uns) + Map.of_alist (module Uns) [ + (72L, 160L); + ] ); - (* 114 *) State.init + (* 143 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:114L + ~index:143L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:4L in + let lr0item = Lr0Item.init ~prod:(Array.get 58L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [18L] ) in lr0item, lr1item ); - ] - ) - ~added:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 0L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 64L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); + ] + ) + ~added:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 1L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 2L 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) [17L] + Ordset.of_list (module Uns) [18L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 52L 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) [10L; 11L; 12L; 13L; 14L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [18L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 53L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 54L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 61L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 55L 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) [10L; 11L; 12L; 13L; 14L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 58L 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) [10L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 64L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 65L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 61L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 64L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 65L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 68L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); @@ -9411,35 +11134,31 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (4L, Action.ShiftPrefix 123L); - (11L, Action.ShiftPrefix 124L); - (12L, Action.ShiftPrefix 125L); - (13L, Action.ShiftPrefix 126L); - (14L, Action.ShiftPrefix 127L); - (20L, Action.ShiftPrefix 128L); + (11L, Action.ShiftPrefix 125L); + (12L, Action.ShiftPrefix 143L); + (13L, Action.ShiftPrefix 144L); + (18L, Action.Reduce 58L); + (29L, Action.ShiftPrefix 145L); + (37L, Action.ShiftPrefix 146L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (39L, 129L); - (59L, 130L); - (60L, 131L); - (62L, 132L); - (63L, 133L); - (64L, 134L); - (66L, 135L); + (60L, 147L); + (64L, 148L); + (65L, 161L); ] ); - (* 115 *) State.init + (* 144 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:115L + ~index:144L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 78L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); @@ -9451,82 +11170,220 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (26L, Action.Reduce 78L); + (23L, Action.Reduce 60L); + (24L, Action.Reduce 60L); + (25L, Action.Reduce 60L); + (30L, Action.Reduce 60L); + (38L, Action.Reduce 60L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 116 *) State.init + (* 145 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:116L + ~index:145L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 21L prods) ~dot:5L in + let lr0item = Lr0Item.init ~prod:(Array.get 63L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ] ) ~added:( - Lr1Itemset.empty + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 50L 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 58L 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 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) [23L; 25L; 30L] + ) 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 + ); + ] ) ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.Reduce 21L); - (26L, Action.Reduce 21L); + (11L, Action.ShiftPrefix 125L); + (12L, Action.ShiftPrefix 143L); + (13L, Action.ShiftPrefix 144L); + (29L, Action.ShiftPrefix 145L); + (37L, Action.ShiftPrefix 146L); ] ) ~gotos:( - Map.empty (module Uns) + Map.of_alist (module Uns) [ + (60L, 147L); + (64L, 148L); + (65L, 162L); + ] ); - (* 117 *) State.init + (* 146 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:117L + ~index:146L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 25L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 68L prods) ~dot:1L 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 50L 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 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) [26L; 28L; 30L; 32L; 34L; 36L] + Ordset.of_list (module Uns) [24L; 38L] ) in lr0item, lr1item ); ] ) - ~added:( - Lr1Itemset.empty - ) ) ~actions:( Map.of_alist (module Uns) [ - (26L, Action.Reduce 25L); - (28L, Action.Reduce 25L); - (30L, Action.Reduce 25L); - (32L, Action.Reduce 25L); - (34L, Action.Reduce 25L); - (36L, Action.Reduce 25L); + (11L, Action.ShiftPrefix 163L); ] ) ~gotos:( - Map.empty (module Uns) + Map.of_alist (module Uns) [ + (60L, 164L); + (61L, 165L); + (62L, 166L); + ] ); - (* 118 *) State.init + (* 147 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:118L + ~index:147L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 3L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 61L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); @@ -9538,22 +11395,40 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.ShiftPrefix 136L); + (23L, Action.Reduce 61L); + (24L, Action.Reduce 61L); + (25L, Action.Reduce 61L); + (30L, Action.Reduce 61L); + (38L, Action.Reduce 61L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 119 *) State.init + (* 148 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:119L + ~index:148L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 5L 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) [18L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 65L 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 66L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); @@ -9565,98 +11440,110 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.Reduce 5L); - (26L, Action.Reduce 5L); + (18L, Action.ShiftPrefix 167L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 120 *) State.init + (* 149 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:120L + ~index:149L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 12L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); - ] - ) - ~added:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 12L 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) [11L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 13L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); ] ) + ~added:( + Lr1Itemset.empty + ) ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.Reduce 13L); - (12L, Action.ShiftPrefix 111L); + (23L, Action.ShiftPrefix 168L); + (25L, Action.ShiftPrefix 169L); + (30L, Action.ShiftPrefix 170L); ] ) ~gotos:( - Map.of_alist (module Uns) [ - (45L, 137L); - ] + Map.empty (module Uns) ); - (* 121 *) State.init + (* 150 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:121L + ~index:150L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 14L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 71L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 15L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); ] ) ~added:( - Lr1Itemset.empty + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ( + 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; 14L; 19L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ] ) ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 14L); - (15L, Action.Reduce 14L); - (24L, Action.Reduce 14L); - (26L, Action.Reduce 14L); + (12L, Action.ShiftPrefix 126L); + (14L, Action.ShiftPrefix 127L); ] ) ~gotos:( - Map.empty (module Uns) + Map.of_alist (module Uns) [ + (66L, 171L); + ] ); - (* 122 *) State.init + (* 151 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:122L + ~index:151L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:5L in + let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] ) in lr0item, lr1item ); @@ -9665,107 +11552,58 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 0L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 1L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 2L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [17L] ) 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) [10L; 11L; 12L; 13L; 14L; 19L; 20L] - ) 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) [10L; 11L; 12L; 13L; 14L; 19L; 20L] - ) 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) [10L; 11L; 12L; 13L; 14L; 19L; 20L] - ) 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) [10L; 11L; 12L; 13L; 14L; 19L; 20L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 58L 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 59L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 69L 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; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 60L 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) [10L; 19L; 20L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 61L 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) [19L; 20L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 64L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 65L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 74L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 75L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] ) in lr0item, lr1item ); @@ -9774,37 +11612,35 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (4L, Action.ShiftPrefix 123L); - (11L, Action.ShiftPrefix 124L); - (12L, Action.ShiftPrefix 125L); - (13L, Action.ShiftPrefix 126L); + (10L, Action.Reduce 75L); + (11L, Action.ShiftPrefix 125L); + (12L, Action.ShiftPrefix 126L); (14L, Action.ShiftPrefix 127L); - (20L, Action.ShiftPrefix 128L); + (19L, Action.Reduce 75L); + (20L, Action.Reduce 75L); + (26L, Action.Reduce 75L); + (28L, Action.Reduce 75L); + (29L, Action.ShiftPrefix 129L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (39L, 129L); - (59L, 130L); - (60L, 131L); - (62L, 132L); - (63L, 133L); - (64L, 134L); - (66L, 138L); - (67L, 139L); - (69L, 140L); + (60L, 130L); + (66L, 131L); + (67L, 151L); + (68L, 172L); ] ); - (* 123 *) State.init + (* 152 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:123L + ~index:152L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 76L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] ) in lr0item, lr1item ); @@ -9816,26 +11652,26 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 60L); - (19L, Action.Reduce 60L); - (20L, Action.Reduce 60L); - (24L, Action.Reduce 60L); - (26L, Action.Reduce 60L); + (10L, Action.Reduce 76L); + (19L, Action.Reduce 76L); + (20L, Action.Reduce 76L); + (26L, Action.Reduce 76L); + (28L, Action.Reduce 76L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 124 *) State.init + (* 153 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:124L + ~index:153L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 0L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 79L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] + Ordset.of_list (module Uns) [19L; 20L; 26L; 28L] ) in lr0item, lr1item ); @@ -9847,65 +11683,134 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (17L, Action.Reduce 0L); + (19L, Action.Reduce 79L); + (20L, Action.Reduce 79L); + (26L, Action.Reduce 79L); + (28L, Action.Reduce 79L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 125 *) State.init + (* 154 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:125L + ~index:154L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 1L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 80L prods) ~dot:1L 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 50L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( Ordset.of_list (module Uns) [17L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 52L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ( + 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; 14L; 19L; 20L; 26L; 28L; 29L] + ) 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; 14L; 19L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 76L 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 77L 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 78L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 19L; 20L; 26L; 28L] + ) 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) [19L; 20L; 26L; 28L] ) in lr0item, lr1item ); ] ) - ~added:( - Lr1Itemset.empty - ) ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 52L); - (11L, Action.Reduce 52L); - (12L, Action.Reduce 52L); - (13L, Action.Reduce 52L); - (14L, Action.Reduce 52L); - (17L, Action.Reduce 1L); - (19L, Action.Reduce 52L); - (20L, Action.Reduce 52L); - (24L, Action.Reduce 52L); - (26L, Action.Reduce 52L); + (4L, Action.ShiftPrefix 124L); + (11L, Action.ShiftPrefix 125L); + (12L, Action.ShiftPrefix 126L); + (14L, Action.ShiftPrefix 127L); + (29L, Action.ShiftPrefix 129L); ] ) ~gotos:( - Map.empty (module Uns) + Map.of_alist (module Uns) [ + (60L, 130L); + (66L, 131L); + (67L, 132L); + (69L, 133L); + (70L, 134L); + (71L, 173L); + ] ); - (* 126 *) State.init + (* 155 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:126L + ~index:155L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 2L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 83L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] + Ordset.of_list (module Uns) [19L; 26L; 28L] ) in lr0item, lr1item ); @@ -9917,22 +11822,24 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (17L, Action.Reduce 2L); + (19L, Action.Reduce 83L); + (26L, Action.Reduce 83L); + (28L, Action.Reduce 83L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 127 *) State.init + (* 156 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:127L + ~index:156L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 53L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 0L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -9944,30 +11851,23 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 53L); - (11L, Action.Reduce 53L); - (12L, Action.Reduce 53L); - (13L, Action.Reduce 53L); - (14L, Action.Reduce 53L); - (19L, Action.Reduce 53L); - (20L, Action.Reduce 53L); - (24L, Action.Reduce 53L); - (26L, Action.Reduce 53L); + (26L, Action.Reduce 0L); + (28L, Action.Reduce 0L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 128 *) State.init + (* 157 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:128L + ~index:157L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 64L prods) ~dot:1L 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; 24L; 26L] + Ordset.of_list (module Uns) [20L; 26L; 28L] ) in lr0item, lr1item ); @@ -9976,79 +11876,142 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 0L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 27L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 1L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 28L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 2L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 29L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 52L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 30L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 53L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 31L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 54L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 32L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 55L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 33L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 58L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 34L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 35L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 36L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 61L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 37L 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; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 38L 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; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 39L 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; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 40L 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; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 41L 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; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 42L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 23L; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 43L 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; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 44L 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; 26L; 27L; 28L; 29L; 31L; 33L; 35L; 37L; 39L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 48L 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 49L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [20L; 26L; 28L] ) in lr0item, lr1item ); @@ -10057,162 +12020,138 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (4L, Action.ShiftPrefix 123L); - (11L, Action.ShiftPrefix 124L); - (12L, Action.ShiftPrefix 125L); - (13L, Action.ShiftPrefix 126L); - (14L, Action.ShiftPrefix 127L); + (11L, Action.ShiftPrefix 2L); + (12L, Action.ShiftPrefix 3L); + (13L, Action.ShiftPrefix 4L); + (14L, Action.ShiftPrefix 5L); + (16L, Action.ShiftPrefix 6L); + (17L, Action.ShiftPrefix 7L); + (18L, Action.ShiftPrefix 8L); + (19L, Action.ShiftPrefix 9L); + (21L, Action.ShiftPrefix 11L); + (22L, Action.ShiftPrefix 12L); + (23L, Action.ShiftPrefix 13L); + (27L, Action.ShiftPrefix 51L); + (29L, Action.ShiftPrefix 52L); + (31L, Action.ShiftPrefix 53L); + (33L, Action.ShiftPrefix 54L); + (35L, Action.ShiftPrefix 55L); + (37L, Action.ShiftPrefix 56L); + (39L, Action.ShiftPrefix 28L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (39L, 129L); - (59L, 130L); - (60L, 131L); - (62L, 132L); - (63L, 133L); - (64L, 141L); + (56L, 60L); + (57L, 61L); + (59L, 174L); ] ); - (* 129 *) State.init + (* 158 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:129L + ~index:158L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 54L 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) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); ] ) ~added:( - Lr1Itemset.empty - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (17L, Action.ShiftPrefix 142L); - ] - ) - ~gotos:( - Map.empty (module Uns) - ); - (* 130 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:130L - ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 55L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [17L] ) in lr0item, lr1item ); - ] - ) - ~added:( - Lr1Itemset.empty - ) - ) - ~actions:( - Map.of_alist (module Uns) [ - (10L, Action.Reduce 55L); - (11L, Action.Reduce 55L); - (12L, Action.Reduce 55L); - (13L, Action.Reduce 55L); - (14L, Action.Reduce 55L); - (19L, Action.Reduce 55L); - (20L, Action.Reduce 55L); - (24L, Action.Reduce 55L); - (26L, Action.Reduce 55L); - ] - ) - ~gotos:( - Map.empty (module Uns) - ); - (* 131 *) State.init - ~lr1ItemsetClosure:( - Lr1ItemsetClosure.init - ~index:131L - ~kernel:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 58L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 29L] ) in lr0item, lr1item ); - ] - ) - ~added:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 0L 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) [17L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 29L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 1L 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) [17L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 29L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 2L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 29L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 52L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 29L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 53L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 76L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 19L; 20L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 54L 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; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 19L; 20L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 55L 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] + ) 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; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [19L; 20L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 56L prods) ~dot:0L in + 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; 24L; 26L] + Ordset.of_list (module Uns) [19L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 57L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 83L 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 84L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [20L; 26L; 28L] ) in lr0item, lr1item ); @@ -10221,35 +12160,36 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 57L); - (11L, Action.ShiftPrefix 124L); - (12L, Action.ShiftPrefix 125L); - (13L, Action.ShiftPrefix 126L); + (4L, Action.ShiftPrefix 124L); + (11L, Action.ShiftPrefix 125L); + (12L, Action.ShiftPrefix 126L); (14L, Action.ShiftPrefix 127L); - (19L, Action.Reduce 57L); - (20L, Action.Reduce 57L); - (24L, Action.Reduce 57L); - (26L, Action.Reduce 57L); + (20L, Action.ShiftPrefix 128L); + (29L, Action.ShiftPrefix 129L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (39L, 129L); - (59L, 130L); - (60L, 143L); - (61L, 144L); + (60L, 130L); + (66L, 131L); + (67L, 132L); + (69L, 133L); + (70L, 134L); + (71L, 135L); + (73L, 139L); + (74L, 175L); ] ); - (* 132 *) State.init + (* 159 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:132L + ~index:159L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 87L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -10261,121 +12201,111 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 59L); - (19L, Action.Reduce 59L); - (20L, Action.Reduce 59L); - (24L, Action.Reduce 59L); - (26L, Action.Reduce 59L); + (26L, Action.Reduce 87L); + (28L, Action.Reduce 87L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 133 *) State.init + (* 160 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:133L + ~index:160L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 61L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 82L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [19L; 26L; 28L] ) in lr0item, lr1item ); ] ) ~added:( - Lr1Itemset.init [ - ( - let lr0item = Lr0Item.init ~prod:(Array.get 17L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 20L; 24L; 26L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 18L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 20L; 24L; 26L] - ) in - lr0item, lr1item - ); - ] + Lr1Itemset.empty ) ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.ShiftPrefix 100L); - (19L, Action.Reduce 18L); - (20L, Action.Reduce 18L); - (24L, Action.Reduce 18L); - (26L, Action.Reduce 18L); + (19L, Action.Reduce 82L); + (26L, Action.Reduce 82L); + (28L, Action.Reduce 82L); ] ) ~gotos:( - Map.of_alist (module Uns) [ - (48L, 145L); - ] + Map.empty (module Uns) ); - (* 134 *) State.init + (* 161 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:134L + ~index:161L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 65L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); - ] - ) - ~added:( - Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 64L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 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) [19L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ] ) + ~added:( + Lr1Itemset.empty + ) ) ~actions:( Map.of_alist (module Uns) [ - (19L, Action.Reduce 63L); - (20L, Action.ShiftPrefix 146L); - (24L, Action.Reduce 63L); - (26L, Action.Reduce 63L); + (23L, Action.Reduce 64L); + (24L, Action.Reduce 64L); + (25L, Action.Reduce 64L); + (30L, Action.Reduce 64L); + (38L, Action.Reduce 64L); ] ) ~gotos:( - Map.of_alist (module Uns) [ - (65L, 147L); - ] + Map.empty (module Uns) ); - (* 135 *) State.init + (* 162 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:135L + ~index:162L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:5L in + let lr0item = Lr0Item.init ~prod:(Array.get 62L 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 63L prods) ~dot:2L 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) [24L; 26L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); @@ -10387,69 +12317,60 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.Reduce 72L); - (26L, Action.Reduce 72L); + (23L, Action.ShiftPrefix 168L); + (25L, Action.ShiftPrefix 169L); + (30L, Action.ShiftPrefix 176L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 136 *) State.init + (* 163 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:136L + ~index:163L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 3L prods) ~dot:2L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] - ) in - lr0item, lr1item - ); - ] - ) - ~added:( - Lr1Itemset.init [ - ( - let lr0item = Lr0Item.init ~prod:(Array.get 3L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [24L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 4L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 52L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [24L; 38L] ) in lr0item, lr1item ); ] ) + ~added:( + Lr1Itemset.empty + ) ) ~actions:( Map.of_alist (module Uns) [ - (22L, Action.ShiftPrefix 118L); - (24L, Action.Reduce 4L); - (26L, Action.Reduce 4L); + (22L, Action.ShiftPrefix 177L); + (24L, Action.Reduce 50L); + (38L, Action.Reduce 50L); ] ) ~gotos:( - Map.of_alist (module Uns) [ - (40L, 148L); - ] + Map.empty (module Uns) ); - (* 137 *) State.init + (* 164 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:137L + ~index:164L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 12L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [11L] + Ordset.of_list (module Uns) [24L; 38L] ) in lr0item, lr1item ); @@ -10461,22 +12382,37 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.Reduce 12L); + (24L, Action.Reduce 51L); + (38L, Action.Reduce 51L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 138 *) State.init + (* 165 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:138L + ~index:165L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 53L prods) ~dot:1L 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:1L 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:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 24L; 26L] + Ordset.of_list (module Uns) [24L; 38L] ) in lr0item, lr1item ); @@ -10488,22 +12424,23 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (19L, Action.ShiftPrefix 149L); + (24L, Action.ShiftPrefix 178L); + (38L, Action.Reduce 53L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 139 *) State.init + (* 166 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:139L + ~index:166L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 68L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); @@ -10512,16 +12449,16 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 56L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 68L 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; 26L] + Ordset.of_list (module Uns) [38L] ) in lr0item, lr1item ); @@ -10530,54 +12467,85 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (20L, Action.ShiftPrefix 150L); - (24L, Action.Reduce 68L); - (26L, Action.Reduce 68L); + (24L, Action.ShiftPrefix 179L); + (38L, Action.Reduce 57L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (68L, 151L); + (63L, 180L); ] ); - (* 140 *) State.init + (* 167 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:140L + ~index:167L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 73L prods) ~dot:6L in + let lr0item = Lr0Item.init ~prod:(Array.get 59L 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 65L prods) ~dot:2L 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 66L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ] ) ~added:( - Lr1Itemset.empty + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 58L 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 59L 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) [ - (24L, Action.Reduce 73L); - (26L, Action.Reduce 73L); + (12L, Action.ShiftPrefix 181L); + (29L, Action.ShiftPrefix 182L); + (37L, Action.ShiftPrefix 183L); ] ) ~gotos:( - Map.empty (module Uns) + Map.of_alist (module Uns) [ + (64L, 184L); + ] ); - (* 141 *) State.init + (* 168 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:141L + ~index:168L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 64L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); @@ -10585,17 +12553,87 @@ include struct ) ~added:( Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L 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 58L 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 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) [23L; 24L; 25L; 30L; 38L] + ) 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; 24L; 25L; 30L; 38L] + ) 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) [19L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) 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) [19L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] + ) 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; 24L; 25L; 30L; 38L] + ) 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; 24L; 25L; 30L; 38L] + ) 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; 24L; 25L; 30L; 38L] + ) 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; 24L; 25L; 30L; 38L] + ) 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; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); @@ -10604,27 +12642,30 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (19L, Action.Reduce 63L); - (20L, Action.ShiftPrefix 146L); - (24L, Action.Reduce 63L); - (26L, Action.Reduce 63L); + (11L, Action.ShiftPrefix 125L); + (12L, Action.ShiftPrefix 143L); + (13L, Action.ShiftPrefix 144L); + (29L, Action.ShiftPrefix 145L); + (37L, Action.ShiftPrefix 146L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (65L, 152L); + (60L, 147L); + (64L, 148L); + (65L, 185L); ] ); - (* 142 *) State.init + (* 169 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:142L + ~index:169L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 54L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); @@ -10633,16 +12674,9 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 52L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 53L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); @@ -10651,92 +12685,135 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (12L, Action.ShiftPrefix 153L); - (14L, Action.ShiftPrefix 127L); + (11L, Action.ShiftPrefix 125L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (59L, 154L); + (60L, 186L); ] ); - (* 143 *) State.init + (* 170 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:143L + ~index:170L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 56L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); ] ) ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (17L, Action.ShiftPrefix 187L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 171 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:171L + ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 0L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 1L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 2L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] - ) 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) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 53L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 71L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (10L, Action.Reduce 71L); + (11L, Action.Reduce 71L); + (12L, Action.Reduce 71L); + (14L, Action.Reduce 71L); + (19L, Action.Reduce 71L); + (20L, Action.Reduce 71L); + (26L, Action.Reduce 71L); + (28L, Action.Reduce 71L); + (29L, Action.Reduce 71L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 172 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:172L + ~kernel:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 54L prods) ~dot:0L in + 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; 24L; 26L] + 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 74L); + (19L, Action.Reduce 74L); + (20L, Action.Reduce 74L); + (26L, Action.Reduce 74L); + (28L, Action.Reduce 74L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 173 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:173L + ~kernel:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 55L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 80L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [19L; 26L; 28L] ) in lr0item, lr1item ); + ] + ) + ~added:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 56L prods) ~dot:0L in + 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; 24L; 26L] + Ordset.of_list (module Uns) [19L; 26L; 28L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 57L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 81L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [19L; 26L; 28L] ) in lr0item, lr1item ); @@ -10745,35 +12822,27 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 57L); - (11L, Action.ShiftPrefix 124L); - (12L, Action.ShiftPrefix 125L); - (13L, Action.ShiftPrefix 126L); - (14L, Action.ShiftPrefix 127L); - (19L, Action.Reduce 57L); - (20L, Action.Reduce 57L); - (24L, Action.Reduce 57L); - (26L, Action.Reduce 57L); + (19L, Action.Reduce 81L); + (20L, Action.ShiftPrefix 154L); + (26L, Action.Reduce 81L); + (28L, Action.Reduce 81L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (39L, 129L); - (59L, 130L); - (60L, 143L); - (61L, 155L); + (72L, 188L); ] ); - (* 144 *) State.init + (* 174 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:144L + ~index:174L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 58L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 84L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [20L; 26L; 28L] ) in lr0item, lr1item ); @@ -10785,26 +12854,70 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 58L); - (19L, Action.Reduce 58L); - (20L, Action.Reduce 58L); - (24L, Action.Reduce 58L); - (26L, Action.Reduce 58L); + (20L, Action.Reduce 84L); + (26L, Action.Reduce 84L); + (28L, Action.Reduce 84L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 145 *) State.init + (* 175 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:145L + ~index:175L + ~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) [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) [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) [26L; 28L] + ) in + lr0item, lr1item + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (20L, Action.ShiftPrefix 158L); + (26L, Action.Reduce 86L); + (28L, Action.Reduce 86L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (75L, 189L); + ] + ); + (* 176 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:176L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 61L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 63L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); @@ -10816,25 +12929,26 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (19L, Action.Reduce 61L); - (20L, Action.Reduce 61L); - (24L, Action.Reduce 61L); - (26L, Action.Reduce 61L); + (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) ); - (* 146 *) State.init + (* 177 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:146L + ~index:177L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 52L prods) ~dot:2L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 24L; 26L] + Ordset.of_list (module Uns) [24L; 38L] ) in lr0item, lr1item ); @@ -10843,79 +12957,86 @@ include struct ~added:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 0L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 1L 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) [17L] + Ordset.of_list (module Uns) [18L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 2L 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) [17L] + Ordset.of_list (module Uns) [18L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 52L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 53L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 61L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 54L 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) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 55L 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) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 58L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 64L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 65L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 61L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 24L; 25L; 38L] + ) 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) [19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 38L] ) in lr0item, lr1item ); @@ -10924,33 +13045,90 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (4L, Action.ShiftPrefix 123L); - (11L, Action.ShiftPrefix 124L); - (12L, Action.ShiftPrefix 125L); - (13L, Action.ShiftPrefix 126L); - (14L, Action.ShiftPrefix 127L); + (11L, Action.ShiftPrefix 125L); + (12L, Action.ShiftPrefix 143L); + (13L, Action.ShiftPrefix 144L); + (29L, Action.ShiftPrefix 145L); + (37L, Action.ShiftPrefix 146L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (39L, 129L); - (59L, 130L); - (60L, 131L); - (62L, 132L); - (63L, 133L); - (64L, 156L); + (60L, 147L); + (64L, 148L); + (65L, 190L); ] ); - (* 147 *) State.init + (* 178 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:147L + ~index:178L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 65L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 54L prods) ~dot:2L 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:2L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ] + ) + ~added:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 50L 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 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 + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (11L, Action.ShiftPrefix 163L); + (13L, Action.ShiftPrefix 191L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (60L, 164L); + (61L, 192L); + ] + ); + (* 179 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:179L + ~kernel:( + Lr1Itemset.init [ + ( + let lr0item = Lr0Item.init ~prod:(Array.get 56L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 24L; 26L] + Ordset.of_list (module Uns) [38L] ) in lr0item, lr1item ); @@ -10962,24 +13140,22 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (19L, Action.Reduce 65L); - (24L, Action.Reduce 65L); - (26L, Action.Reduce 65L); + (38L, Action.Reduce 56L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 148 *) State.init + (* 180 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:148L + ~index:180L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 3L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 68L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); @@ -10991,160 +13167,257 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.Reduce 3L); - (26L, Action.Reduce 3L); + (38L, Action.ShiftPrefix 193L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 149 *) State.init + (* 181 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:149L + ~index:181L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 58L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 24L; 26L] + Ordset.of_list (module Uns) [18L] ) in lr0item, lr1item ); ] ) ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (18L, Action.Reduce 58L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 182 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:182L + ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 30L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 65L 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; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); + ] + ) + ~added:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 31L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 50L 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; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 32L 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) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [18L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 33L 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) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [18L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 34L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 60L 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; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 35L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 61L 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; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 36L 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) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 37L 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) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 38L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 64L 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; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 39L prods) ~dot:0L in + 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 + ); + ] + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (11L, Action.ShiftPrefix 125L); + (12L, Action.ShiftPrefix 143L); + (13L, Action.ShiftPrefix 144L); + (29L, Action.ShiftPrefix 145L); + (37L, Action.ShiftPrefix 146L); + ] + ) + ~gotos:( + Map.of_alist (module Uns) [ + (60L, 147L); + (64L, 148L); + (65L, 194L); + ] + ); + (* 183 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:183L + ~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 50L prods) ~dot:0L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 58L 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 59L 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; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [18L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 40L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 60L 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; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [23L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 41L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 61L 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; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [23L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 42L 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) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [23L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 43L 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) [11L; 12L; 13L; 14L; 16L; 17L; 18L; 19L; 20L; 21L; 22L; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [23L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 44L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 64L 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; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [23L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 45L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 65L 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; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [23L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 46L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 66L 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; 24L; 25L; 26L; 27L; 29L; 31L; 33L; 35L; 37L] + Ordset.of_list (module Uns) [23L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 50L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 25L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 51L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 68L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 25L; 38L] ) in lr0item, lr1item ); @@ -11153,144 +13426,158 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (11L, Action.ShiftPrefix 2L); - (12L, Action.ShiftPrefix 3L); - (13L, Action.ShiftPrefix 4L); - (14L, Action.ShiftPrefix 5L); - (16L, Action.ShiftPrefix 6L); - (17L, Action.ShiftPrefix 7L); - (18L, Action.ShiftPrefix 8L); - (19L, Action.ShiftPrefix 9L); - (21L, Action.ShiftPrefix 11L); - (22L, Action.ShiftPrefix 12L); - (25L, Action.ShiftPrefix 50L); - (27L, Action.ShiftPrefix 51L); - (29L, Action.ShiftPrefix 52L); - (31L, Action.ShiftPrefix 53L); - (33L, Action.ShiftPrefix 54L); - (35L, Action.ShiftPrefix 55L); - (37L, Action.ShiftPrefix 27L); + (11L, Action.ShiftPrefix 125L); + (12L, Action.ShiftPrefix 143L); + (13L, Action.ShiftPrefix 144L); + (29L, Action.ShiftPrefix 145L); + (37L, Action.ShiftPrefix 146L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (55L, 59L); - (56L, 60L); - (58L, 157L); + (60L, 147L); + (64L, 148L); + (65L, 195L); ] ); - (* 150 *) State.init + (* 184 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:150L + ~index:184L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:1L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] - ) in - lr0item, lr1item - ); - ] - ) - ~added:( - Lr1Itemset.init [ - ( - let lr0item = Lr0Item.init ~prod:(Array.get 0L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 1L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 2L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [17L] - ) 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) [10L; 11L; 12L; 13L; 14L; 19L; 20L] - ) 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) [10L; 11L; 12L; 13L; 14L; 19L; 20L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 54L prods) ~dot:0L 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; 11L; 12L; 13L; 14L; 19L; 20L] + Ordset.of_list (module Uns) [18L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 55L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 59L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L] + Ordset.of_list (module Uns) [18L] ) in lr0item, lr1item ); + ] + ) + ~added:( + Lr1Itemset.empty + ) + ) + ~actions:( + Map.of_alist (module Uns) [ + (18L, Action.Reduce 59L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 185 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:185L + ~kernel:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 58L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 59L 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; 19L; 20L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 60L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L] + 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 67L); + (24L, Action.Reduce 67L); + (25L, Action.Reduce 67L); + (30L, Action.Reduce 67L); + (38L, Action.Reduce 67L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 186 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:186L + ~kernel:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 61L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 20L] + 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 62L); + (24L, Action.Reduce 62L); + (25L, Action.Reduce 62L); + (30L, Action.Reduce 62L); + (38L, Action.Reduce 62L); + ] + ) + ~gotos:( + Map.empty (module Uns) + ); + (* 187 *) State.init + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:187L + ~kernel:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 64L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); + ] + ) + ~added:( + Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 65L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:0L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 66L 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) [20L; 24L; 26L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); @@ -11299,36 +13586,25 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (4L, Action.ShiftPrefix 123L); - (11L, Action.ShiftPrefix 124L); - (12L, Action.ShiftPrefix 125L); - (13L, Action.ShiftPrefix 126L); + (12L, Action.ShiftPrefix 126L); (14L, Action.ShiftPrefix 127L); - (20L, Action.ShiftPrefix 128L); ] ) ~gotos:( Map.of_alist (module Uns) [ - (39L, 129L); - (59L, 130L); - (60L, 131L); - (62L, 132L); - (63L, 133L); - (64L, 134L); - (66L, 138L); - (67L, 158L); + (66L, 196L); ] ); - (* 151 *) State.init + (* 188 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:151L + ~index:188L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 69L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 80L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [19L; 26L; 28L] ) in lr0item, lr1item ); @@ -11340,23 +13616,24 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.Reduce 69L); - (26L, Action.Reduce 69L); + (19L, Action.Reduce 80L); + (26L, Action.Reduce 80L); + (28L, Action.Reduce 80L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 152 *) State.init + (* 189 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:152L + ~index:189L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 64L 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) [19L; 24L; 26L] + Ordset.of_list (module Uns) [26L; 28L] ) in lr0item, lr1item ); @@ -11368,24 +13645,37 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (19L, Action.Reduce 64L); - (24L, Action.Reduce 64L); - (26L, Action.Reduce 64L); + (26L, Action.Reduce 85L); + (28L, Action.Reduce 85L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 153 *) State.init + (* 190 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:153L + ~index:190L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 52L prods) ~dot:1L in + let lr0item = Lr0Item.init ~prod:(Array.get 52L prods) ~dot:3L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [24L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 24L; 25L; 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) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 38L] ) in lr0item, lr1item ); @@ -11397,30 +13687,25 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 52L); - (11L, Action.Reduce 52L); - (12L, Action.Reduce 52L); - (13L, Action.Reduce 52L); - (14L, Action.Reduce 52L); - (19L, Action.Reduce 52L); - (20L, Action.Reduce 52L); + (23L, Action.ShiftPrefix 168L); (24L, Action.Reduce 52L); - (26L, Action.Reduce 52L); + (25L, Action.ShiftPrefix 169L); + (38L, Action.Reduce 52L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 154 *) State.init + (* 191 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:154L + ~index:191L ~kernel:( Lr1Itemset.init [ ( let lr0item = Lr0Item.init ~prod:(Array.get 54L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 11L; 12L; 13L; 14L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [24L; 38L] ) in lr0item, lr1item ); @@ -11432,30 +13717,23 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 54L); - (11L, Action.Reduce 54L); - (12L, Action.Reduce 54L); - (13L, Action.Reduce 54L); - (14L, Action.Reduce 54L); - (19L, Action.Reduce 54L); - (20L, Action.Reduce 54L); (24L, Action.Reduce 54L); - (26L, Action.Reduce 54L); + (38L, Action.Reduce 54L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 155 *) State.init + (* 192 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:155L + ~index:192L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 56L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 55L prods) ~dot:3L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [10L; 19L; 20L; 24L; 26L] + Ordset.of_list (module Uns) [24L; 38L] ) in lr0item, lr1item ); @@ -11467,73 +13745,111 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (10L, Action.Reduce 56L); - (19L, Action.Reduce 56L); - (20L, Action.Reduce 56L); - (24L, Action.Reduce 56L); - (26L, Action.Reduce 56L); + (24L, Action.Reduce 55L); + (38L, Action.Reduce 55L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 156 *) State.init + (* 193 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:156L + ~index:193L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:2L in + let lr0item = Lr0Item.init ~prod:(Array.get 68L prods) ~dot:4L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 24L; 26L] + 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 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 + ~lr1ItemsetClosure:( + Lr1ItemsetClosure.init + ~index:194L + ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:1L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); ( - let lr0item = Lr0Item.init ~prod:(Array.get 63L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 65L prods) ~dot:4L 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) [19L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 25L; 30L] ) in lr0item, lr1item ); ] ) + ~added:( + Lr1Itemset.empty + ) ) ~actions:( Map.of_alist (module Uns) [ - (19L, Action.Reduce 63L); - (20L, Action.ShiftPrefix 146L); - (24L, Action.Reduce 63L); - (26L, Action.Reduce 63L); + (23L, Action.ShiftPrefix 168L); + (25L, Action.ShiftPrefix 169L); + (30L, Action.ShiftPrefix 197L); ] ) ~gotos:( - Map.of_alist (module Uns) [ - (65L, 159L); - ] + Map.empty (module Uns) ); - (* 157 *) State.init + (* 195 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:157L + ~index:195L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:1L in + let lr1item = Lr1Item.init ~lr0item ~follow:( + Ordset.of_list (module Uns) [23L; 25L; 38L] + ) in + lr0item, lr1item + ); + ( + let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:4L 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) [20L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 25L; 38L] ) in lr0item, lr1item ); @@ -11545,70 +13861,59 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (20L, Action.Reduce 66L); - (24L, Action.Reduce 66L); - (26L, Action.Reduce 66L); + (23L, Action.ShiftPrefix 168L); + (25L, Action.ShiftPrefix 169L); + (38L, Action.ShiftPrefix 198L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 158 *) State.init + (* 196 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:158L + ~index:196L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:2L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] - ) in - lr0item, lr1item - ); - ] - ) - ~added:( - Lr1Itemset.init [ - ( - let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:0L in - let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] - ) in - lr0item, lr1item - ); - ( - let lr0item = Lr0Item.init ~prod:(Array.get 68L prods) ~dot:0L in + let lr0item = Lr0Item.init ~prod:(Array.get 72L prods) ~dot:5L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [10L; 11L; 12L; 14L; 19L; 20L; 26L; 28L; 29L] ) in lr0item, lr1item ); ] ) + ~added:( + Lr1Itemset.empty + ) ) ~actions:( Map.of_alist (module Uns) [ - (20L, Action.ShiftPrefix 150L); - (24L, Action.Reduce 68L); - (26L, Action.Reduce 68L); + (10L, Action.Reduce 72L); + (11L, Action.Reduce 72L); + (12L, Action.Reduce 72L); + (14L, Action.Reduce 72L); + (19L, Action.Reduce 72L); + (20L, Action.Reduce 72L); + (26L, Action.Reduce 72L); + (28L, Action.Reduce 72L); + (29L, Action.Reduce 72L); ] ) ~gotos:( - Map.of_alist (module Uns) [ - (68L, 160L); - ] + Map.empty (module Uns) ); - (* 159 *) State.init + (* 197 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:159L + ~index:197L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 62L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 65L prods) ~dot:5L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [19L; 24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); @@ -11620,24 +13925,26 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (19L, Action.Reduce 62L); - (24L, Action.Reduce 62L); - (26L, Action.Reduce 62L); + (23L, Action.Reduce 65L); + (24L, Action.Reduce 65L); + (25L, Action.Reduce 65L); + (30L, Action.Reduce 65L); + (38L, Action.Reduce 65L); ] ) ~gotos:( Map.empty (module Uns) ); - (* 160 *) State.init + (* 198 *) State.init ~lr1ItemsetClosure:( Lr1ItemsetClosure.init - ~index:160L + ~index:198L ~kernel:( Lr1Itemset.init [ ( - let lr0item = Lr0Item.init ~prod:(Array.get 67L prods) ~dot:3L in + let lr0item = Lr0Item.init ~prod:(Array.get 66L prods) ~dot:5L in let lr1item = Lr1Item.init ~lr0item ~follow:( - Ordset.of_list (module Uns) [24L; 26L] + Ordset.of_list (module Uns) [23L; 24L; 25L; 30L; 38L] ) in lr0item, lr1item ); @@ -11649,8 +13956,11 @@ include struct ) ~actions:( Map.of_alist (module Uns) [ - (24L, Action.Reduce 67L); - (26L, Action.Reduce 67L); + (23L, Action.Reduce 66L); + (24L, Action.Reduce 66L); + (25L, Action.Reduce 66L); + (30L, Action.Reduce 66L); + (38L, Action.Reduce 66L); ] ) ~gotos:( @@ -11684,8 +13994,10 @@ include struct | ARROW of token_arrow (* "->" *) | BAR of token_bar (* "|" *) | LT of token_lt (* "<" *) + | EQ of token_eq (* "=" *) | COMMA of token_comma (* "," *) | SEMI of token_semi (* ";" *) + | AS of token_as (* "as" *) | LINE_DELIM of token_line_delim | INDENT of token_indent | DEDENT of token_dedent @@ -11725,23 +14037,25 @@ include struct | ARROW _ -> 19L | BAR _ -> 20L | LT _ -> 21L - | COMMA _ -> 22L - | SEMI _ -> 23L - | LINE_DELIM _ -> 24L - | INDENT _ -> 25L - | DEDENT _ -> 26L - | LPAREN _ -> 27L - | RPAREN _ -> 28L - | LCAPTURE _ -> 29L - | RCAPTURE _ -> 30L - | LBRACK _ -> 31L - | RBRACK _ -> 32L - | LARRAY _ -> 33L - | RARRAY _ -> 34L - | LCURLY _ -> 35L - | RCURLY _ -> 36L - | OTHER_TOKEN _ -> 37L - | EOI _ -> 38L + | EQ _ -> 22L + | COMMA _ -> 23L + | SEMI _ -> 24L + | AS _ -> 25L + | LINE_DELIM _ -> 26L + | INDENT _ -> 27L + | DEDENT _ -> 28L + | LPAREN _ -> 29L + | RPAREN _ -> 30L + | LCAPTURE _ -> 31L + | RCAPTURE _ -> 32L + | LBRACK _ -> 33L + | RBRACK _ -> 34L + | LARRAY _ -> 35L + | RARRAY _ -> 36L + | LCURLY _ -> 37L + | RCURLY _ -> 38L + | OTHER_TOKEN _ -> 39L + | EOI _ -> 40L let hash_fold t state = state |> Uns.hash_fold (index t) @@ -11763,7 +14077,6 @@ include struct module Nonterm = struct module T = struct type t = - | Ident of nonterm_ident | PrecsTl of nonterm_precs_tl | Precs of nonterm_precs | PrecRels of nonterm_prec_rels @@ -11783,6 +14096,12 @@ include struct | CodeToken of nonterm_code_token | CodeTl of nonterm_code_tl | Code of nonterm_code + | Binding of nonterm_binding + | PatternField of nonterm_pattern_field + | PatternFields of nonterm_pattern_fields + | SemiSuffix of nonterm_semi_suffix + | ModulePath of nonterm_module_path + | Pattern of nonterm_pattern | ProdParamSymbol of nonterm_prod_param_symbol | ProdParam of nonterm_prod_param | ProdParamsTl of nonterm_prod_params_tl @@ -11808,49 +14127,54 @@ include struct | Hmhi' of nonterm_hmhi let index = function - | Ident _ -> 39L - | PrecsTl _ -> 40L - | Precs _ -> 41L - | PrecRels _ -> 42L - | PrecType _ -> 43L - | Prec _ -> 44L - | SymbolTypeQualifier _ -> 45L - | SymbolType _ -> 46L - | SymbolType0 _ -> 47L - | PrecRef _ -> 48L - | TokenAlias _ -> 49L - | Token _ -> 50L - | Sep _ -> 51L - | CodesTl _ -> 52L - | Codes _ -> 53L - | Codes0 _ -> 54L - | Delimited _ -> 55L - | CodeToken _ -> 56L - | CodeTl _ -> 57L - | Code _ -> 58L - | ProdParamSymbol _ -> 59L - | ProdParam _ -> 60L - | ProdParamsTl _ -> 61L - | ProdParams _ -> 62L - | ProdPattern _ -> 63L - | Prod _ -> 64L - | ProdsTl _ -> 65L - | Prods _ -> 66L - | Reduction _ -> 67L - | ReductionsTl _ -> 68L - | Reductions _ -> 69L - | NontermType _ -> 70L - | Nonterm _ -> 71L - | Stmt _ -> 72L - | StmtsTl _ -> 73L - | Stmts _ -> 74L - | Hocc _ -> 75L - | MatterToken _ -> 76L - | Matter _ -> 77L - | Hmh _ -> 78L - | Hmh' _ -> 79L - | Hmhi _ -> 80L - | Hmhi' _ -> 81L + | PrecsTl _ -> 41L + | Precs _ -> 42L + | PrecRels _ -> 43L + | PrecType _ -> 44L + | Prec _ -> 45L + | SymbolTypeQualifier _ -> 46L + | SymbolType _ -> 47L + | SymbolType0 _ -> 48L + | PrecRef _ -> 49L + | TokenAlias _ -> 50L + | Token _ -> 51L + | Sep _ -> 52L + | CodesTl _ -> 53L + | Codes _ -> 54L + | Codes0 _ -> 55L + | Delimited _ -> 56L + | CodeToken _ -> 57L + | CodeTl _ -> 58L + | Code _ -> 59L + | Binding _ -> 60L + | PatternField _ -> 61L + | PatternFields _ -> 62L + | SemiSuffix _ -> 63L + | ModulePath _ -> 64L + | Pattern _ -> 65L + | ProdParamSymbol _ -> 66L + | ProdParam _ -> 67L + | ProdParamsTl _ -> 68L + | ProdParams _ -> 69L + | ProdPattern _ -> 70L + | Prod _ -> 71L + | ProdsTl _ -> 72L + | Prods _ -> 73L + | Reduction _ -> 74L + | ReductionsTl _ -> 75L + | Reductions _ -> 76L + | NontermType _ -> 77L + | Nonterm _ -> 78L + | Stmt _ -> 79L + | StmtsTl _ -> 80L + | Stmts _ -> 81L + | Hocc _ -> 82L + | MatterToken _ -> 83L + | Matter _ -> 84L + | Hmh _ -> 85L + | Hmh' _ -> 86L + | Hmhi _ -> 87L + | Hmhi' _ -> 88L let hash_fold t state = state |> Uns.hash_fold (index t) @@ -11981,215 +14305,185 @@ include struct let callbacks = [| (* 0 *) (function - | Elm.{symbol=Symbol.Token (UIDENT uident); _} - :: tl__hocc__ -> Symbol.Nonterm (Ident ( - (*______________________________________________________________________________*) -#308 "./Parse.hmh" -IdentUident {uident} - (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) - )), tl__hocc__ - | _ -> not_reached () - ); - (* 1 *) (function - | Elm.{symbol=Symbol.Token (CIDENT cident); _} - :: tl__hocc__ -> Symbol.Nonterm (Ident ( - (*______________________________________________________________________________*) -#309 "./Parse.hmh" -IdentCident {cident} - (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) - )), tl__hocc__ - | _ -> not_reached () - ); - (* 2 *) (function - | Elm.{symbol=Symbol.Token (USCORE uscore); _} - :: tl__hocc__ -> Symbol.Nonterm (Ident ( - (*______________________________________________________________________________*) -#310 "./Parse.hmh" -IdentUscore {uscore} - (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) - )), tl__hocc__ - | _ -> not_reached () - ); - (* 3 *) (function | Elm.{symbol=Symbol.Nonterm (PrecsTl precs_tl); _} :: Elm.{symbol=Symbol.Token (UIDENT uident); _} :: _ :: tl__hocc__ -> Symbol.Nonterm (PrecsTl ( (*______________________________________________________________________________*) -#313 "./Parse.hmh" +#335 "./Parse.hmh" PrecsTlUident {uident; precs_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 4 *) (function + (* 1 *) (function tl__hocc__ -> Symbol.Nonterm (PrecsTl ( (*______________________________________________________________________________*) -#314 "./Parse.hmh" +#336 "./Parse.hmh" PrecsTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 5 *) (function + (* 2 *) (function | Elm.{symbol=Symbol.Nonterm (PrecsTl precs_tl); _} :: Elm.{symbol=Symbol.Token (UIDENT uident); _} :: tl__hocc__ -> Symbol.Nonterm (Precs ( (*______________________________________________________________________________*) -#317 "./Parse.hmh" +#339 "./Parse.hmh" Precs {uident; precs_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 6 *) (function + (* 3 *) (function | Elm.{symbol=Symbol.Nonterm (Precs precs); _} :: _ :: tl__hocc__ -> Symbol.Nonterm (PrecRels ( (*______________________________________________________________________________*) -#320 "./Parse.hmh" +#342 "./Parse.hmh" PrecRelsPrecs {precs} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 7 *) (function + (* 4 *) (function tl__hocc__ -> Symbol.Nonterm (PrecRels ( (*______________________________________________________________________________*) -#321 "./Parse.hmh" +#343 "./Parse.hmh" PrecRelsEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 8 *) (function + (* 5 *) (function | _ :: tl__hocc__ -> Symbol.Nonterm (PrecType ( (*______________________________________________________________________________*) -#324 "./Parse.hmh" +#346 "./Parse.hmh" PrecTypeNeutral (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 9 *) (function + (* 6 *) (function | _ :: tl__hocc__ -> Symbol.Nonterm (PrecType ( (*______________________________________________________________________________*) -#325 "./Parse.hmh" +#347 "./Parse.hmh" PrecTypeLeft (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 10 *) (function + (* 7 *) (function | _ :: tl__hocc__ -> Symbol.Nonterm (PrecType ( (*______________________________________________________________________________*) -#326 "./Parse.hmh" +#348 "./Parse.hmh" PrecTypeRight (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 11 *) (function + (* 8 *) (function | Elm.{symbol=Symbol.Nonterm (PrecRels prec_rels); _} :: Elm.{symbol=Symbol.Token (UIDENT uident); _} :: Elm.{symbol=Symbol.Nonterm (PrecType prec_type); _} :: tl__hocc__ -> Symbol.Nonterm (Prec ( (*______________________________________________________________________________*) -#329 "./Parse.hmh" +#351 "./Parse.hmh" Prec {prec_type; uident; prec_rels} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 12 *) (function + (* 9 *) (function | Elm.{symbol=Symbol.Nonterm (SymbolTypeQualifier symbol_type_qualifier_tl); _} :: _ :: Elm.{symbol=Symbol.Token (CIDENT cident); _} :: tl__hocc__ -> Symbol.Nonterm (SymbolTypeQualifier ( (*______________________________________________________________________________*) -#333 "./Parse.hmh" +#355 "./Parse.hmh" SymbolTypeQualifier {cident; symbol_type_qualifier_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 13 *) (function + (* 10 *) (function tl__hocc__ -> Symbol.Nonterm (SymbolTypeQualifier ( (*______________________________________________________________________________*) -#334 "./Parse.hmh" +#356 "./Parse.hmh" SymbolTypeQualifierEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 14 *) (function + (* 11 *) (function | Elm.{symbol=Symbol.Token (UIDENT symbol_type); _} :: Elm.{symbol=Symbol.Nonterm (SymbolTypeQualifier symbol_type_qualifier); _} :: _ :: tl__hocc__ -> Symbol.Nonterm (SymbolType ( (*______________________________________________________________________________*) -#338 "./Parse.hmh" +#360 "./Parse.hmh" SymbolType {symbol_type_qualifier; symbol_type} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 15 *) (function + (* 12 *) (function | Elm.{symbol=Symbol.Nonterm (SymbolType symbol_type); _} :: tl__hocc__ -> Symbol.Nonterm (SymbolType0 ( (*______________________________________________________________________________*) -#341 "./Parse.hmh" +#363 "./Parse.hmh" SymbolType0SymbolType {symbol_type} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 16 *) (function + (* 13 *) (function tl__hocc__ -> Symbol.Nonterm (SymbolType0 ( (*______________________________________________________________________________*) -#342 "./Parse.hmh" +#364 "./Parse.hmh" SymbolType0Epsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 17 *) (function + (* 14 *) (function | Elm.{symbol=Symbol.Token (UIDENT uident); _} :: _ :: tl__hocc__ -> Symbol.Nonterm (PrecRef ( (*______________________________________________________________________________*) -#345 "./Parse.hmh" +#367 "./Parse.hmh" PrecRefUident {uident} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 18 *) (function + (* 15 *) (function tl__hocc__ -> Symbol.Nonterm (PrecRef ( (*______________________________________________________________________________*) -#346 "./Parse.hmh" +#368 "./Parse.hmh" PrecRefEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 19 *) (function + (* 16 *) (function | Elm.{symbol=Symbol.Token (ISTRING alias); _} :: tl__hocc__ -> Symbol.Nonterm (TokenAlias ( (*______________________________________________________________________________*) -#349 "./Parse.hmh" +#371 "./Parse.hmh" TokenAlias {alias} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 20 *) (function + (* 17 *) (function tl__hocc__ -> Symbol.Nonterm (TokenAlias ( (*______________________________________________________________________________*) -#350 "./Parse.hmh" +#372 "./Parse.hmh" TokenAliasEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 21 *) (function + (* 18 *) (function | Elm.{symbol=Symbol.Nonterm (PrecRef prec_ref); _} :: Elm.{symbol=Symbol.Nonterm (SymbolType0 symbol_type0); _} :: Elm.{symbol=Symbol.Nonterm (TokenAlias token_alias); _} @@ -12197,546 +14491,691 @@ TokenAliasEpsilon :: _ :: tl__hocc__ -> Symbol.Nonterm (Token ( (*______________________________________________________________________________*) -#354 "./Parse.hmh" +#376 "./Parse.hmh" Token {cident; token_alias; symbol_type0; prec_ref} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 22 *) (function + (* 19 *) (function | Elm.{symbol=Symbol.Token (LINE_DELIM line_delim); _} :: tl__hocc__ -> Symbol.Nonterm (Sep ( (*______________________________________________________________________________*) -#357 "./Parse.hmh" +#379 "./Parse.hmh" SepLineDelim {line_delim} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 23 *) (function + (* 20 *) (function | Elm.{symbol=Symbol.Token (SEMI semi); _} :: tl__hocc__ -> Symbol.Nonterm (Sep ( (*______________________________________________________________________________*) -#358 "./Parse.hmh" +#380 "./Parse.hmh" SepSemi {semi} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 24 *) (function + (* 21 *) (function | Elm.{symbol=Symbol.Token (BAR bar); _} :: tl__hocc__ -> Symbol.Nonterm (Sep ( (*______________________________________________________________________________*) -#359 "./Parse.hmh" +#381 "./Parse.hmh" SepBar {bar} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 25 *) (function + (* 22 *) (function | Elm.{symbol=Symbol.Nonterm (CodesTl codes_tl); _} :: Elm.{symbol=Symbol.Nonterm (Code code); _} :: Elm.{symbol=Symbol.Nonterm (Sep sep); _} :: tl__hocc__ -> Symbol.Nonterm (CodesTl ( (*______________________________________________________________________________*) -#362 "./Parse.hmh" +#384 "./Parse.hmh" CodesTlSepCode {sep; code; codes_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 26 *) (function + (* 23 *) (function tl__hocc__ -> Symbol.Nonterm (CodesTl ( (*______________________________________________________________________________*) -#363 "./Parse.hmh" +#385 "./Parse.hmh" CodesTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 27 *) (function + (* 24 *) (function | Elm.{symbol=Symbol.Nonterm (CodesTl codes_tl); _} :: Elm.{symbol=Symbol.Nonterm (Code code); _} :: tl__hocc__ -> Symbol.Nonterm (Codes ( (*______________________________________________________________________________*) -#366 "./Parse.hmh" +#388 "./Parse.hmh" Codes {code; codes_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 28 *) (function + (* 25 *) (function | Elm.{symbol=Symbol.Nonterm (Codes codes); _} :: tl__hocc__ -> Symbol.Nonterm (Codes0 ( (*______________________________________________________________________________*) -#369 "./Parse.hmh" +#391 "./Parse.hmh" Codes0Codes {codes} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 29 *) (function + (* 26 *) (function tl__hocc__ -> Symbol.Nonterm (Codes0 ( (*______________________________________________________________________________*) -#370 "./Parse.hmh" +#392 "./Parse.hmh" Codes0Epsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 30 *) (function + (* 27 *) (function | Elm.{symbol=Symbol.Token (DEDENT dedent); _} :: Elm.{symbol=Symbol.Nonterm (Codes codes); _} :: Elm.{symbol=Symbol.Token (INDENT indent); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -#373 "./Parse.hmh" +#395 "./Parse.hmh" DelimitedBlock {indent; codes; dedent} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 31 *) (function + (* 28 *) (function | Elm.{symbol=Symbol.Token (RPAREN rparen); _} :: Elm.{symbol=Symbol.Nonterm (Codes0 codes0); _} :: Elm.{symbol=Symbol.Token (LPAREN lparen); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -#374 "./Parse.hmh" +#396 "./Parse.hmh" DelimitedParen {lparen; codes0; rparen} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 32 *) (function + (* 29 *) (function | Elm.{symbol=Symbol.Token (RCAPTURE rcapture); _} :: Elm.{symbol=Symbol.Nonterm (Codes0 codes0); _} :: Elm.{symbol=Symbol.Token (LCAPTURE lcapture); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -#375 "./Parse.hmh" +#397 "./Parse.hmh" DelimitedCapture {lcapture; codes0; rcapture} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 33 *) (function + (* 30 *) (function | Elm.{symbol=Symbol.Token (RBRACK rbrack); _} :: Elm.{symbol=Symbol.Nonterm (Codes0 codes0); _} :: Elm.{symbol=Symbol.Token (LBRACK lbrack); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -#376 "./Parse.hmh" +#398 "./Parse.hmh" DelimitedList {lbrack; codes0; rbrack} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 34 *) (function + (* 31 *) (function | Elm.{symbol=Symbol.Token (RARRAY rarray); _} :: Elm.{symbol=Symbol.Nonterm (Codes0 codes0); _} :: Elm.{symbol=Symbol.Token (LARRAY larray); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -#377 "./Parse.hmh" +#399 "./Parse.hmh" DelimitedArray {larray; codes0; rarray} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 35 *) (function + (* 32 *) (function | Elm.{symbol=Symbol.Token (RCURLY rcurly); _} :: Elm.{symbol=Symbol.Nonterm (Codes0 codes0); _} :: Elm.{symbol=Symbol.Token (LCURLY lcurly); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -#378 "./Parse.hmh" +#400 "./Parse.hmh" DelimitedModule {lcurly; codes0; rcurly} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 36 *) (function + (* 33 *) (function | Elm.{symbol=Symbol.Token (OTHER_TOKEN token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#382 "./Parse.hmh" +#404 "./Parse.hmh" let OTHER_TOKEN {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 37 *) (function + (* 34 *) (function | Elm.{symbol=Symbol.Token (UIDENT token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#385 "./Parse.hmh" +#407 "./Parse.hmh" let UIDENT {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 38 *) (function + (* 35 *) (function | Elm.{symbol=Symbol.Token (CIDENT token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#388 "./Parse.hmh" +#410 "./Parse.hmh" let CIDENT {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 39 *) (function + (* 36 *) (function | Elm.{symbol=Symbol.Token (USCORE token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#391 "./Parse.hmh" +#413 "./Parse.hmh" let USCORE {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 40 *) (function + (* 37 *) (function | Elm.{symbol=Symbol.Token (ISTRING token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#394 "./Parse.hmh" +#416 "./Parse.hmh" let ISTRING {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 41 *) (function + (* 38 *) (function | Elm.{symbol=Symbol.Token (OF token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#397 "./Parse.hmh" +#419 "./Parse.hmh" let OF {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 42 *) (function + (* 39 *) (function | Elm.{symbol=Symbol.Token (COLON token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#400 "./Parse.hmh" +#422 "./Parse.hmh" let COLON {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 43 *) (function + (* 40 *) (function | Elm.{symbol=Symbol.Token (DOT token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -#403 "./Parse.hmh" +#425 "./Parse.hmh" let DOT {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 44 *) (function - | Elm.{symbol=Symbol.Token (ARROW token_); _} - :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( + (* 41 *) (function + | Elm.{symbol=Symbol.Token (ARROW token_); _} + :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( + (*______________________________________________________________________________*) +#428 "./Parse.hmh" +let ARROW {token_} = token_ in + CodeToken {token_} + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + | _ -> not_reached () + ); + (* 42 *) (function + | Elm.{symbol=Symbol.Token (LT token_); _} + :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( + (*______________________________________________________________________________*) +#431 "./Parse.hmh" +let LT {token_} = token_ in + CodeToken {token_} + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + | _ -> not_reached () + ); + (* 43 *) (function + | Elm.{symbol=Symbol.Token (EQ token_); _} + :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( + (*______________________________________________________________________________*) +#434 "./Parse.hmh" +let EQ {token_} = token_ in + CodeToken {token_} + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + | _ -> not_reached () + ); + (* 44 *) (function + | Elm.{symbol=Symbol.Token (COMMA token_); _} + :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( + (*______________________________________________________________________________*) +#437 "./Parse.hmh" +let COMMA {token_} = token_ in + CodeToken {token_} + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + | _ -> not_reached () + ); + (* 45 *) (function + | Elm.{symbol=Symbol.Nonterm (CodeTl code_tl); _} + :: Elm.{symbol=Symbol.Nonterm (Delimited delimited); _} + :: tl__hocc__ -> Symbol.Nonterm (CodeTl ( + (*______________________________________________________________________________*) +#441 "./Parse.hmh" +CodeTlDelimited {delimited; code_tl} + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + | _ -> not_reached () + ); + (* 46 *) (function + | Elm.{symbol=Symbol.Nonterm (CodeTl code_tl); _} + :: Elm.{symbol=Symbol.Nonterm (CodeToken code_token); _} + :: tl__hocc__ -> Symbol.Nonterm (CodeTl ( + (*______________________________________________________________________________*) +#442 "./Parse.hmh" +CodeTlCodeToken {code_token; code_tl} + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + | _ -> not_reached () + ); + (* 47 *) (function + tl__hocc__ -> Symbol.Nonterm (CodeTl ( + (*______________________________________________________________________________*) +#443 "./Parse.hmh" +CodeTlEpsilon + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + ); + (* 48 *) (function + | Elm.{symbol=Symbol.Nonterm (CodeTl code_tl); _} + :: Elm.{symbol=Symbol.Nonterm (Delimited delimited); _} + :: tl__hocc__ -> Symbol.Nonterm (Code ( + (*______________________________________________________________________________*) +#446 "./Parse.hmh" +CodeDelimited {delimited; code_tl} + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + | _ -> not_reached () + ); + (* 49 *) (function + | Elm.{symbol=Symbol.Nonterm (CodeTl code_tl); _} + :: Elm.{symbol=Symbol.Nonterm (CodeToken code_token); _} + :: tl__hocc__ -> Symbol.Nonterm (Code ( + (*______________________________________________________________________________*) +#447 "./Parse.hmh" +CodeCodeToken {code_token; code_tl} + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + | _ -> not_reached () + ); + (* 50 *) (function + | Elm.{symbol=Symbol.Token (UIDENT uident); _} + :: tl__hocc__ -> Symbol.Nonterm (Binding ( + (*______________________________________________________________________________*) +#450 "./Parse.hmh" +Binding {uident} + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + | _ -> not_reached () + ); + (* 51 *) (function + | Elm.{symbol=Symbol.Nonterm (Binding binding); _} + :: tl__hocc__ -> Symbol.Nonterm (PatternField ( + (*______________________________________________________________________________*) +#453 "./Parse.hmh" +PatternFieldBinding {binding} + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + | _ -> not_reached () + ); + (* 52 *) (function + | Elm.{symbol=Symbol.Nonterm (Pattern pattern); _} + :: _ + :: _ + :: tl__hocc__ -> Symbol.Nonterm (PatternField ( + (*______________________________________________________________________________*) +#454 "./Parse.hmh" +PatternFieldPattern {pattern} + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + | _ -> not_reached () + ); + (* 53 *) (function + | Elm.{symbol=Symbol.Nonterm (PatternField pattern_field); _} + :: tl__hocc__ -> Symbol.Nonterm (PatternFields ( + (*______________________________________________________________________________*) +#459 "./Parse.hmh" +PatternFieldsOne {pattern_field} + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + | _ -> not_reached () + ); + (* 54 *) (function + | Elm.{symbol=Symbol.Nonterm (PatternField pattern_field_b); _} + :: _ + :: Elm.{symbol=Symbol.Nonterm (PatternField pattern_field_a); _} + :: tl__hocc__ -> Symbol.Nonterm (PatternFields ( (*______________________________________________________________________________*) -#406 "./Parse.hmh" -let ARROW {token_} = token_ in - CodeToken {token_} +#461 "./Parse.hmh" +PatternFieldsMulti {pattern_field_a; pattern_field_b} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 45 *) (function - | Elm.{symbol=Symbol.Token (LT token_); _} - :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( + (* 55 *) (function + | _ + :: tl__hocc__ -> Symbol.Nonterm (SemiSuffix ( (*______________________________________________________________________________*) -#409 "./Parse.hmh" -let LT {token_} = token_ in - CodeToken {token_} +#465 "./Parse.hmh" +SemiSuffix (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 46 *) (function - | Elm.{symbol=Symbol.Token (COMMA token_); _} - :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( + (* 56 *) (function + | _ + :: tl__hocc__ -> Symbol.Nonterm (ModulePath ( (*______________________________________________________________________________*) -#412 "./Parse.hmh" -let COMMA {token_} = token_ in - CodeToken {token_} +#469 "./Parse.hmh" +ModulePath (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 47 *) (function - | Elm.{symbol=Symbol.Nonterm (CodeTl code_tl); _} - :: Elm.{symbol=Symbol.Nonterm (Delimited delimited); _} - :: tl__hocc__ -> Symbol.Nonterm (CodeTl ( + (* 57 *) (function + | _ + :: tl__hocc__ -> Symbol.Nonterm (Pattern ( (*______________________________________________________________________________*) -#416 "./Parse.hmh" -CodeTlDelimited {delimited; code_tl} +#473 "./Parse.hmh" +PatternUscore (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 48 *) (function - | Elm.{symbol=Symbol.Nonterm (CodeTl code_tl); _} - :: Elm.{symbol=Symbol.Nonterm (CodeToken code_token); _} - :: tl__hocc__ -> Symbol.Nonterm (CodeTl ( + (* 58 *) (function + | Elm.{symbol=Symbol.Nonterm (Binding binding); _} + :: tl__hocc__ -> Symbol.Nonterm (Pattern ( (*______________________________________________________________________________*) -#417 "./Parse.hmh" -CodeTlCodeToken {code_token; code_tl} +#476 "./Parse.hmh" +PatternBinding {binding} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 49 *) (function - tl__hocc__ -> Symbol.Nonterm (CodeTl ( + (* 59 *) (function + | _ + :: Elm.{symbol=Symbol.Nonterm (Pattern pattern); _} + :: _ + :: tl__hocc__ -> Symbol.Nonterm (Pattern ( (*______________________________________________________________________________*) -#418 "./Parse.hmh" -CodeTlEpsilon +#481 "./Parse.hmh" +PatternPattern {pattern} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ + | _ -> not_reached () ); - (* 50 *) (function - | Elm.{symbol=Symbol.Nonterm (CodeTl code_tl); _} - :: Elm.{symbol=Symbol.Nonterm (Delimited delimited); _} - :: tl__hocc__ -> Symbol.Nonterm (Code ( + (* 60 *) (function + | Elm.{symbol=Symbol.Nonterm (Pattern pattern_b); _} + :: _ + :: Elm.{symbol=Symbol.Nonterm (Pattern pattern_a); _} + :: tl__hocc__ -> Symbol.Nonterm (Pattern ( (*______________________________________________________________________________*) -#421 "./Parse.hmh" -CodeDelimited {delimited; code_tl} +#483 "./Parse.hmh" +PatternComma {pattern_a; pattern_b} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 51 *) (function - | Elm.{symbol=Symbol.Nonterm (CodeTl code_tl); _} - :: Elm.{symbol=Symbol.Nonterm (CodeToken code_token); _} - :: tl__hocc__ -> Symbol.Nonterm (Code ( + (* 61 *) (function + | _ + :: _ + :: Elm.{symbol=Symbol.Nonterm (PatternFields fields); _} + :: _ + :: tl__hocc__ -> Symbol.Nonterm (Pattern ( (*______________________________________________________________________________*) -#422 "./Parse.hmh" -CodeCodeToken {code_token; code_tl} +#485 "./Parse.hmh" +PatternFields {fields} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 52 *) (function + (* 62 *) (function | Elm.{symbol=Symbol.Token (CIDENT cident); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParamSymbol ( (*______________________________________________________________________________*) -#425 "./Parse.hmh" +#488 "./Parse.hmh" ProdParamSymbolCident {cident} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 53 *) (function + (* 63 *) (function | Elm.{symbol=Symbol.Token (ISTRING alias); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParamSymbol ( (*______________________________________________________________________________*) -#426 "./Parse.hmh" +#489 "./Parse.hmh" ProdParamSymbolAlias {alias} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 54 *) (function + (* 64 *) (function | Elm.{symbol=Symbol.Nonterm (ProdParamSymbol prod_param_symbol); _} :: _ - :: Elm.{symbol=Symbol.Nonterm (Ident ident); _} + :: Elm.{symbol=Symbol.Nonterm (Binding binding); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParam ( (*______________________________________________________________________________*) -#430 "./Parse.hmh" -ProdParamBinding {ident; prod_param_symbol} +#493 "./Parse.hmh" +ProdParamBinding {binding; prod_param_symbol} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 55 *) (function + (* 65 *) (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 ( (*______________________________________________________________________________*) -#431 "./Parse.hmh" +#495 "./Parse.hmh" +ProdParamPattern {lparen; pattern; rparen; prod_param_symbol} + (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) + )), tl__hocc__ + | _ -> not_reached () + ); + (* 66 *) (function + | Elm.{symbol=Symbol.Nonterm (ProdParamSymbol prod_param_symbol); _} + :: tl__hocc__ -> Symbol.Nonterm (ProdParam ( + (*______________________________________________________________________________*) +#497 "./Parse.hmh" ProdParam {prod_param_symbol} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 56 *) (function + (* 67 *) (function | Elm.{symbol=Symbol.Nonterm (ProdParamsTl prod_params_tl); _} :: Elm.{symbol=Symbol.Nonterm (ProdParam prod_param); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParamsTl ( (*______________________________________________________________________________*) -#435 "./Parse.hmh" +#501 "./Parse.hmh" ProdParamsTlProdParam {prod_param; prod_params_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 57 *) (function + (* 68 *) (function tl__hocc__ -> Symbol.Nonterm (ProdParamsTl ( (*______________________________________________________________________________*) -#436 "./Parse.hmh" +#502 "./Parse.hmh" ProdParamsTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 58 *) (function + (* 69 *) (function | Elm.{symbol=Symbol.Nonterm (ProdParamsTl prod_params_tl); _} :: Elm.{symbol=Symbol.Nonterm (ProdParam prod_param); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParams ( (*______________________________________________________________________________*) -#440 "./Parse.hmh" +#506 "./Parse.hmh" ProdParamsProdParam {prod_param; prod_params_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 59 *) (function + (* 70 *) (function | Elm.{symbol=Symbol.Nonterm (ProdParams prod_params); _} :: tl__hocc__ -> Symbol.Nonterm (ProdPattern ( (*______________________________________________________________________________*) -#443 "./Parse.hmh" +#509 "./Parse.hmh" ProdPatternParams {prod_params} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 60 *) (function + (* 71 *) (function | Elm.{symbol=Symbol.Token (EPSILON_ epsilon_); _} :: tl__hocc__ -> Symbol.Nonterm (ProdPattern ( (*______________________________________________________________________________*) -#444 "./Parse.hmh" +#510 "./Parse.hmh" ProdPatternEpsilon {epsilon_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 61 *) (function + (* 72 *) (function | Elm.{symbol=Symbol.Nonterm (PrecRef prec_ref); _} :: Elm.{symbol=Symbol.Nonterm (ProdPattern prod_pattern); _} :: tl__hocc__ -> Symbol.Nonterm (Prod ( (*______________________________________________________________________________*) -#447 "./Parse.hmh" +#513 "./Parse.hmh" Prod {prod_pattern; prec_ref} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 62 *) (function + (* 73 *) (function | Elm.{symbol=Symbol.Nonterm (ProdsTl prods_tl); _} :: Elm.{symbol=Symbol.Nonterm (Prod prod); _} :: _ :: tl__hocc__ -> Symbol.Nonterm (ProdsTl ( (*______________________________________________________________________________*) -#450 "./Parse.hmh" +#516 "./Parse.hmh" ProdsTlProd {prod; prods_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 63 *) (function + (* 74 *) (function tl__hocc__ -> Symbol.Nonterm (ProdsTl ( (*______________________________________________________________________________*) -#451 "./Parse.hmh" +#517 "./Parse.hmh" ProdsTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 64 *) (function + (* 75 *) (function | Elm.{symbol=Symbol.Nonterm (ProdsTl prods_tl); _} :: Elm.{symbol=Symbol.Nonterm (Prod prod); _} :: _ :: tl__hocc__ -> Symbol.Nonterm (Prods ( (*______________________________________________________________________________*) -#455 "./Parse.hmh" -ProdsProd {prod; prods_tl} - (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) - )), tl__hocc__ - | _ -> not_reached () - ); - (* 65 *) (function - | Elm.{symbol=Symbol.Nonterm (ProdsTl prods_tl); _} - :: Elm.{symbol=Symbol.Nonterm (Prod prod); _} - :: tl__hocc__ -> Symbol.Nonterm (Prods ( - (*______________________________________________________________________________*) -#455 "./Parse.hmh" +#521 "./Parse.hmh" ProdsProd {prod; prods_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 66 *) (function + (* 76 *) (function | Elm.{symbol=Symbol.Nonterm (Code code); _} :: _ :: Elm.{symbol=Symbol.Nonterm (Prods prods); _} :: tl__hocc__ -> Symbol.Nonterm (Reduction ( (*______________________________________________________________________________*) -#458 "./Parse.hmh" +#524 "./Parse.hmh" Reduction {prods; code} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 67 *) (function + (* 77 *) (function | Elm.{symbol=Symbol.Nonterm (ReductionsTl reductions_tl); _} :: Elm.{symbol=Symbol.Nonterm (Reduction reduction); _} :: _ :: tl__hocc__ -> Symbol.Nonterm (ReductionsTl ( (*______________________________________________________________________________*) -#462 "./Parse.hmh" +#528 "./Parse.hmh" ReductionsTlReduction {reduction; reductions_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 68 *) (function + (* 78 *) (function tl__hocc__ -> Symbol.Nonterm (ReductionsTl ( (*______________________________________________________________________________*) -#463 "./Parse.hmh" +#529 "./Parse.hmh" ReductionsTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 69 *) (function + (* 79 *) (function | Elm.{symbol=Symbol.Nonterm (ReductionsTl reductions_tl); _} :: Elm.{symbol=Symbol.Nonterm (Reduction reduction); _} :: tl__hocc__ -> Symbol.Nonterm (Reductions ( (*______________________________________________________________________________*) -#467 "./Parse.hmh" +#533 "./Parse.hmh" ReductionsReduction {reduction; reductions_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 70 *) (function + (* 80 *) (function | _ :: tl__hocc__ -> Symbol.Nonterm (NontermType ( (*______________________________________________________________________________*) -#470 "./Parse.hmh" +#536 "./Parse.hmh" NontermTypeNonterm (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 71 *) (function + (* 81 *) (function | _ :: tl__hocc__ -> Symbol.Nonterm (NontermType ( (*______________________________________________________________________________*) -#471 "./Parse.hmh" +#537 "./Parse.hmh" NontermTypeStart (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 72 *) (function + (* 82 *) (function | Elm.{symbol=Symbol.Nonterm (Prods prods); _} :: _ :: Elm.{symbol=Symbol.Nonterm (PrecRef prec_ref); _} @@ -12744,13 +15183,13 @@ NontermTypeStart :: Elm.{symbol=Symbol.Nonterm (NontermType nonterm_type); _} :: tl__hocc__ -> Symbol.Nonterm (Nonterm ( (*______________________________________________________________________________*) -#475 "./Parse.hmh" +#541 "./Parse.hmh" NontermProds {nonterm_type; cident; prec_ref; prods} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 73 *) (function + (* 83 *) (function | Elm.{symbol=Symbol.Nonterm (Reductions reductions); _} :: _ :: Elm.{symbol=Symbol.Nonterm (PrecRef prec_ref); _} @@ -12759,112 +15198,112 @@ NontermProds {nonterm_type; cident; prec_ref; prods} :: Elm.{symbol=Symbol.Nonterm (NontermType nonterm_type); _} :: tl__hocc__ -> Symbol.Nonterm (Nonterm ( (*______________________________________________________________________________*) -#478 "./Parse.hmh" +#544 "./Parse.hmh" NontermReductions {nonterm_type; cident; symbol_type; prec_ref; reductions} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 74 *) (function + (* 84 *) (function | Elm.{symbol=Symbol.Nonterm (Prec prec_); _} :: tl__hocc__ -> Symbol.Nonterm (Stmt ( (*______________________________________________________________________________*) -#481 "./Parse.hmh" +#547 "./Parse.hmh" StmtPrec {prec_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 75 *) (function + (* 85 *) (function | Elm.{symbol=Symbol.Nonterm (Token token_); _} :: tl__hocc__ -> Symbol.Nonterm (Stmt ( (*______________________________________________________________________________*) -#482 "./Parse.hmh" +#548 "./Parse.hmh" StmtToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 76 *) (function + (* 86 *) (function | Elm.{symbol=Symbol.Nonterm (Nonterm nonterm_); _} :: tl__hocc__ -> Symbol.Nonterm (Stmt ( (*______________________________________________________________________________*) -#483 "./Parse.hmh" +#549 "./Parse.hmh" StmtNonterm {nonterm_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 77 *) (function + (* 87 *) (function | Elm.{symbol=Symbol.Nonterm (Code code); _} :: tl__hocc__ -> Symbol.Nonterm (Stmt ( (*______________________________________________________________________________*) -#484 "./Parse.hmh" +#550 "./Parse.hmh" StmtCode {code} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 78 *) (function + (* 88 *) (function | Elm.{symbol=Symbol.Nonterm (StmtsTl stmts_tl); _} :: Elm.{symbol=Symbol.Nonterm (Stmt stmt); _} :: _ :: tl__hocc__ -> Symbol.Nonterm (StmtsTl ( (*______________________________________________________________________________*) -#487 "./Parse.hmh" +#553 "./Parse.hmh" StmtsTl {stmt; stmts_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 79 *) (function + (* 89 *) (function tl__hocc__ -> Symbol.Nonterm (StmtsTl ( (*______________________________________________________________________________*) -#488 "./Parse.hmh" +#554 "./Parse.hmh" StmtsTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 80 *) (function + (* 90 *) (function | Elm.{symbol=Symbol.Nonterm (StmtsTl stmts_tl); _} :: Elm.{symbol=Symbol.Nonterm (Stmt stmt); _} :: tl__hocc__ -> Symbol.Nonterm (Stmts ( (*______________________________________________________________________________*) -#491 "./Parse.hmh" +#557 "./Parse.hmh" Stmts {stmt; stmts_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 81 *) (function + (* 91 *) (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 ( (*______________________________________________________________________________*) -#494 "./Parse.hmh" +#560 "./Parse.hmh" Hocc {hocc_; indent; stmts; dedent} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 82 *) (function + (* 92 *) (function | Elm.{symbol=Symbol.Nonterm (CodeToken code_token); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#498 "./Parse.hmh" +#564 "./Parse.hmh" let CodeToken {token_} = code_token in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 83 *) (function + (* 93 *) (function | Elm.{symbol=Symbol.Nonterm (Sep sep); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#501 "./Parse.hmh" +#567 "./Parse.hmh" let token_ = match sep with | SepLineDelim {line_delim=LINE_DELIM {token_}} | SepSemi {semi=SEMI {token_}} @@ -12876,186 +15315,186 @@ let token_ = match sep with )), tl__hocc__ | _ -> not_reached () ); - (* 84 *) (function + (* 94 *) (function | Elm.{symbol=Symbol.Token (INDENT token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#509 "./Parse.hmh" +#575 "./Parse.hmh" let INDENT {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 85 *) (function + (* 95 *) (function | Elm.{symbol=Symbol.Token (DEDENT token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#512 "./Parse.hmh" +#578 "./Parse.hmh" let DEDENT {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 86 *) (function + (* 96 *) (function | Elm.{symbol=Symbol.Token (LPAREN token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#515 "./Parse.hmh" +#581 "./Parse.hmh" let LPAREN {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 87 *) (function + (* 97 *) (function | Elm.{symbol=Symbol.Token (RPAREN token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#518 "./Parse.hmh" +#584 "./Parse.hmh" let RPAREN {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 88 *) (function + (* 98 *) (function | Elm.{symbol=Symbol.Token (LCAPTURE token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#521 "./Parse.hmh" +#587 "./Parse.hmh" let LCAPTURE {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 89 *) (function + (* 99 *) (function | Elm.{symbol=Symbol.Token (RCAPTURE token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#524 "./Parse.hmh" +#590 "./Parse.hmh" let RCAPTURE {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 90 *) (function + (* 100 *) (function | Elm.{symbol=Symbol.Token (LBRACK token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#527 "./Parse.hmh" +#593 "./Parse.hmh" let LBRACK {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 91 *) (function + (* 101 *) (function | Elm.{symbol=Symbol.Token (RBRACK token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#530 "./Parse.hmh" +#596 "./Parse.hmh" let RBRACK {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 92 *) (function + (* 102 *) (function | Elm.{symbol=Symbol.Token (LARRAY token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#533 "./Parse.hmh" +#599 "./Parse.hmh" let LARRAY {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 93 *) (function + (* 103 *) (function | Elm.{symbol=Symbol.Token (RARRAY token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#536 "./Parse.hmh" +#602 "./Parse.hmh" let RARRAY {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 94 *) (function + (* 104 *) (function | Elm.{symbol=Symbol.Token (LCURLY token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#539 "./Parse.hmh" +#605 "./Parse.hmh" let LCURLY {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 95 *) (function + (* 105 *) (function | Elm.{symbol=Symbol.Token (RCURLY token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -#542 "./Parse.hmh" +#608 "./Parse.hmh" let RCURLY {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 96 *) (function + (* 106 *) (function | Elm.{symbol=Symbol.Nonterm (Matter matter); _} :: Elm.{symbol=Symbol.Nonterm (MatterToken matter_token); _} :: tl__hocc__ -> Symbol.Nonterm (Matter ( (*______________________________________________________________________________*) -#547 "./Parse.hmh" +#613 "./Parse.hmh" let MatterToken {token_} = matter_token in Matter {token_; matter} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 97 *) (function + (* 107 *) (function tl__hocc__ -> Symbol.Nonterm (Matter ( (*______________________________________________________________________________*) -#549 "./Parse.hmh" +#615 "./Parse.hmh" MatterEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); - (* 98 *) (function + (* 108 *) (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 ( (*______________________________________________________________________________*) -#552 "./Parse.hmh" +#618 "./Parse.hmh" Hmh {prelude; hocc_; postlude; eoi} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 99 *) (fun _stack -> not_reached ()); - (* 100 *) (function + (* 109 *) (fun _stack -> not_reached ()); + (* 110 *) (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 ( (*______________________________________________________________________________*) -#555 "./Parse.hmh" +#621 "./Parse.hmh" Hmhi {prelude; hocc_; postlude; eoi} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); - (* 101 *) (fun _stack -> not_reached ()) + (* 111 *) (fun _stack -> not_reached ()) |] let callback t = @@ -13262,7 +15701,7 @@ Hmhi {prelude; hocc_; postlude; eoi} | Status.Prefix -> t |> feed token |> walk | _ -> not_reached () end -#556 "./Parse.hmh" +#622 "./Parse.hmh" let rec scan scanner = let scanner, scan_token = Scan.next scanner in @@ -13284,8 +15723,10 @@ let rec scan scanner = | Tok_arrow _ -> Some (Token.ARROW (ARROW {token_=scan_token})) | Tok_bar _ -> Some (Token.BAR (BAR {token_=scan_token})) | Tok_lt _ -> Some (Token.LT (LT {token_=scan_token})) + | Tok_eq _ -> Some (Token.EQ (EQ {token_=scan_token})) | Tok_comma _ -> Some (Token.COMMA (COMMA {token_=scan_token})) | Tok_semi _ -> Some (Token.SEMI (SEMI {token_=scan_token})) + | Tok_as _ -> Some (Token.AS (AS {token_=scan_token})) | Tok_line_delim _ -> Some (Token.LINE_DELIM (LINE_DELIM {token_=scan_token})) | Tok_indent _ -> Some (Token.INDENT (INDENT {token_=scan_token})) | Tok_dedent _ -> Some (Token.DEDENT (DEDENT {token_=scan_token})) @@ -13442,48 +15883,20 @@ let token_source token_ = let source_of_token_uident = function | UIDENT {token_} -> token_source token_ -let source_of_token_cident = function - | CIDENT {token_} -> token_source token_ - -let source_of_token_uscore = function - | USCORE {token_} -> token_source token_ +let source_of_token_lparen = function + | LPAREN {token_} -> token_source token_ -let source_of_token_istring = function - | ISTRING {token_} -> token_source token_ +let source_of_token_rparen = function + | RPAREN {token_} -> token_source token_ -let source_of_token_epsilon = function - | EPSILON {token_} -> token_source token_ - -let rec source_of_ident = function - | IdentUident {uident} -> source_of_token_uident uident - | IdentCident {cident} -> source_of_token_cident cident - | IdentUscore {uscore} -> source_of_token_uscore uscore - - and source_of_prod_param_symbol = function - | ProdParamSymbolCident {cident} -> source_of_token_cident cident - | ProdParamSymbolAlias {alias} -> source_of_token_istring alias - - and source_of_prod_param = function - | ProdParamBinding {ident; prod_param_symbol} -> - source_of_ident ident - |> join_sources (source_of_prod_param_symbol prod_param_symbol) - | ProdParam {prod_param_symbol} -> - source_of_prod_param_symbol prod_param_symbol - - and source_of_prod_params_tl = function - | ProdParamsTlProdParam {prod_param; prod_params_tl} -> - source_of_prod_param prod_param - |> join_sources (source_of_prod_params_tl prod_params_tl) - | ProdParamsTlEpsilon -> None - - and source_of_prod_params = function - | ProdParamsProdParam {prod_param; prod_params_tl} -> - source_of_prod_param prod_param - |> join_sources (source_of_prod_params_tl prod_params_tl) - - and source_of_prod_pattern = function - | ProdPatternParams {prod_params} -> source_of_prod_params prod_params - | ProdPatternEpsilon {epsilon_} -> source_of_token_epsilon epsilon_ +let rec source_of_binding = function + | Binding {uident} -> source_of_token_uident uident + and source_of_prod_param_binding = function + | ProdParamBinding {binding; _} -> source_of_binding binding + | ProdParamPattern {lparen; rparen; _} -> + source_of_token_lparen lparen + |> join_sources (source_of_token_rparen rparen) + | ProdParam _ -> not_reached () (**************************************************************************************************) (* fmt_* functions. *) @@ -13608,6 +16021,12 @@ let rec pp_token_hocc (HOCC {token_}) formatter = |> Scan.Token.pp token_ |> Fmt.fmt "}" + and pp_token_eq (EQ {token_}) formatter = + formatter + |> Fmt.fmt "EQ {" + |> Scan.Token.pp token_ + |> Fmt.fmt "}" + and pp_token_comma (COMMA {token_}) formatter = formatter |> Fmt.fmt "COMMA {" @@ -13620,6 +16039,12 @@ let rec pp_token_hocc (HOCC {token_}) formatter = |> Scan.Token.pp token_ |> Fmt.fmt "}" + and pp_token_as (AS {token_}) formatter = + formatter + |> Fmt.fmt "AS {" + |> Scan.Token.pp token_ + |> Fmt.fmt "}" + and pp_token_line_delim (LINE_DELIM {token_}) formatter = formatter |> Fmt.fmt "LINE_DELIM {" @@ -13735,26 +16160,6 @@ let rec pp_token_hocc (HOCC {token_}) formatter = |> Fmt.fmt ~pad:" " ~just:Fmt.Left ~width:(width + 2L) "" |> Fmt.fmt "}" - and fmt_ident ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) ident formatter = - match ident with - | IdentUident {uident} -> - formatter |> Fmt.fmt "IdentUident " - |> fmt_lcurly ~alt ~width - |> Fmt.fmt "uident=" |> pp_token_uident uident - |> fmt_rcurly ~alt ~width - | IdentCident {cident} -> - formatter |> Fmt.fmt "IdentCident " - |> fmt_lcurly ~alt ~width - |> Fmt.fmt "cident=" |> pp_token_cident cident - |> fmt_rcurly ~alt ~width - | IdentUscore {uscore} -> - formatter |> Fmt.fmt "IdentUscore " - |> fmt_lcurly ~alt ~width - |> Fmt.fmt "uscore=" |> pp_token_uscore uscore - |> fmt_rcurly ~alt ~width - and pp_ident ident formatter = - fmt_ident ident formatter - and fmt_precs_tl ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) precs_tl formatter = let width' = width + 4L in match precs_tl with @@ -14070,6 +16475,89 @@ let rec pp_token_hocc (HOCC {token_}) formatter = and pp_code code formatter = fmt_code code formatter + and fmt_binding ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) binding formatter = + match binding with + | Binding {uident} -> + formatter |> Fmt.fmt "Binding " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "uident=" |> pp_token_uident uident + |> fmt_rcurly ~alt ~width + and pp_binding binding formatter = + fmt_binding binding formatter + + and fmt_pattern_field ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) pattern_field formatter = + let width' = width + 4L in + match pattern_field with + | PatternFieldBinding {binding} -> + formatter |> Fmt.fmt "PatternFieldBinding " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "binding=" |> fmt_binding ~alt ~width:width' binding + |> fmt_rcurly ~alt ~width + | PatternFieldPattern {pattern} -> + formatter |> Fmt.fmt "PatternFieldPattern " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "pattern=" |> fmt_pattern ~alt ~width:width' pattern + |> fmt_rcurly ~alt ~width + and pp_pattern_field pattern_field formatter = + fmt_pattern_field pattern_field formatter + + and fmt_pattern_fields ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) pattern_fields + formatter = + let width' = width + 4L in + match pattern_fields with + | PatternFieldsOne {pattern_field} -> + formatter |> Fmt.fmt "PatternFieldsOne " + |> 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} -> + formatter |> Fmt.fmt "PatternFieldsMulti " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "pattern_field_a=" |> fmt_pattern_field ~alt ~width:width' pattern_field_a + |> fmt_semi ~alt ~width + |> Fmt.fmt "pattern_field_b=" |> fmt_pattern_field ~alt ~width:width' pattern_field_b + |> fmt_rcurly ~alt ~width + and pp_pattern_fields pattern_fields formatter = + fmt_pattern_fields pattern_fields formatter + + and pp_semi_suffix semi_suffix formatter = + match semi_suffix with + | SemiSuffix -> formatter |> Fmt.fmt "SemiSuffix" + + and pp_module_path module_path formatter = + match module_path with + | ModulePath -> formatter |> Fmt.fmt "ModulePath" + + and fmt_pattern ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) pattern formatter = + let width' = width + 4L in + match pattern with + | PatternUscore -> + formatter |> Fmt.fmt "PatternUscore" + | PatternBinding {binding} -> + formatter |> Fmt.fmt "PatternBinding " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "binding=" |> fmt_binding ~alt ~width:width' binding + |> fmt_rcurly ~alt ~width + | PatternPattern {pattern} -> + formatter |> Fmt.fmt "PatternPattern " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "pattern=" |> fmt_pattern ~alt ~width:width' pattern + |> fmt_rcurly ~alt ~width + | PatternComma {pattern_a; pattern_b} -> + formatter |> Fmt.fmt "PatternComma " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "pattern_a=" |> fmt_pattern ~alt ~width:width' pattern_a + |> fmt_semi ~alt ~width + |> Fmt.fmt "pattern_b=" |> fmt_pattern ~alt ~width:width' pattern_b + |> fmt_rcurly ~alt ~width + | PatternFields {fields} -> + formatter |> Fmt.fmt "PatternFields " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "fields=" |> fmt_pattern_fields ~alt ~width:width' fields + |> fmt_rcurly ~alt ~width + and pp_pattern pattern formatter = + fmt_pattern pattern formatter + and fmt_prod_param_symbol ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) prod_param_symbol formatter = match prod_param_symbol with @@ -14089,10 +16577,22 @@ let rec pp_token_hocc (HOCC {token_}) formatter = and fmt_prod_param ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) prod_param formatter = let width' = width + 4L in match prod_param with - | ProdParamBinding {ident; prod_param_symbol} -> - formatter |> Fmt.fmt "ProdParam " + | ProdParamBinding {binding; prod_param_symbol} -> + formatter |> Fmt.fmt "ProdParamBinding " + |> fmt_lcurly ~alt ~width + |> Fmt.fmt "binding=" |> fmt_binding ~alt ~width:width' binding + |> fmt_semi ~alt ~width + |> Fmt.fmt "prod_param_symbol=" + |> fmt_prod_param_symbol ~alt ~width:width' prod_param_symbol + |> fmt_rcurly ~alt ~width + | ProdParamPattern {lparen; pattern; rparen; prod_param_symbol} -> + formatter |> Fmt.fmt "ProdParamPattern " |> fmt_lcurly ~alt ~width - |> Fmt.fmt "ident=" |> fmt_ident ~alt ~width:width' ident + |> Fmt.fmt "lparen=" |> pp_token_lparen lparen + |> fmt_semi ~alt ~width + |> Fmt.fmt "pattern=" |> fmt_pattern ~alt ~width:width' pattern + |> fmt_semi ~alt ~width + |> Fmt.fmt "rparen=" |> pp_token_rparen rparen |> fmt_semi ~alt ~width |> Fmt.fmt "prod_param_symbol=" |> fmt_prod_param_symbol ~alt ~width:width' prod_param_symbol @@ -14509,6 +17009,7 @@ let postlude_base_of_hocc (Hocc {stmts=Stmts {stmt; stmts_tl}; _}) = | ProdParamSymbolAlias {alias=ISTRING {token_=alias}} -> alias and of_prod_param = function | ProdParamBinding {prod_param_symbol; _} + | ProdParamPattern {prod_param_symbol; _} | ProdParam {prod_param_symbol} -> of_prod_param_symbol prod_param_symbol and of_prod_params_tl = function | ProdParamsTlProdParam {prod_param; prod_params_tl} -> begin