summaryrefslogtreecommitdiff
path: root/src/GFI.hs
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2009-03-04 13:41:33 +0000
committerkrasimir <krasimir@chalmers.se>2009-03-04 13:41:33 +0000
commit7babfd1da6808f65ae6369aef0dc246857822357 (patch)
tree6693dc32ca5cd9fafc2172cb6c010593ca4d6534 /src/GFI.hs
parented6c31f3ef510a8fdc687ec8761aec0e18216096 (diff)
qualified/unqualified mode for GF.Grammar.Printer. Used in the "cc" command
Diffstat (limited to 'src/GFI.hs')
-rw-r--r--src/GFI.hs17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/GFI.hs b/src/GFI.hs
index e5926f5e9..486b807d0 100644
--- a/src/GFI.hs
+++ b/src/GFI.hs
@@ -95,12 +95,17 @@ loop opts gfenv0 = do
system $ unwords ws
loopNewCPU gfenv
"cc":ws -> do
- let
- (style,term) = case ws of
- ('-':w):ws2 -> (pTermPrintStyle w, ws2)
- _ -> (TermPrintDefault, ws)
- case pTerm (unwords term) >>= checkTerm sgr >>= computeTerm sgr of
- Ok x -> putStrLn $ enc (showTerm style x)
+ let
+ pOpts style q ("-table" :ws) = pOpts TermPrintTable q ws
+ pOpts style q ("-all" :ws) = pOpts TermPrintAll q ws
+ pOpts style q ("-default":ws) = pOpts TermPrintDefault q ws
+ pOpts style q ("-unqual" :ws) = pOpts style Unqualified ws
+ pOpts style q ("-qual" :ws) = pOpts style Qualified ws
+ pOpts style q ws = (style,q,unwords ws)
+
+ (style,q,s) = pOpts TermPrintDefault Qualified ws
+ case pTerm s >>= checkTerm sgr >>= computeTerm sgr of
+ Ok x -> putStrLn $ enc (showTerm style q x)
Bad s -> putStrLn $ enc s
loopNewCPU gfenv
"dg":ws -> do