From 41114389790ec79a3861a3995aee1a7da59581f0 Mon Sep 17 00:00:00 2001 From: krasimir Date: Sun, 13 Sep 2009 15:17:15 +0000 Subject: the testsuite\runtime\parser test now generates random trees to test the parser with --- testsuite/runtime/parser/Parse.hs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'testsuite/runtime/parser/Parse.hs') diff --git a/testsuite/runtime/parser/Parse.hs b/testsuite/runtime/parser/Parse.hs index 4d23d6b85..71697cbb9 100644 --- a/testsuite/runtime/parser/Parse.hs +++ b/testsuite/runtime/parser/Parse.hs @@ -3,11 +3,16 @@ import Data.Maybe import System.IO import System.CPUTime import Control.Monad +import Data.Set as Set (fromList,toList) + +start_cat = fromJust (readType "Phr") main = do - pgf <- readPGF "grammar.pgf" - ts <- fmap (map (fromJust . readTree) . lines) $ readFile "trees.txt" - mapM_ (\l -> doTestLang pgf l ts) (languages pgf) + pgf <- readPGF "Lang.pgf" + trees0 <- generateRandom pgf start_cat + let trees = Set.toList (Set.fromList (take 5000 trees0)) + hPutStrLn stderr ("Number of trees: "++show (length trees)) + mapM_ (\l -> doTestLang pgf l trees) (languages pgf) doTestLang pgf l ts = do hPutStrLn stderr (show l) @@ -18,6 +23,7 @@ doTestLang pgf l ts = do doTest pgf lang cat ss t = do let s = linearize pgf lang t putStr (s ++ " ... ") + hFlush stdout let st = initState pgf lang cat t1 <- getCPUTime res <- doParse st t1 [] (words s) -- cgit v1.2.3