NAME
ocamlyacc - The Objective Caml parser generator
SYNOPSIS
ocamlyacc [ -v ] [ -bprefix ] filename.mly
DESCRIPTION
The ocamlyacc(1) command produces a parser from a LALR(1) context-free
grammar specification with attached semantic actions, in the style of
yacc(1). Assuming the input file is grammar.mly, running ocamlyacc
produces Caml code for a parser in the file grammar.ml, and its
interface in file grammar.mli.
The generated module defines one parsing function per entry point in
the grammar. These functions have the same names as the entry points.
Parsing functions take as arguments a lexical analyzer (a function from
lexer buffers to tokens) and a lexer buffer, and return the semantic
attribute of the corresponding entry point. Lexical analyzer functions
are usually generated from a lexer specification by the ocamllex(1)
program. Lexer buffers are an abstract data type implemented in the
standard library module Lexing. Tokens are values from the concrete
type token, defined in the interface file grammar.mli produced by
ocamlyacc(1).
OPTIONS
The ocamlyacc(1) command recognizes the following options:
-bprefix
Name the output files prefix.ml, prefix.mli, prefix.output,
instead of the default naming convention.
-q This option has no effect.
-v Generate a description of the parsing tables and a report on
conflicts resulting from ambiguities in the grammar. The
description is put in file grammar.output.
-version
Print version and exit.
- Read the grammar specification from standard input. The default
output file names are stdin.ml and stdin.mli.
-- file
Process file as the grammar specification, even if its name
starts with a dash (-) character. This option must be the last
on the command line.
SEE ALSO
ocamllex(1).
The Objective Caml users manual, chapter "Lexer and parser
generators".