biglex experiment

This commit is contained in:
aarne
2006-10-31 16:33:38 +00:00
parent 773e12142e
commit 716760288d
9 changed files with 35617 additions and 2 deletions
+10
View File
@@ -0,0 +1,10 @@
--# -path=.:../abstract:../common:prelude
concrete BigEnglish of BigEnglishAbs =
LangEng,
IrregEng-[
blow_V,burn_V,come_V,dig_V,fall_V,fly_V,freeze_V,go_V,lie_V,run_V,
sew_V,sing_V,sit_V,sleep_V,spit_V,stand_V,swell_V,swim_V,think_V],
ExtraEng,
BigLexEng
** {} ;
+10
View File
@@ -0,0 +1,10 @@
--# -path=.:../abstract:../common:prelude
abstract BigEnglishAbs =
Lang,
IrregEngAbs-[
blow_V,burn_V,come_V,dig_V,fall_V,fly_V,freeze_V,go_V,lie_V,run_V,
sew_V,sing_V,sit_V,sleep_V,spit_V,stand_V,swell_V,swim_V,think_V],
ExtraEngAbs,
BigLexEngAbs
** {} ;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+28
View File
@@ -0,0 +1,28 @@
import System
import Char
-- usage: extract2gf <lang> <extracted>
main = do
la:f:_ <- getArgs
let cnc = f ++ ".gf"
let abs = f ++ "Abs.gf"
s <- readFile f
writeFile abs $ "abstract " ++ f ++ "Abs = Cat ** {\n"
writeFile cnc $ "concrete " ++ f ++ " of " ++ f ++
"Abs = Cat" ++ la ++ " ** open Paradigms" ++ la ++ " in {\n"
mapM_ (mkOne abs cnc . words) $ filter (not . empty) $ lines s
appendFile abs "}"
appendFile cnc "}"
-- format: cat oper args
mkOne abs cnc (cat : oper : args@(a1:_)) = do
appendFile abs $ " fun " ++ fun ++ " : " ++ cat ++ " ;\n"
appendFile cnc $ " lin " ++ fun ++ " = " ++ lin ++ " ;\n"
where
fun = a1 ++ "_" ++ cat ++ "_" ++ oper
lin = unwords $ oper:["\"" ++ s ++ "\"" | s <- args]
mkOne _ _ ws = putStrLn $ unwords ws
empty s = all isSpace s || take 2 s == "--"