OCAMLLEX
Section: User Commands (1)
Index
Return to Main Contents
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".
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 00:05:20 GMT, March 31, 2021