alex man page

alex — the lexical analyser generator for Haskell


alex [OPTION]... file [OPTION]...


This manual page documents briefly the alex command.

This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.  Instead, it has documentation in various other formats, including DVI, Info and HTML; see below.

Alex is a lexical analyser generator system for Haskell. It is similar to the tool lex or flex for C/C++.

Input files are expected to be of the form file.x and alex will produce output in file.y

Caveat: When using hbc (Chalmers Haskell) the command argument structure is slightly different.  This is because the hbc run time system takes some flags as its own (for setting things like the heap size, etc).  This problem can be circumvented by adding a single dash (`-') to your command line.  So when using a hbc generated version of Alex, the argument structure is:

alex - [OPTION]... file [OPTION]...


The programs follow the usual GNU command line syntax, with long options starting with two dashes (`--').  A summary of options is included below.  For a complete description, see the other documentation.

-d, --debug

Instructs Alex to generate a lexer which will output debugging messages as it runs.

-g, --ghc

Instructs Alex to generate a lexer which is optimised for compiling with GHC. The lexer will be significantly more efficient, both in terms of the size of the compiled lexer and its runtime.

-o FILE, --outfile=FILE

Specifies the filename in which the output is to be placed. By default, this is the name of the input file with the .x suffix replaced by .hs

-i [FILE], --info[=FILE]

Produces a human-readable rendition of the state machine (DFA) that Alex derives from the lexer, in FILE (default: where the input file is file.x ).

The format of the info file is currently a bit basic, and not particularly informative.

-v, --version

Print version information on standard output then exit successfully.



See Also

@DOCDIR@, the Alex homepage (


This manual page was written by Ian Lynagh <>, based on the happy manpage, for the Debian GNU/Linux system (but may be used by others).


2003-09-09 Glasgow FP Suite Alex Lexical Analyser Generator