for release meeting

This commit is contained in:
aarne
2004-06-21 08:53:58 +00:00
parent a134a1fd65
commit b248e6e25e
5 changed files with 570 additions and 9 deletions

View File

@@ -148,8 +148,9 @@ string2srcTerm gr m s = do
randomTreesIO :: Options -> GFGrammar -> Int -> IO [Tree]
randomTreesIO opts gr n = do
gen <- myStdGen mx
t <- err (\s -> putStrLnFlush s >> return []) (return . singleton) $
mkRandomTree gen mx g catfun
t <- err (\s -> putS s >> return [])
(return . singleton) $
mkRandomTree gen mx g catfun
ts <- if n==1 then return [] else randomTreesIO opts gr (n-1)
return $ t ++ ts
where
@@ -158,6 +159,8 @@ randomTreesIO opts gr n = do
_ -> Left $ firstAbsCat opts gr
g = grammar gr
mx = optIntOrN opts flagDepth 41
putS s = if oElem beSilent opts then return () else putStrLnFlush s
generateTrees :: Options -> GFGrammar -> Maybe Tree -> [Tree]
generateTrees opts gr mt =

View File

@@ -35,6 +35,10 @@ import Arch
import Monad
-- environment variable for grammar search path
gfGrammarPathVar = "GF_LIB_PATH"
-- in batch mode: write code in a file
batchCompile f = liftM fst $ compileModule defOpts emptyShellState f
@@ -86,9 +90,10 @@ compileModule opts1 st0 file = do
let opts = addOptions opts1 opts0
let ps0 = pathListOpts opts
let fpath = justInitPath file
let ps = if useFileOpt
then (map (prefixPathName fpath) ps0)
else ps0
let ps1 = if useFileOpt
then (map (prefixPathName fpath) ps0)
else ps0
ps <- ioeIO $ extendPathEnv gfGrammarPathVar ps1
let ioeIOIf = if oElem beSilent opts then (const (return ())) else ioeIO
ioeIOIf $ putStrLn $ "module search path:" +++ show ps ----
let putp = putPointE opts

View File

@@ -81,6 +81,13 @@ doesFileExistPath paths file = do
mpfile <- ioeIO $ getFilePath paths file
return $ maybe False (const True) mpfile
-- path in environment variable has lower priority
extendPathEnv :: String -> [FilePath] -> IO [FilePath]
extendPathEnv var ps = do
s <- catch (getEnv var) (const (return ""))
let fs = pFilePaths s
return $ ps ++ fs
pFilePaths :: String -> [FilePath]
pFilePaths s = case span (/=':') s of
(f,_:cs) -> f : pFilePaths cs

View File

@@ -24,7 +24,7 @@ teachTranslation opts ig og = do
transTrainList ::
Options -> GFGrammar -> GFGrammar -> Integer -> IO [(String,[String])]
transTrainList opts ig og number = do
ts <- randomTreesIO opts ig (fromInteger number)
ts <- randomTreesIO (addOption beSilent opts) ig (fromInteger number)
return $ map mkOne $ ts
where
cat = firstCatOpts opts ig
@@ -39,7 +39,7 @@ teachMorpho opts ig = useIOE () $ do
morphoTrainList :: Options -> GFGrammar -> Integer -> IOE [(String,[String])]
morphoTrainList opts ig number = do
ts <- ioeIO $ randomTreesIO opts ig (fromInteger number)
ts <- ioeIO $ randomTreesIO (addOption beSilent opts) ig (fromInteger number)
gen <- ioeIO $ myStdGen (fromInteger number)
mkOnes gen ts
where
@@ -49,9 +49,9 @@ morphoTrainList opts ig number = do
let (i,gen') = randomR (0, length pss - 1) gen
(ps,ss) <- ioeErr $ pss !? i
(_,ss0) <- ioeErr $ pss !? 0
let bas = concat $ take 1 ss0
let bas = unwords ss0 --- concat $ take 1 ss0
more <- mkOnes gen' ts
return $ (bas +++ ":" +++ unwords (map prt_ ps), return (concat ss)) : more
return $ (bas +++ ":" +++ unwords (map prt_ ps), return (unwords ss)) : more
mkOnes gen [] = return []
gr = grammar ig