package bap-std

  1. Overview
  2. Docs
The Binary Analysis Platform Standard Library

Install

Dune Dependency

Authors

Maintainers

Sources

v2.3.0.tar.gz
sha256=a6e80853aaaa26b7ca564d9878891d7146ec1c83852541387c1bba1ad036b8ea
md5=13f2cb1e3b9d90348852252fb0f2d09f

doc/bap/Bap/Std/Project/Collator/index.html

Module Project.Collator

A pass that collates projects.

A collator is a pass that is folded over projects and computes differences between the base version and the number of alternative versions.

  • since 2.2.0
type t
type info

Information about a collator.

val register : ?desc:string -> ?package:string -> string -> prepare:(project -> 's) -> collate:(int -> 's -> project -> 's) -> summary:('s -> unit) -> unit

register ~prepare ~collate ~summary name registers a collator.

The prepare function is called on the base version and it returns the collator's state that can be an arbitrary type 's. Then the collate function is consequitevely applied on alternative versions of the base version, with the version number passed as the first argument (starting from 0). Finally, when all versions are compared with the base, the summary function is called.

The collator fullname (package:name) must be unique, otherwise a function terminates.

val apply : t -> project seq -> unit

apply collator projects applies the collator to the sequence of projects.

Projects are evaluated lazily, one project at time.

val find : ?package:string -> string -> t option

find ?package name looks up a collator in the registry.

the collators name

val desc : info -> string

the collators description.

val registered : unit -> info list

information about currently registered collators

OCaml

Innovation. Community. Security.