Scroll to navigation

MENHIR(1) General Commands Manual 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
Show if Menhir was installed using ocamlfind.
-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).

July 3, 2018