ocamllex - The OCaml lexer generator
ocamllex [ -o \ output-file ] [ -ml ] filename.mll
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.
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 \ -versionPrint version string and exit.
-vnum Print short version number and exit.
-help \ or \ --helpDisplay a short usage summary and exit.
ocamlyacc (1).
The OCaml user's manual , chapter "Lexer and parser generators".