1
0
forked from GitHub/gf-core

big lex compiles again

This commit is contained in:
aarne
2006-11-03 21:47:56 +00:00
parent db95cbad6d
commit 048ef7d1d1
2 changed files with 304 additions and 294 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,8 @@ tmp = "tm"
main = do
writeFile tmp ""
s <- readFile infile
mapM_ (appendFile tmp . mkOne) $ lines s --- $ chop s
mapM_ (appendFile tmp . mkTwo) $ lines s --- $ chop s
system "cp BigLexEng.gf bak"
system "mv tm BigLexEng.gf"
chop s = case s of
@@ -15,6 +16,16 @@ chop s = case s of
c:cs -> c:chop cs
_ -> s
mkTwo s = case words s of
lin:tie:eq:"dirV3":tie_V:ws ->
let prep = case reverse (takeWhile (/='_') (reverse tie)) of
"loc" -> "in" ---
p -> p
in unwords $
[lin,tie,eq,"dirV3",show (take (length tie_V - 2) tie_V),show prep] ++
ws ++ ["\n"]
_ -> s ++ "\n"
mkOne s = case words s of
lin:a2:eq:pa2:ws | take 6 pa2 == "prepA2" ->
unwords $ [lin,a2,eq,"prepA2"] ++ ws ++ ["\n"]