Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

alex(1) [debian man page]

ALEX(1) 						  Alex Lexical Analyser Generator						   ALEX(1)

NAME
alex - the lexical analyser generator for Haskell SYNOPSIS
alex [OPTION]... file [OPTION]... DESCRIPTION
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]... OPTIONS
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 messsages 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: file.info 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. FILES
@DATADIR@ SEE ALSO
/usr/share/doc/alex, the Alex homepage (http://haskell.org/alex/) <http://haskell.org/alex/> COPYRIGHT
Alex Version 3.0.1 Copyright (c) 1995-2003, Chris Dornan and Simon Marlow AUTHOR
This manual page was written by Ian Lynagh <igloo@debian.org>, based on the happy manpage, for the Debian GNU/Linux system (but may be used by others). Glasgow FP Suite 2003-09-09 ALEX(1)

Check Out this Related Man Page

C2HS(1) 							    C->Haskell								   C2HS(1)

NAME
c2hs - C->Haskell Interface Generator SYNOPSIS
c2hs [OPTIONS]... header-file binding-file DESCRIPTION
This manual page briefly describes the c2hs command. For more details, refer to the main documentation, which is available in various other formats, including SGML and HTML; see below. OPTIONS
The programs follow the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options are included below. For a complete description, see the other documentation. c2hs accepts the following options: -h, -?, --help brief help -v, --version show version information --numeric-version show version number -c CPP, --cpp=CPP use executable CPP to invoke C preprocessor -C CPPOPTS, --cppopts=CPPOPTS pass CPPOPTS to the C preprocessor -o FILE, --output=FILE output result to FILE (should end in .hs) -t PATH, --output-dir=PATH place generated files in PATH -p PLATFORM, --platform=PLATFORM platform to use for cross compilation -k, --keep keep pre-processed C header -l, --copy-library copy `C2HS' library module to the current directory -d TYPE, --dump=TYPE dump internal information (for debugging), where TYPE is one of: o trace trace compiler phases o genbind trace binding generation o ctrav trace C declaration traversal o chs dump the binding file (adds .dump to the name) header-file is the header file belonging to the marshalled library. It must end with suffix .h. binding-file is the corresponding Haskell binding file, which must end with suffix .chs. PLATFORM The platform name can be one of: x86_64-linux. i686-linux. m68k-palmos. This allows for cross-compilation, assuming the rest of your toolchain supports that. The default is the current host platform. The most useful of these options is probably --cppopts (or -C). If the C header file needs any special options (like -D or -I) to go through the C pre-processor, here is the place to pass them. EXAMPLES
The easiest way to use the C->Haskell Interface Generator is via Cabal. Cabal knows about .chs files and will run c2hs automatically, passing the appropriate flags. When used directly, c2hs is usually called as: c2hs lib.h Lib.chs where lib.h is the header file and Lib.chs the Haskell binding module, which define the C- and Haskell-side interface, respectively. If no errors occur, the result is a pure Haskell module Lib.hs, which implements the Haskell API of the library. A more advanced call may look like this: c2hs --cppopts=-I/some/obscure/dir --cppopts=-DEXTRA lib.h Lib.chs Often, lib.h will not be in the current directory, but in one of the header file directories. Apart from the current directory, C->Haskell looks in two places for the header: first, in the standard include directory of the used system, this is usually /usr/include and /usr/local/include; and second, it will look in every directory that is mentioned in a -IDIR option passed to the pre-processor via --cppopts. CAVEATS
If you have more than one option that you want to give to the pre-processor, use multiple --cppopts= flags. SEE ALSO
User guide /usr/share/doc/c2hs-0.15.1/html/c2hs.html Home page http://www.cse.unsw.edu.au/~chak/haskell/c2hs/ BUGS
Please report bugs and feature requests in the c2hs trac http://hackage.haskell.org/trac/c2hs/ or to the C->Haskell mailing list c2hs@haskell.org COPYRIGHT
C->Haskell Version 0.15.1 Copyright (c) [1999..2007] Manuel M. T. Chakravarty <chak@cse.unsw.edu.au> AUTHOR
This manual page was mainly assembled from the original documentation. It was written by Michael Weber <michael.weber@post.rwth-aachen.de> for the Debian GNU/Linux system (but may be used by others). Version 0.15.1 November 2007 C2HS(1)
Man Page