package rfsm

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

Parameters

module HS : Syntax.SYNTAX
module GT : Guest.TYPING with module Syntax = HS.Guest and type Types.typ = HS.typ
module GS : Guest.STATIC with type expr = HS.expr

Signature

module HostSyntax = HS
module GuestTyping = GT
module A = Annot
type env = GuestTyping.env
type typed_program = {
  1. tp_models : HostSyntax.model list;
  2. tp_insts : (Ident.t * HostSyntax.model) list;
}
val pp_typed_program : Ppx_deriving_runtime.Format.formatter -> typed_program -> Ppx_deriving_runtime.unit
val show_typed_program : typed_program -> Ppx_deriving_runtime.string
exception Duplicate_symbol of Location.t * Ident.t
exception Invalid_state of Location.t * Ident.t
exception Duplicate_state of Location.t * Ident.t
exception No_event_input of Location.t
exception Illegal_inst of Location.t
exception Illegal_state_output of Location.t * Ident.t * Ident.t
exception Type_mismatch of Location.t * string * HostSyntax.typ
val mk_env : unit -> GuestTyping.env
val type_fsm_action : GuestTyping.env -> 'a -> (HostSyntax.action_desc, GuestTyping.Types.typ) A.t -> unit
val check_type : loc:Location.t -> what:string -> (HostSyntax.typ -> bool) -> HostSyntax.typ -> unit
val type_fsm_event : loc:Location.t -> GuestTyping.env -> Ident.t -> unit
val check_fsm_state : loc:Location.t -> (HostSyntax.model_desc, 'a) A.t -> Ident.t -> unit
val type_fsm_itransition : GuestTyping.env -> (HostSyntax.model_desc, 'a) A.t -> (Ident.t * (HostSyntax.action_desc, GuestTyping.Types.typ) A.t list, 'b) A.t -> unit
val type_fsm_states : GuestTyping.env -> (HostSyntax.model_desc, HostSyntax.typ) A.t -> unit
val type_fsm_ios : 'a -> (HostSyntax.model_desc, 'b) A.t -> unit
val type_stimulus : GuestTyping.env -> 'a -> HostSyntax.typ -> (HostSyntax.stimulus_desc, HostSyntax.typ) A.t -> unit
val pp_env : Stdlib.Format.formatter -> GuestTyping.env -> unit