package libsail

  1. Overview
  2. Docs
Sail is a language for describing the instruction semantics of processors

Install

dune-project
 Dependency

Authors

Maintainers

Sources

sail-0.20.3.tbz
sha256=0b223ed83f521ad87eaacd88186390fbaf0b944f63c6a04a3ebdf96a1ff5a60c
sha512=83298218175c7a9ff7f0a304021287a2b9c20523cb16e1b8bf0ede81fa8e256a32b309626bc1553a5b46d68e44821524c27a5de0fb2f2d7f013025f61ce76519

doc/libsail/Libsail/Interactive/index.html

Module Libsail.InteractiveSource

Sourceval opt_interactive : bool ref
Sourcemodule State : sig ... end

Each interactive command is passed this struct, containing the abstract syntax tree, effect info and the type-checking environment. Also contains the default Sail directory and configuration.

Sourceval arg : string -> string
Sourceval command : string -> string
Sourcetype action =
  1. | ArgString of string * string -> action
  2. | ArgInt of string * int -> action
  3. | Action of string option * (Sail_file.position * string * State.istate) -> State.istate option
Sourceval unit_action : (unit -> unit) -> action
Sourcemodule Arg : sig ... end
Sourceval (let@) : ('a, 'b) Arg.t -> ('a -> 'b) -> action
Sourceval get_command : string -> (string * action) option
Sourceval all_commands : unit -> (string * (string * string option * action)) list
Sourceval generate_help : string -> string -> action -> string * string * string
Sourceval run_action : State.istate -> string -> Sail_file.position -> string -> action -> State.istate
Sourceval register_command : name:string -> ?shortname:string -> help:string -> action -> unit

This is the main function used to register new interactive commands.