package rfsm

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Static.SyntaxSource

Sourcetype expr = Guest.expr
Sourcetype type_expr = Guest.type_expr
Sourcetype lval = Guest.lval
Sourcetype type_decl = Guest.type_decl
Sourcetype program = {
  1. type_decls : type_decl list;
  2. fun_decls : fun_decl list;
  3. cst_decls : cst_decl list;
  4. models : model list;
  5. globals : global list;
  6. insts : inst list;
}
Sourceand model_desc = {
  1. name : Ident.t;
  2. states : state list;
  3. params : (Ident.t * type_expr) list;
  4. ios : (Ident.t * (io_cat * type_expr)) list;
  5. inps : (Ident.t * type_expr) list;
  6. outps : (Ident.t * type_expr) list;
  7. inouts : (Ident.t * type_expr) list;
  8. vars : (Ident.t * type_expr) list;
  9. trans : transition list;
  10. itrans : itransition;
}
Sourceand io_cat =
  1. | In
  2. | Out
  3. | InOut
Sourceand state = (state_desc, unit) Annot.t
Sourceand state_desc = Ident.t * (Ident.t * expr) list
Sourceand cond_desc = Ident.t * expr list
Sourceand action = (action_desc, typ) Annot.t
Sourceand action_desc =
  1. | Emit of Ident.t
  2. | Assign of lval * expr
Sourceand transition = (transition_desc, typ) Annot.t
Sourceand transition_desc = Ident.t * cond * action list * Ident.t * int
Sourceand itransition = (itransition_desc, typ) Annot.t
Sourceand itransition_desc = Ident.t * action list
Sourceand global = (global_desc, typ) Annot.t
Sourceand global_desc = Ident.t * global_cat * type_expr * stimulus option
Sourceand global_cat =
  1. | Input
  2. | Output
  3. | Shared
Sourceand stimulus = (stimulus_desc, typ) Annot.t
Sourceand stimulus_desc =
  1. | Periodic of int * int * int
  2. | Sporadic of int list
  3. | Value_change of (int * expr) list
Sourceand inst_desc = Ident.t * Ident.t * expr list * Ident.t list
Sourceand fun_decl = (fun_decl_desc, typ) Annot.t
Sourceand fun_decl_desc = {
  1. ff_name : Ident.t;
  2. ff_args : (Ident.t * type_expr) list;
  3. ff_res : type_expr;
  4. ff_body : expr;
}
Sourceand cst_decl = (cst_decl_desc, typ) Annot.t
Sourceand cst_decl_desc = {
  1. cc_name : Ident.t;
  2. cc_typ : type_expr;
  3. cc_val : expr;
}
Sourceval empty_program : program
Sourceval add_program : program -> program -> program
Sourceval subst_model_io : phi:Ident.t Subst.t -> model -> model
Sourceval subst_model_param : phi:expr Subst.t -> model -> model
Sourceval state_ios : model -> Ident.t -> Ident.t list * Ident.t list * Ident.t list * Ident.t list
Sourceval normalize_model : model -> model
Sourceval ppr_program : program -> program
Sourceval pp_typ : Format.formatter -> typ -> unit
Sourceval pp_expr : Format.formatter -> expr -> unit
Sourceval pp_type_expr : Format.formatter -> type_expr -> unit
Sourceval pp_cond_desc : Format.formatter -> cond_desc -> unit
Sourceval pp_cond : Format.formatter -> cond -> unit
Sourceval ppf_cond : Format.formatter -> cond -> unit
Sourceval pp_action : Format.formatter -> action -> unit
Sourceval pp_action_desc : Format.formatter -> action_desc -> unit
Sourceval pp_transition : Format.formatter -> transition -> unit
Sourceval ppf_transition : Format.formatter -> transition -> unit
Sourceval pp_transition_desc : Format.formatter -> transition_desc -> unit
Sourceval pp_itransition : Format.formatter -> itransition -> unit
Sourceval pp_itransition_desc : Format.formatter -> itransition_desc -> unit
Sourceval pp_stimulus : Format.formatter -> stimulus -> unit
Sourceval pp_stimulus_desc : Format.formatter -> stimulus_desc -> unit
Sourceval pp_state : Format.formatter -> state -> unit
Sourceval pp_type_decl : Format.formatter -> Guest.type_decl -> unit
Sourceval pp_model : Format.formatter -> model -> unit
Sourceval pp_model_desc : Format.formatter -> model_desc -> unit
Sourceval pp_model_name : Format.formatter -> model -> unit
Sourceval pp_global : Format.formatter -> global -> unit
Sourceval pp_cst_decl : Format.formatter -> cst_decl -> unit
Sourceval pp_fun_decl : Format.formatter -> fun_decl -> unit
Sourceval pp_program : Format.formatter -> program -> unit
OCaml

Innovation. Community. Security.