NAME¶
ocamllex - The OCaml lexer generator
SYNOPSIS¶
ocamllex [
-o output-file ] [
-ml ]
filename.mll
DESCRIPTION¶
The
ocamllex(1) command generates OCaml 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 OCaml
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 OCaml 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 OCaml user's manual, chapter "Lexer and parser
generators".