diff --git a/src/GF/Devel/GFC/Options.hs b/src/GF/Devel/GFC/Options.hs index 90819290d..97d229b36 100644 --- a/src/GF/Devel/GFC/Options.hs +++ b/src/GF/Devel/GFC/Options.hs @@ -7,125 +7,29 @@ import System.FilePath -{- - -Usage: gfc [OPTIONS] [FILE [...]] - -How each FILE is handled depends on the file name suffix: - -.gf Normal or old GF source, will be compiled. -.gfc Compiled GF source, will be loaded as is. -.gfe Example-based GF source, will be converted to .gf and compiled. -.ebnf Extended BNF format, will be converted to .gf and compiled. -.cf Context-free (BNF) format, will be converted to .gf and compiled. - -If multiple FILES are given, they must be normal GF source, .gfc or .gfe files. -For the other input formats, only one file can be given. -== Compilation mode == - --E -Stop after preprocessing (with --preproc). - --C -Stop after converting to .gf (for .gfe, .ebnf and .cf). - --c -Stop after generating .gfc (do not link). +usageHeader :: String +usageHeader = unlines + ["Usage: gfc [OPTIONS] [FILE [...]]", + "", + "How each FILE is handled depends on the file name suffix:", + "", + ".gf Normal or old GF source, will be compiled.", + ".gfc Compiled GF source, will be loaded as is.", + ".gfe Example-based GF source, will be converted to .gf and compiled.", + ".ebnf Extended BNF format, will be converted to .gf and compiled.", + ".cf Context-free (BNF) format, will be converted to .gf and compiled.", + "", + "If multiple FILES are given, they must be normal GF source, .gfc or .gfe files.", + "For the other input formats, only one file can be given.", + "", + "Command-line options:"] -== Help and verbosity options == +helpMessage :: String +helpMessage = usageInfo usageHeader optDescr --V, --version -Display GF version - --v N -Set verbosity --q -Same as -v 0 --v -Same as -v 3 - --?, -h, --help -Show help message - ---cpu -Show compilation CPU time statistics - - -== GFC file handling == - ---gfc-dir=DIR -Directory to put .gfc files in. - ---no-emit-gfc -Do not create .gfc files. - ---emit-gfc -Create .gfc files (default) - - -== Output options == - --f, --output-format=FORMAT -Output format. FORMAT can be one of: -Multiple concrete: gfcc (default), gar, js, ... -Single concrete only: cf, bnf, lbnf, gsl, srgs_xml, srgs_abnf, ... -Abstract only: haskell, ... - --o FILE -Save output in FILE. Default is out.X, where X depends on the value of -f. - - -== Finding libaries == - --i DIR -Add DIR to the library search path. - ---path=DIR:DIR:... -Set the library search path. - ---package=PACKAGE -Get libraries from PACKAGE. FIXME: not sure about how this should work. - - -== Recompilation checking == - ---src, --force-recomp -Always recompile from source, i.e. disable recompilation checking. - - -== Preprocessing == - ---preproc=COMMAND -Use COMMAND to preprocess input files. - - -== Optimization == - --O OPTIMIZATION -Perform the named optimization. -Available optimizations: share, parametrize, values, all, none, subs -The default is share for concrete, none for resource modules. -Several -O flags can be given. - - -== Probabilistic grammars == - ---prob -Read probabilities from "--# prob" pragmas. - - -== Grammar flags == - ---startcat=CAT -Use CAT at the start category in the generated grammar. - ---language=LANG -Set the speech language flag to LANG in the generated grammar. - --} type ErrorMsg = String