diff options
author | Nicolas Pouillard <np@nicolaspouillard.fr> | 2006-10-04 16:23:40 +0000 |
---|---|---|
committer | Nicolas Pouillard <np@nicolaspouillard.fr> | 2006-10-04 16:23:40 +0000 |
commit | 4e7ea77948d2fec2cd80c57288e513c8c778d165 (patch) | |
tree | c666722e7116db1aea9e0b2ddab16b3ab37a2b3e | |
parent | 84d8d1cb0db33d30bdb9342c1c19ab6d35a9352e (diff) |
[camlp4] Update the Camlp4Ast source and regenerate
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7683 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r-- | camlp4/Camlp4/Struct/Camlp4Ast.genmap.ml | 64 | ||||
-rw-r--r-- | camlp4/Camlp4/Struct/Camlp4Ast.ml | 3828 |
2 files changed, 3882 insertions, 10 deletions
diff --git a/camlp4/Camlp4/Struct/Camlp4Ast.genmap.ml b/camlp4/Camlp4/Struct/Camlp4Ast.genmap.ml index c3f698b22..529e5ff92 100644 --- a/camlp4/Camlp4/Struct/Camlp4Ast.genmap.ml +++ b/camlp4/Camlp4/Struct/Camlp4Ast.genmap.ml @@ -21,8 +21,17 @@ module Make (Loc : Sig.Loc.S) : Sig.Camlp4Ast.S with module Loc = Loc = struct module Loc = Loc; - module Ast = Sig.Camlp4Ast.Make Loc; + + module Ast = struct + include Sig.Camlp4Ast.Make Loc; + + value safe_string_escaped s = + if String.length s > 2 && s.[0] = '\\' && s.[1] = '$' then s + else String.escaped s; + end; + include Ast; + external loc_of_ctyp : ctyp -> Loc.t = "%field0"; external loc_of_patt : patt -> Loc.t = "%field0"; external loc_of_expr : expr -> Loc.t = "%field0"; @@ -40,6 +49,55 @@ module Make (Loc : Sig.Loc.S) external loc_of_match_case : match_case -> Loc.t = "%field0"; external loc_of_ident : ident -> Loc.t = "%field0"; + module Meta = struct + + module type META_LOC = sig + (** The first location is where to put the returned pattern. + Generally it's _loc to match with <:patt< ... >> quotations. + The second location is the one to treat. *) + value meta_loc_patt : Loc.t -> Loc.t -> Ast.patt; + (** The first location is where to put the returned expression. + Generally it's _loc to match with <:expr< ... >> quotations. + The second location is the one to treat. *) + value meta_loc_expr : Loc.t -> Loc.t -> Ast.expr; + end; + + module MetaLoc = struct + value meta_loc_patt _loc location = + let (a, b, c, d, e, f, g, h) = Loc.to_tuple location in + <:patt< Loc.of_tuple + ($`str:a$, $`int:b$, $`int:c$, $`int:d$, + $`int:e$, $`int:f$, $`int:g$, + $if h then <:patt< True >> else <:patt< False >> $) >>; + value meta_loc_expr _loc location = + let (a, b, c, d, e, f, g, h) = Loc.to_tuple location in + <:expr< Loc.of_tuple + ($`str:a$, $`int:b$, $`int:c$, $`int:d$, + $`int:e$, $`int:f$, $`int:g$, + $if h then <:expr< True >> else <:expr< False >> $) >>; + end; + + module MetaGhostLoc = struct + value meta_loc_patt _loc _ = <:patt< Loc.ghost >>; + value meta_loc_expr _loc _ = <:expr< Loc.ghost >>; + end; + + module MetaLocVar = struct + value meta_loc_patt _loc _ = <:patt< $lid:Loc.name.val$ >>; + value meta_loc_expr _loc _ = <:expr< $lid:Loc.name.val$ >>; + end; + + module Make (MetaLoc : META_LOC) = struct + open MetaLoc; + + value meta_acc_Loc_t = meta_loc_expr; + module Expr = Camlp4Filters.MetaGeneratorExpr Ast; + value meta_acc_Loc_t = meta_loc_patt; + module Patt = Camlp4Filters.MetaGeneratorPatt Ast; + end; + + end; + class map = Camlp4Filters.GenerateMap.generated; class fold = Camlp4Filters.GenerateFold.generated; @@ -76,10 +134,6 @@ module Make (Loc : Sig.Loc.S) value map_expr f ast = (new c_expr f)#expr ast; value ghost = Loc.ghost; - value safe_string_escaped s = - if String.length s > 2 && s.[0] = '\\' && s.[1] = '$' then s - else String.escaped s; - value rec is_module_longident = fun [ <:ident< $_$.$i$ >> -> is_module_longident i diff --git a/camlp4/Camlp4/Struct/Camlp4Ast.ml b/camlp4/Camlp4/Struct/Camlp4Ast.ml index 849db90ab..b98a8a5f4 100644 --- a/camlp4/Camlp4/Struct/Camlp4Ast.ml +++ b/camlp4/Camlp4/Struct/Camlp4Ast.ml @@ -2,7 +2,14 @@ module Make (Loc : Sig.Loc.S) : Sig.Camlp4Ast.S with module Loc = Loc = struct module Loc = Loc; - module Ast = Sig.Camlp4Ast.Make(Loc); + module Ast = + struct + include Sig.Camlp4Ast.Make(Loc); + value safe_string_escaped s = + if ((String.length s) > 2) && ((s.[0] = '\\') && (s.[1] = '$')) + then s + else String.escaped s; + end; include Ast; external loc_of_ctyp : ctyp -> Loc.t = "%field0"; external loc_of_patt : patt -> Loc.t = "%field0"; @@ -20,6 +27,3821 @@ module Make (Loc : Sig.Loc.S) : Sig.Camlp4Ast.S with module Loc = Loc = external loc_of_module_binding : module_binding -> Loc.t = "%field0"; external loc_of_match_case : match_case -> Loc.t = "%field0"; external loc_of_ident : ident -> Loc.t = "%field0"; + module Meta = + struct + module type META_LOC = + sig + value meta_loc_patt : Loc.t -> Loc.t -> Ast.patt; + value meta_loc_expr : Loc.t -> Loc.t -> Ast.expr; + end; + module MetaLoc = + struct + value meta_loc_patt _loc location = + let (a, b, c, d, e, f, g, h) = Loc.to_tuple location + in + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Loc") + (Ast.IdLid _loc "of_tuple"))) + (Ast.PaTup _loc + (Ast.PaCom _loc + (Ast.PaStr _loc (Ast.safe_string_escaped a)) + (Ast.PaCom _loc + (Ast.PaCom _loc + (Ast.PaCom _loc + (Ast.PaCom _loc + (Ast.PaCom _loc + (Ast.PaCom _loc + (Ast.PaInt _loc (string_of_int b)) + (Ast.PaInt _loc (string_of_int c))) + (Ast.PaInt _loc (string_of_int d))) + (Ast.PaInt _loc (string_of_int e))) + (Ast.PaInt _loc (string_of_int f))) + (Ast.PaInt _loc (string_of_int g))) + (if h + then Ast.PaId _loc (Ast.IdUid _loc "True") + else Ast.PaId _loc (Ast.IdUid _loc "False"))))); + value meta_loc_expr _loc location = + let (a, b, c, d, e, f, g, h) = Loc.to_tuple location + in + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Loc") + (Ast.IdLid _loc "of_tuple"))) + (Ast.ExTup _loc + (Ast.ExCom _loc + (Ast.ExStr _loc (Ast.safe_string_escaped a)) + (Ast.ExCom _loc + (Ast.ExCom _loc + (Ast.ExCom _loc + (Ast.ExCom _loc + (Ast.ExCom _loc + (Ast.ExCom _loc + (Ast.ExInt _loc (string_of_int b)) + (Ast.ExInt _loc (string_of_int c))) + (Ast.ExInt _loc (string_of_int d))) + (Ast.ExInt _loc (string_of_int e))) + (Ast.ExInt _loc (string_of_int f))) + (Ast.ExInt _loc (string_of_int g))) + (if h + then Ast.ExId _loc (Ast.IdUid _loc "True") + else Ast.ExId _loc (Ast.IdUid _loc "False"))))); + end; + module MetaGhostLoc = + struct + value meta_loc_patt _loc _ = + Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Loc") + (Ast.IdLid _loc "ghost")); + value meta_loc_expr _loc _ = + Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Loc") + (Ast.IdLid _loc "ghost")); + end; + module MetaLocVar = + struct + value meta_loc_patt _loc _ = + Ast.PaId _loc (Ast.IdLid _loc Loc.name.val); + value meta_loc_expr _loc _ = + Ast.ExId _loc (Ast.IdLid _loc Loc.name.val); + end; + module Make (MetaLoc : META_LOC) = + struct + open MetaLoc; + value meta_acc_Loc_t = meta_loc_expr; + module Expr = + struct + value meta_string _loc s = Ast.ExStr _loc s; + value meta_int _loc s = Ast.ExInt _loc s; + value meta_float _loc s = Ast.ExFlo _loc s; + value meta_char _loc s = Ast.ExChr _loc s; + value meta_bool _loc = + fun + [ False -> Ast.ExId _loc (Ast.IdUid _loc "False") + | True -> Ast.ExId _loc (Ast.IdUid _loc "True") ]; + value rec meta_list mf_a _loc = + fun + [ [] -> Ast.ExId _loc (Ast.IdUid _loc "[]") + | [ x :: xs ] -> + Ast.ExApp _loc + (Ast.ExApp _loc (Ast.ExId _loc (Ast.IdUid _loc "::")) + (mf_a _loc x)) + (meta_list mf_a _loc xs) ]; + value rec meta_binding _loc = + fun + [ Ast.BiAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.BiEq x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "BiEq"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_expr _loc x2) + | Ast.BiSem x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "BiSem"))) + (meta_acc_Loc_t _loc x0)) + (meta_binding _loc x1)) + (meta_binding _loc x2) + | Ast.BiAnd x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "BiAnd"))) + (meta_acc_Loc_t _loc x0)) + (meta_binding _loc x1)) + (meta_binding _loc x2) + | Ast.BiNil x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "BiNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_class_expr _loc = + fun + [ Ast.CeAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.CeEq x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeEq"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_expr _loc x1)) + (meta_class_expr _loc x2) + | Ast.CeAnd x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeAnd"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_expr _loc x1)) + (meta_class_expr _loc x2) + | Ast.CeTyc x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeTyc"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_expr _loc x1)) + (meta_class_type _loc x2) + | Ast.CeStr x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeStr"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_class_str_item _loc x2) + | Ast.CeLet x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeLet"))) + (meta_acc_Loc_t _loc x0)) + (meta_meta_bool _loc x1)) + (meta_binding _loc x2)) + (meta_class_expr _loc x3) + | Ast.CeFun x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeFun"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_class_expr _loc x2) + | Ast.CeCon x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeCon"))) + (meta_acc_Loc_t _loc x0)) + (meta_meta_bool _loc x1)) + (meta_ident _loc x2)) + (meta_ctyp _loc x3) + | Ast.CeApp x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeApp"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_expr _loc x1)) + (meta_expr _loc x2) + | Ast.CeNil x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_class_sig_item _loc = + fun + [ Ast.CgAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.CgVir x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CgVir"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_meta_bool _loc x2)) + (meta_ctyp _loc x3) + | Ast.CgVal x0 x1 x2 x3 x4 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CgVal"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_meta_bool _loc x2)) + (meta_meta_bool _loc x3)) + (meta_ctyp _loc x4) + | Ast.CgMth x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CgMth"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_meta_bool _loc x2)) + (meta_ctyp _loc x3) + | Ast.CgInh x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CgInh"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_type _loc x1) + | Ast.CgSem x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CgSem"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_sig_item _loc x1)) + (meta_class_sig_item _loc x2) + | Ast.CgCtr x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CgCtr"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.CgNil x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CgNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_class_str_item _loc = + fun + [ Ast.CrAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.CrVvr x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrVvr"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_meta_bool _loc x2)) + (meta_ctyp _loc x3) + | Ast.CrVir x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrVir"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_meta_bool _loc x2)) + (meta_ctyp _loc x3) + | Ast.CrVal x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrVal"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_meta_bool _loc x2)) + (meta_expr _loc x3) + | Ast.CrMth x0 x1 x2 x3 x4 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrMth"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_meta_bool _loc x2)) + (meta_expr _loc x3)) + (meta_ctyp _loc x4) + | Ast.CrIni x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrIni"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1) + | Ast.CrInh x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrInh"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_expr _loc x1)) + (meta_string _loc x2) + | Ast.CrCtr x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrCtr"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.CrSem x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrSem"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_str_item _loc x1)) + (meta_class_str_item _loc x2) + | Ast.CrNil x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_class_type _loc = + fun + [ Ast.CtAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.CtEq x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CtEq"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_type _loc x1)) + (meta_class_type _loc x2) + | Ast.CtCol x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CtCol"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_type _loc x1)) + (meta_class_type _loc x2) + | Ast.CtAnd x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CtAnd"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_type _loc x1)) + (meta_class_type _loc x2) + | Ast.CtSig x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CtSig"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_class_sig_item _loc x2) + | Ast.CtFun x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CtFun"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_class_type _loc x2) + | Ast.CtCon x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CtCon"))) + (meta_acc_Loc_t _loc x0)) + (meta_meta_bool _loc x1)) + (meta_ident _loc x2)) + (meta_ctyp _loc x3) + | Ast.CtNil x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CtNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_ctyp _loc = + fun + [ Ast.TyAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.TyOfAmp x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyOfAmp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyAmp x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyAmp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyVrnInfSup x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyVrnInfSup"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyVrnInf x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyVrnInf"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TyVrnSup x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyVrnSup"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TyVrnEq x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyVrnEq"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TySta x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TySta"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyTup x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyTup"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TyMut x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyMut"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TyPrv x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyPrv"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TyOr x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyOr"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyAnd x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyAnd"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyOf x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyOf"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TySum x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TySum"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TyCom x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyCom"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TySem x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TySem"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyCol x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyCol"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyRec x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyRec"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TyVrn x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyVrn"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.TyQuM x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyQuM"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.TyQuP x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyQuP"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.TyQuo x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyQuo"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.TyPol x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyPol"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyOlb x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyOlb"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyObj x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyObj"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_meta_bool _loc x2) + | Ast.TyDcl x0 x1 x2 x3 x4 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyDcl"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_list meta_ctyp _loc x2)) + (meta_ctyp _loc x3)) + (meta_list + (fun _loc (x1, x2) -> + Ast.ExTup _loc + (Ast.ExCom _loc (meta_ctyp _loc x1) + (meta_ctyp _loc x2))) + _loc x4) + | Ast.TyMan x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyMan"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyId x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyId"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.TyLab x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyLab"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyCls x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyCls"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.TyArr x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyArr"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyApp x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyApp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyAny x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyAny"))) + (meta_acc_Loc_t _loc x0) + | Ast.TyAli x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyAli"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyNil x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_expr _loc = + fun + [ Ast.ExWhi x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExWhi"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExVrn x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExVrn"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExTyc x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExTyc"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_ctyp _loc x2) + | Ast.ExCom x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExCom"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExTup x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExTup"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1) + | Ast.ExTry x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExTry"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_match_case _loc x2) + | Ast.ExStr x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExStr"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExSte x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExSte"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExSnd x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExSnd"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_string _loc x2) + | Ast.ExSeq x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExSeq"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1) + | Ast.ExRec x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExRec"))) + (meta_acc_Loc_t _loc x0)) + (meta_binding _loc x1)) + (meta_expr _loc x2) + | Ast.ExOvr x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExOvr"))) + (meta_acc_Loc_t _loc x0)) + (meta_binding _loc x1) + | Ast.ExOlb x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExOlb"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_expr _loc x2) + | Ast.ExObj x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExObj"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_class_str_item _loc x2) + | Ast.ExNew x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExNew"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.ExMat x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExMat"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_match_case _loc x2) + | Ast.ExLmd x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExLmd"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_expr _loc x2)) + (meta_expr _loc x3) + | Ast.ExLet x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExLet"))) + (meta_acc_Loc_t _loc x0)) + (meta_meta_bool _loc x1)) + (meta_binding _loc x2)) + (meta_expr _loc x3) + | Ast.ExLaz x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExLaz"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1) + | Ast.ExLab x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExLab"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_expr _loc x2) + | Ast.ExNativeInt x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExNativeInt"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExInt64 x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExInt64"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExInt32 x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExInt32"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExInt x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExInt"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExIfe x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExIfe"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2)) + (meta_expr _loc x3) + | Ast.ExFun x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExFun"))) + (meta_acc_Loc_t _loc x0)) + (meta_match_case _loc x1) + | Ast.ExFor x0 x1 x2 x3 x4 x5 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc + (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExFor"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_expr _loc x2)) + (meta_expr _loc x3)) + (meta_meta_bool _loc x4)) + (meta_expr _loc x5) + | Ast.ExFlo x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExFlo"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExCoe x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExCoe"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_ctyp _loc x2)) + (meta_ctyp _loc x3) + | Ast.ExChr x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExChr"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExAss x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExAss"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExAsr x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExAsr"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1) + | Ast.ExAsf x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExAsf"))) + (meta_acc_Loc_t _loc x0) + | Ast.ExSem x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExSem"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExArr x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExArr"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1) + | Ast.ExAre x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExAre"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExApp x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExApp"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.ExAcc x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExAcc"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExId x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExId"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.ExNil x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_ident _loc = + fun + [ Ast.IdAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.IdUid x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "IdUid"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.IdLid x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "IdLid"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.IdApp x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "IdApp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1)) + (meta_ident _loc x2) + | Ast.IdAcc x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "IdAcc"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1)) + (meta_ident _loc x2) ] + and meta_match_case _loc = + fun + [ Ast.McAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.McArr x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "McArr"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_expr _loc x2)) + (meta_expr _loc x3) + | Ast.McOr x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "McOr"))) + (meta_acc_Loc_t _loc x0)) + (meta_match_case _loc x1)) + (meta_match_case _loc x2) + | Ast.McNil x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "McNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_meta_bool _loc = + fun + [ Ast.BAnt x0 -> Ast.ExAnt _loc x0 + | Ast.BFalse -> + Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "BFalse")) + | Ast.BTrue -> + Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "BTrue")) ] + and meta_meta_option mf_a _loc = + fun + [ Ast.OAnt x0 -> Ast.ExAnt _loc x0 + | Ast.OSome x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "OSome"))) + (mf_a _loc x0) + | Ast.ONone -> + Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ONone")) ] + and meta_module_binding _loc = + fun + [ Ast.MbAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.MbCol x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MbCol"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_type _loc x2) + | Ast.MbColEq x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MbColEq"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_type _loc x2)) + (meta_module_expr _loc x3) + | Ast.MbAnd x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MbAnd"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_binding _loc x1)) + (meta_module_binding _loc x2) + | Ast.MbNil x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MbNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_module_expr _loc = + fun + [ Ast.MeAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.MeTyc x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MeTyc"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_expr _loc x1)) + (meta_module_type _loc x2) + | Ast.MeStr x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MeStr"))) + (meta_acc_Loc_t _loc x0)) + (meta_str_item _loc x1) + | Ast.MeFun x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MeFun"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_type _loc x2)) + (meta_module_expr _loc x3) + | Ast.MeApp x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MeApp"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_expr _loc x1)) + (meta_module_expr _loc x2) + | Ast.MeId x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MeId"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) ] + and meta_module_type _loc = + fun + [ Ast.MtAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.MtWit x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MtWit"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_type _loc x1)) + (meta_with_constr _loc x2) + | Ast.MtSig x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MtSig"))) + (meta_acc_Loc_t _loc x0)) + (meta_sig_item _loc x1) + | Ast.MtQuo x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MtQuo"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.MtFun x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MtFun"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_type _loc x2)) + (meta_module_type _loc x3) + | Ast.MtId x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MtId"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) ] + and meta_patt _loc = + fun + [ Ast.PaVrn x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaVrn"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaTyp x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaTyp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.PaTyc x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaTyc"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_ctyp _loc x2) + | Ast.PaTup x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaTup"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1) + | Ast.PaStr x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaStr"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaEq x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaEq"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_patt _loc x2) + | Ast.PaRec x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaRec"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1) + | Ast.PaRng x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaRng"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_patt _loc x2) + | Ast.PaOrp x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaOrp"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_patt _loc x2) + | Ast.PaOlbi x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaOlbi"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_patt _loc x2)) + (meta_expr _loc x3) + | Ast.PaOlb x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaOlb"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_patt _loc x2) + | Ast.PaLab x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaLab"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_patt _loc x2) + | Ast.PaFlo x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaFlo"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaNativeInt x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaNativeInt"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaInt64 x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaInt64"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaInt32 x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaInt32"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaInt x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaInt"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaChr x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaChr"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaSem x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaSem"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_patt _loc x2) + | Ast.PaCom x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaCom"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_patt _loc x2) + | Ast.PaArr x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaArr"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1) + | Ast.PaApp x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaApp"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_patt _loc x2) + | Ast.PaAny x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaAny"))) + (meta_acc_Loc_t _loc x0) + | Ast.PaAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.PaAli x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaAli"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_patt _loc x2) + | Ast.PaId x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaId"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.PaNil x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_sig_item _loc = + fun + [ Ast.SgAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.SgVal x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgVal"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_ctyp _loc x2) + | Ast.SgTyp x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgTyp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.SgOpn x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgOpn"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.SgMty x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgMty"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_type _loc x2) + | Ast.SgRecMod x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgRecMod"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_binding _loc x1) + | Ast.SgMod x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgMod"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_type _loc x2) + | Ast.SgInc x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgInc"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_type _loc x1) + | Ast.SgExt x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgExt"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_ctyp _loc x2)) + (meta_string _loc x3) + | Ast.SgExc x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgExc"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.SgDir x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgDir"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_expr _loc x2) + | Ast.SgSem x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgSem"))) + (meta_acc_Loc_t _loc x0)) + (meta_sig_item _loc x1)) + (meta_sig_item _loc x2) + | Ast.SgClt x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgClt"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_type _loc x1) + | Ast.SgCls x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgCls"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_type _loc x1) + | Ast.SgNil x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_str_item _loc = + fun + [ Ast.StAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.StVal x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StVal"))) + (meta_acc_Loc_t _loc x0)) + (meta_meta_bool _loc x1)) + (meta_binding _loc x2) + | Ast.StTyp x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StTyp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.StOpn x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StOpn"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.StMty x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StMty"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_type _loc x2) + | Ast.StRecMod x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StRecMod"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_binding _loc x1) + | Ast.StMod x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StMod"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_expr _loc x2) + | Ast.StInc x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StInc"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_expr _loc x1) + | Ast.StExt x0 x1 x2 x3 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StExt"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_ctyp _loc x2)) + (meta_string _loc x3) + | Ast.StExp x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StExp"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1) + | Ast.StExc x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StExc"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_meta_option meta_ident _loc x2) + | Ast.StDir x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StDir"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_expr _loc x2) + | Ast.StSem x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StSem"))) + (meta_acc_Loc_t _loc x0)) + (meta_str_item _loc x1)) + (meta_str_item _loc x2) + | Ast.StClt x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StClt"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_type _loc x1) + | Ast.StCls x0 x1 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StCls"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_expr _loc x1) + | Ast.StNil x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_with_constr _loc = + fun + [ Ast.WcAnt x0 x1 -> Ast.ExAnt x0 x1 + | Ast.WcAnd x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "WcAnd"))) + (meta_acc_Loc_t _loc x0)) + (meta_with_constr _loc x1)) + (meta_with_constr _loc x2) + | Ast.WcMod x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "WcMod"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1)) + (meta_ident _loc x2) + | Ast.WcTyp x0 x1 x2 -> + Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "WcTyp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.WcNil x0 -> + Ast.ExApp _loc + (Ast.ExId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "WcNil"))) + (meta_acc_Loc_t _loc x0) ]; + end; + value meta_acc_Loc_t = meta_loc_patt; + module Patt = + struct + value meta_string _loc s = Ast.PaStr _loc s; + value meta_int _loc s = Ast.PaInt _loc s; + value meta_float _loc s = Ast.PaFlo _loc s; + value meta_char _loc s = Ast.PaChr _loc s; + value meta_bool _loc = + fun + [ False -> Ast.PaId _loc (Ast.IdUid _loc "False") + | True -> Ast.PaId _loc (Ast.IdUid _loc "True") ]; + value rec meta_list mf_a _loc = + fun + [ [] -> Ast.PaId _loc (Ast.IdUid _loc "[]") + | [ x :: xs ] -> + Ast.PaApp _loc + (Ast.PaApp _loc (Ast.PaId _loc (Ast.IdUid _loc "::")) + (mf_a _loc x)) + (meta_list mf_a _loc xs) ]; + value rec meta_binding _loc = + fun + [ Ast.BiAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.BiEq x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "BiEq"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_expr _loc x2) + | Ast.BiSem x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "BiSem"))) + (meta_acc_Loc_t _loc x0)) + (meta_binding _loc x1)) + (meta_binding _loc x2) + | Ast.BiAnd x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "BiAnd"))) + (meta_acc_Loc_t _loc x0)) + (meta_binding _loc x1)) + (meta_binding _loc x2) + | Ast.BiNil x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "BiNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_class_expr _loc = + fun + [ Ast.CeAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.CeEq x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeEq"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_expr _loc x1)) + (meta_class_expr _loc x2) + | Ast.CeAnd x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeAnd"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_expr _loc x1)) + (meta_class_expr _loc x2) + | Ast.CeTyc x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeTyc"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_expr _loc x1)) + (meta_class_type _loc x2) + | Ast.CeStr x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeStr"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_class_str_item _loc x2) + | Ast.CeLet x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeLet"))) + (meta_acc_Loc_t _loc x0)) + (meta_meta_bool _loc x1)) + (meta_binding _loc x2)) + (meta_class_expr _loc x3) + | Ast.CeFun x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeFun"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_class_expr _loc x2) + | Ast.CeCon x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeCon"))) + (meta_acc_Loc_t _loc x0)) + (meta_meta_bool _loc x1)) + (meta_ident _loc x2)) + (meta_ctyp _loc x3) + | Ast.CeApp x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeApp"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_expr _loc x1)) + (meta_expr _loc x2) + | Ast.CeNil x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CeNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_class_sig_item _loc = + fun + [ Ast.CgAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.CgVir x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CgVir"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_meta_bool _loc x2)) + (meta_ctyp _loc x3) + | Ast.CgVal x0 x1 x2 x3 x4 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CgVal"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_meta_bool _loc x2)) + (meta_meta_bool _loc x3)) + (meta_ctyp _loc x4) + | Ast.CgMth x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CgMth"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_meta_bool _loc x2)) + (meta_ctyp _loc x3) + | Ast.CgInh x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CgInh"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_type _loc x1) + | Ast.CgSem x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CgSem"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_sig_item _loc x1)) + (meta_class_sig_item _loc x2) + | Ast.CgCtr x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CgCtr"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.CgNil x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CgNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_class_str_item _loc = + fun + [ Ast.CrAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.CrVvr x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrVvr"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_meta_bool _loc x2)) + (meta_ctyp _loc x3) + | Ast.CrVir x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrVir"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_meta_bool _loc x2)) + (meta_ctyp _loc x3) + | Ast.CrVal x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrVal"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_meta_bool _loc x2)) + (meta_expr _loc x3) + | Ast.CrMth x0 x1 x2 x3 x4 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrMth"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_meta_bool _loc x2)) + (meta_expr _loc x3)) + (meta_ctyp _loc x4) + | Ast.CrIni x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrIni"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1) + | Ast.CrInh x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrInh"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_expr _loc x1)) + (meta_string _loc x2) + | Ast.CrCtr x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrCtr"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.CrSem x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrSem"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_str_item _loc x1)) + (meta_class_str_item _loc x2) + | Ast.CrNil x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CrNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_class_type _loc = + fun + [ Ast.CtAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.CtEq x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CtEq"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_type _loc x1)) + (meta_class_type _loc x2) + | Ast.CtCol x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CtCol"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_type _loc x1)) + (meta_class_type _loc x2) + | Ast.CtAnd x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CtAnd"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_type _loc x1)) + (meta_class_type _loc x2) + | Ast.CtSig x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CtSig"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_class_sig_item _loc x2) + | Ast.CtFun x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CtFun"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_class_type _loc x2) + | Ast.CtCon x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CtCon"))) + (meta_acc_Loc_t _loc x0)) + (meta_meta_bool _loc x1)) + (meta_ident _loc x2)) + (meta_ctyp _loc x3) + | Ast.CtNil x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "CtNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_ctyp _loc = + fun + [ Ast.TyAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.TyOfAmp x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyOfAmp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyAmp x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyAmp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyVrnInfSup x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyVrnInfSup"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyVrnInf x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyVrnInf"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TyVrnSup x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyVrnSup"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TyVrnEq x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyVrnEq"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TySta x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TySta"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyTup x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyTup"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TyMut x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyMut"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TyPrv x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyPrv"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TyOr x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyOr"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyAnd x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyAnd"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyOf x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyOf"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TySum x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TySum"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TyCom x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyCom"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TySem x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TySem"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyCol x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyCol"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyRec x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyRec"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.TyVrn x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyVrn"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.TyQuM x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyQuM"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.TyQuP x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyQuP"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.TyQuo x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyQuo"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.TyPol x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyPol"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyOlb x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyOlb"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyObj x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyObj"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_meta_bool _loc x2) + | Ast.TyDcl x0 x1 x2 x3 x4 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyDcl"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_list meta_ctyp _loc x2)) + (meta_ctyp _loc x3)) + (meta_list + (fun _loc (x1, x2) -> + Ast.PaTup _loc + (Ast.PaCom _loc (meta_ctyp _loc x1) + (meta_ctyp _loc x2))) + _loc x4) + | Ast.TyMan x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyMan"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyId x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyId"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.TyLab x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyLab"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyCls x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyCls"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.TyArr x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyArr"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyApp x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyApp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyAny x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyAny"))) + (meta_acc_Loc_t _loc x0) + | Ast.TyAli x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyAli"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.TyNil x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "TyNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_expr _loc = + fun + [ Ast.ExWhi x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExWhi"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExVrn x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExVrn"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExTyc x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExTyc"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_ctyp _loc x2) + | Ast.ExCom x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExCom"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExTup x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExTup"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1) + | Ast.ExTry x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExTry"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_match_case _loc x2) + | Ast.ExStr x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExStr"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExSte x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExSte"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExSnd x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExSnd"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_string _loc x2) + | Ast.ExSeq x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExSeq"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1) + | Ast.ExRec x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExRec"))) + (meta_acc_Loc_t _loc x0)) + (meta_binding _loc x1)) + (meta_expr _loc x2) + | Ast.ExOvr x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExOvr"))) + (meta_acc_Loc_t _loc x0)) + (meta_binding _loc x1) + | Ast.ExOlb x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExOlb"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_expr _loc x2) + | Ast.ExObj x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExObj"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_class_str_item _loc x2) + | Ast.ExNew x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExNew"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.ExMat x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExMat"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_match_case _loc x2) + | Ast.ExLmd x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExLmd"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_expr _loc x2)) + (meta_expr _loc x3) + | Ast.ExLet x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExLet"))) + (meta_acc_Loc_t _loc x0)) + (meta_meta_bool _loc x1)) + (meta_binding _loc x2)) + (meta_expr _loc x3) + | Ast.ExLaz x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExLaz"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1) + | Ast.ExLab x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExLab"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_expr _loc x2) + | Ast.ExNativeInt x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExNativeInt"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExInt64 x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExInt64"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExInt32 x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExInt32"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExInt x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExInt"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExIfe x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExIfe"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2)) + (meta_expr _loc x3) + | Ast.ExFun x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExFun"))) + (meta_acc_Loc_t _loc x0)) + (meta_match_case _loc x1) + | Ast.ExFor x0 x1 x2 x3 x4 x5 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc + (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExFor"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_expr _loc x2)) + (meta_expr _loc x3)) + (meta_meta_bool _loc x4)) + (meta_expr _loc x5) + | Ast.ExFlo x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExFlo"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExCoe x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExCoe"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_ctyp _loc x2)) + (meta_ctyp _loc x3) + | Ast.ExChr x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExChr"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.ExAss x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExAss"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExAsr x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExAsr"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1) + | Ast.ExAsf x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExAsf"))) + (meta_acc_Loc_t _loc x0) + | Ast.ExSem x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExSem"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExArr x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExArr"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1) + | Ast.ExAre x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExAre"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExApp x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExApp"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.ExAcc x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExAcc"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1)) + (meta_expr _loc x2) + | Ast.ExId x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExId"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.ExNil x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ExNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_ident _loc = + fun + [ Ast.IdAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.IdUid x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "IdUid"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.IdLid x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "IdLid"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.IdApp x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "IdApp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1)) + (meta_ident _loc x2) + | Ast.IdAcc x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "IdAcc"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1)) + (meta_ident _loc x2) ] + and meta_match_case _loc = + fun + [ Ast.McAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.McArr x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "McArr"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_expr _loc x2)) + (meta_expr _loc x3) + | Ast.McOr x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "McOr"))) + (meta_acc_Loc_t _loc x0)) + (meta_match_case _loc x1)) + (meta_match_case _loc x2) + | Ast.McNil x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "McNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_meta_bool _loc = + fun + [ Ast.BAnt x0 -> Ast.PaAnt _loc x0 + | Ast.BFalse -> + Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "BFalse")) + | Ast.BTrue -> + Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "BTrue")) ] + and meta_meta_option mf_a _loc = + fun + [ Ast.OAnt x0 -> Ast.PaAnt _loc x0 + | Ast.OSome x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "OSome"))) + (mf_a _loc x0) + | Ast.ONone -> + Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "ONone")) ] + and meta_module_binding _loc = + fun + [ Ast.MbAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.MbCol x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MbCol"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_type _loc x2) + | Ast.MbColEq x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MbColEq"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_type _loc x2)) + (meta_module_expr _loc x3) + | Ast.MbAnd x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MbAnd"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_binding _loc x1)) + (meta_module_binding _loc x2) + | Ast.MbNil x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MbNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_module_expr _loc = + fun + [ Ast.MeAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.MeTyc x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MeTyc"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_expr _loc x1)) + (meta_module_type _loc x2) + | Ast.MeStr x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MeStr"))) + (meta_acc_Loc_t _loc x0)) + (meta_str_item _loc x1) + | Ast.MeFun x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MeFun"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_type _loc x2)) + (meta_module_expr _loc x3) + | Ast.MeApp x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MeApp"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_expr _loc x1)) + (meta_module_expr _loc x2) + | Ast.MeId x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MeId"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) ] + and meta_module_type _loc = + fun + [ Ast.MtAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.MtWit x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MtWit"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_type _loc x1)) + (meta_with_constr _loc x2) + | Ast.MtSig x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MtSig"))) + (meta_acc_Loc_t _loc x0)) + (meta_sig_item _loc x1) + | Ast.MtQuo x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MtQuo"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.MtFun x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MtFun"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_type _loc x2)) + (meta_module_type _loc x3) + | Ast.MtId x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "MtId"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) ] + and meta_patt _loc = + fun + [ Ast.PaVrn x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaVrn"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaTyp x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaTyp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.PaTyc x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaTyc"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_ctyp _loc x2) + | Ast.PaTup x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaTup"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1) + | Ast.PaStr x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaStr"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaEq x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaEq"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_patt _loc x2) + | Ast.PaRec x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaRec"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1) + | Ast.PaRng x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaRng"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_patt _loc x2) + | Ast.PaOrp x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaOrp"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_patt _loc x2) + | Ast.PaOlbi x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaOlbi"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_patt _loc x2)) + (meta_expr _loc x3) + | Ast.PaOlb x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaOlb"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_patt _loc x2) + | Ast.PaLab x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaLab"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_patt _loc x2) + | Ast.PaFlo x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaFlo"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaNativeInt x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaNativeInt"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaInt64 x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaInt64"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaInt32 x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaInt32"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaInt x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaInt"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaChr x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaChr"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1) + | Ast.PaSem x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaSem"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_patt _loc x2) + | Ast.PaCom x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaCom"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_patt _loc x2) + | Ast.PaArr x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaArr"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1) + | Ast.PaApp x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaApp"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_patt _loc x2) + | Ast.PaAny x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaAny"))) + (meta_acc_Loc_t _loc x0) + | Ast.PaAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.PaAli x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaAli"))) + (meta_acc_Loc_t _loc x0)) + (meta_patt _loc x1)) + (meta_patt _loc x2) + | Ast.PaId x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaId"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.PaNil x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "PaNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_sig_item _loc = + fun + [ Ast.SgAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.SgVal x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgVal"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_ctyp _loc x2) + | Ast.SgTyp x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgTyp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.SgOpn x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgOpn"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.SgMty x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgMty"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_type _loc x2) + | Ast.SgRecMod x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgRecMod"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_binding _loc x1) + | Ast.SgMod x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgMod"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_type _loc x2) + | Ast.SgInc x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgInc"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_type _loc x1) + | Ast.SgExt x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgExt"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_ctyp _loc x2)) + (meta_string _loc x3) + | Ast.SgExc x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgExc"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.SgDir x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgDir"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_expr _loc x2) + | Ast.SgSem x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgSem"))) + (meta_acc_Loc_t _loc x0)) + (meta_sig_item _loc x1)) + (meta_sig_item _loc x2) + | Ast.SgClt x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgClt"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_type _loc x1) + | Ast.SgCls x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgCls"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_type _loc x1) + | Ast.SgNil x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "SgNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_str_item _loc = + fun + [ Ast.StAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.StVal x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StVal"))) + (meta_acc_Loc_t _loc x0)) + (meta_meta_bool _loc x1)) + (meta_binding _loc x2) + | Ast.StTyp x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StTyp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1) + | Ast.StOpn x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StOpn"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1) + | Ast.StMty x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StMty"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_type _loc x2) + | Ast.StRecMod x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StRecMod"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_binding _loc x1) + | Ast.StMod x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StMod"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_module_expr _loc x2) + | Ast.StInc x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StInc"))) + (meta_acc_Loc_t _loc x0)) + (meta_module_expr _loc x1) + | Ast.StExt x0 x1 x2 x3 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StExt"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_ctyp _loc x2)) + (meta_string _loc x3) + | Ast.StExp x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StExp"))) + (meta_acc_Loc_t _loc x0)) + (meta_expr _loc x1) + | Ast.StExc x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StExc"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_meta_option meta_ident _loc x2) + | Ast.StDir x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StDir"))) + (meta_acc_Loc_t _loc x0)) + (meta_string _loc x1)) + (meta_expr _loc x2) + | Ast.StSem x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StSem"))) + (meta_acc_Loc_t _loc x0)) + (meta_str_item _loc x1)) + (meta_str_item _loc x2) + | Ast.StClt x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StClt"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_type _loc x1) + | Ast.StCls x0 x1 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StCls"))) + (meta_acc_Loc_t _loc x0)) + (meta_class_expr _loc x1) + | Ast.StNil x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "StNil"))) + (meta_acc_Loc_t _loc x0) ] + and meta_with_constr _loc = + fun + [ Ast.WcAnt x0 x1 -> Ast.PaAnt x0 x1 + | Ast.WcAnd x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "WcAnd"))) + (meta_acc_Loc_t _loc x0)) + (meta_with_constr _loc x1)) + (meta_with_constr _loc x2) + | Ast.WcMod x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "WcMod"))) + (meta_acc_Loc_t _loc x0)) + (meta_ident _loc x1)) + (meta_ident _loc x2) + | Ast.WcTyp x0 x1 x2 -> + Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "WcTyp"))) + (meta_acc_Loc_t _loc x0)) + (meta_ctyp _loc x1)) + (meta_ctyp _loc x2) + | Ast.WcNil x0 -> + Ast.PaApp _loc + (Ast.PaId _loc + (Ast.IdAcc _loc (Ast.IdUid _loc "Ast") + (Ast.IdUid _loc "WcNil"))) + (meta_acc_Loc_t _loc x0) ]; + end; + end; + end; class map = object (o) method string = fun x -> (x : string); @@ -753,10 +4575,6 @@ module Make (Loc : Sig.Loc.S) : Sig.Camlp4Ast.S with module Loc = Loc = value map_ctyp f ast = (new c_ctyp f)#ctyp ast; value map_expr f ast = (new c_expr f)#expr ast; value ghost = Loc.ghost; - value safe_string_escaped s = - if ((String.length s) > 2) && ((s.[0] = '\\') && (s.[1] = '$')) - then s - else String.escaped s; value rec is_module_longident = fun [ Ast.IdAcc _ _ i -> is_module_longident i |