From 8bf5ff0a9423be908502a0ad4c5f91ff00f342e4 Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 20 Sep 2007 09:48:50 +0000 Subject: embedded parser in MultiGrammar in GFCCAPI --- src/GF/Canon/GFCC/Shell.hs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/GF/Canon/GFCC/Shell.hs') 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 -- cgit v1.2.3