ocaml/man/ocamllex.m

88 lines
2.0 KiB
Matlab
Raw Normal View History

\" $Id$
.TH OCAMLLEX 1
.SH NAME
ocamllex \- The OCaml lexer generator
.SH SYNOPSIS
.B ocamllex
[
.BI \-o \ output-file
]
[
.B \-ml
]
.I filename.mll
.SH DESCRIPTION
The
.BR ocamllex (1)
command generates OCaml lexers from a set of regular
expressions with associated semantic actions, in the style of
.BR lex (1).
Running
.BR ocamllex (1)
on the input file
.IR lexer \&.mll
produces OCaml code for a lexical analyzer in file
.IR lexer \&.ml.
This file defines one lexing function per entry point in the lexer
definition. These functions have the same names as the entry
points. Lexing functions take as argument a lexer buffer, and return
the semantic attribute of the corresponding entry point.
Lexer buffers are an abstract data type implemented in the standard
library module Lexing. The functions Lexing.from_channel,
Lexing.from_string and Lexing.from_function create
lexer buffers that read from an input channel, a character string, or
any reading function, respectively.
When used in conjunction with a parser generated by
.BR ocamlyacc (1),
the semantic actions compute a value belonging to the type token defined
by the generated parsing module.
.SH OPTIONS
The
.BR ocamllex (1)
command recognizes the following options:
.TP
.B \-ml
Output code that does not use OCaml's built-in automata
interpreter. Instead, the automaton is encoded by OCaml functions.
This option is mainly useful for debugging
.BR ocamllex (1),
using it for production lexers is not recommended.
.TP
.BI \-o \ output\-file
Specify the name of the output file produced by
.BR ocamllex (1).
The default is the input file name, with its extension replaced by .ml.
.TP
.B \-q
Quiet mode.
.BR ocamllex (1)
normally outputs informational messages
to standard output. They are suppressed if option
.B \-q
is used.
.TP
.BR \-v \ or \ \-version
Print version string and exit.
.TP
.B \-vnum
Print short version number and exit.
.TP
.BR \-help \ or \ \-\-help
Display a short usage summary and exit.
.SH SEE ALSO
.BR ocamlyacc (1).
.br
.IR "The OCaml user's manual" ,
chapter "Lexer and parser generators".