NAME¶
ocamllex - The Objective Caml lexer generator
SYNOPSIS¶
ocamllex [
-o output-file ] [
-ml ]
filename.mll
DESCRIPTION¶
The
ocamllex(1) command generates Objective Caml lexers from a set of
regular expressions with associated semantic actions, in the style of
lex(1).
Running
ocamllex(1) on the input file
lexer.mll produces Caml code
for a lexical analyzer in file
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
ocamlyacc(1), the
semantic actions compute a value belonging to the type token defined by the
generated parsing module.
OPTIONS¶
The
ocamllex(1) command recognizes the following options:
- -ml
- Output code that does not use OCaml's built-in automata
interpreter. Instead, the automaton is encoded by Caml functions. This
option is mainly useful for debugging ocamllex(1), using it for
production lexers is not recommended.
- -o output-file
- Specify the name of the output file produced by
ocamllex(1). The default is the input file name, with its extension
replaced by .ml.
- -q
- Quiet mode. ocamllex(1) normally outputs
informational messages to standard output. They are suppressed if option
-q is used.
- -v or -version
- Print version string and exit.
- -vnum
- Print short version number and exit.
- -help or --help
- Display a short usage summary and exit.
SEE ALSO¶
ocamlyacc(1).
The Objective Caml user's manual, chapter "Lexer and parser
generators".