From bee975aaa3d495bc6217ed55aa5f711583504a66 Mon Sep 17 00:00:00 2001 From: Jason Evans Date: Tue, 20 Aug 2024 18:41:13 -0700 Subject: [PATCH] Simplify SymbolType0 (was OfSymbolType0) --- bootstrap/bin/hocc/Parse.hmh | 48 +++---- bootstrap/bin/hocc/Parse.ml | 258 +++++++++++++++++------------------ bootstrap/bin/hocc/spec.ml | 8 +- 3 files changed, 157 insertions(+), 157 deletions(-) diff --git a/bootstrap/bin/hocc/Parse.hmh b/bootstrap/bin/hocc/Parse.hmh index 90888118..f206a0e9 100644 --- a/bootstrap/bin/hocc/Parse.hmh +++ b/bootstrap/bin/hocc/Parse.hmh @@ -153,9 +153,9 @@ type nonterm_ident = and nonterm_symbol_type = | SymbolType of {symbol_type_qualifier: nonterm_symbol_type_qualifier; symbol_type: token_uident} - and nonterm_of_symbol_type0 = - | OfSymbolType0SymbolType of {symbol_type: nonterm_symbol_type} - | OfSymbolType0Epsilon + and nonterm_symbol_type0 = + | SymbolType0SymbolType of {symbol_type: nonterm_symbol_type} + | SymbolType0Epsilon and nonterm_prec_ref = | PrecRefUident of {uident: token_uident} | PrecRefEpsilon @@ -164,7 +164,7 @@ type nonterm_ident = | TokenAliasEpsilon and nonterm_token = | Token of {token_: Scan.Token.t; cident: token_cident; token_alias: nonterm_token_alias; - of_symbol_type0: nonterm_of_symbol_type0; prec_ref: nonterm_prec_ref} + symbol_type0: nonterm_symbol_type0; prec_ref: nonterm_prec_ref} and nonterm_sep = | SepLineDelim of {line_delim: Scan.Token.t} | SepSemi of {semi: Scan.Token.t} @@ -342,9 +342,9 @@ include hocc | "of" symbol_type_qualifier:SymbolTypeQualifier symbol_type:UIDENT -> SymbolType {symbol_type_qualifier; symbol_type} - nonterm OfSymbolType0 of nonterm_of_symbol_type0 ::= - | symbol_type:SymbolType -> OfSymbolType0SymbolType {symbol_type} - | epsilon -> OfSymbolType0Epsilon + nonterm SymbolType0 of nonterm_symbol_type0 ::= + | symbol_type:SymbolType -> SymbolType0SymbolType {symbol_type} + | epsilon -> SymbolType0Epsilon nonterm PrecRef of nonterm_prec_ref ::= | "prec" uident:UIDENT -> PrecRefUident {uident} @@ -355,10 +355,10 @@ include hocc | epsilon -> TokenAliasEpsilon nonterm Token of nonterm_token ::= - | token_:"token" cident:CIDENT token_alias:TokenAlias of_symbol_type0:OfSymbolType0 + | token_:"token" cident:CIDENT token_alias:TokenAlias symbol_type0:SymbolType0 prec_ref:PrecRef -> let TOKEN {token_} = token_ in - Token {token_; cident; token_alias; of_symbol_type0; prec_ref} + Token {token_; cident; token_alias; symbol_type0; prec_ref} nonterm Sep of nonterm_sep ::= | line_delim:LINE_DELIM -> @@ -1187,19 +1187,19 @@ let rec pp_token_hocc (HOCC {token_}) formatter = and pp_symbol_type symbol_type formatter = fmt_symbol_type symbol_type formatter - and fmt_of_symbol_type0 ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) of_symbol_type0 + and fmt_symbol_type0 ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) symbol_type0 formatter = let width' = width + 4L in - match of_symbol_type0 with - | OfSymbolType0SymbolType {symbol_type} -> - formatter |> Fmt.fmt "OfSymbolType0SymbolType " + match symbol_type0 with + | SymbolType0SymbolType {symbol_type} -> + formatter |> Fmt.fmt "SymbolType0SymbolType " |> fmt_lcurly ~alt ~width |> Fmt.fmt "symbol_type=" |> fmt_symbol_type ~alt ~width:width' symbol_type |> fmt_rcurly ~alt ~width - | OfSymbolType0Epsilon -> - formatter |> Fmt.fmt "OfSymbolType0Epsilon" - and pp_of_symbol_type0 of_symbol_type0 formatter = - fmt_of_symbol_type0 of_symbol_type0 formatter + | SymbolType0Epsilon -> + formatter |> Fmt.fmt "SymbolType0Epsilon" + and pp_symbol_type0 symbol_type0 formatter = + fmt_symbol_type0 symbol_type0 formatter and fmt_prec_ref ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) prec_ref formatter = match prec_ref with @@ -1228,7 +1228,7 @@ let rec pp_token_hocc (HOCC {token_}) formatter = and fmt_token ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) token_ formatter = let width' = width + 4L in match token_ with - | Token {token_; cident; token_alias; of_symbol_type0; prec_ref} -> + | Token {token_; cident; token_alias; symbol_type0; prec_ref} -> formatter |> Fmt.fmt "Token " |> fmt_lcurly ~alt ~width |> Fmt.fmt "token_=" |> Scan.Token.pp token_ @@ -1237,7 +1237,7 @@ let rec pp_token_hocc (HOCC {token_}) formatter = |> fmt_semi ~alt ~width |> Fmt.fmt "token_alias=" |> fmt_token_alias ~alt ~width:width' token_alias |> fmt_semi ~alt ~width - |> Fmt.fmt "of_symbol_type0=" |> fmt_of_symbol_type0 ~alt ~width:width' of_symbol_type0 + |> Fmt.fmt "symbol_type0=" |> fmt_symbol_type0 ~alt ~width:width' symbol_type0 |> fmt_semi ~alt ~width |> Fmt.fmt "prec_ref=" |> fmt_prec_ref ~alt ~width:width' prec_ref |> fmt_rcurly ~alt ~width @@ -1848,9 +1848,9 @@ let postlude_base_of_hocc (Hocc {stmts=Stmts {stmt; stmts_tl}; _}) = | PrecRelsEpsilon -> None and of_symbol_type = function | SymbolType {symbol_type=UIDENT {token_}; _} -> token_ - and of_of_symbol_type0 = function - | OfSymbolType0SymbolType {symbol_type} -> Some (of_symbol_type symbol_type) - | OfSymbolType0Epsilon -> None + and of_symbol_type0 = function + | SymbolType0SymbolType {symbol_type} -> Some (of_symbol_type symbol_type) + | SymbolType0Epsilon -> None and of_prec_ref = function | PrecRefUident {uident=UIDENT {token_}} -> Some token_ | PrecRefEpsilon -> None @@ -1915,10 +1915,10 @@ let postlude_base_of_hocc (Hocc {stmts=Stmts {stmt; stmts_tl}; _}) = of_prec_rels prec_rels |> Option.value_or_thunk ~f:(fun () -> uident) end - | StmtToken {token_=Token {cident=CIDENT {token_=cident}; token_alias; of_symbol_type0; + | StmtToken {token_=Token {cident=CIDENT {token_=cident}; token_alias; symbol_type0; prec_ref; _}} -> begin of_prec_ref prec_ref - |> Option.some_or_thunk ~f:(fun () -> of_of_symbol_type0 of_symbol_type0) + |> Option.some_or_thunk ~f:(fun () -> of_symbol_type0 symbol_type0) |> Option.some_or_thunk ~f:(fun () -> of_token_alias token_alias) |> Option.value_or_thunk ~f:(fun () -> cident) end diff --git a/bootstrap/bin/hocc/Parse.ml b/bootstrap/bin/hocc/Parse.ml index 2e7cc37d..b0566a48 100644 --- a/bootstrap/bin/hocc/Parse.ml +++ b/bootstrap/bin/hocc/Parse.ml @@ -146,9 +146,9 @@ type nonterm_ident = and nonterm_symbol_type = | SymbolType of {symbol_type_qualifier: nonterm_symbol_type_qualifier; symbol_type: token_uident} - and nonterm_of_symbol_type0 = - | OfSymbolType0SymbolType of {symbol_type: nonterm_symbol_type} - | OfSymbolType0Epsilon + and nonterm_symbol_type0 = + | SymbolType0SymbolType of {symbol_type: nonterm_symbol_type} + | SymbolType0Epsilon and nonterm_prec_ref = | PrecRefUident of {uident: token_uident} | PrecRefEpsilon @@ -157,7 +157,7 @@ type nonterm_ident = | TokenAliasEpsilon and nonterm_token = | Token of {token_: Scan.Token.t; cident: token_cident; token_alias: nonterm_token_alias; - of_symbol_type0: nonterm_of_symbol_type0; prec_ref: nonterm_prec_ref} + symbol_type0: nonterm_symbol_type0; prec_ref: nonterm_prec_ref} and nonterm_sep = | SepLineDelim of {line_delim: Scan.Token.t} | SepSemi of {semi: Scan.Token.t} @@ -834,7 +834,7 @@ include struct ~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:"OfSymbolType0" + Symbol.init ~index:47L ~name:"SymbolType0" ~prec:None ~alias:None ~start:false ~prods:(Ordset.of_list (module Prod) [ Array.get 15L prods; @@ -11776,7 +11776,7 @@ include struct | Prec of nonterm_prec | SymbolTypeQualifier of nonterm_symbol_type_qualifier | SymbolType of nonterm_symbol_type - | OfSymbolType0 of nonterm_of_symbol_type0 + | SymbolType0 of nonterm_symbol_type0 | PrecRef of nonterm_prec_ref | TokenAlias of nonterm_token_alias | Token of nonterm_token @@ -11821,7 +11821,7 @@ include struct | Prec _ -> 44L | SymbolTypeQualifier _ -> 45L | SymbolType _ -> 46L - | OfSymbolType0 _ -> 47L + | SymbolType0 _ -> 47L | PrecRef _ -> 48L | TokenAlias _ -> 49L | Token _ -> 50L @@ -11989,7 +11989,7 @@ include struct | Elm.{symbol=Symbol.Token (UIDENT uident); _} :: tl__hocc__ -> Symbol.Nonterm (Ident ( (*______________________________________________________________________________*) -(* #313 "./Parse.hmh" *) +#313 "./Parse.hmh" IdentUident {uident} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -11999,7 +11999,7 @@ IdentUident {uident} | Elm.{symbol=Symbol.Token (CIDENT cident); _} :: tl__hocc__ -> Symbol.Nonterm (Ident ( (*______________________________________________________________________________*) -(* #314 "./Parse.hmh" *) +#314 "./Parse.hmh" IdentCident {cident} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12009,7 +12009,7 @@ IdentCident {cident} | Elm.{symbol=Symbol.Token (USCORE uscore); _} :: tl__hocc__ -> Symbol.Nonterm (Ident ( (*______________________________________________________________________________*) -(* #315 "./Parse.hmh" *) +#315 "./Parse.hmh" IdentUscore {uscore} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12021,7 +12021,7 @@ IdentUscore {uscore} :: _ :: tl__hocc__ -> Symbol.Nonterm (PrecsTl ( (*______________________________________________________________________________*) -(* #318 "./Parse.hmh" *) +#318 "./Parse.hmh" PrecsTlUident {uident; precs_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12030,7 +12030,7 @@ PrecsTlUident {uident; precs_tl} (* 4 *) (function tl__hocc__ -> Symbol.Nonterm (PrecsTl ( (*______________________________________________________________________________*) -(* #319 "./Parse.hmh" *) +#319 "./Parse.hmh" PrecsTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12040,7 +12040,7 @@ PrecsTlEpsilon :: Elm.{symbol=Symbol.Token (UIDENT uident); _} :: tl__hocc__ -> Symbol.Nonterm (Precs ( (*______________________________________________________________________________*) -(* #322 "./Parse.hmh" *) +#322 "./Parse.hmh" Precs {uident; precs_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12051,7 +12051,7 @@ Precs {uident; precs_tl} :: _ :: tl__hocc__ -> Symbol.Nonterm (PrecRels ( (*______________________________________________________________________________*) -(* #325 "./Parse.hmh" *) +#325 "./Parse.hmh" PrecRelsPrecs {precs} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12060,7 +12060,7 @@ PrecRelsPrecs {precs} (* 7 *) (function tl__hocc__ -> Symbol.Nonterm (PrecRels ( (*______________________________________________________________________________*) -(* #326 "./Parse.hmh" *) +#326 "./Parse.hmh" PrecRelsEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12069,7 +12069,7 @@ PrecRelsEpsilon | _ :: tl__hocc__ -> Symbol.Nonterm (PrecType ( (*______________________________________________________________________________*) -(* #329 "./Parse.hmh" *) +#329 "./Parse.hmh" PrecTypeNeutral (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12079,7 +12079,7 @@ PrecTypeNeutral | _ :: tl__hocc__ -> Symbol.Nonterm (PrecType ( (*______________________________________________________________________________*) -(* #330 "./Parse.hmh" *) +#330 "./Parse.hmh" PrecTypeLeft (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12089,7 +12089,7 @@ PrecTypeLeft | _ :: tl__hocc__ -> Symbol.Nonterm (PrecType ( (*______________________________________________________________________________*) -(* #331 "./Parse.hmh" *) +#331 "./Parse.hmh" PrecTypeRight (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12101,7 +12101,7 @@ PrecTypeRight :: Elm.{symbol=Symbol.Nonterm (PrecType prec_type); _} :: tl__hocc__ -> Symbol.Nonterm (Prec ( (*______________________________________________________________________________*) -(* #334 "./Parse.hmh" *) +#334 "./Parse.hmh" Prec {prec_type; uident; prec_rels} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12113,7 +12113,7 @@ Prec {prec_type; uident; prec_rels} :: Elm.{symbol=Symbol.Token (CIDENT cident); _} :: tl__hocc__ -> Symbol.Nonterm (SymbolTypeQualifier ( (*______________________________________________________________________________*) -(* #338 "./Parse.hmh" *) +#338 "./Parse.hmh" SymbolTypeQualifier {cident; symbol_type_qualifier_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12122,7 +12122,7 @@ SymbolTypeQualifier {cident; symbol_type_qualifier_tl} (* 13 *) (function tl__hocc__ -> Symbol.Nonterm (SymbolTypeQualifier ( (*______________________________________________________________________________*) -(* #339 "./Parse.hmh" *) +#339 "./Parse.hmh" SymbolTypeQualifierEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12133,7 +12133,7 @@ SymbolTypeQualifierEpsilon :: _ :: tl__hocc__ -> Symbol.Nonterm (SymbolType ( (*______________________________________________________________________________*) -(* #343 "./Parse.hmh" *) +#343 "./Parse.hmh" SymbolType {symbol_type_qualifier; symbol_type} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12141,19 +12141,19 @@ SymbolType {symbol_type_qualifier; symbol_type} ); (* 15 *) (function | Elm.{symbol=Symbol.Nonterm (SymbolType symbol_type); _} - :: tl__hocc__ -> Symbol.Nonterm (OfSymbolType0 ( + :: tl__hocc__ -> Symbol.Nonterm (SymbolType0 ( (*______________________________________________________________________________*) -(* #346 "./Parse.hmh" *) -OfSymbolType0SymbolType {symbol_type} +#346 "./Parse.hmh" +SymbolType0SymbolType {symbol_type} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () ); (* 16 *) (function - tl__hocc__ -> Symbol.Nonterm (OfSymbolType0 ( + tl__hocc__ -> Symbol.Nonterm (SymbolType0 ( (*______________________________________________________________________________*) -(* #347 "./Parse.hmh" *) -OfSymbolType0Epsilon +#347 "./Parse.hmh" +SymbolType0Epsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); @@ -12162,7 +12162,7 @@ OfSymbolType0Epsilon :: _ :: tl__hocc__ -> Symbol.Nonterm (PrecRef ( (*______________________________________________________________________________*) -(* #350 "./Parse.hmh" *) +#350 "./Parse.hmh" PrecRefUident {uident} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12171,7 +12171,7 @@ PrecRefUident {uident} (* 18 *) (function tl__hocc__ -> Symbol.Nonterm (PrecRef ( (*______________________________________________________________________________*) -(* #351 "./Parse.hmh" *) +#351 "./Parse.hmh" PrecRefEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12180,7 +12180,7 @@ PrecRefEpsilon | Elm.{symbol=Symbol.Token (ISTRING alias); _} :: tl__hocc__ -> Symbol.Nonterm (TokenAlias ( (*______________________________________________________________________________*) -(* #354 "./Parse.hmh" *) +#354 "./Parse.hmh" TokenAlias {alias} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12189,22 +12189,22 @@ TokenAlias {alias} (* 20 *) (function tl__hocc__ -> Symbol.Nonterm (TokenAlias ( (*______________________________________________________________________________*) -(* #355 "./Parse.hmh" *) +#355 "./Parse.hmh" TokenAliasEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ ); (* 21 *) (function | Elm.{symbol=Symbol.Nonterm (PrecRef prec_ref); _} - :: Elm.{symbol=Symbol.Nonterm (OfSymbolType0 of_symbol_type0); _} + :: Elm.{symbol=Symbol.Nonterm (SymbolType0 symbol_type0); _} :: Elm.{symbol=Symbol.Nonterm (TokenAlias token_alias); _} :: Elm.{symbol=Symbol.Token (CIDENT cident); _} :: Elm.{symbol=Symbol.Token (TOKEN token_); _} :: tl__hocc__ -> Symbol.Nonterm (Token ( (*______________________________________________________________________________*) -(* #360 "./Parse.hmh" *) +#360 "./Parse.hmh" let TOKEN {token_} = token_ in - Token {token_; cident; token_alias; of_symbol_type0; prec_ref} + Token {token_; cident; token_alias; symbol_type0; prec_ref} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ | _ -> not_reached () @@ -12213,7 +12213,7 @@ let TOKEN {token_} = token_ in | Elm.{symbol=Symbol.Token (LINE_DELIM line_delim); _} :: tl__hocc__ -> Symbol.Nonterm (Sep ( (*______________________________________________________________________________*) -(* #365 "./Parse.hmh" *) +#365 "./Parse.hmh" let LINE_DELIM {token_=line_delim} = line_delim in SepLineDelim {line_delim} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12224,7 +12224,7 @@ let LINE_DELIM {token_=line_delim} = line_delim in | Elm.{symbol=Symbol.Token (SEMI semi); _} :: tl__hocc__ -> Symbol.Nonterm (Sep ( (*______________________________________________________________________________*) -(* #368 "./Parse.hmh" *) +#368 "./Parse.hmh" let SEMI {token_=semi} = semi in SepSemi {semi} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12235,7 +12235,7 @@ let SEMI {token_=semi} = semi in | Elm.{symbol=Symbol.Token (BAR bar); _} :: tl__hocc__ -> Symbol.Nonterm (Sep ( (*______________________________________________________________________________*) -(* #371 "./Parse.hmh" *) +#371 "./Parse.hmh" let BAR {token_=bar} = bar in SepBar {bar} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12248,7 +12248,7 @@ let BAR {token_=bar} = bar in :: Elm.{symbol=Symbol.Nonterm (Sep sep); _} :: tl__hocc__ -> Symbol.Nonterm (CodesTl ( (*______________________________________________________________________________*) -(* #375 "./Parse.hmh" *) +#375 "./Parse.hmh" CodesTlSepCode {sep; code; codes_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12257,7 +12257,7 @@ CodesTlSepCode {sep; code; codes_tl} (* 26 *) (function tl__hocc__ -> Symbol.Nonterm (CodesTl ( (*______________________________________________________________________________*) -(* #376 "./Parse.hmh" *) +#376 "./Parse.hmh" CodesTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12267,7 +12267,7 @@ CodesTlEpsilon :: Elm.{symbol=Symbol.Nonterm (Code code); _} :: tl__hocc__ -> Symbol.Nonterm (Codes ( (*______________________________________________________________________________*) -(* #379 "./Parse.hmh" *) +#379 "./Parse.hmh" Codes {code; codes_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12277,7 +12277,7 @@ Codes {code; codes_tl} | Elm.{symbol=Symbol.Nonterm (Codes codes); _} :: tl__hocc__ -> Symbol.Nonterm (Codes0 ( (*______________________________________________________________________________*) -(* #382 "./Parse.hmh" *) +#382 "./Parse.hmh" Codes0Codes {codes} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12286,7 +12286,7 @@ Codes0Codes {codes} (* 29 *) (function tl__hocc__ -> Symbol.Nonterm (Codes0 ( (*______________________________________________________________________________*) -(* #383 "./Parse.hmh" *) +#383 "./Parse.hmh" Codes0Epsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12297,7 +12297,7 @@ Codes0Epsilon :: Elm.{symbol=Symbol.Token (INDENT indent); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -(* #387 "./Parse.hmh" *) +#387 "./Parse.hmh" let INDENT {token_=indent} = indent in let DEDENT {token_=dedent} = dedent in DelimitedBlock {indent; codes; dedent} @@ -12311,7 +12311,7 @@ let INDENT {token_=indent} = indent in :: Elm.{symbol=Symbol.Token (LPAREN lparen); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -(* #391 "./Parse.hmh" *) +#391 "./Parse.hmh" let LPAREN {token_=lparen} = lparen in let RPAREN {token_=rparen} = rparen in DelimitedParen {lparen; codes0; rparen} @@ -12325,7 +12325,7 @@ let LPAREN {token_=lparen} = lparen in :: Elm.{symbol=Symbol.Token (LCAPTURE lcapture); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -(* #395 "./Parse.hmh" *) +#395 "./Parse.hmh" let LCAPTURE {token_=lcapture} = lcapture in let RCAPTURE {token_=rcapture} = rcapture in DelimitedCapture {lcapture; codes0; rcapture} @@ -12339,7 +12339,7 @@ let LCAPTURE {token_=lcapture} = lcapture in :: Elm.{symbol=Symbol.Token (LBRACK lbrack); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -(* #399 "./Parse.hmh" *) +#399 "./Parse.hmh" let LBRACK {token_=lbrack} = lbrack in let RBRACK {token_=rbrack} = rbrack in DelimitedList {lbrack; codes0; rbrack} @@ -12353,7 +12353,7 @@ let LBRACK {token_=lbrack} = lbrack in :: Elm.{symbol=Symbol.Token (LARRAY larray); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -(* #403 "./Parse.hmh" *) +#403 "./Parse.hmh" let LARRAY {token_=larray} = larray in let RARRAY {token_=rarray} = rarray in DelimitedArray {larray; codes0; rarray} @@ -12367,7 +12367,7 @@ let LARRAY {token_=larray} = larray in :: Elm.{symbol=Symbol.Token (LCURLY lcurly); _} :: tl__hocc__ -> Symbol.Nonterm (Delimited ( (*______________________________________________________________________________*) -(* #407 "./Parse.hmh" *) +#407 "./Parse.hmh" let LCURLY {token_=lcurly} = lcurly in let RCURLY {token_=rcurly} = rcurly in DelimitedModule {lcurly; codes0; rcurly} @@ -12379,7 +12379,7 @@ let LCURLY {token_=lcurly} = lcurly in | Elm.{symbol=Symbol.Token (OTHER_TOKEN token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -(* #413 "./Parse.hmh" *) +#413 "./Parse.hmh" let OTHER_TOKEN {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12390,7 +12390,7 @@ let OTHER_TOKEN {token_} = token_ in | Elm.{symbol=Symbol.Token (UIDENT token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -(* #416 "./Parse.hmh" *) +#416 "./Parse.hmh" let UIDENT {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12401,7 +12401,7 @@ let UIDENT {token_} = token_ in | Elm.{symbol=Symbol.Token (CIDENT token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -(* #419 "./Parse.hmh" *) +#419 "./Parse.hmh" let CIDENT {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12412,7 +12412,7 @@ let CIDENT {token_} = token_ in | Elm.{symbol=Symbol.Token (USCORE token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -(* #422 "./Parse.hmh" *) +#422 "./Parse.hmh" let USCORE {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12423,7 +12423,7 @@ let USCORE {token_} = token_ in | Elm.{symbol=Symbol.Token (ISTRING token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -(* #425 "./Parse.hmh" *) +#425 "./Parse.hmh" let ISTRING {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12434,7 +12434,7 @@ let ISTRING {token_} = token_ in | Elm.{symbol=Symbol.Token (OF token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -(* #428 "./Parse.hmh" *) +#428 "./Parse.hmh" let OF {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12445,7 +12445,7 @@ let OF {token_} = token_ in | Elm.{symbol=Symbol.Token (COLON token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -(* #431 "./Parse.hmh" *) +#431 "./Parse.hmh" let COLON {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12456,7 +12456,7 @@ let COLON {token_} = token_ in | Elm.{symbol=Symbol.Token (DOT token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -(* #434 "./Parse.hmh" *) +#434 "./Parse.hmh" let DOT {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12467,7 +12467,7 @@ let DOT {token_} = token_ in | Elm.{symbol=Symbol.Token (ARROW token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -(* #437 "./Parse.hmh" *) +#437 "./Parse.hmh" let ARROW {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12478,7 +12478,7 @@ let ARROW {token_} = token_ in | Elm.{symbol=Symbol.Token (LT token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -(* #440 "./Parse.hmh" *) +#440 "./Parse.hmh" let LT {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12489,7 +12489,7 @@ let LT {token_} = token_ in | Elm.{symbol=Symbol.Token (COMMA token_); _} :: tl__hocc__ -> Symbol.Nonterm (CodeToken ( (*______________________________________________________________________________*) -(* #443 "./Parse.hmh" *) +#443 "./Parse.hmh" let COMMA {token_} = token_ in CodeToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12501,7 +12501,7 @@ let COMMA {token_} = token_ in :: Elm.{symbol=Symbol.Nonterm (Delimited delimited); _} :: tl__hocc__ -> Symbol.Nonterm (CodeTl ( (*______________________________________________________________________________*) -(* #447 "./Parse.hmh" *) +#447 "./Parse.hmh" CodeTlDelimited {delimited; code_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12512,7 +12512,7 @@ CodeTlDelimited {delimited; code_tl} :: Elm.{symbol=Symbol.Nonterm (CodeToken code_token); _} :: tl__hocc__ -> Symbol.Nonterm (CodeTl ( (*______________________________________________________________________________*) -(* #449 "./Parse.hmh" *) +#449 "./Parse.hmh" let CodeToken {token_} = code_token in CodeTlToken {token_; code_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12522,7 +12522,7 @@ let CodeToken {token_} = code_token in (* 49 *) (function tl__hocc__ -> Symbol.Nonterm (CodeTl ( (*______________________________________________________________________________*) -(* #451 "./Parse.hmh" *) +#451 "./Parse.hmh" CodeTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12532,7 +12532,7 @@ CodeTlEpsilon :: Elm.{symbol=Symbol.Nonterm (Delimited delimited); _} :: tl__hocc__ -> Symbol.Nonterm (Code ( (*______________________________________________________________________________*) -(* #454 "./Parse.hmh" *) +#454 "./Parse.hmh" CodeDelimited {delimited; code_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12543,7 +12543,7 @@ CodeDelimited {delimited; code_tl} :: Elm.{symbol=Symbol.Nonterm (CodeToken code_token); _} :: tl__hocc__ -> Symbol.Nonterm (Code ( (*______________________________________________________________________________*) -(* #456 "./Parse.hmh" *) +#456 "./Parse.hmh" let CodeToken {token_} = code_token in CodeCodeToken {token_; code_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12554,7 +12554,7 @@ let CodeToken {token_} = code_token in | Elm.{symbol=Symbol.Token (CIDENT cident); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParamSymbol ( (*______________________________________________________________________________*) -(* #460 "./Parse.hmh" *) +#460 "./Parse.hmh" ProdParamSymbolCident {cident} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12564,7 +12564,7 @@ ProdParamSymbolCident {cident} | Elm.{symbol=Symbol.Token (ISTRING alias); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParamSymbol ( (*______________________________________________________________________________*) -(* #461 "./Parse.hmh" *) +#461 "./Parse.hmh" ProdParamSymbolAlias {alias} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12576,7 +12576,7 @@ ProdParamSymbolAlias {alias} :: Elm.{symbol=Symbol.Nonterm (Ident ident); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParam ( (*______________________________________________________________________________*) -(* #465 "./Parse.hmh" *) +#465 "./Parse.hmh" let COLON {token_=colon} = colon in ProdParamBinding {ident; colon; prod_param_symbol} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12587,7 +12587,7 @@ let COLON {token_=colon} = colon in | Elm.{symbol=Symbol.Nonterm (ProdParamSymbol prod_param_symbol); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParam ( (*______________________________________________________________________________*) -(* #467 "./Parse.hmh" *) +#467 "./Parse.hmh" ProdParam {prod_param_symbol} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12598,7 +12598,7 @@ ProdParam {prod_param_symbol} :: Elm.{symbol=Symbol.Nonterm (ProdParam prod_param); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParamsTl ( (*______________________________________________________________________________*) -(* #471 "./Parse.hmh" *) +#471 "./Parse.hmh" ProdParamsTlProdParam {prod_param; prod_params_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12607,7 +12607,7 @@ ProdParamsTlProdParam {prod_param; prod_params_tl} (* 57 *) (function tl__hocc__ -> Symbol.Nonterm (ProdParamsTl ( (*______________________________________________________________________________*) -(* #472 "./Parse.hmh" *) +#472 "./Parse.hmh" ProdParamsTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12617,7 +12617,7 @@ ProdParamsTlEpsilon :: Elm.{symbol=Symbol.Nonterm (ProdParam prod_param); _} :: tl__hocc__ -> Symbol.Nonterm (ProdParams ( (*______________________________________________________________________________*) -(* #476 "./Parse.hmh" *) +#476 "./Parse.hmh" ProdParamsProdParam {prod_param; prod_params_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12627,7 +12627,7 @@ ProdParamsProdParam {prod_param; prod_params_tl} | Elm.{symbol=Symbol.Nonterm (ProdParams prod_params); _} :: tl__hocc__ -> Symbol.Nonterm (ProdPattern ( (*______________________________________________________________________________*) -(* #479 "./Parse.hmh" *) +#479 "./Parse.hmh" ProdPatternParams {prod_params} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12637,7 +12637,7 @@ ProdPatternParams {prod_params} | Elm.{symbol=Symbol.Token (EPSILON_ epsilon_); _} :: tl__hocc__ -> Symbol.Nonterm (ProdPattern ( (*______________________________________________________________________________*) -(* #481 "./Parse.hmh" *) +#481 "./Parse.hmh" let EPSILON {token_=epsilon_} = epsilon_ in ProdPatternEpsilon {epsilon_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12649,7 +12649,7 @@ let EPSILON {token_=epsilon_} = epsilon_ in :: Elm.{symbol=Symbol.Nonterm (ProdPattern prod_pattern); _} :: tl__hocc__ -> Symbol.Nonterm (Prod ( (*______________________________________________________________________________*) -(* #485 "./Parse.hmh" *) +#485 "./Parse.hmh" Prod {prod_pattern; prec_ref} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12661,7 +12661,7 @@ Prod {prod_pattern; prec_ref} :: _ :: tl__hocc__ -> Symbol.Nonterm (ProdsTl ( (*______________________________________________________________________________*) -(* #488 "./Parse.hmh" *) +#488 "./Parse.hmh" ProdsTlProd {prod; prods_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12670,7 +12670,7 @@ ProdsTlProd {prod; prods_tl} (* 63 *) (function tl__hocc__ -> Symbol.Nonterm (ProdsTl ( (*______________________________________________________________________________*) -(* #489 "./Parse.hmh" *) +#489 "./Parse.hmh" ProdsTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12681,7 +12681,7 @@ ProdsTlEpsilon :: Elm.{symbol=Symbol.Token (BAR bar); _} :: tl__hocc__ -> Symbol.Nonterm (Prods ( (*______________________________________________________________________________*) -(* #493 "./Parse.hmh" *) +#493 "./Parse.hmh" let BAR {token_=bar} = bar in ProdsBarProd {bar; prod; prods_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12693,7 +12693,7 @@ let BAR {token_=bar} = bar in :: Elm.{symbol=Symbol.Nonterm (Prod prod); _} :: tl__hocc__ -> Symbol.Nonterm (Prods ( (*______________________________________________________________________________*) -(* #495 "./Parse.hmh" *) +#495 "./Parse.hmh" ProdsProd {prod; prods_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12705,7 +12705,7 @@ ProdsProd {prod; prods_tl} :: Elm.{symbol=Symbol.Nonterm (Prods prods); _} :: tl__hocc__ -> Symbol.Nonterm (Reduction ( (*______________________________________________________________________________*) -(* #499 "./Parse.hmh" *) +#499 "./Parse.hmh" let ARROW {token_=arrow} = arrow in Reduction {prods; arrow; code} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12718,7 +12718,7 @@ let ARROW {token_=arrow} = arrow in :: _ :: tl__hocc__ -> Symbol.Nonterm (ReductionsTl ( (*______________________________________________________________________________*) -(* #504 "./Parse.hmh" *) +#504 "./Parse.hmh" ReductionsTlReduction {reduction; reductions_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12727,7 +12727,7 @@ ReductionsTlReduction {reduction; reductions_tl} (* 68 *) (function tl__hocc__ -> Symbol.Nonterm (ReductionsTl ( (*______________________________________________________________________________*) -(* #505 "./Parse.hmh" *) +#505 "./Parse.hmh" ReductionsTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12737,7 +12737,7 @@ ReductionsTlEpsilon :: Elm.{symbol=Symbol.Nonterm (Reduction reduction); _} :: tl__hocc__ -> Symbol.Nonterm (Reductions ( (*______________________________________________________________________________*) -(* #509 "./Parse.hmh" *) +#509 "./Parse.hmh" ReductionsReduction {reduction; reductions_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12747,7 +12747,7 @@ ReductionsReduction {reduction; reductions_tl} | _ :: tl__hocc__ -> Symbol.Nonterm (NontermType ( (*______________________________________________________________________________*) -(* #512 "./Parse.hmh" *) +#512 "./Parse.hmh" NontermTypeNonterm (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12757,7 +12757,7 @@ NontermTypeNonterm | _ :: tl__hocc__ -> Symbol.Nonterm (NontermType ( (*______________________________________________________________________________*) -(* #513 "./Parse.hmh" *) +#513 "./Parse.hmh" NontermTypeStart (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12771,7 +12771,7 @@ NontermTypeStart :: Elm.{symbol=Symbol.Nonterm (NontermType nonterm_type); _} :: tl__hocc__ -> Symbol.Nonterm (Nonterm ( (*______________________________________________________________________________*) -(* #517 "./Parse.hmh" *) +#517 "./Parse.hmh" let COLON_COLON_EQ {token_=cce} = cce in NontermProds {nonterm_type; cident; prec_ref; cce; prods} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12787,7 +12787,7 @@ let COLON_COLON_EQ {token_=cce} = cce in :: Elm.{symbol=Symbol.Nonterm (NontermType nonterm_type); _} :: tl__hocc__ -> Symbol.Nonterm (Nonterm ( (*______________________________________________________________________________*) -(* #521 "./Parse.hmh" *) +#521 "./Parse.hmh" let COLON_COLON_EQ {token_=cce} = cce in NontermReductions {nonterm_type; cident; symbol_type; prec_ref; cce; reductions} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12798,7 +12798,7 @@ let COLON_COLON_EQ {token_=cce} = cce in | Elm.{symbol=Symbol.Nonterm (Prec prec_); _} :: tl__hocc__ -> Symbol.Nonterm (Stmt ( (*______________________________________________________________________________*) -(* #525 "./Parse.hmh" *) +#525 "./Parse.hmh" StmtPrec {prec_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12808,7 +12808,7 @@ StmtPrec {prec_} | Elm.{symbol=Symbol.Nonterm (Token token_); _} :: tl__hocc__ -> Symbol.Nonterm (Stmt ( (*______________________________________________________________________________*) -(* #526 "./Parse.hmh" *) +#526 "./Parse.hmh" StmtToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12818,7 +12818,7 @@ StmtToken {token_} | Elm.{symbol=Symbol.Nonterm (Nonterm nonterm_); _} :: tl__hocc__ -> Symbol.Nonterm (Stmt ( (*______________________________________________________________________________*) -(* #527 "./Parse.hmh" *) +#527 "./Parse.hmh" StmtNonterm {nonterm_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12828,7 +12828,7 @@ StmtNonterm {nonterm_} | Elm.{symbol=Symbol.Nonterm (Code code); _} :: tl__hocc__ -> Symbol.Nonterm (Stmt ( (*______________________________________________________________________________*) -(* #528 "./Parse.hmh" *) +#528 "./Parse.hmh" StmtCode {code} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12840,7 +12840,7 @@ StmtCode {code} :: Elm.{symbol=Symbol.Token (LINE_DELIM line_delim); _} :: tl__hocc__ -> Symbol.Nonterm (StmtsTl ( (*______________________________________________________________________________*) -(* #532 "./Parse.hmh" *) +#532 "./Parse.hmh" let LINE_DELIM {token_=line_delim} = line_delim in StmtsTl {line_delim; stmt; stmts_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12850,7 +12850,7 @@ let LINE_DELIM {token_=line_delim} = line_delim in (* 79 *) (function tl__hocc__ -> Symbol.Nonterm (StmtsTl ( (*______________________________________________________________________________*) -(* #534 "./Parse.hmh" *) +#534 "./Parse.hmh" StmtsTlEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12860,7 +12860,7 @@ StmtsTlEpsilon :: Elm.{symbol=Symbol.Nonterm (Stmt stmt); _} :: tl__hocc__ -> Symbol.Nonterm (Stmts ( (*______________________________________________________________________________*) -(* #537 "./Parse.hmh" *) +#537 "./Parse.hmh" Stmts {stmt; stmts_tl} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -12873,7 +12873,7 @@ Stmts {stmt; stmts_tl} :: Elm.{symbol=Symbol.Token (HOCC hocc_); _} :: tl__hocc__ -> Symbol.Nonterm (Hocc ( (*______________________________________________________________________________*) -(* #541 "./Parse.hmh" *) +#541 "./Parse.hmh" let INDENT {token_=indent} = indent in let DEDENT {token_=dedent} = dedent in Hocc {hocc_; indent; stmts; dedent} @@ -12885,7 +12885,7 @@ let INDENT {token_=indent} = indent in | Elm.{symbol=Symbol.Nonterm (CodeToken code_token); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -(* #547 "./Parse.hmh" *) +#547 "./Parse.hmh" let CodeToken {token_} = code_token in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12896,7 +12896,7 @@ let CodeToken {token_} = code_token in | Elm.{symbol=Symbol.Nonterm (Sep sep); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -(* #550 "./Parse.hmh" *) +#550 "./Parse.hmh" let token_ = match sep with | SepLineDelim {line_delim=token_} | SepSemi {semi=token_} @@ -12912,7 +12912,7 @@ let token_ = match sep with | Elm.{symbol=Symbol.Token (INDENT token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -(* #558 "./Parse.hmh" *) +#558 "./Parse.hmh" let INDENT {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12923,7 +12923,7 @@ let INDENT {token_} = token_ in | Elm.{symbol=Symbol.Token (DEDENT token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -(* #561 "./Parse.hmh" *) +#561 "./Parse.hmh" let DEDENT {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12934,7 +12934,7 @@ let DEDENT {token_} = token_ in | Elm.{symbol=Symbol.Token (LPAREN token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -(* #564 "./Parse.hmh" *) +#564 "./Parse.hmh" let LPAREN {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12945,7 +12945,7 @@ let LPAREN {token_} = token_ in | Elm.{symbol=Symbol.Token (RPAREN token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -(* #567 "./Parse.hmh" *) +#567 "./Parse.hmh" let RPAREN {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12956,7 +12956,7 @@ let RPAREN {token_} = token_ in | Elm.{symbol=Symbol.Token (LCAPTURE token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -(* #570 "./Parse.hmh" *) +#570 "./Parse.hmh" let LCAPTURE {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12967,7 +12967,7 @@ let LCAPTURE {token_} = token_ in | Elm.{symbol=Symbol.Token (RCAPTURE token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -(* #573 "./Parse.hmh" *) +#573 "./Parse.hmh" let RCAPTURE {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12978,7 +12978,7 @@ let RCAPTURE {token_} = token_ in | Elm.{symbol=Symbol.Token (LBRACK token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -(* #576 "./Parse.hmh" *) +#576 "./Parse.hmh" let LBRACK {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -12989,7 +12989,7 @@ let LBRACK {token_} = token_ in | Elm.{symbol=Symbol.Token (RBRACK token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -(* #579 "./Parse.hmh" *) +#579 "./Parse.hmh" let RBRACK {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -13000,7 +13000,7 @@ let RBRACK {token_} = token_ in | Elm.{symbol=Symbol.Token (LARRAY token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -(* #582 "./Parse.hmh" *) +#582 "./Parse.hmh" let LARRAY {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -13011,7 +13011,7 @@ let LARRAY {token_} = token_ in | Elm.{symbol=Symbol.Token (RARRAY token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -(* #585 "./Parse.hmh" *) +#585 "./Parse.hmh" let RARRAY {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -13022,7 +13022,7 @@ let RARRAY {token_} = token_ in | Elm.{symbol=Symbol.Token (LCURLY token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -(* #588 "./Parse.hmh" *) +#588 "./Parse.hmh" let LCURLY {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -13033,7 +13033,7 @@ let LCURLY {token_} = token_ in | Elm.{symbol=Symbol.Token (RCURLY token_); _} :: tl__hocc__ -> Symbol.Nonterm (MatterToken ( (*______________________________________________________________________________*) -(* #591 "./Parse.hmh" *) +#591 "./Parse.hmh" let RCURLY {token_} = token_ in MatterToken {token_} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -13045,7 +13045,7 @@ let RCURLY {token_} = token_ in :: Elm.{symbol=Symbol.Nonterm (MatterToken matter_token); _} :: tl__hocc__ -> Symbol.Nonterm (Matter ( (*______________________________________________________________________________*) -(* #596 "./Parse.hmh" *) +#596 "./Parse.hmh" let MatterToken {token_} = matter_token in Matter {token_; matter} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -13055,7 +13055,7 @@ let MatterToken {token_} = matter_token in (* 97 *) (function tl__hocc__ -> Symbol.Nonterm (Matter ( (*______________________________________________________________________________*) -(* #598 "./Parse.hmh" *) +#598 "./Parse.hmh" MatterEpsilon (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) )), tl__hocc__ @@ -13067,7 +13067,7 @@ MatterEpsilon :: Elm.{symbol=Symbol.Nonterm (Matter prelude); _} :: tl__hocc__ -> Symbol.Nonterm (Hmh ( (*______________________________________________________________________________*) -(* #602 "./Parse.hmh" *) +#602 "./Parse.hmh" let EOI {token_=eoi} = eoi in Hmh {prelude; hocc_; postlude; eoi} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -13082,7 +13082,7 @@ let EOI {token_=eoi} = eoi in :: Elm.{symbol=Symbol.Nonterm (Matter prelude); _} :: tl__hocc__ -> Symbol.Nonterm (Hmhi ( (*______________________________________________________________________________*) -(* #607 "./Parse.hmh" *) +#607 "./Parse.hmh" let EOI {token_=eoi} = eoi in Hmhi {prelude; hocc_; postlude; eoi} (*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾*) @@ -13296,7 +13296,7 @@ let EOI {token_=eoi} = eoi in | Status.Prefix -> t |> feed token |> walk | _ -> not_reached () end -(* #609 "./Parse.hmh" *) +#609 "./Parse.hmh" let rec scan scanner = let scanner, scan_token = Scan.next scanner in @@ -13878,19 +13878,19 @@ let rec pp_token_hocc (HOCC {token_}) formatter = and pp_symbol_type symbol_type formatter = fmt_symbol_type symbol_type formatter - and fmt_of_symbol_type0 ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) of_symbol_type0 + and fmt_symbol_type0 ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) symbol_type0 formatter = let width' = width + 4L in - match of_symbol_type0 with - | OfSymbolType0SymbolType {symbol_type} -> - formatter |> Fmt.fmt "OfSymbolType0SymbolType " + match symbol_type0 with + | SymbolType0SymbolType {symbol_type} -> + formatter |> Fmt.fmt "SymbolType0SymbolType " |> fmt_lcurly ~alt ~width |> Fmt.fmt "symbol_type=" |> fmt_symbol_type ~alt ~width:width' symbol_type |> fmt_rcurly ~alt ~width - | OfSymbolType0Epsilon -> - formatter |> Fmt.fmt "OfSymbolType0Epsilon" - and pp_of_symbol_type0 of_symbol_type0 formatter = - fmt_of_symbol_type0 of_symbol_type0 formatter + | SymbolType0Epsilon -> + formatter |> Fmt.fmt "SymbolType0Epsilon" + and pp_symbol_type0 symbol_type0 formatter = + fmt_symbol_type0 symbol_type0 formatter and fmt_prec_ref ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) prec_ref formatter = match prec_ref with @@ -13919,7 +13919,7 @@ let rec pp_token_hocc (HOCC {token_}) formatter = and fmt_token ?(alt=Fmt.alt_default) ?(width=Fmt.width_default) token_ formatter = let width' = width + 4L in match token_ with - | Token {token_; cident; token_alias; of_symbol_type0; prec_ref} -> + | Token {token_; cident; token_alias; symbol_type0; prec_ref} -> formatter |> Fmt.fmt "Token " |> fmt_lcurly ~alt ~width |> Fmt.fmt "token_=" |> Scan.Token.pp token_ @@ -13928,7 +13928,7 @@ let rec pp_token_hocc (HOCC {token_}) formatter = |> fmt_semi ~alt ~width |> Fmt.fmt "token_alias=" |> fmt_token_alias ~alt ~width:width' token_alias |> fmt_semi ~alt ~width - |> Fmt.fmt "of_symbol_type0=" |> fmt_of_symbol_type0 ~alt ~width:width' of_symbol_type0 + |> Fmt.fmt "symbol_type0=" |> fmt_symbol_type0 ~alt ~width:width' symbol_type0 |> fmt_semi ~alt ~width |> Fmt.fmt "prec_ref=" |> fmt_prec_ref ~alt ~width:width' prec_ref |> fmt_rcurly ~alt ~width @@ -14539,9 +14539,9 @@ let postlude_base_of_hocc (Hocc {stmts=Stmts {stmt; stmts_tl}; _}) = | PrecRelsEpsilon -> None and of_symbol_type = function | SymbolType {symbol_type=UIDENT {token_}; _} -> token_ - and of_of_symbol_type0 = function - | OfSymbolType0SymbolType {symbol_type} -> Some (of_symbol_type symbol_type) - | OfSymbolType0Epsilon -> None + and of_symbol_type0 = function + | SymbolType0SymbolType {symbol_type} -> Some (of_symbol_type symbol_type) + | SymbolType0Epsilon -> None and of_prec_ref = function | PrecRefUident {uident=UIDENT {token_}} -> Some token_ | PrecRefEpsilon -> None @@ -14606,10 +14606,10 @@ let postlude_base_of_hocc (Hocc {stmts=Stmts {stmt; stmts_tl}; _}) = of_prec_rels prec_rels |> Option.value_or_thunk ~f:(fun () -> uident) end - | StmtToken {token_=Token {cident=CIDENT {token_=cident}; token_alias; of_symbol_type0; + | StmtToken {token_=Token {cident=CIDENT {token_=cident}; token_alias; symbol_type0; prec_ref; _}} -> begin of_prec_ref prec_ref - |> Option.some_or_thunk ~f:(fun () -> of_of_symbol_type0 of_symbol_type0) + |> Option.some_or_thunk ~f:(fun () -> of_symbol_type0 symbol_type0) |> Option.some_or_thunk ~f:(fun () -> of_token_alias token_alias) |> Option.value_or_thunk ~f:(fun () -> cident) end diff --git a/bootstrap/bin/hocc/spec.ml b/bootstrap/bin/hocc/spec.ml index 7e019b71..02012aab 100644 --- a/bootstrap/bin/hocc/spec.ml +++ b/bootstrap/bin/hocc/spec.ml @@ -138,16 +138,16 @@ let rec qualify_symbol_type symbol_type_qualifier symbol_type = let tokens_init io precs hmh = let fold_token io precs symbols token = begin match token with - | Parse.Token {cident=CIDENT {token_=cident}; token_alias; of_symbol_type0; prec_ref; _} + | Parse.Token {cident=CIDENT {token_=cident}; token_alias; symbol_type0; prec_ref; _} -> begin let name = string_of_token cident in - let stype = match of_symbol_type0 with - | OfSymbolType0SymbolType {symbol_type=SymbolType { + let stype = match symbol_type0 with + | SymbolType0SymbolType {symbol_type=SymbolType { symbol_type_qualifier; symbol_type=UIDENT {token_=type_}; _}} -> begin SymbolType.explicit (string_of_token type_) |> qualify_symbol_type symbol_type_qualifier end - | OfSymbolType0Epsilon -> SymbolType.implicit + | SymbolType0Epsilon -> SymbolType.implicit in let prec = match prec_ref with | PrecRefUident {uident=UIDENT {token_=uident}} -> begin