Frama-C:
Plug-ins:
Libraries:

Frama-C API - Recursive

Use this module for handling a (possibly recursive) structural descriptor d. Call Recursive.create () (returning r) before building d. Build d and use Recursive r in places where d should be put. Call Recursive.update r d after building d.

Here is an example for type t = A | B of t: let r = Recursive.create () in let d = Structure (Sum [| [| Recursive r |] |]) in Recursive.update r d

val create : unit -> recursive
val update : recursive -> t -> unit