sail

Sail is a language for describing the instruction semantics of processors
IN THIS PACKAGE
val opt_use_heuristics : bool ref
val opt_insert_braces : bool ref
module Big_int = Nat_big_num
val doc_id : Ast.id -> PPrint.document
val doc_kid : Ast.kid -> PPrint.document
val doc_kopt : Ast.kinded_id -> PPrint.document
val doc_int : Big_int.num -> PPrint.document
val docstring : (Parse_ast.l * 'a) -> PPrint.document
val doc_ord : Ast.order -> PPrint.document
val doc_typ_pat : Ast.typ_pat -> PPrint.document
val doc_nexp : Ast.nexp -> PPrint.document
val doc_effect : Ast.effect -> PPrint.document
val doc_effects : Ast.base_effect list -> PPrint.document
val doc_typ : ?simple:bool -> Ast.typ -> PPrint.document
val doc_typ_arg : Ast.typ_arg -> PPrint.document
val doc_arg_typs : Ast.typ list -> PPrint.document
val doc_kind : Ast.kind -> PPrint.document
val doc_quants : Ast.quant_item list -> PPrint.document
val doc_param_quants : Ast.quant_item list -> PPrint.document
val doc_binding : ?simple:bool -> (Ast.typquant * Ast.typ) -> PPrint.document
val doc_typschm : ?simple:bool -> Ast.typschm -> PPrint.document
val doc_typschm_typ : Ast.typschm -> PPrint.document
val doc_typquant : Ast.typquant -> PPrint.document option
val doc_lit : Ast.lit -> PPrint.document
val doc_pat : 'a Ast.pat -> PPrint.document
val if_block_then : 'a Ast.exp -> bool
val if_block_else : 'a Ast.exp -> bool
val fixities : (Ast.prec * int) Ast_util.Bindings.t ref
val doc_exp : 'a Ast.exp -> PPrint.document
val doc_measure : 'a Ast.internal_loop_measure -> PPrint.document list
val doc_infix : int -> 'a Ast.exp -> PPrint.document
val doc_atomic_exp : 'a Ast.exp -> PPrint.document
val doc_fexps : 'a Ast.fexp list -> PPrint.document
val doc_fexp : 'a Ast.fexp -> PPrint.document
val doc_block : 'a Ast.exp list -> PPrint.document
val doc_lexp : 'a Ast.lexp -> PPrint.document
val doc_atomic_lexp : 'a Ast.lexp -> PPrint.document
val doc_pexps : 'a Ast.pexp list -> PPrint.document
val doc_pexp : 'a Ast.pexp -> PPrint.document
val doc_letbind : 'a Ast.letbind -> PPrint.document
val doc_exp_as_block : 'a Ast.exp -> PPrint.document
val doc_funcl : 'a Ast.funcl -> PPrint.document
val doc_default : Ast.default_spec -> PPrint.document
val doc_rec : 'a Ast.rec_opt -> PPrint.document
val doc_fundef : 'a Ast.fundef -> PPrint.document
val doc_mpat : 'a Ast.mpat -> PPrint.document
val doc_mpexp : 'a Ast.mpexp -> PPrint.document
val doc_mapcl : 'a Ast.mapcl -> PPrint.document
val doc_mapdef : 'a Ast.mapdef -> PPrint.document
val doc_dec : 'a Ast.dec_spec -> PPrint.document
val doc_field : (Ast.typ * Ast.id) -> PPrint.document
val doc_union : Ast.type_union -> PPrint.document
val doc_index_range : Ast.index_range -> PPrint.document
val doc_typ_arg_kind : string -> Ast.typ_arg -> PPrint.document
val doc_typdef : 'a Ast.type_def -> PPrint.document
val doc_spec : ?comment:bool -> 'a Ast.val_spec -> PPrint.document
val doc_prec : Ast.prec -> PPrint.document
val doc_loop_measures : 'a Ast.loop_measure list -> PPrint.document
val doc_scattered : 'a Ast.scattered_def -> PPrint.document
val doc_filter : 'a Ast.def -> bool
val doc_def : 'a Ast.def -> PPrint.document
val doc_ast : 'a Ast_defs.ast -> PPrint.document
val reformat : string -> 'a Ast_defs.ast -> unit
val pp_ast : PPrint.ToChannel.channel -> 'a Ast_defs.ast -> unit
val to_string : PPrint.ToBuffer.document -> string