-
Notifications
You must be signed in to change notification settings - Fork 44
/
ott.opam
46 lines (46 loc) · 1.76 KB
/
ott.opam
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
opam-version: "2.0"
version: "dev"
maintainer: "Thibaut Pérami <[email protected]>"
authors: ["Peter Sewell" "Francesco Zappa Nardelli" "Scott Owens"]
license: "BSD-3-Clause"
homepage: "http://www.cl.cam.ac.uk/~pes20/ott/"
bug-reports: "https://github.com/ott-lang/ott/issues"
depends: [
"ocaml" {>= "4.07.0"}
"ocamlbuild" {with-test}
"ocamlfind" {build | with-test}
"ocamlgraph"
"pprint" {with-test}
"menhir" {>= "20151112" & with-test}
]
build: [
[make "world"] { ocaml:native }
[make "world.byt"] { !ocaml:native }
["rm" "src/ott"] {os = "win32"}
["cp" "src/ott.opt" "src/ott"] {os = "win32" & ocaml:native}
["cp" "src/ott.byte" "src/ott"] {os = "win32" & !ocaml:native}
[make "ott.install"]
]
run-test: [
[make "-C" "tests/menhir_tests/test_if"]
[make "-C" "tests/menhir_tests/test10menhir"]
[make "-C" "tests/menhir_tests/test10menhir_with_aux_args"]
[make "-C" "tests/menhir_tests/test10menhir_with_aux_rules"]
]
dev-repo: "git+https://github.com/ott-lang/ott.git"
synopsis: "A tool for writing definitions of programming languages and calculi"
description: """
Ott takes as input a definition of a language syntax and semantics, in a
concise and readable ASCII notation that is close to what one would write in
informal mathematics. It generates output:
- a LaTeX source file that defines commands to build a typeset version of the definition;
- a Coq version of the definition;
- a HOL version of the definition;
- an Isabelle/HOL version of the definition;
- a Lem version of the definition;
- an OCaml version of the syntax of the definition.
Additionally, it can be run as a filter, taking a
LaTeX/Coq/Isabelle/HOL/Lem/OCaml source file
with embedded (symbolic) terms of the defined language, parsing them and
replacing them by typeset terms.
"""