## 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 \ -versionPrint version string and exit.

-vnum Print short version number and exit.

-help \ or \ --helpDisplay a short usage summary and exit.

## SEE ALSO

ocamlyacc (1).
The OCaml user's manual , chapter "Lexer and parser generators".