package rfsm

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

Module Typing.MakeSource

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

Sourcemodule HostSyntax = HS
Sourcetype env
Sourcetype typed_program = {
  1. tp_models : HostSyntax.model list;
  2. tp_insts : (Ident.t * HostSyntax.model) list;
}
Sourceval mk_env : unit -> env
Sourceval type_program : env -> HostSyntax.program -> typed_program
Sourceval pp_env : Format.formatter -> env -> unit
Sourceval pp_typed_program : Format.formatter -> typed_program -> unit
Sourceval type_fragment : HostSyntax.fragment -> unit
Sourceexception Duplicate_symbol of Location.t * Ident.t
Sourceexception Invalid_state of Location.t * Ident.t
Sourceexception Duplicate_state of Location.t * Ident.t
Sourceexception No_event_input of Location.t
Sourceexception Illegal_inst of Location.t
Sourceexception Illegal_state_output of Location.t * Ident.t * Ident.t
Sourceexception Type_mismatch of Location.t * string * HostSyntax.typ