summaryrefslogtreecommitdiff
path: root/src/ui/android/glosses.hs
diff options
context:
space:
mode:
authorJohn J. Camilleri <john@digitalgrammars.com>2018-11-28 14:47:20 +0100
committerJohn J. Camilleri <john@digitalgrammars.com>2018-11-28 14:47:20 +0100
commit6352799ccb7d7b9c7d006fd1149b1a977f78e9b3 (patch)
treeb4db91f52d0c0777be3ff92ca1beb3b8c0bab91c /src/ui/android/glosses.hs
parentb1611eccd82fa28d3a701a87291dc8d83537071e (diff)
parenta45c735545052501e53ecccfa33d0c3e42cc25fd (diff)
Merge branch 'master' into new-website
# Conflicts: # index.html
Diffstat (limited to 'src/ui/android/glosses.hs')
-rw-r--r--src/ui/android/glosses.hs46
1 files changed, 0 insertions, 46 deletions
diff --git a/src/ui/android/glosses.hs b/src/ui/android/glosses.hs
deleted file mode 100644
index 966ec90aa..000000000
--- a/src/ui/android/glosses.hs
+++ /dev/null
@@ -1,46 +0,0 @@
-import SG
-import PGF2
-import Data.Char
-import Data.List
-
-main = do
- db <- openSG "assets/semantics.db"
- inTransaction db $ do
- ls <- fmap lines $ readFile "../../../lib/src/translator/Dictionary.gf"
- let glosses = [x | Just (fn,gloss) <- map gloss ls, x <- glossTriples fn gloss]
- topics <- fmap (map toTriple . lines) $ readFile "topics.txt"
- sequence_ [insertTriple db s p o | (s,p,o) <- glosses++topics]
- closeSG db
-
-toTriple l =
- case readTriple l of
- Just t -> t
- Nothing -> error ("topics.txt: "++l)
-
-gloss l =
- case words l of
- ("fun":fn:_) -> case dropWhile (/='\t') l of
- '\t':l -> Just (fn,l)
- _ -> Nothing
- _ -> Nothing
-
-glossTriples fn s =
- (if null gs then [] else [(fn_e,gloss,mkStr (merge gs))])++
- (if null es then [] else [(fn_e,example,mkStr (merge (map (init . tail) es)))])
- where
- fn_e = mkApp fn []
- gloss = mkApp "gloss" []
- example = mkApp "example" []
- (es,gs) = partition isExample (splitGloss s)
-
-splitGloss s =
- let (xs,s') = break (==';') s
- in trim xs : case s' of
- ';':s -> splitGloss s
- _ -> []
- where
- trim = reverse . dropWhile isSpace . reverse . dropWhile isSpace
-
-merge = intercalate "; "
-
-isExample s = not (null s) && head s == '"' && last s == '"'