diff options
| author | aarne <unknown> | 2004-08-25 15:17:13 +0000 |
|---|---|---|
| committer | aarne <unknown> | 2004-08-25 15:17:13 +0000 |
| commit | 51c9afa5c8025971d8080fa271a0e8486b9effde (patch) | |
| tree | f5bf73caee6a25347d72385f16cc5dcf8fd12967 /src/GF/UseGrammar/Tokenize.hs | |
| parent | 4af78854b77949ebc839c43281774976b5575309 (diff) | |
codevars
Diffstat (limited to 'src/GF/UseGrammar/Tokenize.hs')
| -rw-r--r-- | src/GF/UseGrammar/Tokenize.hs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/GF/UseGrammar/Tokenize.hs b/src/GF/UseGrammar/Tokenize.hs index 77c6222ac..7ae3463a0 100644 --- a/src/GF/UseGrammar/Tokenize.hs +++ b/src/GF/UseGrammar/Tokenize.hs @@ -134,9 +134,18 @@ unknown2string isKnown = map mkOne where 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) = if isKnown s then t else tV s + mkOne t@(TC s) = if isKnown s then t else tV s + mkOne t = t + lexTextLiteral isKnown = unknown2string (eitherUpper isKnown) . lexText lexHaskellLiteral isKnown = unknown2string isKnown . lexHaskell +lexHaskellVar isKnown = unknown2var isKnown . lexHaskell + eitherUpper isKnown w@(c:cs) = isKnown (toLower c : cs) || isKnown (toUpper c : cs) eitherUpper isKnown w = isKnown w |
