diff options
| author | aarne <aarne@cs.chalmers.se> | 2006-10-03 12:59:47 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2006-10-03 12:59:47 +0000 |
| commit | 35b9067ed439c64aa639a6be8669378b648f83fb (patch) | |
| tree | aea6fdd15fa246887c3fb8389f96f442d0f9f650 /src/GF/Canon/GFCC/RunGFCC.hs | |
| parent | 1a86f3bb4ccc8f984c06083d162e4ca6be722483 (diff) | |
more commands in gfcc
Diffstat (limited to 'src/GF/Canon/GFCC/RunGFCC.hs')
| -rw-r--r-- | src/GF/Canon/GFCC/RunGFCC.hs | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/src/GF/Canon/GFCC/RunGFCC.hs b/src/GF/Canon/GFCC/RunGFCC.hs index be471da7a..7cf611d40 100644 --- a/src/GF/Canon/GFCC/RunGFCC.hs +++ b/src/GF/Canon/GFCC/RunGFCC.hs @@ -30,13 +30,18 @@ loop grammar = do treat :: GFCC -> String -> IO () treat grammar s = case words s of "gt":cat:n:_ -> do - mapM_ prlins $ take (read n) $ generate grammar (CId cat) + mapM_ prlinonly $ take (read n) $ generate grammar (CId cat) + "gtt":cat:n:_ -> do + mapM_ prlin $ take (read n) $ generate grammar (CId cat) "gr":cat:n:_ -> do gen <- newStdGen - mapM_ prlins $ take (read n) $ generateRandom gen grammar (CId cat) - "p":cat:ws -> do - case parse grammar (CId cat) ws of - t:_ -> prlins t + mapM_ prlinonly $ take (read n) $ generateRandom gen grammar (CId cat) + "grt":cat:n:_ -> do + gen <- newStdGen + mapM_ prlin $ take (read n) $ generateRandom gen grammar (CId cat) + "p":cat:n:ws -> do + case parse (read n) grammar (CId cat) ws of + t:_ -> prlin t _ -> putStrLn "no parse found" _ -> lins $ readExp s where @@ -49,6 +54,11 @@ treat grammar s = case words s of prlins t = do putStrLn $ printTree t lins t + prlin t = do + putStrLn $ printTree t + prlinonly t + prlinonly t = mapM_ (lin t) $ cncnames grammar + --- should be in an API @@ -63,18 +73,3 @@ err f g ex = case ex of Ok x -> g x Bad s -> f s - -{- -treat grammar s = putStrLn $ case comm of - ["lin"] -> unlines $ linearizeAll grammar $ readTree grammar rest - ["lin",lang] -> linearize grammar lang $ readTree grammar rest - ["parse",cat] -> unlines $ map showTree $ concat $ parseAll grammar cat rest - ["parse",lang,cat] -> unlines $ map showTree $ parse grammar lang cat rest - ["langs"] -> unwords $ languages grammar - ["cats"] -> unwords $ categories grammar - ["help"] -> helpMsg - _ -> "command not interpreted: " ++ s - where - (comm,rest) = (words c,drop 1 r) where - (c,r) = span (/=':') s --} |
