1996-05-10 06:27:26 -07:00
|
|
|
.TH OCAMLYACC 1
|
1995-11-02 08:54:37 -08:00
|
|
|
|
|
|
|
.SH NAME
|
1996-04-30 07:53:58 -07:00
|
|
|
ocamlyacc \- The Objective Caml parser generator
|
1995-11-02 08:54:37 -08:00
|
|
|
|
|
|
|
.SH SYNOPSIS
|
1996-04-30 07:53:58 -07:00
|
|
|
.B ocamlyacc
|
1995-11-02 08:54:37 -08:00
|
|
|
[
|
|
|
|
.B -v
|
|
|
|
]
|
|
|
|
[
|
|
|
|
.BI \-b prefix
|
|
|
|
]
|
|
|
|
.I filename.mly
|
|
|
|
|
|
|
|
.SH DESCRIPTION
|
|
|
|
|
|
|
|
The
|
1996-04-30 07:53:58 -07:00
|
|
|
.BR ocamlyacc (1)
|
1995-11-02 08:54:37 -08:00
|
|
|
command produces a parser from a LALR(1) context-free grammar
|
|
|
|
specification with attached semantic actions, in the style of
|
|
|
|
.BR yacc (1).
|
|
|
|
Assuming the input file is
|
|
|
|
.IR grammar \&.mly,
|
|
|
|
running
|
1996-04-30 07:53:58 -07:00
|
|
|
.B ocamlyacc
|
1995-11-02 08:54:37 -08:00
|
|
|
produces Caml code for a parser in the file
|
|
|
|
.IR grammar \&.ml,
|
|
|
|
and its interface in file
|
|
|
|
.IR 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
|
1996-04-30 07:53:58 -07:00
|
|
|
.BR ocamllex (1)
|
1995-11-02 08:54:37 -08:00
|
|
|
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
|
|
|
|
.IR grammar \&.mli
|
|
|
|
produced by
|
1996-04-30 07:53:58 -07:00
|
|
|
.BR ocamlyacc (1).
|
1995-11-02 08:54:37 -08:00
|
|
|
|
|
|
|
.SH OPTIONS
|
|
|
|
|
|
|
|
The
|
1996-04-30 07:53:58 -07:00
|
|
|
.BR ocamlyacc (1)
|
1995-11-02 08:54:37 -08:00
|
|
|
command recognizes the following options:
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.B \-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
|
|
|
|
.IR grammar \&.output.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.BI \-b prefix
|
|
|
|
Name the output files
|
|
|
|
.IR prefix \&.ml,
|
|
|
|
.IR prefix \&.mli,
|
|
|
|
.IR prefix \&.output,
|
|
|
|
instead of the default naming convention.
|
|
|
|
|
|
|
|
.SH SEE ALSO
|
1996-04-30 07:53:58 -07:00
|
|
|
.BR ocamllex (1).
|
1995-11-02 08:54:37 -08:00
|
|
|
.br
|
1996-04-30 07:53:58 -07:00
|
|
|
.I The Objective Caml user's manual,
|
1995-11-02 08:54:37 -08:00
|
|
|
chapter "Lexer and parser generators".
|