diff options
| author | krasimir <krasimir@chalmers.se> | 2009-09-13 15:17:15 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2009-09-13 15:17:15 +0000 |
| commit | 41114389790ec79a3861a3995aee1a7da59581f0 (patch) | |
| tree | 270123828eb641a9103d42d45041dc5c7dfa637a /testsuite/runtime/parser/Parse.hs | |
| parent | 509d0cf8d8ad17f61025d11aecec576adbbd701b (diff) | |
the testsuite\runtime\parser test now generates random trees to test the parser with
Diffstat (limited to 'testsuite/runtime/parser/Parse.hs')
| -rw-r--r-- | testsuite/runtime/parser/Parse.hs | 12 |
1 files changed, 9 insertions, 3 deletions
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)
|
