diff options
Diffstat (limited to 'examples/slowApp/MkApp.hs')
| -rw-r--r-- | examples/slowApp/MkApp.hs | 35 |
1 files changed, 35 insertions, 0 deletions
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 |
