OCaml package documentation
13 |-
14 |
- lascar 15 |
├── KNOWNBUGS
├── docs
├── html
│ ├── lascar
│ │ ├── Lascar
│ │ │ ├── .dummy
│ │ │ ├── Ltsa
│ │ │ │ ├── Make
│ │ │ │ │ ├── argument-3-A
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ ├── module-type-ATTR
│ │ │ │ │ └── index.html
│ │ │ │ ├── module-type-T
│ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ ├── Product
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── argument-1-S1
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ └── argument-2-S2
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ ├── IProduct
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── argument-1-S
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ ├── Product3
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── argument-1-S1
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── argument-2-S2
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ └── argument-3-S3
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ ├── IProduct3
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── argument-1-S
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ └── Trans
│ │ │ │ │ ├── argument-1-S1
│ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── argument-2-S2
│ │ │ │ │ └── Attr
│ │ │ │ │ └── index.html
│ │ │ ├── Dfa
│ │ │ │ ├── Make
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── NFA
│ │ │ │ │ │ ├── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ └── LTSA
│ │ │ │ │ │ │ └── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ └── LTSA
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ ├── module-type-T
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── NFA
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ └── LTSA
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ ├── Product
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── NFA
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── argument-1-S1
│ │ │ │ │ │ ├── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ └── NFA
│ │ │ │ │ │ │ └── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── argument-2-S2
│ │ │ │ │ │ ├── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ └── NFA
│ │ │ │ │ │ │ └── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ └── LTSA
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ └── Trans
│ │ │ │ │ ├── argument-1-S1
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── NFA
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── argument-2-S2
│ │ │ │ │ ├── Attr
│ │ │ │ │ └── index.html
│ │ │ │ │ └── NFA
│ │ │ │ │ └── Attr
│ │ │ │ │ └── index.html
│ │ │ ├── Nfa
│ │ │ │ ├── Make
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── LTSA
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ ├── module-type-T
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── LTSA
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ ├── Product
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── argument-1-S1
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── argument-2-S2
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ └── LTSA
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ └── Trans
│ │ │ │ │ ├── argument-1-S1
│ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── argument-2-S2
│ │ │ │ │ └── Attr
│ │ │ │ │ └── index.html
│ │ │ ├── Conv
│ │ │ │ ├── ToDfa
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── NFA
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── argument-1-N
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ └── LTSA
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ ├── ToMealy
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── M
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ └── argument-1-MM
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ ├── FromLts
│ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ ├── Fsm
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── M
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ └── argument-1-F
│ │ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ │ └── M
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ ├── ToMoore
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── argument-1-ME
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ └── M
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ └── ToLts
│ │ │ │ │ ├── argument-1-M
│ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── Repr
│ │ │ │ │ └── Attr
│ │ │ │ │ └── index.html
│ │ │ ├── Mealy
│ │ │ │ ├── Make
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── M
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ └── module-type-T
│ │ │ │ │ ├── Attr
│ │ │ │ │ └── index.html
│ │ │ │ │ └── M
│ │ │ │ │ └── Attr
│ │ │ │ │ └── index.html
│ │ │ ├── Fsm
│ │ │ │ ├── Make
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── M
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ ├── module-type-T
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── M
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ └── Trans
│ │ │ │ │ ├── argument-1-S1
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── M
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── argument-2-S2
│ │ │ │ │ └── Attr
│ │ │ │ │ └── index.html
│ │ │ ├── Moore
│ │ │ │ ├── Make
│ │ │ │ │ ├── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── M
│ │ │ │ │ │ └── Attr
│ │ │ │ │ │ └── index.html
│ │ │ │ └── module-type-T
│ │ │ │ │ ├── Attr
│ │ │ │ │ └── index.html
│ │ │ │ │ └── M
│ │ │ │ │ └── Attr
│ │ │ │ │ └── index.html
│ │ │ └── Lts
│ │ │ │ ├── Make
│ │ │ │ └── Repr
│ │ │ │ │ └── Attr
│ │ │ │ │ └── index.html
│ │ │ │ ├── module-type-T
│ │ │ │ └── Repr
│ │ │ │ │ └── Attr
│ │ │ │ │ └── index.html
│ │ │ │ ├── Product
│ │ │ │ └── Repr
│ │ │ │ │ └── Attr
│ │ │ │ │ └── index.html
│ │ │ │ └── Product3
│ │ │ │ └── Repr
│ │ │ │ └── Attr
│ │ │ │ └── index.html
│ │ ├── Utils
│ │ │ ├── .dummy
│ │ │ └── Stringable
│ │ │ │ ├── module-type-T
│ │ │ │ └── index.html
│ │ │ │ ├── Pair
│ │ │ │ ├── argument-1-M1
│ │ │ │ │ └── index.html
│ │ │ │ └── argument-2-M2
│ │ │ │ │ └── index.html
│ │ │ │ └── Triplet
│ │ │ │ ├── argument-1-M1
│ │ │ │ └── index.html
│ │ │ │ ├── argument-2-M2
│ │ │ │ └── index.html
│ │ │ │ └── argument-3-M3
│ │ │ │ └── index.html
│ │ └── index.html
│ ├── fonts
│ │ ├── KaTeX_Main-Bold.woff2
│ │ ├── KaTeX_AMS-Regular.woff2
│ │ ├── KaTeX_Main-Italic.woff2
│ │ ├── KaTeX_Math-Italic.woff2
│ │ ├── KaTeX_Fraktur-Bold.woff2
│ │ ├── KaTeX_Main-Regular.woff2
│ │ ├── KaTeX_SansSerif-Bold.woff2
│ │ ├── KaTeX_Script-Regular.woff2
│ │ ├── KaTeX_Size1-Regular.woff2
│ │ ├── KaTeX_Size2-Regular.woff2
│ │ ├── KaTeX_Size3-Regular.woff2
│ │ ├── KaTeX_Size4-Regular.woff2
│ │ ├── KaTeX_Caligraphic-Bold.woff2
│ │ ├── KaTeX_Fraktur-Regular.woff2
│ │ ├── KaTeX_Main-BoldItalic.woff2
│ │ ├── KaTeX_Math-BoldItalic.woff2
│ │ ├── KaTeX_SansSerif-Italic.woff2
│ │ ├── KaTeX_Caligraphic-Regular.woff2
│ │ ├── KaTeX_SansSerif-Regular.woff2
│ │ └── KaTeX_Typewriter-Regular.woff2
│ └── index.html
└── tutorial
│ ├── tutorial.key
│ ├── Metadata
│ │ ├── DocumentIdentifier
│ │ ├── Properties.plist
│ │ └── BuildVersionHistory.plist
│ ├── Index.zip
│ ├── Data
│ │ ├── st0.jpg
│ │ ├── st1.jpg
│ │ ├── st2.jpg
│ │ ├── st3.jpg
│ │ ├── st4.jpg
│ │ ├── st5.jpg
│ │ ├── st6.jpg
│ │ ├── st7.jpg
│ │ ├── mt0@2x.jpg
│ │ ├── mt1@2x.jpg
│ │ ├── mt2@2x.jpg
│ │ ├── mt3@2x.jpg
│ │ ├── mt4@2x.jpg
│ │ ├── mt5@2x.jpg
│ │ ├── mt6@2x.jpg
│ │ ├── mt7@2x.jpg
│ │ ├── mt8@2x.jpg
│ │ ├── mt9@2x.jpg
│ │ ├── st0-1.jpg
│ │ ├── mt10@2x.jpg
│ │ ├── pasted-image.pdf
│ │ ├── pasted-image-1.pdf
│ │ ├── pasted-image-10.pdf
│ │ ├── pasted-image-2.pdf
│ │ ├── pasted-image-3.pdf
│ │ ├── pasted-image-4.pdf
│ │ ├── pasted-image-5.pdf
│ │ ├── pasted-image-6.pdf
│ │ ├── pasted-image-7.pdf
│ │ ├── pasted-image-8.pdf
│ │ ├── pasted-image-9.pdf
│ │ ├── pasted-image-small.png
│ │ ├── tile_paper_medgray.jpg
│ │ ├── pasted-image-small-1.png
│ │ ├── pasted-image-small-10.png
│ │ ├── pasted-image-small-2.png
│ │ ├── pasted-image-small-3.png
│ │ ├── pasted-image-small-4.png
│ │ ├── pasted-image-small-5.png
│ │ ├── pasted-image-small-6.png
│ │ ├── pasted-image-small-7.png
│ │ ├── pasted-image-small-8.png
│ │ ├── pasted-image-small-9.png
│ │ ├── 110809_FamilyChineseOahu_EN_02016_981x654-small.jpg
│ │ ├── 110809_FamilyChineseOahu_EN_00317_2040x1360-small.jpg
│ │ └── 110809_FamilyChineseOahu_EN_02390_2880x1921-small.jpg
│ ├── preview.jpg
│ ├── preview-web.jpg
│ └── preview-micro.jpg
│ └── tutorial
│ └── tutorial.html_files
│ ├── home.png
│ ├── next.png
│ ├── prev.png
│ ├── examples.001.png
│ ├── examples.002.png
│ ├── examples.003.png
│ ├── examples.004.png
│ ├── examples.005.png
│ ├── examples.006.png
│ ├── examples.007.png
│ └── examples.008.png
├── examples
├── dfa
│ ├── ex1
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ └── Makefile
│ └── ex2
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ └── Makefile
├── lts
│ ├── conv
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ ├── Makefile
│ │ └── main.ml
│ ├── map1
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ ├── Makefile
│ │ └── main.ml
│ ├── map2
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ ├── Makefile
│ │ └── main.ml
│ ├── clock
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ ├── Makefile
│ │ └── main.ml
│ ├── cntmod4
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ ├── Makefile
│ │ └── main.ml
│ ├── mutex
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ └── Makefile
│ ├── simple1
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ ├── Makefile
│ │ └── main.ml
│ ├── simple2
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ ├── Makefile
│ │ └── main.ml
│ ├── products_1
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ └── Makefile
│ └── products_2
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ ├── Makefile
│ │ └── main.ml
├── nfa
│ └── ex1
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ ├── Makefile
│ │ └── main.ml
├── fsm
│ ├── altbit
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ └── Makefile
│ ├── ctrdctr
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ └── Makefile
│ ├── ctrmodn
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ ├── Makefile
│ │ └── main.ml
│ ├── gensig1
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ ├── Makefile
│ │ └── main.ml
│ └── gensig2
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ ├── Makefile
│ │ └── main.ml
├── mealy
│ ├── simple
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ ├── Makefile
│ │ └── main.ml
│ └── seqadder
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ ├── Makefile
│ │ └── main.ml
├── moore
│ └── simple
│ │ ├── .ocamlinit
│ │ ├── dune
│ │ ├── Makefile
│ │ └── main.ml
└── Makefile
├── src
├── bin
│ ├── lascar_top.ml
│ ├── Makefile
│ └── dune
├── utils
│ ├── _doc
│ │ └── .keep
│ ├── Makefile
│ ├── dune
│ ├── .depend
│ ├── option.ml
│ ├── dot.ml
│ ├── filenameExt.ml
│ ├── dot.mli
│ ├── stringable.mli
│ ├── stringable.ml
│ ├── option.mli
│ └── filenameExt.mli
└── lib
│ ├── Makefile
│ ├── dune
│ ├── builtins.mli
│ ├── builtins.ml
│ ├── fsm_value.mli
│ └── .depend
├── etc
├── dune.app
├── toplevel.ini
├── Makefile
└── Makefile.app
├── TODO
├── .gitignore
├── tests
├── test_fsm_actions.ml
├── test_fsm_conditions.ml
├── Makefile
├── test_fsm_transitions.ml
├── .ocamlinit
├── test.ml
├── dune
└── test_fsm_exprs.ml
├── dune-project
├── lascar.opam
├── CHANGES.html
├── Makefile
└── LICENSE
/KNOWNBUGS:
--------------------------------------------------------------------------------
1 | * To be filled..
2 |
--------------------------------------------------------------------------------
/docs/html/lascar/Lascar/.dummy:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/html/lascar/Utils/.dummy:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/examples/dfa/ex1/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/dfa/ex2/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/lts/conv/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/lts/map1/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/lts/map2/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/nfa/ex1/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/src/bin/lascar_top.ml:
--------------------------------------------------------------------------------
1 | let () = Topmain.main ()
2 |
--------------------------------------------------------------------------------
/src/utils/_doc/.keep:
--------------------------------------------------------------------------------
1 | Do not remove this file !
2 |
--------------------------------------------------------------------------------
/examples/fsm/altbit/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/fsm/ctrdctr/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/fsm/ctrmodn/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/fsm/gensig1/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/fsm/gensig2/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/lts/clock/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/lts/cntmod4/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/lts/mutex/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/lts/simple1/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/lts/simple2/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/mealy/simple/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/moore/simple/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/lts/products_1/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/lts/products_2/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/examples/mealy/seqadder/.ocamlinit:
--------------------------------------------------------------------------------
1 | ../../../etc/toplevel.ini
--------------------------------------------------------------------------------
/etc/dune.app:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar))
4 |
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Metadata/DocumentIdentifier:
--------------------------------------------------------------------------------
1 | 10A78E8E-7201-4DF0-977E-313C11AD2803
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Main-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Main-Bold.woff2
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Index.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Index.zip
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_AMS-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_AMS-Regular.woff2
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Main-Italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Main-Italic.woff2
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Math-Italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Math-Italic.woff2
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/st0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/st0.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/st1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/st1.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/st2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/st2.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/st3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/st3.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/st4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/st4.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/st5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/st5.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/st6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/st6.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/st7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/st7.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/preview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/preview.jpg
--------------------------------------------------------------------------------
/src/bin/Makefile:
--------------------------------------------------------------------------------
1 | byte:
2 | dune build lascar_top.bc
3 |
4 | clean:
5 | dune clean
6 |
7 | clobber: clean
8 | @rm -f *~
9 |
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Fraktur-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Fraktur-Bold.woff2
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Main-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Main-Regular.woff2
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_SansSerif-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_SansSerif-Bold.woff2
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Script-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Script-Regular.woff2
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Size1-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Size1-Regular.woff2
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Size2-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Size2-Regular.woff2
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Size3-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Size3-Regular.woff2
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Size4-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Size4-Regular.woff2
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/mt0@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/mt0@2x.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/mt1@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/mt1@2x.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/mt2@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/mt2@2x.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/mt3@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/mt3@2x.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/mt4@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/mt4@2x.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/mt5@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/mt5@2x.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/mt6@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/mt6@2x.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/mt7@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/mt7@2x.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/mt8@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/mt8@2x.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/mt9@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/mt9@2x.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/st0-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/st0-1.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/preview-web.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/preview-web.jpg
--------------------------------------------------------------------------------
/TODO:
--------------------------------------------------------------------------------
1 | - "classical" operations (product, union, ...) for NFAs and DFAs
2 | - Kripke structures
3 | - Buchi automata
4 | - SMV output
5 |
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Caligraphic-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Caligraphic-Bold.woff2
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Fraktur-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Fraktur-Regular.woff2
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Main-BoldItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Main-BoldItalic.woff2
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Math-BoldItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Math-BoldItalic.woff2
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_SansSerif-Italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_SansSerif-Italic.woff2
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/mt10@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/mt10@2x.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/preview-micro.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/preview-micro.jpg
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Caligraphic-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Caligraphic-Regular.woff2
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_SansSerif-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_SansSerif-Regular.woff2
--------------------------------------------------------------------------------
/docs/html/fonts/KaTeX_Typewriter-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/html/fonts/KaTeX_Typewriter-Regular.woff2
--------------------------------------------------------------------------------
/examples/dfa/ex1/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/dfa/ex2/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/lts/clock/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/lts/conv/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/lts/map1/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/lts/map2/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/lts/mutex/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/nfa/ex1/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image.pdf
--------------------------------------------------------------------------------
/examples/fsm/altbit/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/fsm/ctrdctr/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/fsm/ctrmodn/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/fsm/gensig1/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/fsm/gensig2/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/lts/cntmod4/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/lts/products_1/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/lts/products_2/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/lts/simple1/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/lts/simple2/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/mealy/seqadder/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/mealy/simple/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/examples/moore/simple/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name main)
3 | (libraries lascar ppx_show.runtime)
4 | (preprocess (pps ppx_deriving.show)))
5 |
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-1.pdf
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-10.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-10.pdf
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-2.pdf
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-3.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-3.pdf
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-4.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-4.pdf
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-5.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-5.pdf
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-6.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-6.pdf
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-7.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-7.pdf
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-8.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-8.pdf
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-9.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-9.pdf
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Metadata/Properties.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Metadata/Properties.plist
--------------------------------------------------------------------------------
/docs/tutorial/tutorial/tutorial.html_files/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial/tutorial.html_files/home.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial/tutorial.html_files/next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial/tutorial.html_files/next.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial/tutorial.html_files/prev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial/tutorial.html_files/prev.png
--------------------------------------------------------------------------------
/src/bin/dune:
--------------------------------------------------------------------------------
1 | (executable
2 | (name lascar_top)
3 | (libraries compiler-libs.toplevel lascar)
4 | (link_flags (-linkall))
5 | (modes byte))
6 |
7 |
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-small.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/tile_paper_medgray.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/tile_paper_medgray.jpg
--------------------------------------------------------------------------------
/etc/toplevel.ini:
--------------------------------------------------------------------------------
1 | #directory "../../../_build/default/src/lib/.lascar.objs/byte";;
2 | #directory "../../../_build/default/src/utils/.utils.objs/byte";;
3 |
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-small-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-small-1.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-small-10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-small-10.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-small-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-small-2.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-small-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-small-3.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-small-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-small-4.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-small-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-small-5.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-small-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-small-6.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-small-7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-small-7.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-small-8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-small-8.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/pasted-image-small-9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/pasted-image-small-9.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial/tutorial.html_files/examples.001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial/tutorial.html_files/examples.001.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial/tutorial.html_files/examples.002.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial/tutorial.html_files/examples.002.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial/tutorial.html_files/examples.003.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial/tutorial.html_files/examples.003.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial/tutorial.html_files/examples.004.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial/tutorial.html_files/examples.004.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial/tutorial.html_files/examples.005.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial/tutorial.html_files/examples.005.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial/tutorial.html_files/examples.006.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial/tutorial.html_files/examples.006.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial/tutorial.html_files/examples.007.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial/tutorial.html_files/examples.007.png
--------------------------------------------------------------------------------
/docs/tutorial/tutorial/tutorial.html_files/examples.008.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial/tutorial.html_files/examples.008.png
--------------------------------------------------------------------------------
/etc/Makefile:
--------------------------------------------------------------------------------
1 | all:
2 |
3 | install:
4 | @for i in ../examples/*/*; do cp Makefile.app $$i/Makefile; done
5 | @for i in ../examples/*/*; do cp dune.app $$i/dune; done
6 |
--------------------------------------------------------------------------------
/src/lib/Makefile:
--------------------------------------------------------------------------------
1 | byte:
2 | dune build lascar.cma
3 |
4 | native:
5 | dune build lascar.cmxa
6 |
7 | clean:
8 | dune clean
9 |
10 | clobber: clean
11 | @rm -f *~
12 |
--------------------------------------------------------------------------------
/src/utils/Makefile:
--------------------------------------------------------------------------------
1 | byte:
2 | dune build utils.cma
3 |
4 | native:
5 | dune build utils.cmxa
6 |
7 | clean:
8 | dune clean
9 |
10 | clobber: clean
11 | @rm -f *~
12 |
--------------------------------------------------------------------------------
/examples/Makefile:
--------------------------------------------------------------------------------
1 | test:
2 | @for i in [a-z]*/[a-z0-9]*; do (echo "** Testing in $$i"; cd $$i; make test); done
3 |
4 |
5 | clean:
6 | @for i in [a-z]*/[a-z0-9]*; do (cd $$i; make clean); done
7 |
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small.jpg
--------------------------------------------------------------------------------
/src/utils/dune:
--------------------------------------------------------------------------------
1 | (env
2 | (dev
3 | (flags
4 | (:standard -annot)
5 | (:standard -w -27-50))))
6 |
7 | (library
8 | (name utils)
9 | (libraries camlp-streams)
10 | (public_name lascar.utils))
11 |
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small.jpg
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jserot/lascar/HEAD/docs/tutorial/tutorial.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small.jpg
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | _build/
2 | docs/
3 | config
4 | config-stamp
5 | doc/api/
6 | *.cmi
7 | *.cmo
8 | *.cma
9 | *.annot
10 | *.cmxa
11 | *~
12 | .depend
13 | .merlin
14 | HOWTO
15 | CHANGELOG.html
16 | README.html
17 | examples/*/*/*.dot
18 | examples/*/*/*.tex
19 | src/utils/_doc/
20 | lascar.opam
21 |
--------------------------------------------------------------------------------
/etc/Makefile.app:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).bc
8 |
9 | test:
10 | dune exec ./$(APP).bc
11 |
12 | run:
13 | dune exec ./$(APP).bc
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/dfa/ex1/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/dfa/ex2/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/fsm/altbit/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/lts/clock/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/lts/conv/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/lts/map1/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/lts/map2/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/lts/mutex/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/nfa/ex1/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/tests/test_fsm_actions.ml:
--------------------------------------------------------------------------------
1 | open Lascar
2 |
3 | module IntExpr = Fsm_expr.Make(Fsm_value.Int)
4 | module IntAction = Fsm_action.Make(IntExpr)
5 |
6 | let _ =
7 | List.iter
8 | (Test.test IntAction.lexer IntAction.parse IntAction.show) [
9 | "k:=1+2";
10 | "k:=k+1";
11 | "k=1"
12 | ]
13 |
--------------------------------------------------------------------------------
/examples/fsm/ctrdctr/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/fsm/ctrmodn/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/fsm/gensig1/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/fsm/gensig2/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/lts/cntmod4/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/lts/products_1/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/lts/products_2/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/lts/simple1/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/lts/simple2/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/mealy/seqadder/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/mealy/simple/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/examples/moore/simple/Makefile:
--------------------------------------------------------------------------------
1 | DOTVIEWER=graphviz
2 | APP=main
3 |
4 | all: run
5 |
6 | build:
7 | dune build ./$(APP).exe
8 |
9 | test:
10 | dune exec ./$(APP).exe
11 |
12 | run:
13 | dune exec ./$(APP).exe
14 | for f in *.dot; do $(DOTVIEWER) $$f; done
15 |
16 | clean:
17 | @\rm -f *.dot *.tex .merlin
18 | @\rm -f *~
19 |
--------------------------------------------------------------------------------
/tests/test_fsm_conditions.ml:
--------------------------------------------------------------------------------
1 | open Lascar
2 |
3 | module IntExpr = Fsm_expr.Make(Fsm_value.Int)
4 | module IntCondition = Fsm_condition.Make(IntExpr)
5 |
6 | let _ =
7 | List.iter
8 | (Test.test IntCondition.lexer IntCondition.parse IntCondition.show) [
9 | "k=1";
10 | "k>1+2*3";
11 | "k="
12 | ]
13 |
--------------------------------------------------------------------------------
/docs/tutorial/tutorial.key/Metadata/BuildVersionHistory.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
* removed dependency on camlp4 by rewriting the Fsm_expr, Fsm and ListExt parsers
4 | * dunified build and install process
5 | * Library is now packed under Lascar module to prevent name clash
7 | * OPAMification
9 | * Home page and documentation moved to separate web site
10 | * Added INSTALL
11 | * CHANGELOG now in .md format
12 | * Added functions [map_state], [map_attr] and [map_label]
14 | * Added modules [Builtins.{Int,String,Bool}]. Rewrote some examples accordingly
15 | * Added [ListExt.update_assoc]
17 | * First public version
19 |
--------------------------------------------------------------------------------
/src/lib/builtins.mli:
--------------------------------------------------------------------------------
1 | (**********************************************************************)
2 | (* *)
3 | (* LASCAr *)
4 | (* *)
5 | (* Copyright (c) 2017-present, Jocelyn SEROT. All rights reserved. *)
6 | (* *)
7 | (* This source code is licensed under the license found in the *)
8 | (* LICENSE file in the root directory of this source tree. *)
9 | (* *)
10 | (**********************************************************************)
11 |
12 | (** {2 Pre-defined modules to be used as functor arguments} *)
13 |
14 | module Int : Utils.OrderedTypeExt.T with type t=int
15 |
16 | module String : Utils.OrderedTypeExt.T with type t=string
17 |
18 | module Bool : Utils.OrderedTypeExt.T with type t=bool
19 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | .PHONY: doc
2 |
3 | all: build doc
4 |
5 | build:
6 | dune build src/utils/utils.cma
7 | dune build src/utils/utils.cmxa
8 | dune build src/lib/lascar.cma
9 | dune build src/lib/lascar.cmxa
10 |
11 | utop:
12 | dune utop src
13 |
14 | install:
15 | dune build @install
16 |
17 | INSTALL_DOCDIR=`opam var doc`
18 |
19 | opam.install:
20 | opam install .
21 | rm -rf $(INSTALL_DOCDIR)/lascar
22 | cp -r _build/default/_doc/_html/ $(INSTALL_DOCDIR)/lascar
23 |
24 | opam.remove:
25 | opam remove .
26 | rm -rf $(INSTALL_DOCDIR)/lascar
27 |
28 | opam.show:
29 | opam info lascar
30 |
31 | doc.view:
32 | open -a Safari _build/default/_doc/_html/index.html
33 |
34 | doc:
35 | dune build @doc
36 | cp -r _build/default/_doc/_html/* ./docs/html
37 |
38 | html: README.md
39 | pandoc -t html -o README.html README.md
40 | pandoc -t html -o CHANGES.html CHANGES.md
41 |
42 | test:
43 | (cd examples; make)
44 |
45 | clean:
46 | dune clean
47 | (cd examples; make clean)
48 | \rm -f README.html
49 |
50 | clobber: clean
51 | \rm -f *~
52 |
53 |
54 |
--------------------------------------------------------------------------------
/examples/lts/map1/main.ml:
--------------------------------------------------------------------------------
1 | (* Using the [map_xxx] functions for transforming a LTS *)
2 |
3 | open Utils
4 | open Lascar
5 |
6 | module S = Ltsa.Make (Builtins.Int) (Builtins.String) (Builtins.Bool)
7 |
8 | let s = S.create
9 | ~states:[0,true; 1,false; 2,false]
10 | ~itrans:["i",0]
11 | ~trans:[0,"a",1;
12 | 1,"b",0;
13 | 1,"c",2;
14 | 2,"d",2;
15 | 0,"e",2]
16 |
17 | let _ = S.dot_output "simple" ~options:[Dot.RankdirUD] s
18 |
19 | let s1 = s
20 | |> S.map_label String.capitalize_ascii
21 | |> S.map_state (function q -> q*10)
22 | |> S.map_attr not
23 |
24 | let _ = S.dot_output "simple1" s1
25 |
26 | let s2 =
27 | let relabel q q' l = match q with
28 | | Some q -> String.capitalize_ascii l ^ "[" ^ string_of_int q ^ "->" ^ string_of_int q' ^ "]"
29 | | None -> String.capitalize_ascii l ^ "[->" ^ string_of_int q' ^ "]" in
30 | s |> S.map_state_attr (function (q,a) -> q*10, not a)
31 | |> S.map_transition (function (q,l,q') -> q, relabel q q' l, q')
32 |
33 | let _ = S.dot_output "simple2" s2
34 |
35 |
--------------------------------------------------------------------------------
/src/utils/dot.ml:
--------------------------------------------------------------------------------
1 | (**********************************************************************)
2 | (* *)
3 | (* LASCAr *)
4 | (* *)
5 | (* Copyright (c) 2017-present, Jocelyn SEROT. All rights reserved. *)
6 | (* *)
7 | (* This source code is licensed under the license found in the *)
8 | (* LICENSE file in the root directory of this source tree. *)
9 | (* *)
10 | (**********************************************************************)
11 |
12 | type graph_style = ..
13 |
14 | type graph_style +=
15 | | SubGraph (** Draw graph as a subgraph (to be inserted in an enclosing graph) *)
16 | | RankdirUD (** Draw graph in the Up-down direction *)
17 | | RankdirLR (** Draw graph in the Left-right direction *)
18 |
19 | type node_style = { node_shape: string; node_style: string }
20 |
--------------------------------------------------------------------------------
/examples/fsm/gensig2/main.ml:
--------------------------------------------------------------------------------
1 | (* This is a reformulation of ../gensig1 in which the output [s] is assigned to states *)
2 |
3 | open Utils
4 | open Lascar
5 |
6 | module S =
7 | struct
8 | type t = Off | On [@@deriving show {with_path=false}]
9 | let compare = Stdlib.compare
10 | let to_string = show
11 | end
12 |
13 | open S
14 |
15 | module F = Fsm.Make(S)(Fsm_value.Int)
16 |
17 | let mk n =
18 | let open F in
19 | create
20 | ~inps:["start",[0;1]]
21 | ~outps:["s",[0;1]]
22 | ~vars:["k", ListExt.range Fun.id 0 n]
23 | ~states:[Off,["s",0]; On,["s",1]]
24 | ~istate:([], Off)
25 | ~trans:[
26 | Off, mk_trans "start=1 | k:=0", On;
27 | On, ([Test ("k", "<", EConst n)], mk_acts "k:=k+1"), On;
28 | On, ([Test ("k", "=", EConst n)], []), Off
29 | ]
30 |
31 | let m1 = mk 2
32 |
33 | let _ = F.dot_output "m1" m1
34 |
35 | module FF = Conv.Fsm(F)
36 |
37 | let m2 = FF.defactorize ~init:(Some ([],(Off,["k",0]))) [] m1
38 |
39 | let _ = FF.dot_output ~options:[Dot.RankdirLR] "m2" m2
40 |
41 | let _ = FF.dot_output_execs "m2_execs" ~options:[Dot.RankdirLR] 8 m2
42 |
43 |
44 |
--------------------------------------------------------------------------------
/src/utils/filenameExt.ml:
--------------------------------------------------------------------------------
1 | (**********************************************************************)
2 | (* *)
3 | (* LASCAr *)
4 | (* *)
5 | (* Copyright (c) 2017-present, Jocelyn SEROT. All rights reserved. *)
6 | (* *)
7 | (* This source code is licensed under the license found in the *)
8 | (* LICENSE file in the root directory of this source tree. *)
9 | (* *)
10 | (**********************************************************************)
11 |
12 | let split_suffix name =
13 | try
14 | let i = String.rindex name '.' in
15 | String.sub name 0 i, String.sub name i (String.length name - i)
16 | with
17 | Not_found -> name, ""
18 |
19 | let add_before_suffix name e =
20 | let b, s = split_suffix name in
21 | b ^ e ^ s
22 |
23 | let replace_suffix name s =
24 | let b, _ = split_suffix name in
25 | b ^ "." ^ s
26 |
27 |
--------------------------------------------------------------------------------
/examples/lts/products_2/main.ml:
--------------------------------------------------------------------------------
1 | (* Internal and external product of LTSAs *)
2 |
3 | open Utils
4 | open Lascar
5 |
6 | module S = Ltsa.Make(Builtins.String)(Builtins.Int)(Builtins.String)
7 |
8 | let a1 = S.create ~states:["A","";"B",""] ~trans:["A",1,"B"; "B",2,"A"] ~itrans:[0,"A"]
9 | let a2 = S.create ~states:["u","";"v",""] ~trans:["u",3,"v"; "v",4,"u"; "v",5,"v"] ~itrans:[0,"u"]
10 |
11 | let _ = S.succs a1 "A"
12 |
13 | let _ = S.dot_output "A1" ~options:[Dot.RankdirUD] a1
14 | let _ = S.dot_output "A2" ~options:[Dot.RankdirUD] a2
15 | let _ = S.tex_output "A1" a1
16 | let _ = S.tex_output "A2" a2
17 |
18 | module M = struct
19 | type state = string
20 | type label = int
21 | type attr = string
22 | let merge_state (s1,s2) = s1 ^ s2
23 | let merge_label = function None, None -> 0 | Some l1, None -> l1 | None, Some l2 -> l2 | Some l1, Some l2 -> 10*l1+l2
24 | let merge_attr (a1,a2) = a1 ^ a2
25 | end
26 |
27 | module P1 = Ltsa.IProduct (S) (M)
28 |
29 | let p1 = P1.synchronous_product a1 a2
30 | let _ = P1.dot_output "IntProd" p1
31 |
32 |
33 | module P2 = Ltsa.Product (S) (S)
34 |
35 | let p2 = P2.synchronous_product a1 a2
36 | let _ = P2.dot_output "ExtProd" p2
37 |
--------------------------------------------------------------------------------
/examples/fsm/gensig1/main.ml:
--------------------------------------------------------------------------------
1 | (* FSM model of a signal generator.
2 | Output [s] goes to 1 with input [start] and stays to 1 for [n] "cycles" *)
3 |
4 | open Utils
5 | open Lascar
6 |
7 | module S =
8 | struct
9 | type t = Off | On [@@deriving show {with_path=false}]
10 | let compare = Stdlib.compare
11 | let to_string = show
12 | end
13 |
14 | open S
15 |
16 | module F = Fsm.Make(S)(Fsm_value.Int)
17 |
18 | let mk n =
19 | let open F in
20 | create
21 | ~inps:["start",[0;1]]
22 | ~outps:["s",[0;1]]
23 | ~vars:["k", ListExt.range Fun.id 0 n]
24 | ~states:[Off,[]; On,[]]
25 | ~istate:([], Off)
26 | ~trans:[
27 | Off, mk_trans "start=1 | k:=0,s:=1", On;
28 | On, ([Test ("k", "<", EConst n)], mk_acts "k:=k+1"), On;
29 | On, ([Test ("k", "=", EConst n)], mk_acts "s:=0"), Off
30 | ]
31 |
32 | let m1 = mk 2
33 |
34 | let _ = F.dot_output "m1" m1
35 |
36 | module FF = Conv.Fsm(F)
37 |
38 | let m2 =
39 | FF.defactorize ~init:(Some ([],(Off,["k",0]))) [] m1
40 |
41 | let _ = FF.dot_output ~options:[Dot.RankdirLR] "m2" m2
42 |
43 | let _ = FF.dot_output_execs "m2_execs" ~options:[Dot.RankdirLR] 8 m2
44 |
45 |
46 |
--------------------------------------------------------------------------------
/src/utils/dot.mli:
--------------------------------------------------------------------------------
1 | (**********************************************************************)
2 | (* *)
3 | (* LASCAr *)
4 | (* *)
5 | (* Copyright (c) 2017-present, Jocelyn SEROT. All rights reserved. *)
6 | (* *)
7 | (* This source code is licensed under the license found in the *)
8 | (* LICENSE file in the root directory of this source tree. *)
9 | (* *)
10 | (**********************************************************************)
11 |
12 | (** {2 Types for controling the aspect of .dot output files} *)
13 |
14 | type graph_style = ..
15 |
16 | type graph_style +=
17 | | SubGraph (** Draw graph as a subgraph (to be inserted in an enclosing graph) *)
18 | | RankdirUD (** Draw graph in the Up-down direction *)
19 | | RankdirLR (** Draw graph in the Left-right direction *)
20 |
21 | type node_style = { node_shape: string; node_style: string }
22 |
--------------------------------------------------------------------------------
/src/lib/builtins.ml:
--------------------------------------------------------------------------------
1 | (**********************************************************************)
2 | (* *)
3 | (* LASCAr *)
4 | (* *)
5 | (* Copyright (c) 2017-present, Jocelyn SEROT. All rights reserved. *)
6 | (* *)
7 | (* This source code is licensed under the license found in the *)
8 | (* LICENSE file in the root directory of this source tree. *)
9 | (* *)
10 | (**********************************************************************)
11 |
12 | (** Pre-defined functor arguments *)
13 |
14 | module Int = struct
15 | type t = int
16 | let compare = Stdlib.compare
17 | let to_string = string_of_int
18 | end
19 |
20 | module String = struct
21 | type t = string
22 | let compare = Stdlib.compare
23 | let to_string x = x
24 | end
25 |
26 | module Bool = struct
27 | type t = bool
28 | let compare = Stdlib.compare
29 | let to_string = string_of_bool
30 | end
31 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018-2021 Jocelyn SEROT (jocelyn.serot@uca.fr)
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 | That's all there is to it!
24 |
--------------------------------------------------------------------------------
/docs/html/lascar/index.html:
--------------------------------------------------------------------------------
1 |
2 | The entry point of this library is the module: Lascar.
The entry point of this library is the module: Utils.
Stringable.Tval to_string : t -> stringMake.Aval to_string : t -> stringLtsa.ATTRSignature of the module describing state attributes
val to_string : t -> stringMake.Attrval to_string : t -> stringT.Attrval to_string : t -> stringMake.Attrval to_string : t -> stringT.Attrval to_string : t -> stringPair.M1val to_string : t -> stringPair.M2val to_string : t -> stringToDfa.Attrval to_string : t -> stringMake.Attrval to_string : t -> stringT.Attrval to_string : t -> stringProduct.Attrval to_string : t -> stringProduct.Attrval to_string : t -> stringToMealy.Attrval to_string : t -> stringTriplet.M1val to_string : t -> stringTriplet.M2val to_string : t -> stringTriplet.M3val to_string : t -> stringMake.AttrT.AttrFromLts.AttrFsm.Attrtype t = Valuation.tval to_string : t -> stringMake.Attrtype t = Valuation.tval to_string : t -> stringT.Attrtype t = Valuation.tval to_string : t -> stringProduct.AttrIProduct.AttrProduct3.AttrIProduct3.AttrNFA.Attrval to_string : t -> stringNFA.Attrval to_string : t -> stringNFA.Attrval to_string : t -> stringN.Attrval to_string : t -> stringNFA.Attrval to_string : t -> stringS1.Attrval to_string : t -> stringS2.Attrval to_string : t -> stringMake.Attrtype t = Valuation.Bool.tval to_string : t -> stringT.Attrtype t = Valuation.Bool.tval to_string : t -> stringS1.Attrval to_string : t -> stringS2.Attrval to_string : t -> stringToMoore.Attrtype t = Valuation.Bool.tval to_string : t -> stringS1.Attrval to_string : t -> stringS2.Attrval to_string : t -> stringS1.Attrval to_string : t -> stringS2.Attrval to_string : t -> stringME.Attrval to_string : t -> stringM.AttrM.AttrM.AttrM.AttrM.AttrM.AttrM.AttrLTSA.AttrRepr.AttrM.AttrM.AttrLTSA.AttrM.AttrLTSA.AttrRepr.AttrLTSA.AttrLTSA.AttrRepr.AttrLTSA.AttrRepr.AttrS1.AttrS2.AttrLTSA.AttrF.Attrtype t = Valuation.tval to_string : t -> stringRepr.AttrS.AttrS1.AttrS2.AttrS1.Attrtype t = Valuation.tval to_string : t -> stringS2.Attrtype t = Valuation.tval to_string : t -> stringS.AttrS1.AttrS2.AttrS3.AttrNFA.Attrval to_string : t -> stringNFA.Attrval to_string : t -> stringNFA.Attrval to_string : t -> stringNFA.Attrval to_string : t -> stringMM.Attrtype t = Valuation.Bool.tval to_string : t -> stringM.AttrLTSA.AttrM.Attr