parsley-1.0.0.1: benchmarks/NandlangBench/Parsley/Functions.hs
module NandlangBench.Parsley.Functions where
import Data.Char (isAlpha, isAlphaNum)
import Data.Set (fromList, member)
nandIdentStart :: Char -> Bool
nandIdentStart c = isAlpha c || c == '_'
nandIdentLetter :: Char -> Bool
nandIdentLetter c = isAlphaNum c || c == '_'
nandUnreservedName :: String -> Bool
nandUnreservedName = \s -> not (member s keys)
where
keys = fromList ["if", "else", "while",
"function", "var"]
nandStringLetter :: Char -> Bool
nandStringLetter c = (c /= '"') && (c /= '\\') && (c > '\026')