Added --haskell-prefix option for changing the constructor prefix in generated Haskell modules.

This commit is contained in:
bjorn
2008-09-03 15:42:11 +00:00
parent 6f42ba8693
commit dbe3571fcc
3 changed files with 45 additions and 35 deletions

View File

@@ -31,8 +31,8 @@ exportPGF opts fmt pgf =
case fmt of
FmtPGF -> multi "pgf" printPGF
FmtJavaScript -> multi "js" pgf2js
FmtHaskell -> multi "hs" (grammar2haskell name)
FmtHaskell_GADT -> multi "hs" (grammar2haskellGADT name)
FmtHaskell -> multi "hs" (grammar2haskell hsPrefix name)
FmtHaskell_GADT -> multi "hs" (grammar2haskellGADT hsPrefix name)
FmtProlog -> multi "pl" grammar2prolog
FmtProlog_Abs -> multi "pl" grammar2prolog_abs
FmtBNF -> single "bnf" bnfPrinter
@@ -47,6 +47,7 @@ exportPGF opts fmt pgf =
where
name = fromMaybe (prCId (absname pgf)) (moduleFlag optName opts)
sisr = flag optSISR opts
hsPrefix = flag optHaskellPrefix opts
multi :: String -> (PGF -> String) -> [(FilePath,String)]
multi ext pr = [(name <.> ext, pr pgf)]