(jbuild_version 1)

(ocamllex (lexer))

; Compile tokens.mly into a definition of the type [token].
(menhir (
  (modules (tokens))
  (flags ("--only-tokens"))
))

; Compile parser.mly into a (parameterized) parser.
; We need tokens.mly too, because it contains the token definitions.
; The resulting OCaml files should be named parser.{ml,mli}
; and should *not* contain a definition of the [token] type.
(menhir (
  (modules (tokens parser))
  (merge_into parser)
  (flags ("--external-tokens" "Tokens"))
))

(executable
  ((name calc))
)
