menhir man page

menhir — parser generator for OCaml


menhir [options] files


menhir is a LR(1) parser generator for the Objective Caml programming language. That is, Menhir compiles LR(1) grammar specifications down to Objective Caml code. It is mostly compatible with ocamlyacc(1).


-h, --help

Show summary of options.

-b--base basename

Specifies a base name for the output file(s).


Include comments in the generated code.


Invoke ocamldep and display dependencies.


Describe the automaton in basename.automaton.


Attempt recovery by discarding tokens after errors.


Explain conflicts in basename.conflicts.

--external-tokens module

Import token type definition from module.


Write grammar's dependency graph to


Invoke ocamlc for ahead of time type inference.


Interpret the sentences provided on stdin.


Show a concrete syntax tree upon acceptance.

-la--log-automaton level

Log information about the automaton.

-lc--log-code level

Log information about the generated code.

-lg--log-grammar level

Log information about the grammar.


Ignore the %inline keyword.


Do not load the standard library.

--ocamlc command

Specifies how ocamlc should be invoked.

--ocamldep command

Specifies how ocamldep should be invoked.


Print a simplified grammar and exit.


Generate token type definition only, no code.


Invoke ocamldep and echo its raw output.

--stdlib directory

Specify where the standard library lies.


Suggest compilation flags for ocaml{c,opt}.


Suggest link flags for ocamlc.


Suggest link flags for ocamlopt.

-t, --table

Use the table-based back-end.


Display internal timings.


Include tracing instructions in the generated code.


Show version number and exit.


Synonymous with --dump --explain.

See Also



menhir was written by François Pottier and Yann Régis-Gianas.

This manual page was written by Samuel Mimram <>, for the Debian project (but may be used by others).


April 19, 2006