package lascar
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=e33fd94f167bd7bc69f30d7a550226126692a00dac9b29c28ff0ff0aca7d7a21
sha512=98fe84ea351a288d371490f002c52c2e3637841f7fafadb1c3a1acb82befc436bbc6321b1c37fb1e2121b595e7fcb33da45510f3b623006a1d1b56d905313058
Description
A library for manipulating Labeled Transition Systems in OCaml
Published: 18 Aug 2019
README
LASCAr
LASCAr is a library for manipulating Labeled Transition Systems
(LTS) in OCaml. LASCAr provides functions for
building and inspecting models of such systems
generating graphical (
.dot
format) and text (.tex
format) representationscomputing execution trees and displaying them in graphical or text format
computing the product (in various flavors) of such systems
LASCAr provides implementations both for "generic" LTS (with or without state attributes) and for "specialized" versions :
deterministic and non-deterministic finite automata (DFA, NFA),
Mealy and Moore automata
Finite State Machines (FSMs)
The library makes a heavy use of functors to support genericity and to maximise code reuse.
Documentation
The library API is documented here.
Some annotated code snippets can be found here.
Other examples are provided in a dedicated directory.
Installation
The latest stable version is provided as a ready-to-install OPAM package.
Installation can also be carried by downloading compiling the source code from github :
git clone https://github.com/jserot/lascar
cd lascar
./configure
(type./configure --help
for options)make
make install
Usage
To compile a program foo.ml
making use of the library, simply execute
$ ocamlfind ocamlc -I <install_dir>/lib/lascar -o foo foo.ml
Or, if the package has been installed using OPAM :
$ ocamlfind ocamlc -package lascar -linkpkg -o foo foo.ml
For displaying the generated .dot
files, you will need to install the Graphviz suite of tools. The name of the .dot
viewer program can be passed to the configure
script with the -dotviewer
option.