diff options
| author | aarne <aarne@cs.chalmers.se> | 2007-09-20 09:48:50 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2007-09-20 09:48:50 +0000 |
| commit | 8bf5ff0a9423be908502a0ad4c5f91ff00f342e4 (patch) | |
| tree | 8779d31df9b96888fd802c2b1eaa29055ba2bdec /src/GF/Canon/GFCC/Shell.hs | |
| parent | 3707eb45762932b22d96ad03163c46dd1ba9fd8d (diff) | |
embedded parser in MultiGrammar in GFCCAPI
Diffstat (limited to 'src/GF/Canon/GFCC/Shell.hs')
| -rw-r--r-- | src/GF/Canon/GFCC/Shell.hs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/GF/Canon/GFCC/Shell.hs b/src/GF/Canon/GFCC/Shell.hs index bc33e7949..2bee4a300 100644 --- a/src/GF/Canon/GFCC/Shell.hs +++ b/src/GF/Canon/GFCC/Shell.hs @@ -25,7 +25,7 @@ loop grammar = do loop grammar treat :: MultiGrammar -> String -> IO () -treat grammar s = case words s of +treat mgr s = case words s of "gt":cat:n:_ -> do mapM_ prlinonly $ take (read n) $ G.generate grammar (CId cat) "gtt":cat:n:_ -> do @@ -37,21 +37,22 @@ treat grammar s = case words s of gen <- newStdGen mapM_ prlin $ take (read n) $ G.generateRandom gen grammar (CId cat) "p":lang:cat:ws -> do - let ts = parse grammar lang cat $ unwords ws + let ts = parse mgr lang cat $ unwords ws mapM_ (putStrLn . showTree) ts "search":cat:n:ws -> do case G.parse (read n) grammar (CId cat) ws of t:_ -> prlin t _ -> putStrLn "no parse found" - _ -> lins $ readTree grammar s + _ -> lins $ readTree mgr s where - langs = languages grammar + grammar = gfcc mgr + langs = languages mgr lins t = mapM_ (lint t) $ langs lint t lang = do ---- putStrLn $ showTree $ linExp grammar lang t lin t lang lin t lang = do - putStrLn $ linearize grammar lang t + putStrLn $ linearize mgr lang t prlins t = do putStrLn $ showTree t lins t |
