ocaml/camlp4/boot/Camlp4Ast.ml

5058 lines
239 KiB
OCaml

(****************************************************************************)
(* *)
(* Objective Caml *)
(* *)
(* INRIA Rocquencourt *)
(* *)
(* Copyright 2006 Institut National de Recherche en Informatique et *)
(* en Automatique. All rights reserved. This file is distributed under *)
(* the terms of the GNU Library General Public License, with the special *)
(* exception on linking described in LICENSE at the top of the Objective *)
(* Caml source tree. *)
(* *)
(****************************************************************************)
(* Authors:
* - Daniel de Rauglaudre: initial version
* - Nicolas Pouillard: refactoring
*)
module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
struct
module Loc = Loc;
module Ast =
struct
include Sig.MakeCamlp4Ast(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";
external loc_of_module_type : module_type -> Loc.t = "%field0";
external loc_of_module_expr : module_expr -> Loc.t = "%field0";
external loc_of_sig_item : sig_item -> Loc.t = "%field0";
external loc_of_str_item : str_item -> Loc.t = "%field0";
external loc_of_class_type : class_type -> Loc.t = "%field0";
external loc_of_class_sig_item : class_sig_item -> Loc.t = "%field0";
external loc_of_class_expr : class_expr -> Loc.t = "%field0";
external loc_of_class_str_item : class_str_item -> Loc.t = "%field0";
external loc_of_with_constr : with_constr -> Loc.t = "%field0";
external loc_of_binding : binding -> Loc.t = "%field0";
external loc_of_rec_binding : rec_binding -> Loc.t = "%field0";
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";
value ghost = Loc.ghost;
value rec is_module_longident =
fun
[ Ast.IdAcc _ _ i -> is_module_longident i
| Ast.IdApp _ i1 i2 ->
(is_module_longident i1) && (is_module_longident i2)
| Ast.IdUid _ _ -> True
| _ -> False ];
value ident_of_expr =
let error () =
invalid_arg "ident_of_expr: this expression is not an identifier" in
let rec self =
fun
[ Ast.ExApp _loc e1 e2 -> Ast.IdApp _loc (self e1) (self e2)
| Ast.ExAcc _loc e1 e2 -> Ast.IdAcc _loc (self e1) (self e2)
| Ast.ExId _ (Ast.IdLid _ _) -> error ()
| Ast.ExId _ i -> if is_module_longident i then i else error ()
| _ -> error () ]
in
fun [ Ast.ExId _ i -> i | Ast.ExApp _ _ _ -> error () | t -> self t ];
value ident_of_ctyp =
let error () =
invalid_arg "ident_of_ctyp: this type is not an identifier" in
let rec self =
fun
[ Ast.TyApp _loc t1 t2 -> Ast.IdApp _loc (self t1) (self t2)
| Ast.TyId _ (Ast.IdLid _ _) -> error ()
| Ast.TyId _ i -> if is_module_longident i then i else error ()
| _ -> error () ]
in fun [ Ast.TyId _ i -> i | t -> self t ];
value ident_of_patt =
let error () =
invalid_arg "ident_of_patt: this pattern is not an identifier" in
let rec self =
fun
[ Ast.PaApp _loc p1 p2 -> Ast.IdApp _loc (self p1) (self p2)
| Ast.PaId _ (Ast.IdLid _ _) -> error ()
| Ast.PaId _ i -> if is_module_longident i then i else error ()
| _ -> error () ]
in fun [ Ast.PaId _ i -> i | p -> self p ];
value rec is_irrefut_patt =
fun
[ Ast.PaId _ (Ast.IdLid _ _) -> True
| Ast.PaId _ (Ast.IdUid _ "()") -> True
| Ast.PaAny _ -> True
| Ast.PaAli _ x y -> (is_irrefut_patt x) && (is_irrefut_patt y)
| Ast.PaRec _ p -> is_irrefut_patt p
| Ast.PaEq _ (Ast.IdLid _ _) p -> is_irrefut_patt p
| Ast.PaSem _ p1 p2 -> (is_irrefut_patt p1) && (is_irrefut_patt p2)
| Ast.PaCom _ p1 p2 -> (is_irrefut_patt p1) && (is_irrefut_patt p2)
| Ast.PaTyc _ p _ -> is_irrefut_patt p
| Ast.PaTup _ pl -> is_irrefut_patt pl
| Ast.PaOlb _ _ (Ast.PaNil _) -> True
| Ast.PaOlb _ _ p -> is_irrefut_patt p
| Ast.PaOlbi _ _ p _ -> is_irrefut_patt p
| Ast.PaLab _ _ (Ast.PaNil _) -> True
| Ast.PaLab _ _ p -> is_irrefut_patt p
| _ -> False ];
value rec is_constructor =
fun
[ Ast.IdAcc _ _ i -> is_constructor i
| Ast.IdUid _ _ -> True
| Ast.IdLid _ _ | Ast.IdApp _ _ _ -> False
| Ast.IdAnt _ _ -> assert False ];
value is_patt_constructor =
fun
[ Ast.PaId _ i -> is_constructor i
| Ast.PaVrn _ _ -> True
| _ -> False ];
value rec is_expr_constructor =
fun
[ Ast.ExId _ i -> is_constructor i
| Ast.ExAcc _ e1 e2 ->
(is_expr_constructor e1) && (is_expr_constructor e2)
| Ast.ExVrn _ _ -> True
| _ -> False ];
value rec tyOr_of_list =
fun
[ [] -> Ast.TyNil ghost
| [ t ] -> t
| [ t :: ts ] ->
let _loc = loc_of_ctyp t in Ast.TyOr _loc t (tyOr_of_list ts) ];
value rec tyAnd_of_list =
fun
[ [] -> Ast.TyNil ghost
| [ t ] -> t
| [ t :: ts ] ->
let _loc = loc_of_ctyp t in Ast.TyAnd _loc t (tyAnd_of_list ts) ];
value rec tySem_of_list =
fun
[ [] -> Ast.TyNil ghost
| [ t ] -> t
| [ t :: ts ] ->
let _loc = loc_of_ctyp t in Ast.TySem _loc t (tySem_of_list ts) ];
value rec tyCom_of_list =
fun
[ [] -> Ast.TyNil ghost
| [ t ] -> t
| [ t :: ts ] ->
let _loc = loc_of_ctyp t in Ast.TyCom _loc t (tyCom_of_list ts) ];
value rec tyAmp_of_list =
fun
[ [] -> Ast.TyNil ghost
| [ t ] -> t
| [ t :: ts ] ->
let _loc = loc_of_ctyp t in Ast.TyAmp _loc t (tyAmp_of_list ts) ];
value rec tySta_of_list =
fun
[ [] -> Ast.TyNil ghost
| [ t ] -> t
| [ t :: ts ] ->
let _loc = loc_of_ctyp t in Ast.TySta _loc t (tySta_of_list ts) ];
value rec stSem_of_list =
fun
[ [] -> Ast.StNil ghost
| [ t ] -> t
| [ t :: ts ] ->
let _loc = loc_of_str_item t in Ast.StSem _loc t (stSem_of_list ts) ];
value rec sgSem_of_list =
fun
[ [] -> Ast.SgNil ghost
| [ t ] -> t
| [ t :: ts ] ->
let _loc = loc_of_sig_item t in Ast.SgSem _loc t (sgSem_of_list ts) ];
value rec biAnd_of_list =
fun
[ [] -> Ast.BiNil ghost
| [ b ] -> b
| [ b :: bs ] ->
let _loc = loc_of_binding b in Ast.BiAnd _loc b (biAnd_of_list bs) ];
value rec rbSem_of_list =
fun
[ [] -> Ast.RbNil ghost
| [ b ] -> b
| [ b :: bs ] ->
let _loc = loc_of_rec_binding b
in Ast.RbSem _loc b (rbSem_of_list bs) ];
value rec wcAnd_of_list =
fun
[ [] -> Ast.WcNil ghost
| [ w ] -> w
| [ w :: ws ] ->
let _loc = loc_of_with_constr w
in Ast.WcAnd _loc w (wcAnd_of_list ws) ];
value rec idAcc_of_list =
fun
[ [] -> assert False
| [ i ] -> i
| [ i :: is ] ->
let _loc = loc_of_ident i in Ast.IdAcc _loc i (idAcc_of_list is) ];
value rec idApp_of_list =
fun
[ [] -> assert False
| [ i ] -> i
| [ i :: is ] ->
let _loc = loc_of_ident i in Ast.IdApp _loc i (idApp_of_list is) ];
value rec mcOr_of_list =
fun
[ [] -> Ast.McNil ghost
| [ x ] -> x
| [ x :: xs ] ->
let _loc = loc_of_match_case x in Ast.McOr _loc x (mcOr_of_list xs) ];
value rec mbAnd_of_list =
fun
[ [] -> Ast.MbNil ghost
| [ x ] -> x
| [ x :: xs ] ->
let _loc = loc_of_module_binding x
in Ast.MbAnd _loc x (mbAnd_of_list xs) ];
value rec meApp_of_list =
fun
[ [] -> assert False
| [ x ] -> x
| [ x :: xs ] ->
let _loc = loc_of_module_expr x
in Ast.MeApp _loc x (meApp_of_list xs) ];
value rec ceAnd_of_list =
fun
[ [] -> Ast.CeNil ghost
| [ x ] -> x
| [ x :: xs ] ->
let _loc = loc_of_class_expr x
in Ast.CeAnd _loc x (ceAnd_of_list xs) ];
value rec ctAnd_of_list =
fun
[ [] -> Ast.CtNil ghost
| [ x ] -> x
| [ x :: xs ] ->
let _loc = loc_of_class_type x
in Ast.CtAnd _loc x (ctAnd_of_list xs) ];
value rec cgSem_of_list =
fun
[ [] -> Ast.CgNil ghost
| [ x ] -> x
| [ x :: xs ] ->
let _loc = loc_of_class_sig_item x
in Ast.CgSem _loc x (cgSem_of_list xs) ];
value rec crSem_of_list =
fun
[ [] -> Ast.CrNil ghost
| [ x ] -> x
| [ x :: xs ] ->
let _loc = loc_of_class_str_item x
in Ast.CrSem _loc x (crSem_of_list xs) ];
value rec paSem_of_list =
fun
[ [] -> Ast.PaNil ghost
| [ x ] -> x
| [ x :: xs ] ->
let _loc = loc_of_patt x in Ast.PaSem _loc x (paSem_of_list xs) ];
value rec paCom_of_list =
fun
[ [] -> Ast.PaNil ghost
| [ x ] -> x
| [ x :: xs ] ->
let _loc = loc_of_patt x in Ast.PaCom _loc x (paCom_of_list xs) ];
value rec exSem_of_list =
fun
[ [] -> Ast.ExNil ghost
| [ x ] -> x
| [ x :: xs ] ->
let _loc = loc_of_expr x in Ast.ExSem _loc x (exSem_of_list xs) ];
value rec exCom_of_list =
fun
[ [] -> Ast.ExNil ghost
| [ x ] -> x
| [ x :: xs ] ->
let _loc = loc_of_expr x in Ast.ExCom _loc x (exCom_of_list xs) ];
value ty_of_stl =
fun
[ (_loc, s, []) -> Ast.TyId _loc (Ast.IdUid _loc s)
| (_loc, s, tl) ->
Ast.TyOf _loc (Ast.TyId _loc (Ast.IdUid _loc s)) (tyAnd_of_list tl) ];
value ty_of_sbt =
fun
[ (_loc, s, True, t) ->
Ast.TyCol _loc (Ast.TyId _loc (Ast.IdLid _loc s))
(Ast.TyMut _loc t)
| (_loc, s, False, t) ->
Ast.TyCol _loc (Ast.TyId _loc (Ast.IdLid _loc s)) t ];
value bi_of_pe (p, e) = let _loc = loc_of_patt p in Ast.BiEq _loc p e;
value sum_type_of_list l = tyOr_of_list (List.map ty_of_stl l);
value record_type_of_list l = tySem_of_list (List.map ty_of_sbt l);
value binding_of_pel l = biAnd_of_list (List.map bi_of_pe l);
value rec pel_of_binding =
fun
[ Ast.BiAnd _ b1 b2 -> (pel_of_binding b1) @ (pel_of_binding b2)
| Ast.BiEq _ p e -> [ (p, e) ]
| _ -> assert False ];
value rec list_of_binding x acc =
match x with
[ Ast.BiAnd _ b1 b2 -> list_of_binding b1 (list_of_binding b2 acc)
| t -> [ t :: acc ] ];
value rec list_of_rec_binding x acc =
match x with
[ Ast.RbSem _ b1 b2 ->
list_of_rec_binding b1 (list_of_rec_binding b2 acc)
| t -> [ t :: acc ] ];
value rec list_of_with_constr x acc =
match x with
[ Ast.WcAnd _ w1 w2 ->
list_of_with_constr w1 (list_of_with_constr w2 acc)
| t -> [ t :: acc ] ];
value rec list_of_ctyp x acc =
match x with
[ Ast.TyNil _ -> acc
| Ast.TyAmp _ x y | Ast.TyCom _ x y | Ast.TySta _ x y | Ast.TySem _ x y
| Ast.TyAnd _ x y | Ast.TyOr _ x y ->
list_of_ctyp x (list_of_ctyp y acc)
| x -> [ x :: acc ] ];
value rec list_of_patt x acc =
match x with
[ Ast.PaNil _ -> acc
| Ast.PaCom _ x y | Ast.PaSem _ x y ->
list_of_patt x (list_of_patt y acc)
| x -> [ x :: acc ] ];
value rec list_of_expr x acc =
match x with
[ Ast.ExNil _ -> acc
| Ast.ExCom _ x y | Ast.ExSem _ x y ->
list_of_expr x (list_of_expr y acc)
| x -> [ x :: acc ] ];
value rec list_of_str_item x acc =
match x with
[ Ast.StNil _ -> acc
| Ast.StSem _ x y -> list_of_str_item x (list_of_str_item y acc)
| x -> [ x :: acc ] ];
value rec list_of_sig_item x acc =
match x with
[ Ast.SgNil _ -> acc
| Ast.SgSem _ x y -> list_of_sig_item x (list_of_sig_item y acc)
| x -> [ x :: acc ] ];
value rec list_of_class_sig_item x acc =
match x with
[ Ast.CgNil _ -> acc
| Ast.CgSem _ x y ->
list_of_class_sig_item x (list_of_class_sig_item y acc)
| x -> [ x :: acc ] ];
value rec list_of_class_str_item x acc =
match x with
[ Ast.CrNil _ -> acc
| Ast.CrSem _ x y ->
list_of_class_str_item x (list_of_class_str_item y acc)
| x -> [ x :: acc ] ];
value rec list_of_class_type x acc =
match x with
[ Ast.CtAnd _ x y -> list_of_class_type x (list_of_class_type y acc)
| x -> [ x :: acc ] ];
value rec list_of_class_expr x acc =
match x with
[ Ast.CeAnd _ x y -> list_of_class_expr x (list_of_class_expr y acc)
| x -> [ x :: acc ] ];
value rec list_of_module_expr x acc =
match x with
[ Ast.MeApp _ x y -> list_of_module_expr x (list_of_module_expr y acc)
| x -> [ x :: acc ] ];
value rec list_of_match_case x acc =
match x with
[ Ast.McNil _ -> acc
| Ast.McOr _ x y -> list_of_match_case x (list_of_match_case y acc)
| x -> [ x :: acc ] ];
value rec list_of_ident x acc =
match x with
[ Ast.IdAcc _ x y | Ast.IdApp _ x y ->
list_of_ident x (list_of_ident y acc)
| x -> [ x :: acc ] ];
value rec list_of_module_binding x acc =
match x with
[ Ast.MbAnd _ x y ->
list_of_module_binding x (list_of_module_binding y acc)
| x -> [ x :: acc ] ];
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
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.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_rec_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_rec_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_list mf_a _loc =
fun
[ Ast.LAnt x0 -> Ast.ExAnt _loc x0
| Ast.LCons x0 x1 ->
Ast.ExApp _loc
(Ast.ExApp _loc
(Ast.ExId _loc
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "LCons")))
(mf_a _loc x0))
(meta_meta_list mf_a _loc x1)
| Ast.LNil ->
Ast.ExId _loc
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "LNil")) ]
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)
| Ast.MeNil x0 ->
Ast.ExApp _loc
(Ast.ExId _loc
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "MeNil")))
(meta_acc_Loc_t _loc x0) ]
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)
| Ast.MtNil x0 ->
Ast.ExApp _loc
(Ast.ExId _loc
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "MtNil")))
(meta_acc_Loc_t _loc x0) ]
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_ident _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_rec_binding _loc =
fun
[ Ast.RbAnt x0 x1 -> Ast.ExAnt x0 x1
| Ast.RbEq 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 "RbEq")))
(meta_acc_Loc_t _loc x0))
(meta_ident _loc x1))
(meta_expr _loc x2)
| Ast.RbSem 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 "RbSem")))
(meta_acc_Loc_t _loc x0))
(meta_rec_binding _loc x1))
(meta_rec_binding _loc x2)
| Ast.RbNil x0 ->
Ast.ExApp _loc
(Ast.ExId _loc
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "RbNil")))
(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_meta_list 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_meta_list 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.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_rec_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_rec_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_list mf_a _loc =
fun
[ Ast.LAnt x0 -> Ast.PaAnt _loc x0
| Ast.LCons x0 x1 ->
Ast.PaApp _loc
(Ast.PaApp _loc
(Ast.PaId _loc
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "LCons")))
(mf_a _loc x0))
(meta_meta_list mf_a _loc x1)
| Ast.LNil ->
Ast.PaId _loc
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "LNil")) ]
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)
| Ast.MeNil x0 ->
Ast.PaApp _loc
(Ast.PaId _loc
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "MeNil")))
(meta_acc_Loc_t _loc x0) ]
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)
| Ast.MtNil x0 ->
Ast.PaApp _loc
(Ast.PaId _loc
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "MtNil")))
(meta_acc_Loc_t _loc x0) ]
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_ident _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_rec_binding _loc =
fun
[ Ast.RbAnt x0 x1 -> Ast.PaAnt x0 x1
| Ast.RbEq 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 "RbEq")))
(meta_acc_Loc_t _loc x0))
(meta_ident _loc x1))
(meta_expr _loc x2)
| Ast.RbSem 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 "RbSem")))
(meta_acc_Loc_t _loc x0))
(meta_rec_binding _loc x1))
(meta_rec_binding _loc x2)
| Ast.RbNil x0 ->
Ast.PaApp _loc
(Ast.PaId _loc
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "RbNil")))
(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_meta_list 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_meta_list 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);
method int = fun x -> (x : int);
method float = fun x -> (x : float);
method bool = fun x -> (x : bool);
method list : ! 'a 'b. ('a -> 'b) -> list 'a -> list 'b = List.map;
method option : ! 'a 'b. ('a -> 'b) -> option 'a -> option 'b =
fun f -> fun [ None -> None | Some x -> Some (f x) ];
method array : ! 'a 'b. ('a -> 'b) -> array 'a -> array 'b = Array.
map;
method ref : ! 'a 'b. ('a -> 'b) -> ref 'a -> ref 'b =
fun f { val = x } -> { val = f x; };
method _Loc_t : Loc.t -> Loc.t = fun x -> x;
method with_constr : with_constr -> with_constr =
fun
[ WcNil _x0 -> WcNil (o#_Loc_t _x0)
| WcTyp _x0 _x1 _x2 ->
WcTyp (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| WcMod _x0 _x1 _x2 ->
WcMod (o#_Loc_t _x0) (o#ident _x1) (o#ident _x2)
| WcAnd _x0 _x1 _x2 ->
WcAnd (o#_Loc_t _x0) (o#with_constr _x1) (o#with_constr _x2)
| WcAnt _x0 _x1 -> WcAnt (o#_Loc_t _x0) (o#string _x1) ];
method str_item : str_item -> str_item =
fun
[ StNil _x0 -> StNil (o#_Loc_t _x0)
| StCls _x0 _x1 -> StCls (o#_Loc_t _x0) (o#class_expr _x1)
| StClt _x0 _x1 -> StClt (o#_Loc_t _x0) (o#class_type _x1)
| StSem _x0 _x1 _x2 ->
StSem (o#_Loc_t _x0) (o#str_item _x1) (o#str_item _x2)
| StDir _x0 _x1 _x2 ->
StDir (o#_Loc_t _x0) (o#string _x1) (o#expr _x2)
| StExc _x0 _x1 _x2 ->
StExc (o#_Loc_t _x0) (o#ctyp _x1) (o#meta_option o#ident _x2)
| StExp _x0 _x1 -> StExp (o#_Loc_t _x0) (o#expr _x1)
| StExt _x0 _x1 _x2 _x3 ->
StExt (o#_Loc_t _x0) (o#string _x1) (o#ctyp _x2)
(o#meta_list o#string _x3)
| StInc _x0 _x1 -> StInc (o#_Loc_t _x0) (o#module_expr _x1)
| StMod _x0 _x1 _x2 ->
StMod (o#_Loc_t _x0) (o#string _x1) (o#module_expr _x2)
| StRecMod _x0 _x1 ->
StRecMod (o#_Loc_t _x0) (o#module_binding _x1)
| StMty _x0 _x1 _x2 ->
StMty (o#_Loc_t _x0) (o#string _x1) (o#module_type _x2)
| StOpn _x0 _x1 -> StOpn (o#_Loc_t _x0) (o#ident _x1)
| StTyp _x0 _x1 -> StTyp (o#_Loc_t _x0) (o#ctyp _x1)
| StVal _x0 _x1 _x2 ->
StVal (o#_Loc_t _x0) (o#meta_bool _x1) (o#binding _x2)
| StAnt _x0 _x1 -> StAnt (o#_Loc_t _x0) (o#string _x1) ];
method sig_item : sig_item -> sig_item =
fun
[ SgNil _x0 -> SgNil (o#_Loc_t _x0)
| SgCls _x0 _x1 -> SgCls (o#_Loc_t _x0) (o#class_type _x1)
| SgClt _x0 _x1 -> SgClt (o#_Loc_t _x0) (o#class_type _x1)
| SgSem _x0 _x1 _x2 ->
SgSem (o#_Loc_t _x0) (o#sig_item _x1) (o#sig_item _x2)
| SgDir _x0 _x1 _x2 ->
SgDir (o#_Loc_t _x0) (o#string _x1) (o#expr _x2)
| SgExc _x0 _x1 -> SgExc (o#_Loc_t _x0) (o#ctyp _x1)
| SgExt _x0 _x1 _x2 _x3 ->
SgExt (o#_Loc_t _x0) (o#string _x1) (o#ctyp _x2)
(o#meta_list o#string _x3)
| SgInc _x0 _x1 -> SgInc (o#_Loc_t _x0) (o#module_type _x1)
| SgMod _x0 _x1 _x2 ->
SgMod (o#_Loc_t _x0) (o#string _x1) (o#module_type _x2)
| SgRecMod _x0 _x1 ->
SgRecMod (o#_Loc_t _x0) (o#module_binding _x1)
| SgMty _x0 _x1 _x2 ->
SgMty (o#_Loc_t _x0) (o#string _x1) (o#module_type _x2)
| SgOpn _x0 _x1 -> SgOpn (o#_Loc_t _x0) (o#ident _x1)
| SgTyp _x0 _x1 -> SgTyp (o#_Loc_t _x0) (o#ctyp _x1)
| SgVal _x0 _x1 _x2 ->
SgVal (o#_Loc_t _x0) (o#string _x1) (o#ctyp _x2)
| SgAnt _x0 _x1 -> SgAnt (o#_Loc_t _x0) (o#string _x1) ];
method rec_binding : rec_binding -> rec_binding =
fun
[ RbNil _x0 -> RbNil (o#_Loc_t _x0)
| RbSem _x0 _x1 _x2 ->
RbSem (o#_Loc_t _x0) (o#rec_binding _x1) (o#rec_binding _x2)
| RbEq _x0 _x1 _x2 ->
RbEq (o#_Loc_t _x0) (o#ident _x1) (o#expr _x2)
| RbAnt _x0 _x1 -> RbAnt (o#_Loc_t _x0) (o#string _x1) ];
method patt : patt -> patt =
fun
[ PaNil _x0 -> PaNil (o#_Loc_t _x0)
| PaId _x0 _x1 -> PaId (o#_Loc_t _x0) (o#ident _x1)
| PaAli _x0 _x1 _x2 ->
PaAli (o#_Loc_t _x0) (o#patt _x1) (o#patt _x2)
| PaAnt _x0 _x1 -> PaAnt (o#_Loc_t _x0) (o#string _x1)
| PaAny _x0 -> PaAny (o#_Loc_t _x0)
| PaApp _x0 _x1 _x2 ->
PaApp (o#_Loc_t _x0) (o#patt _x1) (o#patt _x2)
| PaArr _x0 _x1 -> PaArr (o#_Loc_t _x0) (o#patt _x1)
| PaCom _x0 _x1 _x2 ->
PaCom (o#_Loc_t _x0) (o#patt _x1) (o#patt _x2)
| PaSem _x0 _x1 _x2 ->
PaSem (o#_Loc_t _x0) (o#patt _x1) (o#patt _x2)
| PaChr _x0 _x1 -> PaChr (o#_Loc_t _x0) (o#string _x1)
| PaInt _x0 _x1 -> PaInt (o#_Loc_t _x0) (o#string _x1)
| PaInt32 _x0 _x1 -> PaInt32 (o#_Loc_t _x0) (o#string _x1)
| PaInt64 _x0 _x1 -> PaInt64 (o#_Loc_t _x0) (o#string _x1)
| PaNativeInt _x0 _x1 -> PaNativeInt (o#_Loc_t _x0) (o#string _x1)
| PaFlo _x0 _x1 -> PaFlo (o#_Loc_t _x0) (o#string _x1)
| PaLab _x0 _x1 _x2 ->
PaLab (o#_Loc_t _x0) (o#string _x1) (o#patt _x2)
| PaOlb _x0 _x1 _x2 ->
PaOlb (o#_Loc_t _x0) (o#string _x1) (o#patt _x2)
| PaOlbi _x0 _x1 _x2 _x3 ->
PaOlbi (o#_Loc_t _x0) (o#string _x1) (o#patt _x2) (o#expr _x3)
| PaOrp _x0 _x1 _x2 ->
PaOrp (o#_Loc_t _x0) (o#patt _x1) (o#patt _x2)
| PaRng _x0 _x1 _x2 ->
PaRng (o#_Loc_t _x0) (o#patt _x1) (o#patt _x2)
| PaRec _x0 _x1 -> PaRec (o#_Loc_t _x0) (o#patt _x1)
| PaEq _x0 _x1 _x2 ->
PaEq (o#_Loc_t _x0) (o#ident _x1) (o#patt _x2)
| PaStr _x0 _x1 -> PaStr (o#_Loc_t _x0) (o#string _x1)
| PaTup _x0 _x1 -> PaTup (o#_Loc_t _x0) (o#patt _x1)
| PaTyc _x0 _x1 _x2 ->
PaTyc (o#_Loc_t _x0) (o#patt _x1) (o#ctyp _x2)
| PaTyp _x0 _x1 -> PaTyp (o#_Loc_t _x0) (o#ident _x1)
| PaVrn _x0 _x1 -> PaVrn (o#_Loc_t _x0) (o#string _x1) ];
method module_type : module_type -> module_type =
fun
[ MtNil _x0 -> MtNil (o#_Loc_t _x0)
| MtId _x0 _x1 -> MtId (o#_Loc_t _x0) (o#ident _x1)
| MtFun _x0 _x1 _x2 _x3 ->
MtFun (o#_Loc_t _x0) (o#string _x1) (o#module_type _x2)
(o#module_type _x3)
| MtQuo _x0 _x1 -> MtQuo (o#_Loc_t _x0) (o#string _x1)
| MtSig _x0 _x1 -> MtSig (o#_Loc_t _x0) (o#sig_item _x1)
| MtWit _x0 _x1 _x2 ->
MtWit (o#_Loc_t _x0) (o#module_type _x1) (o#with_constr _x2)
| MtAnt _x0 _x1 -> MtAnt (o#_Loc_t _x0) (o#string _x1) ];
method module_expr : module_expr -> module_expr =
fun
[ MeNil _x0 -> MeNil (o#_Loc_t _x0)
| MeId _x0 _x1 -> MeId (o#_Loc_t _x0) (o#ident _x1)
| MeApp _x0 _x1 _x2 ->
MeApp (o#_Loc_t _x0) (o#module_expr _x1) (o#module_expr _x2)
| MeFun _x0 _x1 _x2 _x3 ->
MeFun (o#_Loc_t _x0) (o#string _x1) (o#module_type _x2)
(o#module_expr _x3)
| MeStr _x0 _x1 -> MeStr (o#_Loc_t _x0) (o#str_item _x1)
| MeTyc _x0 _x1 _x2 ->
MeTyc (o#_Loc_t _x0) (o#module_expr _x1) (o#module_type _x2)
| MeAnt _x0 _x1 -> MeAnt (o#_Loc_t _x0) (o#string _x1) ];
method module_binding : module_binding -> module_binding =
fun
[ MbNil _x0 -> MbNil (o#_Loc_t _x0)
| MbAnd _x0 _x1 _x2 ->
MbAnd (o#_Loc_t _x0) (o#module_binding _x1)
(o#module_binding _x2)
| MbColEq _x0 _x1 _x2 _x3 ->
MbColEq (o#_Loc_t _x0) (o#string _x1) (o#module_type _x2)
(o#module_expr _x3)
| MbCol _x0 _x1 _x2 ->
MbCol (o#_Loc_t _x0) (o#string _x1) (o#module_type _x2)
| MbAnt _x0 _x1 -> MbAnt (o#_Loc_t _x0) (o#string _x1) ];
method meta_option :
! 'a 'b. ('a -> 'b) -> meta_option 'a -> meta_option 'b =
fun _f_a ->
fun
[ ONone -> ONone
| OSome _x0 -> OSome (_f_a _x0)
| OAnt _x0 -> OAnt (o#string _x0) ];
method meta_list :
! 'a 'b. ('a -> 'b) -> meta_list 'a -> meta_list 'b =
fun _f_a ->
fun
[ LNil -> LNil
| LCons _x0 _x1 -> LCons (_f_a _x0) (o#meta_list _f_a _x1)
| LAnt _x0 -> LAnt (o#string _x0) ];
method meta_bool : meta_bool -> meta_bool =
fun
[ BTrue -> BTrue
| BFalse -> BFalse
| BAnt _x0 -> BAnt (o#string _x0) ];
method match_case : match_case -> match_case =
fun
[ McNil _x0 -> McNil (o#_Loc_t _x0)
| McOr _x0 _x1 _x2 ->
McOr (o#_Loc_t _x0) (o#match_case _x1) (o#match_case _x2)
| McArr _x0 _x1 _x2 _x3 ->
McArr (o#_Loc_t _x0) (o#patt _x1) (o#expr _x2) (o#expr _x3)
| McAnt _x0 _x1 -> McAnt (o#_Loc_t _x0) (o#string _x1) ];
method ident : ident -> ident =
fun
[ IdAcc _x0 _x1 _x2 ->
IdAcc (o#_Loc_t _x0) (o#ident _x1) (o#ident _x2)
| IdApp _x0 _x1 _x2 ->
IdApp (o#_Loc_t _x0) (o#ident _x1) (o#ident _x2)
| IdLid _x0 _x1 -> IdLid (o#_Loc_t _x0) (o#string _x1)
| IdUid _x0 _x1 -> IdUid (o#_Loc_t _x0) (o#string _x1)
| IdAnt _x0 _x1 -> IdAnt (o#_Loc_t _x0) (o#string _x1) ];
method expr : expr -> expr =
fun
[ ExNil _x0 -> ExNil (o#_Loc_t _x0)
| ExId _x0 _x1 -> ExId (o#_Loc_t _x0) (o#ident _x1)
| ExAcc _x0 _x1 _x2 ->
ExAcc (o#_Loc_t _x0) (o#expr _x1) (o#expr _x2)
| ExAnt _x0 _x1 -> ExAnt (o#_Loc_t _x0) (o#string _x1)
| ExApp _x0 _x1 _x2 ->
ExApp (o#_Loc_t _x0) (o#expr _x1) (o#expr _x2)
| ExAre _x0 _x1 _x2 ->
ExAre (o#_Loc_t _x0) (o#expr _x1) (o#expr _x2)
| ExArr _x0 _x1 -> ExArr (o#_Loc_t _x0) (o#expr _x1)
| ExSem _x0 _x1 _x2 ->
ExSem (o#_Loc_t _x0) (o#expr _x1) (o#expr _x2)
| ExAsf _x0 -> ExAsf (o#_Loc_t _x0)
| ExAsr _x0 _x1 -> ExAsr (o#_Loc_t _x0) (o#expr _x1)
| ExAss _x0 _x1 _x2 ->
ExAss (o#_Loc_t _x0) (o#expr _x1) (o#expr _x2)
| ExChr _x0 _x1 -> ExChr (o#_Loc_t _x0) (o#string _x1)
| ExCoe _x0 _x1 _x2 _x3 ->
ExCoe (o#_Loc_t _x0) (o#expr _x1) (o#ctyp _x2) (o#ctyp _x3)
| ExFlo _x0 _x1 -> ExFlo (o#_Loc_t _x0) (o#string _x1)
| ExFor _x0 _x1 _x2 _x3 _x4 _x5 ->
ExFor (o#_Loc_t _x0) (o#string _x1) (o#expr _x2) (o#expr _x3)
(o#meta_bool _x4) (o#expr _x5)
| ExFun _x0 _x1 -> ExFun (o#_Loc_t _x0) (o#match_case _x1)
| ExIfe _x0 _x1 _x2 _x3 ->
ExIfe (o#_Loc_t _x0) (o#expr _x1) (o#expr _x2) (o#expr _x3)
| ExInt _x0 _x1 -> ExInt (o#_Loc_t _x0) (o#string _x1)
| ExInt32 _x0 _x1 -> ExInt32 (o#_Loc_t _x0) (o#string _x1)
| ExInt64 _x0 _x1 -> ExInt64 (o#_Loc_t _x0) (o#string _x1)
| ExNativeInt _x0 _x1 -> ExNativeInt (o#_Loc_t _x0) (o#string _x1)
| ExLab _x0 _x1 _x2 ->
ExLab (o#_Loc_t _x0) (o#string _x1) (o#expr _x2)
| ExLaz _x0 _x1 -> ExLaz (o#_Loc_t _x0) (o#expr _x1)
| ExLet _x0 _x1 _x2 _x3 ->
ExLet (o#_Loc_t _x0) (o#meta_bool _x1) (o#binding _x2)
(o#expr _x3)
| ExLmd _x0 _x1 _x2 _x3 ->
ExLmd (o#_Loc_t _x0) (o#string _x1) (o#module_expr _x2)
(o#expr _x3)
| ExMat _x0 _x1 _x2 ->
ExMat (o#_Loc_t _x0) (o#expr _x1) (o#match_case _x2)
| ExNew _x0 _x1 -> ExNew (o#_Loc_t _x0) (o#ident _x1)
| ExObj _x0 _x1 _x2 ->
ExObj (o#_Loc_t _x0) (o#patt _x1) (o#class_str_item _x2)
| ExOlb _x0 _x1 _x2 ->
ExOlb (o#_Loc_t _x0) (o#string _x1) (o#expr _x2)
| ExOvr _x0 _x1 -> ExOvr (o#_Loc_t _x0) (o#rec_binding _x1)
| ExRec _x0 _x1 _x2 ->
ExRec (o#_Loc_t _x0) (o#rec_binding _x1) (o#expr _x2)
| ExSeq _x0 _x1 -> ExSeq (o#_Loc_t _x0) (o#expr _x1)
| ExSnd _x0 _x1 _x2 ->
ExSnd (o#_Loc_t _x0) (o#expr _x1) (o#string _x2)
| ExSte _x0 _x1 _x2 ->
ExSte (o#_Loc_t _x0) (o#expr _x1) (o#expr _x2)
| ExStr _x0 _x1 -> ExStr (o#_Loc_t _x0) (o#string _x1)
| ExTry _x0 _x1 _x2 ->
ExTry (o#_Loc_t _x0) (o#expr _x1) (o#match_case _x2)
| ExTup _x0 _x1 -> ExTup (o#_Loc_t _x0) (o#expr _x1)
| ExCom _x0 _x1 _x2 ->
ExCom (o#_Loc_t _x0) (o#expr _x1) (o#expr _x2)
| ExTyc _x0 _x1 _x2 ->
ExTyc (o#_Loc_t _x0) (o#expr _x1) (o#ctyp _x2)
| ExVrn _x0 _x1 -> ExVrn (o#_Loc_t _x0) (o#string _x1)
| ExWhi _x0 _x1 _x2 ->
ExWhi (o#_Loc_t _x0) (o#expr _x1) (o#expr _x2) ];
method ctyp : ctyp -> ctyp =
fun
[ TyNil _x0 -> TyNil (o#_Loc_t _x0)
| TyAli _x0 _x1 _x2 ->
TyAli (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| TyAny _x0 -> TyAny (o#_Loc_t _x0)
| TyApp _x0 _x1 _x2 ->
TyApp (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| TyArr _x0 _x1 _x2 ->
TyArr (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| TyCls _x0 _x1 -> TyCls (o#_Loc_t _x0) (o#ident _x1)
| TyLab _x0 _x1 _x2 ->
TyLab (o#_Loc_t _x0) (o#string _x1) (o#ctyp _x2)
| TyId _x0 _x1 -> TyId (o#_Loc_t _x0) (o#ident _x1)
| TyMan _x0 _x1 _x2 ->
TyMan (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| TyDcl _x0 _x1 _x2 _x3 _x4 ->
TyDcl (o#_Loc_t _x0) (o#string _x1) (o#list o#ctyp _x2)
(o#ctyp _x3)
(o#list (fun (_x0, _x1) -> ((o#ctyp _x0), (o#ctyp _x1))) _x4)
| TyObj _x0 _x1 _x2 ->
TyObj (o#_Loc_t _x0) (o#ctyp _x1) (o#meta_bool _x2)
| TyOlb _x0 _x1 _x2 ->
TyOlb (o#_Loc_t _x0) (o#string _x1) (o#ctyp _x2)
| TyPol _x0 _x1 _x2 ->
TyPol (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| TyQuo _x0 _x1 -> TyQuo (o#_Loc_t _x0) (o#string _x1)
| TyQuP _x0 _x1 -> TyQuP (o#_Loc_t _x0) (o#string _x1)
| TyQuM _x0 _x1 -> TyQuM (o#_Loc_t _x0) (o#string _x1)
| TyVrn _x0 _x1 -> TyVrn (o#_Loc_t _x0) (o#string _x1)
| TyRec _x0 _x1 -> TyRec (o#_Loc_t _x0) (o#ctyp _x1)
| TyCol _x0 _x1 _x2 ->
TyCol (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| TySem _x0 _x1 _x2 ->
TySem (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| TyCom _x0 _x1 _x2 ->
TyCom (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| TySum _x0 _x1 -> TySum (o#_Loc_t _x0) (o#ctyp _x1)
| TyOf _x0 _x1 _x2 -> TyOf (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| TyAnd _x0 _x1 _x2 ->
TyAnd (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| TyOr _x0 _x1 _x2 -> TyOr (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| TyPrv _x0 _x1 -> TyPrv (o#_Loc_t _x0) (o#ctyp _x1)
| TyMut _x0 _x1 -> TyMut (o#_Loc_t _x0) (o#ctyp _x1)
| TyTup _x0 _x1 -> TyTup (o#_Loc_t _x0) (o#ctyp _x1)
| TySta _x0 _x1 _x2 ->
TySta (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| TyVrnEq _x0 _x1 -> TyVrnEq (o#_Loc_t _x0) (o#ctyp _x1)
| TyVrnSup _x0 _x1 -> TyVrnSup (o#_Loc_t _x0) (o#ctyp _x1)
| TyVrnInf _x0 _x1 -> TyVrnInf (o#_Loc_t _x0) (o#ctyp _x1)
| TyVrnInfSup _x0 _x1 _x2 ->
TyVrnInfSup (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| TyAmp _x0 _x1 _x2 ->
TyAmp (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| TyOfAmp _x0 _x1 _x2 ->
TyOfAmp (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| TyAnt _x0 _x1 -> TyAnt (o#_Loc_t _x0) (o#string _x1) ];
method class_type : class_type -> class_type =
fun
[ CtNil _x0 -> CtNil (o#_Loc_t _x0)
| CtCon _x0 _x1 _x2 _x3 ->
CtCon (o#_Loc_t _x0) (o#meta_bool _x1) (o#ident _x2)
(o#ctyp _x3)
| CtFun _x0 _x1 _x2 ->
CtFun (o#_Loc_t _x0) (o#ctyp _x1) (o#class_type _x2)
| CtSig _x0 _x1 _x2 ->
CtSig (o#_Loc_t _x0) (o#ctyp _x1) (o#class_sig_item _x2)
| CtAnd _x0 _x1 _x2 ->
CtAnd (o#_Loc_t _x0) (o#class_type _x1) (o#class_type _x2)
| CtCol _x0 _x1 _x2 ->
CtCol (o#_Loc_t _x0) (o#class_type _x1) (o#class_type _x2)
| CtEq _x0 _x1 _x2 ->
CtEq (o#_Loc_t _x0) (o#class_type _x1) (o#class_type _x2)
| CtAnt _x0 _x1 -> CtAnt (o#_Loc_t _x0) (o#string _x1) ];
method class_str_item : class_str_item -> class_str_item =
fun
[ CrNil _x0 -> CrNil (o#_Loc_t _x0)
| CrSem _x0 _x1 _x2 ->
CrSem (o#_Loc_t _x0) (o#class_str_item _x1)
(o#class_str_item _x2)
| CrCtr _x0 _x1 _x2 ->
CrCtr (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| CrInh _x0 _x1 _x2 ->
CrInh (o#_Loc_t _x0) (o#class_expr _x1) (o#string _x2)
| CrIni _x0 _x1 -> CrIni (o#_Loc_t _x0) (o#expr _x1)
| CrMth _x0 _x1 _x2 _x3 _x4 ->
CrMth (o#_Loc_t _x0) (o#string _x1) (o#meta_bool _x2)
(o#expr _x3) (o#ctyp _x4)
| CrVal _x0 _x1 _x2 _x3 ->
CrVal (o#_Loc_t _x0) (o#string _x1) (o#meta_bool _x2)
(o#expr _x3)
| CrVir _x0 _x1 _x2 _x3 ->
CrVir (o#_Loc_t _x0) (o#string _x1) (o#meta_bool _x2)
(o#ctyp _x3)
| CrVvr _x0 _x1 _x2 _x3 ->
CrVvr (o#_Loc_t _x0) (o#string _x1) (o#meta_bool _x2)
(o#ctyp _x3)
| CrAnt _x0 _x1 -> CrAnt (o#_Loc_t _x0) (o#string _x1) ];
method class_sig_item : class_sig_item -> class_sig_item =
fun
[ CgNil _x0 -> CgNil (o#_Loc_t _x0)
| CgCtr _x0 _x1 _x2 ->
CgCtr (o#_Loc_t _x0) (o#ctyp _x1) (o#ctyp _x2)
| CgSem _x0 _x1 _x2 ->
CgSem (o#_Loc_t _x0) (o#class_sig_item _x1)
(o#class_sig_item _x2)
| CgInh _x0 _x1 -> CgInh (o#_Loc_t _x0) (o#class_type _x1)
| CgMth _x0 _x1 _x2 _x3 ->
CgMth (o#_Loc_t _x0) (o#string _x1) (o#meta_bool _x2)
(o#ctyp _x3)
| CgVal _x0 _x1 _x2 _x3 _x4 ->
CgVal (o#_Loc_t _x0) (o#string _x1) (o#meta_bool _x2)
(o#meta_bool _x3) (o#ctyp _x4)
| CgVir _x0 _x1 _x2 _x3 ->
CgVir (o#_Loc_t _x0) (o#string _x1) (o#meta_bool _x2)
(o#ctyp _x3)
| CgAnt _x0 _x1 -> CgAnt (o#_Loc_t _x0) (o#string _x1) ];
method class_expr : class_expr -> class_expr =
fun
[ CeNil _x0 -> CeNil (o#_Loc_t _x0)
| CeApp _x0 _x1 _x2 ->
CeApp (o#_Loc_t _x0) (o#class_expr _x1) (o#expr _x2)
| CeCon _x0 _x1 _x2 _x3 ->
CeCon (o#_Loc_t _x0) (o#meta_bool _x1) (o#ident _x2)
(o#ctyp _x3)
| CeFun _x0 _x1 _x2 ->
CeFun (o#_Loc_t _x0) (o#patt _x1) (o#class_expr _x2)
| CeLet _x0 _x1 _x2 _x3 ->
CeLet (o#_Loc_t _x0) (o#meta_bool _x1) (o#binding _x2)
(o#class_expr _x3)
| CeStr _x0 _x1 _x2 ->
CeStr (o#_Loc_t _x0) (o#patt _x1) (o#class_str_item _x2)
| CeTyc _x0 _x1 _x2 ->
CeTyc (o#_Loc_t _x0) (o#class_expr _x1) (o#class_type _x2)
| CeAnd _x0 _x1 _x2 ->
CeAnd (o#_Loc_t _x0) (o#class_expr _x1) (o#class_expr _x2)
| CeEq _x0 _x1 _x2 ->
CeEq (o#_Loc_t _x0) (o#class_expr _x1) (o#class_expr _x2)
| CeAnt _x0 _x1 -> CeAnt (o#_Loc_t _x0) (o#string _x1) ];
method binding : binding -> binding =
fun
[ BiNil _x0 -> BiNil (o#_Loc_t _x0)
| BiAnd _x0 _x1 _x2 ->
BiAnd (o#_Loc_t _x0) (o#binding _x1) (o#binding _x2)
| BiEq _x0 _x1 _x2 -> BiEq (o#_Loc_t _x0) (o#patt _x1) (o#expr _x2)
| BiAnt _x0 _x1 -> BiAnt (o#_Loc_t _x0) (o#string _x1) ];
end;
class fold =
object ((o : 'self_type))
method string = fun (_ : string) -> (o : 'self_type);
method int = fun (_ : int) -> (o : 'self_type);
method float = fun (_ : float) -> (o : 'self_type);
method bool = fun (_ : bool) -> (o : 'self_type);
method list :
! 'a. ('self_type -> 'a -> 'self_type) -> list 'a -> 'self_type =
fun f -> List.fold_left f o;
method option :
! 'a. ('self_type -> 'a -> 'self_type) -> option 'a -> 'self_type =
fun f -> fun [ None -> o | Some x -> f o x ];
method array :
! 'a. ('self_type -> 'a -> 'self_type) -> array 'a -> 'self_type =
fun f -> Array.fold_left f o;
method ref :
! 'a. ('self_type -> 'a -> 'self_type) -> ref 'a -> 'self_type =
fun f { val = x } -> f o x;
method _Loc_t : Loc.t -> 'self_type = fun _ -> o;
method with_constr : with_constr -> 'self_type =
fun
[ WcNil _x0 -> o#_Loc_t _x0
| WcTyp _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| WcMod _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ident _x1)#ident _x2
| WcAnd _x0 _x1 _x2 ->
((o#_Loc_t _x0)#with_constr _x1)#with_constr _x2
| WcAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
method str_item : str_item -> 'self_type =
fun
[ StNil _x0 -> o#_Loc_t _x0
| StCls _x0 _x1 -> (o#_Loc_t _x0)#class_expr _x1
| StClt _x0 _x1 -> (o#_Loc_t _x0)#class_type _x1
| StSem _x0 _x1 _x2 -> ((o#_Loc_t _x0)#str_item _x1)#str_item _x2
| StDir _x0 _x1 _x2 -> ((o#_Loc_t _x0)#string _x1)#expr _x2
| StExc _x0 _x1 _x2 ->
((o#_Loc_t _x0)#ctyp _x1)#meta_option (fun o -> o#ident) _x2
| StExp _x0 _x1 -> (o#_Loc_t _x0)#expr _x1
| StExt _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#string _x1)#ctyp _x2)#meta_list
(fun o -> o#string) _x3
| StInc _x0 _x1 -> (o#_Loc_t _x0)#module_expr _x1
| StMod _x0 _x1 _x2 -> ((o#_Loc_t _x0)#string _x1)#module_expr _x2
| StRecMod _x0 _x1 -> (o#_Loc_t _x0)#module_binding _x1
| StMty _x0 _x1 _x2 -> ((o#_Loc_t _x0)#string _x1)#module_type _x2
| StOpn _x0 _x1 -> (o#_Loc_t _x0)#ident _x1
| StTyp _x0 _x1 -> (o#_Loc_t _x0)#ctyp _x1
| StVal _x0 _x1 _x2 -> ((o#_Loc_t _x0)#meta_bool _x1)#binding _x2
| StAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
method sig_item : sig_item -> 'self_type =
fun
[ SgNil _x0 -> o#_Loc_t _x0
| SgCls _x0 _x1 -> (o#_Loc_t _x0)#class_type _x1
| SgClt _x0 _x1 -> (o#_Loc_t _x0)#class_type _x1
| SgSem _x0 _x1 _x2 -> ((o#_Loc_t _x0)#sig_item _x1)#sig_item _x2
| SgDir _x0 _x1 _x2 -> ((o#_Loc_t _x0)#string _x1)#expr _x2
| SgExc _x0 _x1 -> (o#_Loc_t _x0)#ctyp _x1
| SgExt _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#string _x1)#ctyp _x2)#meta_list
(fun o -> o#string) _x3
| SgInc _x0 _x1 -> (o#_Loc_t _x0)#module_type _x1
| SgMod _x0 _x1 _x2 -> ((o#_Loc_t _x0)#string _x1)#module_type _x2
| SgRecMod _x0 _x1 -> (o#_Loc_t _x0)#module_binding _x1
| SgMty _x0 _x1 _x2 -> ((o#_Loc_t _x0)#string _x1)#module_type _x2
| SgOpn _x0 _x1 -> (o#_Loc_t _x0)#ident _x1
| SgTyp _x0 _x1 -> (o#_Loc_t _x0)#ctyp _x1
| SgVal _x0 _x1 _x2 -> ((o#_Loc_t _x0)#string _x1)#ctyp _x2
| SgAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
method rec_binding : rec_binding -> 'self_type =
fun
[ RbNil _x0 -> o#_Loc_t _x0
| RbSem _x0 _x1 _x2 ->
((o#_Loc_t _x0)#rec_binding _x1)#rec_binding _x2
| RbEq _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ident _x1)#expr _x2
| RbAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
method patt : patt -> 'self_type =
fun
[ PaNil _x0 -> o#_Loc_t _x0
| PaId _x0 _x1 -> (o#_Loc_t _x0)#ident _x1
| PaAli _x0 _x1 _x2 -> ((o#_Loc_t _x0)#patt _x1)#patt _x2
| PaAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| PaAny _x0 -> o#_Loc_t _x0
| PaApp _x0 _x1 _x2 -> ((o#_Loc_t _x0)#patt _x1)#patt _x2
| PaArr _x0 _x1 -> (o#_Loc_t _x0)#patt _x1
| PaCom _x0 _x1 _x2 -> ((o#_Loc_t _x0)#patt _x1)#patt _x2
| PaSem _x0 _x1 _x2 -> ((o#_Loc_t _x0)#patt _x1)#patt _x2
| PaChr _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| PaInt _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| PaInt32 _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| PaInt64 _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| PaNativeInt _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| PaFlo _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| PaLab _x0 _x1 _x2 -> ((o#_Loc_t _x0)#string _x1)#patt _x2
| PaOlb _x0 _x1 _x2 -> ((o#_Loc_t _x0)#string _x1)#patt _x2
| PaOlbi _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#string _x1)#patt _x2)#expr _x3
| PaOrp _x0 _x1 _x2 -> ((o#_Loc_t _x0)#patt _x1)#patt _x2
| PaRng _x0 _x1 _x2 -> ((o#_Loc_t _x0)#patt _x1)#patt _x2
| PaRec _x0 _x1 -> (o#_Loc_t _x0)#patt _x1
| PaEq _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ident _x1)#patt _x2
| PaStr _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| PaTup _x0 _x1 -> (o#_Loc_t _x0)#patt _x1
| PaTyc _x0 _x1 _x2 -> ((o#_Loc_t _x0)#patt _x1)#ctyp _x2
| PaTyp _x0 _x1 -> (o#_Loc_t _x0)#ident _x1
| PaVrn _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
method module_type : module_type -> 'self_type =
fun
[ MtNil _x0 -> o#_Loc_t _x0
| MtId _x0 _x1 -> (o#_Loc_t _x0)#ident _x1
| MtFun _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#string _x1)#module_type _x2)#module_type _x3
| MtQuo _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| MtSig _x0 _x1 -> (o#_Loc_t _x0)#sig_item _x1
| MtWit _x0 _x1 _x2 ->
((o#_Loc_t _x0)#module_type _x1)#with_constr _x2
| MtAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
method module_expr : module_expr -> 'self_type =
fun
[ MeNil _x0 -> o#_Loc_t _x0
| MeId _x0 _x1 -> (o#_Loc_t _x0)#ident _x1
| MeApp _x0 _x1 _x2 ->
((o#_Loc_t _x0)#module_expr _x1)#module_expr _x2
| MeFun _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#string _x1)#module_type _x2)#module_expr _x3
| MeStr _x0 _x1 -> (o#_Loc_t _x0)#str_item _x1
| MeTyc _x0 _x1 _x2 ->
((o#_Loc_t _x0)#module_expr _x1)#module_type _x2
| MeAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
method module_binding : module_binding -> 'self_type =
fun
[ MbNil _x0 -> o#_Loc_t _x0
| MbAnd _x0 _x1 _x2 ->
((o#_Loc_t _x0)#module_binding _x1)#module_binding _x2
| MbColEq _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#string _x1)#module_type _x2)#module_expr _x3
| MbCol _x0 _x1 _x2 -> ((o#_Loc_t _x0)#string _x1)#module_type _x2
| MbAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
method meta_option :
! 'a.
('self_type -> 'a -> 'self_type) -> meta_option 'a -> 'self_type =
fun _f_a ->
fun
[ ONone -> o
| OSome _x0 -> _f_a o _x0
| OAnt _x0 -> o#string _x0 ];
method meta_list :
! 'a.
('self_type -> 'a -> 'self_type) -> meta_list 'a -> 'self_type =
fun _f_a ->
fun
[ LNil -> o
| LCons _x0 _x1 -> (_f_a o _x0)#meta_list (fun o -> _f_a o) _x1
| LAnt _x0 -> o#string _x0 ];
method meta_bool : meta_bool -> 'self_type =
fun [ BTrue -> o | BFalse -> o | BAnt _x0 -> o#string _x0 ];
method match_case : match_case -> 'self_type =
fun
[ McNil _x0 -> o#_Loc_t _x0
| McOr _x0 _x1 _x2 ->
((o#_Loc_t _x0)#match_case _x1)#match_case _x2
| McArr _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#patt _x1)#expr _x2)#expr _x3
| McAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
method ident : ident -> 'self_type =
fun
[ IdAcc _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ident _x1)#ident _x2
| IdApp _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ident _x1)#ident _x2
| IdLid _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| IdUid _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| IdAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
method expr : expr -> 'self_type =
fun
[ ExNil _x0 -> o#_Loc_t _x0
| ExId _x0 _x1 -> (o#_Loc_t _x0)#ident _x1
| ExAcc _x0 _x1 _x2 -> ((o#_Loc_t _x0)#expr _x1)#expr _x2
| ExAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| ExApp _x0 _x1 _x2 -> ((o#_Loc_t _x0)#expr _x1)#expr _x2
| ExAre _x0 _x1 _x2 -> ((o#_Loc_t _x0)#expr _x1)#expr _x2
| ExArr _x0 _x1 -> (o#_Loc_t _x0)#expr _x1
| ExSem _x0 _x1 _x2 -> ((o#_Loc_t _x0)#expr _x1)#expr _x2
| ExAsf _x0 -> o#_Loc_t _x0
| ExAsr _x0 _x1 -> (o#_Loc_t _x0)#expr _x1
| ExAss _x0 _x1 _x2 -> ((o#_Loc_t _x0)#expr _x1)#expr _x2
| ExChr _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| ExCoe _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#expr _x1)#ctyp _x2)#ctyp _x3
| ExFlo _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| ExFor _x0 _x1 _x2 _x3 _x4 _x5 ->
(((((o#_Loc_t _x0)#string _x1)#expr _x2)#expr _x3)#meta_bool
_x4)#
expr _x5
| ExFun _x0 _x1 -> (o#_Loc_t _x0)#match_case _x1
| ExIfe _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#expr _x1)#expr _x2)#expr _x3
| ExInt _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| ExInt32 _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| ExInt64 _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| ExNativeInt _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| ExLab _x0 _x1 _x2 -> ((o#_Loc_t _x0)#string _x1)#expr _x2
| ExLaz _x0 _x1 -> (o#_Loc_t _x0)#expr _x1
| ExLet _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#meta_bool _x1)#binding _x2)#expr _x3
| ExLmd _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#string _x1)#module_expr _x2)#expr _x3
| ExMat _x0 _x1 _x2 -> ((o#_Loc_t _x0)#expr _x1)#match_case _x2
| ExNew _x0 _x1 -> (o#_Loc_t _x0)#ident _x1
| ExObj _x0 _x1 _x2 -> ((o#_Loc_t _x0)#patt _x1)#class_str_item _x2
| ExOlb _x0 _x1 _x2 -> ((o#_Loc_t _x0)#string _x1)#expr _x2
| ExOvr _x0 _x1 -> (o#_Loc_t _x0)#rec_binding _x1
| ExRec _x0 _x1 _x2 -> ((o#_Loc_t _x0)#rec_binding _x1)#expr _x2
| ExSeq _x0 _x1 -> (o#_Loc_t _x0)#expr _x1
| ExSnd _x0 _x1 _x2 -> ((o#_Loc_t _x0)#expr _x1)#string _x2
| ExSte _x0 _x1 _x2 -> ((o#_Loc_t _x0)#expr _x1)#expr _x2
| ExStr _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| ExTry _x0 _x1 _x2 -> ((o#_Loc_t _x0)#expr _x1)#match_case _x2
| ExTup _x0 _x1 -> (o#_Loc_t _x0)#expr _x1
| ExCom _x0 _x1 _x2 -> ((o#_Loc_t _x0)#expr _x1)#expr _x2
| ExTyc _x0 _x1 _x2 -> ((o#_Loc_t _x0)#expr _x1)#ctyp _x2
| ExVrn _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| ExWhi _x0 _x1 _x2 -> ((o#_Loc_t _x0)#expr _x1)#expr _x2 ];
method ctyp : ctyp -> 'self_type =
fun
[ TyNil _x0 -> o#_Loc_t _x0
| TyAli _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| TyAny _x0 -> o#_Loc_t _x0
| TyApp _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| TyArr _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| TyCls _x0 _x1 -> (o#_Loc_t _x0)#ident _x1
| TyLab _x0 _x1 _x2 -> ((o#_Loc_t _x0)#string _x1)#ctyp _x2
| TyId _x0 _x1 -> (o#_Loc_t _x0)#ident _x1
| TyMan _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| TyDcl _x0 _x1 _x2 _x3 _x4 ->
((((o#_Loc_t _x0)#string _x1)#list (fun o -> o#ctyp) _x2)#ctyp
_x3)#
list (fun o (_x0, _x1) -> (o#ctyp _x0)#ctyp _x1) _x4
| TyObj _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#meta_bool _x2
| TyOlb _x0 _x1 _x2 -> ((o#_Loc_t _x0)#string _x1)#ctyp _x2
| TyPol _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| TyQuo _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| TyQuP _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| TyQuM _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| TyVrn _x0 _x1 -> (o#_Loc_t _x0)#string _x1
| TyRec _x0 _x1 -> (o#_Loc_t _x0)#ctyp _x1
| TyCol _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| TySem _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| TyCom _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| TySum _x0 _x1 -> (o#_Loc_t _x0)#ctyp _x1
| TyOf _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| TyAnd _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| TyOr _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| TyPrv _x0 _x1 -> (o#_Loc_t _x0)#ctyp _x1
| TyMut _x0 _x1 -> (o#_Loc_t _x0)#ctyp _x1
| TyTup _x0 _x1 -> (o#_Loc_t _x0)#ctyp _x1
| TySta _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| TyVrnEq _x0 _x1 -> (o#_Loc_t _x0)#ctyp _x1
| TyVrnSup _x0 _x1 -> (o#_Loc_t _x0)#ctyp _x1
| TyVrnInf _x0 _x1 -> (o#_Loc_t _x0)#ctyp _x1
| TyVrnInfSup _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| TyAmp _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| TyOfAmp _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| TyAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
method class_type : class_type -> 'self_type =
fun
[ CtNil _x0 -> o#_Loc_t _x0
| CtCon _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#meta_bool _x1)#ident _x2)#ctyp _x3
| CtFun _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#class_type _x2
| CtSig _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#class_sig_item _x2
| CtAnd _x0 _x1 _x2 ->
((o#_Loc_t _x0)#class_type _x1)#class_type _x2
| CtCol _x0 _x1 _x2 ->
((o#_Loc_t _x0)#class_type _x1)#class_type _x2
| CtEq _x0 _x1 _x2 ->
((o#_Loc_t _x0)#class_type _x1)#class_type _x2
| CtAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
method class_str_item : class_str_item -> 'self_type =
fun
[ CrNil _x0 -> o#_Loc_t _x0
| CrSem _x0 _x1 _x2 ->
((o#_Loc_t _x0)#class_str_item _x1)#class_str_item _x2
| CrCtr _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| CrInh _x0 _x1 _x2 -> ((o#_Loc_t _x0)#class_expr _x1)#string _x2
| CrIni _x0 _x1 -> (o#_Loc_t _x0)#expr _x1
| CrMth _x0 _x1 _x2 _x3 _x4 ->
((((o#_Loc_t _x0)#string _x1)#meta_bool _x2)#expr _x3)#ctyp _x4
| CrVal _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#string _x1)#meta_bool _x2)#expr _x3
| CrVir _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#string _x1)#meta_bool _x2)#ctyp _x3
| CrVvr _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#string _x1)#meta_bool _x2)#ctyp _x3
| CrAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
method class_sig_item : class_sig_item -> 'self_type =
fun
[ CgNil _x0 -> o#_Loc_t _x0
| CgCtr _x0 _x1 _x2 -> ((o#_Loc_t _x0)#ctyp _x1)#ctyp _x2
| CgSem _x0 _x1 _x2 ->
((o#_Loc_t _x0)#class_sig_item _x1)#class_sig_item _x2
| CgInh _x0 _x1 -> (o#_Loc_t _x0)#class_type _x1
| CgMth _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#string _x1)#meta_bool _x2)#ctyp _x3
| CgVal _x0 _x1 _x2 _x3 _x4 ->
((((o#_Loc_t _x0)#string _x1)#meta_bool _x2)#meta_bool _x3)#
ctyp _x4
| CgVir _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#string _x1)#meta_bool _x2)#ctyp _x3
| CgAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
method class_expr : class_expr -> 'self_type =
fun
[ CeNil _x0 -> o#_Loc_t _x0
| CeApp _x0 _x1 _x2 -> ((o#_Loc_t _x0)#class_expr _x1)#expr _x2
| CeCon _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#meta_bool _x1)#ident _x2)#ctyp _x3
| CeFun _x0 _x1 _x2 -> ((o#_Loc_t _x0)#patt _x1)#class_expr _x2
| CeLet _x0 _x1 _x2 _x3 ->
(((o#_Loc_t _x0)#meta_bool _x1)#binding _x2)#class_expr _x3
| CeStr _x0 _x1 _x2 -> ((o#_Loc_t _x0)#patt _x1)#class_str_item _x2
| CeTyc _x0 _x1 _x2 ->
((o#_Loc_t _x0)#class_expr _x1)#class_type _x2
| CeAnd _x0 _x1 _x2 ->
((o#_Loc_t _x0)#class_expr _x1)#class_expr _x2
| CeEq _x0 _x1 _x2 ->
((o#_Loc_t _x0)#class_expr _x1)#class_expr _x2
| CeAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
method binding : binding -> 'self_type =
fun
[ BiNil _x0 -> o#_Loc_t _x0
| BiAnd _x0 _x1 _x2 -> ((o#_Loc_t _x0)#binding _x1)#binding _x2
| BiEq _x0 _x1 _x2 -> ((o#_Loc_t _x0)#patt _x1)#expr _x2
| BiAnt _x0 _x1 -> (o#_Loc_t _x0)#string _x1 ];
end;
value map_expr f =
object inherit map as super; method expr = fun x -> f (super#expr x);
end;
value map_patt f =
object inherit map as super; method patt = fun x -> f (super#patt x);
end;
value map_ctyp f =
object inherit map as super; method ctyp = fun x -> f (super#ctyp x);
end;
value map_str_item f =
object
inherit map as super;
method str_item = fun x -> f (super#str_item x);
end;
value map_sig_item f =
object
inherit map as super;
method sig_item = fun x -> f (super#sig_item x);
end;
value map_loc f =
object
inherit map as super;
method _Loc_t = fun x -> f (super#_Loc_t x);
end;
end;