Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 the file basename.automaton.

     --dump-resolved
	    Describe the automaton, after conflict resolution, in the file base-
	    name.automaton.resolved.

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

     --echo-errors-concrete file
	    Echo  the  sentences  stored  in the .messages file file in concrete
	    syntax.

     --exn-carries-state
	    Declares Error of int. The exception Error then carries  the  number
	    of the state where a syntax error is detected.

     --explain
	    Explain conflicts in basename.conflicts.

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

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

     --infer
	    Invoke ocamlc to do 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.

     --merge-errors file1 --merge-errors file2
	    Merge two .messages files.

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

     --random-seed seed
	    Set the seed used by the random sentence generator to seed.

     --random-self-init
	    Automatically set the seed used by the random sentence generator.

     --random-sentence-length length
	    Ask  the  random sentence generator for a sentence of length at most
	    length.

     --random-sentence symbol
	    Produce a random sentence that is generated by the nonterminal  sym-
	    bol symbol.

     --random-sentence-concrete symbol
	    Produce  a random sentence that is generated by the nonterminal sym-
	    bol symbol, and print this sentence in concrete syntax.

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

     --require-aliases
	    Check that every terminal symbol has a token alias.

     --strategy strategy
	    Choose how to deal with the error token.

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

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

     --timings
	    Display internal timings.

     --timings-to file
	    Dump internal timings into file.

     --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 Francois Pottier and Yann Regis-Gianas.

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

				  July 03, 2018 		       MENHIR(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=menhir&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help