MENHIR(1)

NAME
menhir - an LR(1) parser generator for OCaml

SYNOPSIS
menhir [options] files

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

OPTIONS

-h, --help
    Show summary of options.

-b, --base basename
    Specifies a base name for the output file(s).

--canonical
    Construct a canonical Knuth LR(1) automaton.

--cmly
    Write the grammar and automaton to basename.cmly.

--comment
    Include comments in the generated code.

--compare-errors file1 --compare-errors file2
    Compare two .messages files.

--compile-errors file
    Compile a .messages file to OCaml code.

--coq
    Generate a formally verified parser, in Coq.

--coq-lib-path path
    How to qualify references to MenhirLib.

--coq-lib-no-path
    Do not qualify references to MenhirLib.

--coq-no-actions
    Ignore semantic actions in the Coq output.

--coq-no-complete
    Do not generate a proof of completeness.

--depend
    Invoke ocamldep and display dependencies.

--dump
    Describe the automaton in basename.automaton.

--echo-errors file
    Echo the sentences in a .messages file.

--explain
    Explain conflicts in basename.conflicts.

--external-tokens module
    Import token type definition from module.

--fixed-exception
    Declares Error = Parsing.Parse_error.

--graph
    Write grammar's dependency graph to basename.dot.

--infer
    Invoke ocamlc for ahead of time type inference.

--infer-protocol-supported
    Stop with exit code 0.

--infer-write-query file
    Write mock .ml file.

--infer-read-reply file
    Read inferred .mli file.

--inspection
    Generate the inspection API.

--interpret
    Interpret the sentences provided on stdin.

--interpret-show-cst
    Show a concrete syntax tree upon acceptance.

--interpret-error
    Interpret an error sentence provided on stdin.

--lalr
    Construct an LALR(1) automaton.

-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.

--list-errors
    Produce a list of erroneous inputs.

--no-dollars
    Disallow the use of $i notation.

--no-inline
    Ignore the %inline keyword.

--no-stdlib
    Do not load the standard library.

--ocamlc command
    Specifies how ocamlc should be invoked.

--ocamldep command
    Specifies how ocamldep should be invoked.

--only-preprocess
    Print a simplified grammar and exit.

--only-preprocess-for-ocamlyacc
    Print grammar in ocamlyacc format and exit.

--only-preprocess-u
    Print grammar with unit actions and exit.

--only-preprocess-uu
    Print grammar with unit actions and tokens and exit.

--only-tokens
    Generate token type definition only, no code.

--raw-depend
    Invoke ocamldep and echo its raw output.

--stdlib directory
    Specify where the standard library lies.

--strict
    Warnings about the grammar are errors.

--suggest-comp-flags
    Suggest compilation flags for ocaml{c,opt}.

--suggest-link-flags-byte
    Suggest link flags for ocamlc.

--suggest-link-flags-opt
    Suggest link flags for ocamlopt.

--suggest-menhirLib
    Suggest where MenhirLib was installed in source form.

--suggest-ocamlfind
    Deprecated.

-t, --table
    Use the table-based back-end.

--timings
    Display internal timings.

--trace
    Include tracing instructions in the generated code.

--unused-precedence-levels
    Do not warn about unused precedence levels.

--unused-token token
    Do not warn that token is unused.

--unused-tokens
    Do not warn about any unused token.

--update-errors file
    Update auto-comments in a .messages file.

--version
    Show version number and exit.

-v  Synonymous with --dump --explain.

SEE ALSO
ocaml(1).

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

This manual page was originally written by Samuel Mimram <smimram@debian.org> for the Debian project (but may be used by others).