From 3643e20406abf83d2a41d8d46dd5c66237ef1727 Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 2 Jun 2015 12:59:29 +0000 Subject: copied examples/app to examples/slowApp; the new app is a bit scaled down but much faster --- examples/slowApp/MkApp.hs | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 examples/slowApp/MkApp.hs (limited to 'examples/slowApp/MkApp.hs') diff --git a/examples/slowApp/MkApp.hs b/examples/slowApp/MkApp.hs new file mode 100644 index 000000000..e53392feb --- /dev/null +++ b/examples/slowApp/MkApp.hs @@ -0,0 +1,35 @@ +-- update the import list of every language +-- although possibly some extra definitions at the end +-- the new files are produced in ./tmp/ +-- usage: runghc MkApp.hs + +langs = words "Bul Cat Chi Dut Eng Fin Fre Ger Hin Ita Spa Swe" +appCnc lang = "App" ++ lang ++ ".gf" + +appAbs = "App.gf" + +main = do + imports <- readFile appAbs >>= return . getImports + mapM_ (\f -> readFile f >>= writeFile ("tmp/" ++ f) . (putImports imports)) (map appCnc langs) + +getImports = takeWhile (/= ']') . tail . dropWhile (/='[') + +putImports i s = + let + (s1,_:s2) = span (/='[') s + (_, s3) = span (/=']') s2 + in s1 ++ "[" ++ i ++ extra s3 + +extra s = unlines (init (lines s) ++ extraLines ++ ["}"]) + +extraLines = -- [] -- default: no extra + + [ + "", + "ComplV2V v np vp = mkVP v np vp ;", + "ComplV2A v np vp = mkVP v np vp ;", + "ComplV2Q v np vp = mkVP v np vp ;", + "ComplV2S v np vp = mkVP v np vp ;", + "ComplV3 v np vp = mkVP v np vp ;", + "" + ] \ No newline at end of file -- cgit v1.2.3