Menhir

The basic form for defining menhir parsers (analogous to ocamlyacc) is:

(menhir
 ((modules (<parser1> <parser2> ...))))

Modular parsers can be defined by adding a merge_into field. This correspond to the --base command line option of menhir. With this option, a single parser named base_name is generated.

(menhir
 ((merge_into <base_name>)
  (modules (<parser1> <parser2> ...))))

Extra flags can be passed to menhir using the flags flag:

(menhir
 ((flags (<option1> <option2> ...))
  (modules (<parser1> <parser2> ...))))