Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec / src / pluginType.ml @ 61df3cb9

History | View | Annotate | Download (861 Bytes)

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

    
15
module Default =
16
  struct
17
    let usage fmt = Format.fprintf fmt "No specific help." 
18
    let init () = ()
19
    let check_force_stateful () = false
20
    let refine_machine_code prog machines = machines
21
    let c_backend_main_loop_body_prefix basename mname fmt () = ()
22
    let c_backend_main_loop_body_suffix fmt () = ()
23
  end