From 6e6d943630680609e27712dc524d467692828df7 Mon Sep 17 00:00:00 2001 From: krasimir Date: Wed, 16 Sep 2009 08:43:43 +0000 Subject: [PATCH] remove some obsolete directories and files in lib --- lib/src/Make.hs | 214 ----------------------------------------------- lib/src/Makefile | 60 ------------- 2 files changed, 274 deletions(-) delete mode 100644 lib/src/Make.hs delete mode 100644 lib/src/Makefile diff --git a/lib/src/Make.hs b/lib/src/Make.hs deleted file mode 100644 index 869a2e87f..000000000 --- a/lib/src/Make.hs +++ /dev/null @@ -1,214 +0,0 @@ -module Main where - -import Control.Monad -import Data.Maybe -import System.Cmd -import System.Directory -import System.Environment -import System.Exit - --- Make commands for compiling and testing resource grammars. --- usage: runghc Make ((present? OPT?) | (clone FILE))? LANGS? --- where --- - OPT = (lang | api | math | pgf | test | demo | parse | clean) --- - LANGS has the form e.g. langs=Eng,Fin,Rus --- - clone with a flag file=FILENAME clones the file to the specified languages, --- by replacing the 3-letter language name of the original in both --- the filename and the body --- with each name in the list (default: all languages) --- With no argument, lang and api are done, in this order. --- See 'make' below for what is done by which command. - -default_gf = "../../dist/build/gf/gf" - -presApiPath = "-path=api:present" -presSymbolPath = "-path=.:abstract:present:common:romance:scandinavian" ---- - --- the languages have long directory names and short ISO codes (3 letters) --- we also give the decodings for postprocessing linearizations, as long as grammars --- don't support all flags needed; they are used in tests - -langsCoding = [ - (("arabic", "Ara"),""), - (("bulgarian","Bul"),""), - (("catalan", "Cat"),""), - (("danish", "Dan"),""), - (("english", "Eng"),""), - (("finnish", "Fin"),""), - (("french", "Fre"),""), - (("hindi", "Hin"),"to_devanagari"), - (("german", "Ger"),""), - (("interlingua","Ina"),""), - (("italian", "Ita"),""), - (("latin", "Lat"),""), - (("norwegian","Nor"),""), - (("polish", "Pol"),""), - (("romanian", "Ron"),""), - (("russian", "Rus"),""), - (("spanish", "Spa"),""), - (("swedish", "Swe"),""), - (("thai", "Tha"),"to_thai"), - (("turkish", "Tur"),"") - ] - -langs = map fst langsCoding - --- languagues for which to compile Lang -langsLang = langs `except` ["Pol","Tur"] - --- languages for which to compile Try -langsAPI = langsLang `except` ["Ara","Bul","Hin","Ina","Lat","Rus","Tha"] - --- languages for which to compile minimal Syntax -langsMinimal = langs `only` ["Ara","Eng","Bul","Rus"] - --- languages for which to run treebank test -langsTest = langsLang `except` ["Ara","Bul","Cat","Hin","Rus","Spa","Tha"] - --- languages for which to run demo test -langsDemo = langsLang `except` ["Ara","Hin","Ina","Tha"] - --- languages for which to compile parsing grammars -langsParse = langs `only` ["Eng"] - --- languages for which langs.pgf is built -langsPGF = langsTest `only` ["Eng","Fre","Swe"] - --- languages for which Compatibility exists (to be extended) -langsCompat = langsLang `only` ["Cat","Eng","Fin","Fre","Ita","Spa","Swe"] - -treebankExx = "exx-resource.gft" -treebankResults = "exx-resource.gftb" - -main = do - xx <- getArgs - make xx - -make :: [String] -> IO () -make xx = do - let ifx opt act = if null xx || elem opt xx then act >> return () else return () - let ifxx opt act = if elem opt xx then act >> return () else return () - let pres = elem "present" xx - let dir = if pres then "../present" else "../alltenses" - - let optl ls = maybe ls id $ getOptLangs xx - - ifx "lang" $ do - mapM_ (gfc pres [] . lang) (optl langsLang) - mapM_ (gfc pres presSymbolPath . symbol) (optl langsAPI) - copy "*/*.gfo" dir - ifx "compat" $ do - mapM_ (gfc pres [] . compat) (optl langsCompat) - copy "*/Compatibility*.gfo" dir - ifx "api" $ do - mapM_ (gfc pres presApiPath . try) (optl langsAPI) - mapM_ (gfc pres presApiPath . symbolic) (optl langsAPI) - copy "*/*.gfo" dir - ifx "minimal" $ do - mapM_ (gfcmin presApiPath . syntax) (optl langsMinimal) - copy "api/*.gfo" "../minimal" - ifxx "pgf" $ do - run_gfc $ ["-s","--make","--name=langs","--parser=off", - "--output-dir=" ++ dir] - ++ [dir ++ "/Lang" ++ la ++ ".gfo" | (_,la) <- optl langsPGF] - ifxx "test" $ do - let ls = optl langsTest - gf (treeb "Lang" ls) $ unwords [dir ++ "/Lang" ++ la ++ ".gfo" | (_,la) <- ls] - ifxx "demo" $ do - let ls = optl langsDemo - gf (demos "Demo" ls) $ unwords ["demo/Demo" ++ la ++ ".gf" | (_,la) <- ls] - ifxx "parse" $ do - mapM_ (gfc pres [] . parse) (optl langsParse) - copy "parse/*.gfo parse/oald/*.gfo" dir - ifxx "clean" $ do - system "rm -f */*.gfo ../alltenses/*.gfo ../present/*.gfo" - ifxx "clone" $ do - let (pref,lang) = case getLangName xx of - Just pl -> pl - _ -> error "expected flag option file=ppppppLLL.gf" - s <- readFile (pref ++ lang ++ ".gf") - mapM_ (\la -> writeFile (pref ++ la ++ ".gf") (replaceLang lang la s)) (map snd (optl langs)) - return () - -gfc pres ppath file = do - let preproc = if pres then "-preproc=./mkPresent" else "" - let path = if pres then ppath else "" - putStrLn $ "Compiling " ++ file - run_gfc ["-s","-src", preproc, path, file] - -gfcmin path file = do - let preproc = "-preproc=./mkMinimal" - putStrLn $ "Compiling minimal " ++ file - run_gfc ["-s","-src", preproc, path, file] - -gf comm file = do - putStrLn $ "Reading " ++ file - let cmd = "echo \"" ++ comm ++ "\" | gf -s " ++ file - putStrLn cmd - system cmd - -treeb abstr ls = "rf -lines -tree -file=" ++ treebankExx ++ - " | l -treebank " ++ unlexer abstr ls ++ " | wf -file=" ++ treebankResults - -demos abstr ls = "gr -number=100 | l -treebank " ++ unlexer abstr ls ++ - " | ps -to_html | wf -file=resdemo.html" - -lang (lla,la) = lla ++ "/All" ++ la ++ ".gf" -compat (lla,la) = lla ++ "/Compatibility" ++ la ++ ".gf" -symbol (lla,la) = lla ++ "/Symbol" ++ la ++ ".gf" - -try (lla,la) = "api/Try" ++ la ++ ".gf" -syntax (lla,la) = "api/Syntax" ++ la ++ ".gf" - -symbolic (lla,la) = "api/Symbolic" ++ la ++ ".gf" -parse (lla,la) = "parse/Parse" ++ la ++ ".gf" - -except ls es = filter (flip notElem es . snd) ls -only ls es = filter (flip elem es . snd) ls - --- list of languages overriding the definitions above -getOptLangs args = case [ls | a <- args, let (f,ls) = splitAt 6 a, f=="langs="] of - ls:_ -> return $ findLangs $ seps ls - _ -> Nothing - where - seps = words . map (\c -> if c==',' then ' ' else c) - findLangs ls = [lang | lang@(_,la) <- langs, elem la ls] - --- the file name has the form p....pLLL.gf, i.e. 3-letter lang name, suffix .gf -getLangName args = case [ls | a <- args, let (f,ls) = splitAt 5 a, f=="file="] of - fi:_ -> let (nal,ferp) = splitAt 3 (drop 3 (reverse fi)) in return (reverse ferp,reverse nal) - _ -> Nothing - -replaceLang s1 s2 = repl where - repl s = case s of - c:cs -> case splitAt lgs s of - (pre,rest) | pre == s1 -> s2 ++ repl rest - _ -> c : repl cs - _ -> s - lgs = 3 -- length s1 - -unlexer abstr ls = - "-unlexer=\\\"" ++ unwords - [abstr ++ la ++ "=" ++ unl | - lla@(_,la) <- ls, let unl = unlex lla, not (null unl)] ++ - "\\\"" - where - unlex lla = maybe "" id $ lookup lla langsCoding - --- | Runs the gf executable in compile mode with the given arguments. -run_gfc :: [String] -> IO () -run_gfc args = - do let args' = ["-batch"] ++ filter (not . null) args ++ ["+RTS"] ++ rts_flags ++ ["-RTS"] ---- do let args' = ["-batch","-gf-lib-path=."] ++ filter (not . null) args ++ ["+RTS"] ++ rts_flags ++ ["-RTS"] --- why path? AR - putStrLn $ "Running: " ++ default_gf ++ " " ++ unwords (map showArg args') - e <- rawSystem default_gf args' - case e of - ExitSuccess -> return () - ExitFailure i -> putStrLn $ "gf exited with exit code: " ++ show i - where rts_flags = ["-K100M"] - showArg arg = "'" ++ arg ++ "'" - -copy :: String -> String -> IO () -copy from to = - do system $ "cp " ++ from ++ " " ++ to - return () diff --git a/lib/src/Makefile b/lib/src/Makefile deleted file mode 100644 index 998b11329..000000000 --- a/lib/src/Makefile +++ /dev/null @@ -1,60 +0,0 @@ -RUNGHC=runghc -RUNMAKE=$(RUNGHC) Make.hs - -GF_LIB_PATH=.. - -.PHONY: all present alltenses lang api math prelude test demo parse synopsis link compiled constructX clean - -all: link prelude constructX present alltenses compat - -present: - $(RUNMAKE) present lang - $(RUNMAKE) present api - -alltenses: - $(RUNMAKE) lang - $(RUNMAKE) api - -lang: - $(RUNMAKE) lang - -api: - $(RUNMAKE) api - -compat: - $(RUNMAKE) present compat - -prelude: - gf -batch prelude/*.gf - cp -p prelude/*.gfo ../prelude - -constructX: - gf -batch common/ConstructX.gf - cp -p common/ConstructX.gfo ../prelude - -MakeStructural: - gf -batch */MakeStructural*.gf - cp -p */MakeStructural*.gfo ../present - cp -p */MakeStructural*.gfo ../alltenses - -test: - $(RUNMAKE) test - -demo: - $(RUNMAKE) demo - -parse: - $(RUNMAKE) parse - -synopsis: - cd doc ; $(RUNGHC) MkSynopsis ; cd .. - -link: - chmod a+x mkPresent mkMinimal - -compiled: - (cd .. && tar -zcf resource-compiled.tar.gz prelude alltenses present) - -clean: - $(RUNMAKE) clean -