Module Ast_convenience_406

module Ast_convenience_406: sig .. end

Convenience functions to help build and deconstruct AST fragments.




Convenience functions to help build and deconstruct AST fragments.



Compatibility modules


module Label: sig .. end
module Constant: sig .. end
Provides a unified abstraction over differences in Parsetree.constant and Asttypes.constant types defined in ocaml 4.03 and 4.02 respectively

Misc


val lid : ?loc:Ast_406.Ast_helper.loc -> string -> Ast_406.Ast_helper.lid

Expressions


val evar : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> string -> Ast_406.Parsetree.expression
val let_in : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
?recursive:bool ->
Ast_406.Parsetree.value_binding list ->
Ast_406.Parsetree.expression -> Ast_406.Parsetree.expression
val constr : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
string -> Ast_406.Parsetree.expression list -> Ast_406.Parsetree.expression
val record : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
?over:Ast_406.Parsetree.expression ->
(string * Ast_406.Parsetree.expression) list -> Ast_406.Parsetree.expression
val tuple : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
Ast_406.Parsetree.expression list -> Ast_406.Parsetree.expression
val nil : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> unit -> Ast_406.Parsetree.expression
val cons : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
Ast_406.Parsetree.expression ->
Ast_406.Parsetree.expression -> Ast_406.Parsetree.expression
val list : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
Ast_406.Parsetree.expression list -> Ast_406.Parsetree.expression
val unit : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> unit -> Ast_406.Parsetree.expression
val func : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
(Ast_406.Parsetree.pattern * Ast_406.Parsetree.expression) list ->
Ast_406.Parsetree.expression
val lam : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
?label:Label.t ->
?default:Ast_406.Parsetree.expression ->
Ast_406.Parsetree.pattern ->
Ast_406.Parsetree.expression -> Ast_406.Parsetree.expression
val app : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
Ast_406.Parsetree.expression ->
Ast_406.Parsetree.expression list -> Ast_406.Parsetree.expression
val str : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> string -> Ast_406.Parsetree.expression
val int : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> int -> Ast_406.Parsetree.expression
val int32 : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> int32 -> Ast_406.Parsetree.expression
val int64 : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> int64 -> Ast_406.Parsetree.expression
val char : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> char -> Ast_406.Parsetree.expression
val float : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> float -> Ast_406.Parsetree.expression
val sequence : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
Ast_406.Parsetree.expression list -> Ast_406.Parsetree.expression
Return () if the list is empty. Tail rec.

Patterns


val pvar : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> string -> Ast_406.Parsetree.pattern
val pconstr : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
string -> Ast_406.Parsetree.pattern list -> Ast_406.Parsetree.pattern
val precord : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
?closed:Ast_406.Asttypes.closed_flag ->
(string * Ast_406.Parsetree.pattern) list -> Ast_406.Parsetree.pattern
val ptuple : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
Ast_406.Parsetree.pattern list -> Ast_406.Parsetree.pattern
val pnil : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> unit -> Ast_406.Parsetree.pattern
val pcons : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
Ast_406.Parsetree.pattern ->
Ast_406.Parsetree.pattern -> Ast_406.Parsetree.pattern
val plist : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
Ast_406.Parsetree.pattern list -> Ast_406.Parsetree.pattern
val pstr : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> string -> Ast_406.Parsetree.pattern
val pint : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> int -> Ast_406.Parsetree.pattern
val pchar : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> char -> Ast_406.Parsetree.pattern
val pfloat : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> float -> Ast_406.Parsetree.pattern
val punit : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs -> unit -> Ast_406.Parsetree.pattern

Types


val tconstr : ?loc:Ast_406.Ast_helper.loc ->
?attrs:Ast_406.Ast_helper.attrs ->
string -> Ast_406.Parsetree.core_type list -> Ast_406.Parsetree.core_type

AST deconstruction


val get_str : Ast_406.Parsetree.expression -> string option
val get_str_with_quotation_delimiter : Ast_406.Parsetree.expression -> (string * string option) option
val get_lid : Ast_406.Parsetree.expression -> string option
val has_attr : string -> Ast_406.Parsetree.attributes -> bool
val find_attr : string -> Ast_406.Parsetree.attributes -> Ast_406.Parsetree.payload option
val find_attr_expr : string -> Ast_406.Parsetree.attributes -> Ast_406.Parsetree.expression option