Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec / src / pluginType.ml @ 7ab1c5bd

History | View | Annotate | Download (691 Bytes)

1
module type PluginType =
2
sig
3
  val name: string
4
  val activate: unit -> unit
5
  val options: (string * Arg.spec * string) list
6
  val check_force_stateful : unit -> bool
7
  val refine_machine_code: LustreSpec.top_decl list ->
8
    Machine_code.machine_t list -> Machine_code.machine_t list
9
  val c_backend_main_loop_body_prefix : string -> string -> Format.formatter ->  unit -> unit
10
  val c_backend_main_loop_body_suffix : Format.formatter ->  unit -> unit
11
end
12

    
13
module Default =
14
struct
15
  let check_force_stateful () = false
16
  let refine_machine_code prog machines = machines
17
  let c_backend_main_loop_body_prefix basename mname fmt () = ()
18
  let c_backend_main_loop_body_suffix fmt () = ()
19
end