forked from GitHub/gf-core
14 lines
431 B
Haskell
14 lines
431 B
Haskell
main = interact (unlines . map (mkTerm . words) . lines)
|
|
|
|
mkTerm ws = case ws of
|
|
"==":cat:"-":expl -> unlines [
|
|
mkFun "Cat" cat,
|
|
mkLin "Cat" "mkN" cat (unwords (takeWhile (/= "==") expl))
|
|
]
|
|
|
|
mkFun pref s = unwords ["fun", pref ++ s, ":", pref, ";"]
|
|
---mkLin pref p s e = unwords ["lin", pref ++ s, "=", p, quoted e, ";"]
|
|
mkLin pref p s e = unwords ["lin", pref ++ s, "=", quoted s, ";"]
|
|
|
|
quoted s = "\"" ++ s ++ "\""
|