summaryrefslogtreecommitdiff
path: root/src/GF/Canon/GFCC/RunGFCC.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2006-09-14 14:27:25 +0000
committeraarne <aarne@cs.chalmers.se>2006-09-14 14:27:25 +0000
commit314d00fab3d3e7dad8918d4d60498dc450e78d92 (patch)
treeeefc6ac10f29c28d7a061304bb46697288e5e347 /src/GF/Canon/GFCC/RunGFCC.hs
parent429cbe1139890ba61eb1f0ac832b8b3949db8bd2 (diff)
generation in GFCC
Diffstat (limited to 'src/GF/Canon/GFCC/RunGFCC.hs')
-rw-r--r--src/GF/Canon/GFCC/RunGFCC.hs15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/GF/Canon/GFCC/RunGFCC.hs b/src/GF/Canon/GFCC/RunGFCC.hs
index be2ed3358..943697dd4 100644
--- a/src/GF/Canon/GFCC/RunGFCC.hs
+++ b/src/GF/Canon/GFCC/RunGFCC.hs
@@ -1,5 +1,6 @@
module Main where
+import GF.Canon.GFCC.GenGFCC
import GF.Canon.GFCC.DataGFCC
import GF.Canon.GFCC.AbsGFCC
import GF.Canon.GFCC.ParGFCC
@@ -24,12 +25,18 @@ loop grammar = do
loop grammar
treat :: GFCC -> String -> IO ()
-treat grammar s = do
- let t = readExp s
- putStrLn $ printTree $ linExp grammar lang t
- putStrLn $ linearize grammar lang t
+treat grammar s = case words s of
+ "gt":cat:n:_ -> do
+ mapM_ prlin $ take (read n) $ generate grammar (CId cat)
+ _ -> lin $ readExp s
where
lang = head $ cncnames grammar
+ lin t = do
+ putStrLn $ printTree $ linExp grammar lang t
+ putStrLn $ linearize grammar lang t
+ prlin t = do
+ putStrLn $ printTree t
+ lin t
--- should be in an API