sig
type loc = Camlp4.PreCast.Loc.t
type unop =
Jdelete
| Jvoid
| Jtypeof
| Jadd2_pre
| Jsub2_pre
| Jadd_pre
| Jsub_pre
| Jtilde
| Jnot
| Jadd2_post
| Jsub2_post
and binop =
Jhashref
| Jmul
| Jdiv
| Jmod
| Jadd
| Jsub
| Jlt
| Jgt
| Jleq
| Jgeq
| Jlsr
| Jlsl
| Jasr
| Jeq
| Jneq
| Jinstanceof
| Jseq
| Jsneq
| Jland
| Jlor
| Jand
| Jxor
| Jor
| Jcomma
| Jassign
| Jmul_assign
| Jdiv_assign
| Jmod_assign
| Jadd_assign
| Jsub_assign
| Jlsl_assign
| Jlsr_assign
| Jasr_assign
| Jand_assign
| Jxor_assign
| Jor_assign
and exp =
Jthis of Jslib_ast.loc
| Jvar of Jslib_ast.loc * string
| Jarray of Jslib_ast.loc * Jslib_ast.exp
| Jobject of Jslib_ast.loc * (Jslib_ast.exp * Jslib_ast.exp) list
| Jstring of Jslib_ast.loc * string * bool
| Jnum of Jslib_ast.loc * string
| Jnull of Jslib_ast.loc
| Jbool of Jslib_ast.loc * bool
| Jregexp of Jslib_ast.loc * string * string
| Jfun of Jslib_ast.loc * string option * string list * Jslib_ast.stmt
| Jfieldref of Jslib_ast.loc * Jslib_ast.exp * string
| Junop of Jslib_ast.loc * Jslib_ast.unop * Jslib_ast.exp
| Jbinop of Jslib_ast.loc * Jslib_ast.binop * Jslib_ast.exp *
Jslib_ast.exp
| Jite of Jslib_ast.loc * Jslib_ast.exp * Jslib_ast.exp * Jslib_ast.exp
| Jcall of Jslib_ast.loc * Jslib_ast.exp * Jslib_ast.exp
| Jnew of Jslib_ast.loc * Jslib_ast.exp * Jslib_ast.exp option
| Jexp_nil of Jslib_ast.loc
| Jexp_cons of Jslib_ast.loc * Jslib_ast.exp * Jslib_ast.exp
| Jexp_Ant of Jslib_ast.loc * string
and stmt =
Jvars of Jslib_ast.loc * (string * Jslib_ast.exp option) list
| Jfuns of Jslib_ast.loc * string * string list * Jslib_ast.stmt
| Jreturn of Jslib_ast.loc * Jslib_ast.exp option
| Jcontinue of Jslib_ast.loc * string option
| Jbreak of Jslib_ast.loc * string option
| Jswitch of Jslib_ast.loc * Jslib_ast.exp *
(Jslib_ast.exp * Jslib_ast.stmt) list * Jslib_ast.stmt
| Jites of Jslib_ast.loc * Jslib_ast.exp * Jslib_ast.stmt *
Jslib_ast.stmt option
| Jthrow of Jslib_ast.loc * Jslib_ast.exp
| Jexps of Jslib_ast.loc * Jslib_ast.exp
| Jtrycatch of Jslib_ast.loc * Jslib_ast.stmt *
(string * Jslib_ast.stmt) option * Jslib_ast.stmt
| Jfor of Jslib_ast.loc * (string * Jslib_ast.exp option) list *
Jslib_ast.exp option * Jslib_ast.exp option * Jslib_ast.exp option *
Jslib_ast.stmt
| Jdowhile of Jslib_ast.loc * Jslib_ast.stmt * Jslib_ast.exp
| Jwhile of Jslib_ast.loc * Jslib_ast.exp * Jslib_ast.stmt
| Jblock of Jslib_ast.loc * Jslib_ast.stmt
| Jwith of Jslib_ast.loc * Jslib_ast.exp * Jslib_ast.stmt
| Jlabel of Jslib_ast.loc * string * Jslib_ast.stmt
| Jstmt_nil of Jslib_ast.loc
| Jstmt_cons of Jslib_ast.loc * Jslib_ast.stmt * Jslib_ast.stmt
| Jstmt_Ant of Jslib_ast.loc * string
val loc_of_exp : Jslib_ast.exp -> Camlp4.PreCast.Loc.t
val exp_of_list : Jslib_ast.exp list -> Jslib_ast.exp
val list_of_exp : Jslib_ast.exp -> Jslib_ast.exp list -> Jslib_ast.exp list
val loc_of_stmt : Jslib_ast.stmt -> Camlp4.PreCast.Loc.t
val stmt_of_list : Jslib_ast.stmt list -> Jslib_ast.stmt
val list_of_stmt :
Jslib_ast.stmt -> Jslib_ast.stmt list -> Jslib_ast.stmt list
module Meta :
sig
module type META_LOC =
sig
val meta_loc_patt :
Camlp4.PreCast.Loc.t ->
Camlp4.PreCast.Loc.t -> Camlp4.PreCast.Ast.patt
val meta_loc_expr :
Camlp4.PreCast.Loc.t ->
Camlp4.PreCast.Loc.t -> Camlp4.PreCast.Ast.expr
end
module MetaLoc :
sig
val meta_loc_patt :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Loc.t -> Camlp4.PreCast.Ast.patt
val meta_loc_expr :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Loc.t -> Camlp4.PreCast.Ast.expr
end
module MetaGhostLoc :
sig
val meta_loc_patt :
Camlp4.PreCast.Ast.loc -> 'a -> Camlp4.PreCast.Ast.patt
val meta_loc_expr :
Camlp4.PreCast.Ast.loc -> 'a -> Camlp4.PreCast.Ast.expr
end
module MetaLocVar :
sig
val meta_loc_patt :
Camlp4.PreCast.Ast.loc -> 'a -> Camlp4.PreCast.Ast.patt
val meta_loc_expr :
Camlp4.PreCast.Ast.loc -> 'a -> Camlp4.PreCast.Ast.expr
end
module Make :
functor (MetaLoc : META_LOC) ->
sig
module Expr :
sig
val meta_loc :
Camlp4.PreCast.Loc.t ->
Camlp4.PreCast.Loc.t -> Camlp4.PreCast.Ast.expr
val meta_option :
(Camlp4.PreCast.Ast.loc -> 'a -> Camlp4.PreCast.Ast.expr) ->
Camlp4.PreCast.Ast.loc ->
'a option -> Camlp4.PreCast.Ast.expr
val meta_string :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.expr
val meta_int :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.expr
val meta_float :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.expr
val meta_char :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.expr
val meta_bool :
Camlp4.PreCast.Ast.loc -> bool -> Camlp4.PreCast.Ast.expr
val meta_list :
(Camlp4.PreCast.Ast.loc -> 'a -> Camlp4.PreCast.Ast.expr) ->
Camlp4.PreCast.Ast.loc ->
'a list -> Camlp4.PreCast.Ast.expr
val meta_binop :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.binop -> Camlp4.PreCast.Ast.expr
val meta_exp :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.exp -> Camlp4.PreCast.Ast.expr
val meta_stmt :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.stmt -> Camlp4.PreCast.Ast.expr
val meta_unop :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.unop -> Camlp4.PreCast.Ast.expr
end
module Patt :
sig
val meta_loc :
Camlp4.PreCast.Loc.t ->
Camlp4.PreCast.Loc.t -> Camlp4.PreCast.Ast.patt
val meta_option :
(Camlp4.PreCast.Ast.loc -> 'a -> Camlp4.PreCast.Ast.patt) ->
Camlp4.PreCast.Ast.loc ->
'a option -> Camlp4.PreCast.Ast.patt
val meta_string :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.patt
val meta_int :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.patt
val meta_float :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.patt
val meta_char :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.patt
val meta_bool :
Camlp4.PreCast.Ast.loc -> bool -> Camlp4.PreCast.Ast.patt
val meta_list :
(Camlp4.PreCast.Ast.loc -> 'a -> Camlp4.PreCast.Ast.patt) ->
Camlp4.PreCast.Ast.loc ->
'a list -> Camlp4.PreCast.Ast.patt
val meta_binop :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.binop -> Camlp4.PreCast.Ast.patt
val meta_exp :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.exp -> Camlp4.PreCast.Ast.patt
val meta_stmt :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.stmt -> Camlp4.PreCast.Ast.patt
val meta_unop :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.unop -> Camlp4.PreCast.Ast.patt
end
end
module MakeLambda :
functor (MetaLoc : META_LOC) ->
sig
module Expr :
sig
val meta_loc :
Camlp4.PreCast.Loc.t ->
Camlp4.PreCast.Loc.t -> Camlp4.PreCast.Ast.expr
val meta_option :
(Camlp4.PreCast.Ast.loc -> 'a -> Camlp4.PreCast.Ast.expr) ->
Camlp4.PreCast.Ast.loc ->
'a option -> Camlp4.PreCast.Ast.expr
val meta_string :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.expr
val meta_int :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.expr
val meta_float :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.expr
val meta_char :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.expr
val meta_bool :
Camlp4.PreCast.Ast.loc -> bool -> Camlp4.PreCast.Ast.expr
val meta_list :
(Camlp4.PreCast.Ast.loc -> 'a -> Camlp4.PreCast.Ast.expr) ->
Camlp4.PreCast.Ast.loc ->
'a list -> Camlp4.PreCast.Ast.expr
val meta_binop :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.binop -> Camlp4.PreCast.Ast.expr
val meta_exp :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.exp -> Camlp4.PreCast.Ast.expr
val meta_stmt :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.stmt -> Camlp4.PreCast.Ast.expr
val meta_unop :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.unop -> Camlp4.PreCast.Ast.expr
end
module Patt :
sig
val meta_loc :
Camlp4.PreCast.Loc.t ->
Camlp4.PreCast.Loc.t -> Camlp4.PreCast.Ast.patt
val meta_option :
(Camlp4.PreCast.Ast.loc -> 'a -> Camlp4.PreCast.Ast.patt) ->
Camlp4.PreCast.Ast.loc ->
'a option -> Camlp4.PreCast.Ast.patt
val meta_string :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.patt
val meta_int :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.patt
val meta_float :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.patt
val meta_char :
Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.patt
val meta_bool :
Camlp4.PreCast.Ast.loc -> bool -> Camlp4.PreCast.Ast.patt
val meta_list :
(Camlp4.PreCast.Ast.loc -> 'a -> Camlp4.PreCast.Ast.patt) ->
Camlp4.PreCast.Ast.loc ->
'a list -> Camlp4.PreCast.Ast.patt
val meta_binop :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.binop -> Camlp4.PreCast.Ast.patt
val meta_exp :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.exp -> Camlp4.PreCast.Ast.patt
val meta_stmt :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.stmt -> Camlp4.PreCast.Ast.patt
val meta_unop :
Camlp4.PreCast.Ast.loc ->
Jslib_ast.unop -> Camlp4.PreCast.Ast.patt
end
end
module MakeAbstractLambda :
functor (MetaLoc : META_LOC) ->
sig
module Expr :
sig
val meta_loc :
Camlp4.PreCast.Loc.t ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.expr
val meta_option :
(Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.expr) ->
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.expr
val meta_string :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.expr
val meta_int :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.expr
val meta_float :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.expr
val meta_char :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.expr
val meta_bool :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.expr
val meta_list :
(Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.expr) ->
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.expr
val meta_binop :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.expr
val meta_exp :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.expr
val meta_stmt :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.expr
val meta_unop :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.expr
end
module Patt :
sig
val meta_loc :
Camlp4.PreCast.Loc.t ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.patt
val meta_option :
(Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.patt) ->
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.patt
val meta_string :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.patt
val meta_int :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.patt
val meta_float :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.patt
val meta_char :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.patt
val meta_bool :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.patt
val meta_list :
(Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.patt) ->
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.patt
val meta_binop :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.patt
val meta_exp :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.patt
val meta_stmt :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.patt
val meta_unop :
Camlp4.PreCast.Ast.loc ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.patt
end
end
end
end