Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Glasgow Haskell Compiler
GHC
Commits
ffb05ba3
Commit
ffb05ba3
authored
Jan 15, 1999
by
simonm
Browse files
[project @ 1999-01-15 14:06:50 by simonm]
wibble
parent
9643b98f
Changes
1
Hide whitespace changes
Inline
Side-by-side
ghc/compiler/basicTypes/OccName.lhs
View file @
ffb05ba3
...
...
@@ -39,10 +39,12 @@ module OccName (
#include "HsVersions.h"
#if __HASKELL1__ > 4
import Char ( isAlpha, isUpper, isLower, isAlphaNum{-sigh-}, ord )
#define ISALPHANUM isAlphaNum
#else
import Char ( isAlpha, isUpper, isLower,
isAlphanum
, ord )
#define ISALPHANUM
isAlphanum
#endif
import Char ( isAlpha, isUpper, isLower, ISALPHANUM, ord )
import Util ( thenCmp )
import FiniteMap ( FiniteMap, emptyFM, lookupFM, addToFM, elemFM )
import Outputable
...
...
@@ -553,7 +555,7 @@ We provide two interfaces for efficiency.
\begin{code}
identToC :: String -> FAST_STRING
identToC str
| all
isAlphanum
str && not std = _PK_ str
| all
ISALPHANUM
str && not std = _PK_ str
| std = _PK_ ("Zs" ++ encode str)
| otherwise = _PK_ (encode str)
where
...
...
@@ -561,7 +563,7 @@ identToC str
identFsToC :: FAST_STRING -> FAST_STRING
identFsToC fast_str
| all
isAlphanum
str && not std = fast_str
| all
ISALPHANUM
str && not std = fast_str
| std = _PK_ ("Zs" ++ encode str)
| otherwise = _PK_ (encode str)
where
...
...
@@ -577,7 +579,7 @@ encode [] = []
encode (c:cs) = encode_ch c ++ encode cs
encode_ch :: Char -> String
encode_ch c |
isAlphanum
c = [c]
encode_ch c |
ISALPHANUM
c = [c]
-- Common case first
encode_ch 'Z' = "ZZ"
encode_ch '&' = "Za"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment