summaryrefslogtreecommitdiff
path: root/src/GF/Canon/GFCC/Shell.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-09-20 09:48:50 +0000
committeraarne <aarne@cs.chalmers.se>2007-09-20 09:48:50 +0000
commit8bf5ff0a9423be908502a0ad4c5f91ff00f342e4 (patch)
tree8779d31df9b96888fd802c2b1eaa29055ba2bdec /src/GF/Canon/GFCC/Shell.hs
parent3707eb45762932b22d96ad03163c46dd1ba9fd8d (diff)
embedded parser in MultiGrammar in GFCCAPI
Diffstat (limited to 'src/GF/Canon/GFCC/Shell.hs')
-rw-r--r--src/GF/Canon/GFCC/Shell.hs11
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