module Language.Bluespec.Lex
( isIdChar
, isSym
) where
import Data.Char (isAlphaNum)
import Language.Bluespec.Prelude
isSym :: Char -> Bool
isSym :: Char -> Bool
isSym Char
'!' = Bool
True; isSym Char
'@' = Bool
True; isSym Char
'#' = Bool
True; isSym Char
'$' = Bool
True
isSym Char
'%' = Bool
True; isSym Char
'&' = Bool
True; isSym Char
'*' = Bool
True; isSym Char
'+' = Bool
True
isSym Char
'.' = Bool
True; isSym Char
'/' = Bool
True; isSym Char
'<' = Bool
True; isSym Char
'=' = Bool
True
isSym Char
'>' = Bool
True; isSym Char
'?' = Bool
True; isSym Char
'\\' = Bool
True; isSym Char
'^' = Bool
True
isSym Char
'|' = Bool
True; isSym Char
':' = Bool
True; isSym Char
'-' = Bool
True; isSym Char
'~' = Bool
True
isSym Char
',' = Bool
True
isSym Char
c | Char
c Char -> Char -> Bool
forall a. Ord a => a -> a -> Bool
>= Char
'\x80' = Char
c Char -> [Char] -> Bool
forall a. Eq a => a -> [a] -> Bool
forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
`elem` [Char
'\162', Char
'\163', Char
'\164', Char
'\165', Char
'\166',
Char
'\167', Char
'\168', Char
'\169', Char
'\170', Char
'\171',
Char
'\172', Char
'\173', Char
'\174', Char
'\175', Char
'\176',
Char
'\177', Char
'\178', Char
'\179', Char
'\180', Char
'\181',
Char
'\183', Char
'\184', Char
'\185', Char
'\186', Char
'\187',
Char
'\188', Char
'\189', Char
'\190', Char
'\191', Char
'\215',
Char
'\247' ]
isSym Char
_ = Bool
False
isIdChar :: Char -> Bool
isIdChar :: Char -> Bool
isIdChar Char
'\'' = Bool
True
isIdChar Char
'_' = Bool
True
isIdChar Char
'\176' = Bool
True
isIdChar Char
'\180' = Bool
True
isIdChar Char
c = Char -> Bool
isAlphaNum Char
c