From 9e1a3a5d60301b2fe46f7b989c65ede9fac9f8cf Mon Sep 17 00:00:00 2001 From: aarne Date: Sat, 3 Dec 2011 10:08:41 +0000 Subject: [PATCH] a script for comparing the synopsis examples of two languages --- lib/doc/Compare.hs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 lib/doc/Compare.hs diff --git a/lib/doc/Compare.hs b/lib/doc/Compare.hs new file mode 100644 index 000000000..e40959b1b --- /dev/null +++ b/lib/doc/Compare.hs @@ -0,0 +1,32 @@ +lang1 = "Eng" +lang2 = "Tha" + +-- to write a comparison for two languages + +main = do + ss1 <- readFile (exx lang1) >>= return . lines + ss2 <- readFile (exx lang2) >>= return . lines + mkExx (ss1, ss2) + +exx lang = "api-examples-" ++ lang ++ ".txt" + +mkExx sss = case sss of + (s1:ss1,s2:ss2) | isMsg s1 -> mkExx (ss1,s2:ss2) + (s1:ss1,s2:ss2) | isMsg s2 -> mkExx (s1:ss1,ss2) + (s1:ss1,s2:ss2) | s1 /= s2 -> + putStrLn (drops s1) >> putStrLn (drops s2) >> putStrLn [] >> mkExx (ss1,ss2) -- show the strings + (s1:ss1,s2:ss2) | s1 == s2 && not (isJunk s1) -> + putStrLn (drops s1) >> mkExx (ss1,ss2) -- show the term + (s1:ss1,s2:ss2) | s1 == s2 -> mkExx (ss1,ss2) + _ -> return () + +isMsg s = case s of + '>':_ -> False + _ -> True + +drops = drop 4 + +isJunk s = any (flip elem s) "*-" + + +