C compiler

This commit is contained in:
aarne
2004-09-17 22:02:35 +00:00
parent ee3e5b0ae5
commit 96890f5fad
5 changed files with 157 additions and 1 deletions

View File

@@ -130,13 +130,20 @@ reservedAnsiCWords = words $
unknown2string :: (String -> Bool) -> [CFTok] -> [CFTok]
unknown2string isKnown = map mkOne where
mkOne t@(TS s) = if isKnown s then t else mkTL s
mkOne t@(TS s)
| isKnown s = t
| all isDigit s = tI s
| otherwise = tV s
mkOne t@(TC s) = if isKnown s then t else mkTL s
mkOne t = t
unknown2var :: (String -> Bool) -> [CFTok] -> [CFTok]
unknown2var isKnown = map mkOne where
mkOne t@(TS "??") = if isKnown "??" then t else tM "??"
mkOne t@(TS s)
| isKnown s = t
| all isDigit s = tI s
| otherwise = tV s
mkOne t@(TS s) = if isKnown s then t else tV s
mkOne t@(TC s) = if isKnown s then t else tV s
mkOne t = t