diff -urN alex-2.0.org/alex/doc/alex.1.in alex-2.0/alex/doc/alex.1.in --- alex-2.0.org/alex/doc/alex.1.in 1970-01-01 01:00:00.000000000 +0100 +++ alex-2.0/alex/doc/alex.1.in 2004-06-10 02:33:10.570352072 +0200 @@ -0,0 +1,111 @@ +.TH ALEX 1 "2003-09-09" "Glasgow FP Suite" "Alex Lexical Analyser Generator" +.SH NAME +alex \- the lexical analyser generator for Haskell + +.SH SYNOPSIS +.B alex +[\fIOPTION\fR]... \fIfile\fR [\fIOPTION\fR]... + +.SH DESCRIPTION +This manual page documents briefly the +.BR alex +command. + +.PP +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. + +.PP +.B Alex +is a lexical analyser generator system for Haskell. It is similar to the +tool lex or flex for C/C++. + +.PP +Input files are expected to be of the form +.I file.x +and +.B alex +will produce output in +.I file.y + +.PP +Caveat: When using +.I 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: + +.B alex \- +[\fIOPTION\fR]... \fIfile\fR [\fIOPTION\fR]... + +.SH 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. + +.TP +.BR \-d ", " \-\-debug +Instructs Alex to generate a lexer which will output debugging messsages +as it runs. + +.TP +.BR \-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. + +.TP +\fB\-o\fR \fIFILE\fR, \fB\-\-outfile=\fIFILE +Specifies the filename in which the output is to be placed. By default, +this is the name of the input file with the +.I .x +suffix replaced by +.I .hs + +.TP +\fB\-i\fR [\fIFILE\fR], \fB\-\-info\fR[=\fIFILE\fR] +Produces a human-readable rendition of the state machine (DFA) that +Alex derives from the lexer, in +.I FILE +(default: +.I file.info +where the input file is +.I file.x +). + +The format of the info file is currently a bit basic, and not +particularly informative. + +.TP +.BR \-v ", " \-\-version +Print version information on standard output then exit successfully. + +.SH FILES +.I @LIBDIR@ + +.SH "SEE ALSO" +.BR @DOCDIR@ , +the Alex homepage +.UR http://haskell.org/alex/ +(http://haskell.org/alex/) +.UE + +.SH COPYRIGHT +Alex Version @VERSION@ + +Copyright (c) 1995-2003, Chris Dornan and Simon Marlow + +.SH AUTHOR +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). + +.\" Local variables: +.\" mode: nroff +.\" End: diff -urN alex-2.0.org/alex/doc/alex.sgml alex-2.0/alex/doc/alex.sgml --- alex-2.0.org/alex/doc/alex.sgml 2004-06-10 02:33:04.891215432 +0200 +++ alex-2.0/alex/doc/alex.sgml 2004-06-10 02:33:10.568352376 +0200 @@ -1330,8 +1330,8 @@ - Causes Alex to produce a parser which is optimised for - compiling with GHC. The parser will be significantly more + 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. @@ -1368,8 +1368,8 @@ - Be more verbose. This currently doesn't do - anything, but it might in the future. + Print version information on standard output then exit + successfully. diff -urN alex-2.0.org/alex/src/alex.sh alex-2.0/alex/src/alex.sh --- alex-2.0.org/alex/src/alex.sh 2004-06-10 02:33:04.904213456 +0200 +++ alex-2.0/alex/src/alex.sh 2004-06-10 02:33:10.574351464 +0200 @@ -5,6 +5,6 @@ # ALEXBIN case $* in -*--template*) $ALEXBIN $*;; -*) $ALEXBIN --template $ALEXLIB $*;; +*--template*) $ALEXBIN "$@";; +*) $ALEXBIN --template $ALEXLIB ${1+"$@"};; esac diff -urN alex-2.0.org/alex/src/Main.hs alex-2.0/alex/src/Main.hs --- alex-2.0.org/alex/src/Main.hs 2004-06-10 02:33:04.900214064 +0200 +++ alex-2.0/alex/src/Main.hs 2004-06-10 02:33:10.572351768 +0200 @@ -48,12 +48,11 @@ putStrLn copyright exitWith ExitSuccess (_,_,errors) -> do - prog <- getProgName - die (concat errors ++ usageInfo (usageHeader prog) argInfo) + die (concat errors ++ usageInfo usageHeader argInfo) copyright = "Alex version " ++ version ++ ", (c) 2003 Chris Dornan and Simon Marlow\n" -usageHeader prog = prog ++ " [OPTION...] file" +usageHeader = "alex [OPTION...] file" runAlex cli file = do basename <- case (reverse file) of diff -urN alex-2.0.org/configure.in alex-2.0/configure.in --- alex-2.0.org/configure.in 2004-06-10 02:33:04.910212544 +0200 +++ alex-2.0/configure.in 2004-06-10 02:34:13.848732296 +0200 @@ -85,7 +85,7 @@ HostVendor_CPP='dec' HostOS_CPP='osf3' ;; -alpha*-unknown-linux*) +alpha-*-linux*) HostPlatform=alpha-unknown-linux TargetPlatform=alpha-unknown-linux BuildPlatform=alpha-unknown-linux @@ -195,6 +195,33 @@ HostOS_CPP='mingw32' exeext='.exe' ;; +mips-*-linux*) + HostPlatform=mips-unknown-linux # hack again + TargetPlatform=mips-unknown-linux + BuildPlatform=mips-unknown-linux + HostPlatform_CPP='mips_unknown_linux' + HostArch_CPP='mips' + HostVendor_CPP='unknown' + HostOS_CPP='linux' + ;; +hppa*-*-linux*) + HostPlatform=hppa-unknown-linux # hack again + TargetPlatform=hppa-unknown-linux + BuildPlatform=hppa-unknown-linux + HostPlatform_CPP='hppa_unknown_linux' + HostArch_CPP='hppa' + HostVendor_CPP='unknown' + HostOS_CPP='linux' + ;; +arm*-linux*) + HostPlatform=arm-unknown-linux # hack again + TargetPlatform=arm-unknown-linux + BuildPlatform=arm-unknown-linux + HostPlatform_CPP='arm_unknown_linux' + HostArch_CPP='arm' + HostVendor_CPP='unknown' + HostOS_CPP='linux' + ;; ia64-*-linux*) HostPlatform=ia64-unknown-linux # hack again TargetPlatform=ia64-unknown-linux @@ -204,6 +231,15 @@ HostVendor_CPP='unknown' HostOS_CPP='linux' ;; +m68k-*-linux*) + HostPlatform=m68k-unknown-linux # hack again + TargetPlatform=m68k-unknown-linux + BuildPlatform=m68k-unknown-linux + HostPlatform_CPP='m68k_unknown_linux' + HostArch_CPP='m68k' + HostVendor_CPP='unknown' + HostOS_CPP='linux' + ;; m68k-next-nextstep2) HostPlatform_CPP='m68k_next_nextstep2' HostArch_CPP='m68k' @@ -294,6 +330,15 @@ HostVendor_CPP='apple' HostOS_CPP='darwin' ;; +powerpc-*-linux*) + HostPlatform=powerpc-unknown-linux + TargetPlatform=powerpc-unknown-linux + BuildPlatform=powerpc-unknown-linux + HostPlatform_CPP='powerpc_unknown_linux' + HostArch_CPP='powerpc' + HostVendor_CPP='unknown' + HostOS_CPP='linux' + ;; sparc-sun-sunos4*) HostPlatform=sparc-sun-sunos4 TargetPlatform=sparc-sun-sunos4 #hack @@ -312,6 +357,24 @@ HostVendor_CPP='sun' HostOS_CPP='solaris2' ;; +sparc*-unknown-linux*) + HostPlatform=sparc-unknown-linux + TargetPlatform=sparc-unknown-linux + BuildPlatform=sparc-unknown-linux + HostPlatform_CPP='sparc-unknown-linux' + HostArch_CPP='sparc' + HostVendor_CPP='unknown' + HostOS_CPP='linux' + ;; +s390-ibm-linux*) + HostPlatform=s390-ibm-linux + TargetPlatform=s390-ibm-linux #hack + BuildPlatform=s390-ibm-linux #hack + HostPlatform_CPP='s390_ibm_linux' + HostArch_CPP='s390' + HostVendor_CPP='ibm' + HostOS_CPP='linux' + ;; *) echo "Unrecognised platform: $HostPlatform" exit 1 @@ -646,7 +709,7 @@ dnl ** Find lex command (lex or flex) - *doesn't* use autoconf's dnl AC_PROG_LEX, since it doesn't actually check whether 'lex' dnl exists if 'flex' doesn't. -AC_PROG_LEX_STRICT +dnl AC_PROG_LEX_STRICT dnl ** figure out how to do a BSD-ish install AC_PROG_INSTALL