Docs GODI Archive
Projects Blog Link DB

Search GODI:


More options
File lib/jessie/jc_iterators.cmi_pretty GODI Package apps-why
 
   jc_iterators.cmi_pretty    Sources  
module type TAst = sig type t val subs : t -> t list end
module type TIterators =
  sig
    type t
    val subs : t -> t list
    val iter : (t -> unit) -> t -> unit
    val fold_left : ('a -> t -> 'a) -> 'a -> t -> 'a
    val fold_right : (t -> 'a -> 'a) -> t -> 'a -> 'a
    val iter_deep_left : ('a -> t -> 'a) -> 'a -> t -> unit
    val iter_deep_right : (t -> 'a -> 'a) -> t -> 'a -> unit
  end
module Iterators :
  functor (X : TAst) ->
    sig
      type t = X.t
      val subs : t -> t list
      val iter : (t -> unit) -> t -> unit
      val fold_left : ('a -> t -> 'a) -> 'a -> t -> 'a
      val fold_right : (t -> 'a -> 'a) -> t -> 'a -> 'a
      val iter_deep_left : ('a -> t -> 'a) -> 'a -> t -> unit
      val iter_deep_right : (t -> 'a -> 'a) -> t -> 'a -> unit
    end
val replace_sub_expr :
  < loc : Loc.position; name_label : string; node : Jc_ast.expr_node;
    original_type : Jc_env.jc_type; region : Jc_env.region;
    typ : Jc_env.jc_type; .. > ->
  Jc_ast.expr list -> Jc_constructors.expr_with
module ExprAst :
  sig
    type t = Jc_ast.expr
    val subs : < node : Jc_ast.expr_node; .. > -> Jc_ast.expr list
  end
module IExpr :
  sig
    type t = ExprAst.t
    val subs : t -> t list
    val iter : (t -> unit) -> t -> unit
    val fold_left : ('a -> t -> 'a) -> 'a -> t -> 'a
    val fold_right : (t -> 'a -> 'a) -> t -> 'a -> 'a
    val iter_deep_left : ('a -> t -> 'a) -> 'a -> t -> unit
    val iter_deep_right : (t -> 'a -> 'a) -> t -> 'a -> unit
  end
val map_expr :
  ?before:(Jc_ast.expr -> Jc_ast.expr) ->
  ?after:(Jc_constructors.expr_with -> Jc_constructors.expr_with) ->
  Jc_ast.expr -> Jc_ast.expr
module NExprAst :
  sig
    type t = Jc_ast.nexpr
    val subs : < node : Jc_ast.nexpr_node; .. > -> Jc_ast.nexpr list
  end
module INExpr :
  sig
    type t = NExprAst.t
    val subs : t -> t list
    val iter : (t -> unit) -> t -> unit
    val fold_left : ('a -> t -> 'a) -> 'a -> t -> 'a
    val fold_right : (t -> 'a -> 'a) -> t -> 'a -> 'a
    val iter_deep_left : ('a -> t -> 'a) -> 'a -> t -> unit
    val iter_deep_right : (t -> 'a -> 'a) -> t -> 'a -> unit
  end
val replace_sub_pexpr :
  < loc : Loc.position; node : Jc_ast.pexpr_node; .. > ->
  Jc_ast.pexpr list -> Jc_constructors.pexpr_with
module PExprAst :
  sig
    type t = Jc_ast.pexpr
    val subs : < node : Jc_ast.pexpr_node; .. > -> Jc_ast.pexpr list
  end
module IPExpr :
  sig
    type t = PExprAst.t
    val subs : t -> t list
    val iter : (t -> unit) -> t -> unit
    val fold_left : ('a -> t -> 'a) -> 'a -> t -> 'a
    val fold_right : (t -> 'a -> 'a) -> t -> 'a -> 'a
    val iter_deep_left : ('a -> t -> 'a) -> 'a -> t -> unit
    val iter_deep_right : (t -> 'a -> 'a) -> t -> 'a -> unit
  end
val map_pexpr :
  ?before:(Jc_ast.pexpr -> Jc_ast.pexpr) ->
  ?after:(Jc_constructors.pexpr_with -> Jc_constructors.pexpr_with) ->
  Jc_ast.pexpr -> Jc_ast.pexpr
module TermAst :
  sig
    type t = Jc_ast.term
    val subs : < node : Jc_ast.term_node; .. > -> Jc_ast.term list
  end
module ITerm :
  sig
    type t = TermAst.t
    val subs : t -> t list
    val iter : (t -> unit) -> t -> unit
    val fold_left : ('a -> t -> 'a) -> 'a -> t -> 'a
    val fold_right : (t -> 'a -> 'a) -> t -> 'a -> 'a
    val iter_deep_left : ('a -> t -> 'a) -> 'a -> t -> unit
    val iter_deep_right : (t -> 'a -> 'a) -> t -> 'a -> unit
  end
val fold_sub_term :
  ('a -> 'b -> Jc_ast.term -> 'b) ->
  'a -> 'b -> < node : Jc_ast.term_node; .. > -> 'b
val fold_term : ('a -> Jc_ast.term -> 'a) -> 'a -> Jc_ast.term -> 'a
val fold_rec_term :
  ('a -> Jc_ast.term -> bool * 'a) -> 'a -> Jc_ast.term -> 'a
val map_term :
  (Jc_constructors.term_with -> Jc_ast.term) -> Jc_ast.term -> Jc_ast.term
val raw_sub_term : Jc_ast.term -> Jc_ast.term -> bool
val raw_strict_sub_term : Jc_ast.term -> Jc_ast.term -> bool
val iter_term_and_assertion :
  (ITerm.t -> unit) -> (Jc_ast.assertion -> 'a) -> Jc_ast.assertion -> unit
val iter_term_and_assertion_in_loop_annot :
  (ITerm.t -> unit) -> (Jc_ast.assertion -> 'a) -> Jc_ast.loop_annot -> unit
val iter_term_and_assertion_in_behavior :
  (ITerm.t -> unit) -> (Jc_ast.assertion -> 'a) -> Jc_ast.behavior -> unit
val iter_term_and_assertion_in_fun_spec :
  (ITerm.t -> unit) -> (Jc_ast.assertion -> 'a) -> Jc_ast.fun_spec -> unit
val fold_assertion :
  ('a -> Jc_ast.assertion -> 'a) -> 'a -> Jc_ast.assertion -> 'a
val fold_term_in_assertion :
  ('a -> Jc_ast.term -> 'a) -> 'a -> Jc_ast.assertion -> 'a
val fold_term_and_assertion :
  ('a -> Jc_ast.term -> 'a) ->
  ('a -> Jc_ast.assertion -> 'a) -> 'a -> Jc_ast.assertion -> 'a
val map_assertion :
  (Jc_constructors.assertion_with -> Jc_ast.assertion) ->
  Jc_ast.assertion -> Jc_ast.assertion
val map_term_in_assertion :
  (Jc_constructors.term_with -> Jc_ast.term) ->
  Jc_ast.assertion -> Jc_ast.assertion
val map_term_and_assertion :
  (Jc_constructors.assertion_with -> Jc_ast.assertion) ->
  (Jc_constructors.term_with -> Jc_ast.term) ->
  Jc_ast.assertion -> Jc_ast.assertion
val iter_pattern : (Jc_ast.pattern -> 'a) -> Jc_ast.pattern -> unit
val fold_pattern :
  (unit -> Jc_ast.pattern -> unit) -> unit -> Jc_ast.pattern -> unit
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml