Chapter 6. Invoking Alex
Prev |  |

## Chapter 6. Invoking Alex

The command line syntax for Alex is entirely standard:

    $ alex { option } file.x  { option }

Alex expects a single ``file`.x` to be named on the command line. By default, Alex will create ``file`.hs` containing the Haskell source for the lexer.

The options that Alex accepts are listed below:

`-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: ``file`.info` where the input file is ``file`.x`).

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

`-t` [`dir`], `--template`=`dir`

  Look in `dir` for template files.

`-g`, `--ghc`

  Causes Alex to produce 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.

`-d`, `--debug`

  Causes Alex to produce a lexer which will output debugging messsages as it runs.

`-?`, `--help`

  Display help and exit.

`-V`, `--version`

  Output version information and exit. Note that for legacy reasons `-v` is supported, too, but the use of it is deprecated. `-v` will be used for verbose mode when it is actually implemented.

Prev |  |
5.2. Wrappers | Home |