module Parsers.Char where import qualified Parser import Parser (Parser) import ParserCombinators (IsMatch(..), (<|>)) char :: Parser Char char :: Parser Char char = Parser Char Parser.char digit :: Parser Char digit :: Parser Char digit = [Char] -> Parser Char forall a. IsMatch a => [a] -> Parser a oneOf [Char '0' .. Char '9'] upper :: Parser Char upper :: Parser Char upper = [Char] -> Parser Char forall a. IsMatch a => [a] -> Parser a oneOf [Char 'A' .. Char 'Z'] lower :: Parser Char lower :: Parser Char lower = [Char] -> Parser Char forall a. IsMatch a => [a] -> Parser a oneOf [Char 'a' .. Char 'z'] letter :: Parser Char letter :: Parser Char letter = Parser Char upper Parser Char -> Parser Char -> Parser Char forall a. Parser a -> Parser a -> Parser a <|> Parser Char lower alpha :: Parser Char alpha :: Parser Char alpha = Parser Char letter alphaNum :: Parser Char alphaNum :: Parser Char alphaNum = Parser Char alpha Parser Char -> Parser Char -> Parser Char forall a. Parser a -> Parser a -> Parser a <|> Parser Char digit space :: Parser Char space :: Parser Char space = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char ' ' tab :: Parser Char tab :: Parser Char tab = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '\t' spaceOrTab :: Parser Char spaceOrTab :: Parser Char spaceOrTab = Parser Char space Parser Char -> Parser Char -> Parser Char forall a. Parser a -> Parser a -> Parser a <|> Parser Char tab whiteSpace :: Parser Char whiteSpace :: Parser Char whiteSpace = Parser Char space Parser Char -> Parser Char -> Parser Char forall a. Parser a -> Parser a -> Parser a <|> Parser Char tab Parser Char -> Parser Char -> Parser Char forall a. Parser a -> Parser a -> Parser a <|> Parser Char newLine newLine :: Parser Char newLine :: Parser Char newLine = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '\n' comma :: Parser Char comma :: Parser Char comma = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char ',' dot :: Parser Char dot :: Parser Char dot = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '.' colon :: Parser Char colon :: Parser Char colon = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char ':' quote :: Parser Char quote :: Parser Char quote = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '\'' doubleQuote :: Parser Char doubleQuote :: Parser Char doubleQuote = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '"' dash :: Parser Char dash :: Parser Char dash = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '-' plus :: Parser Char plus :: Parser Char plus = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '+' equal :: Parser Char equal :: Parser Char equal = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '=' underscore :: Parser Char underscore :: Parser Char underscore = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '_' hashTag :: Parser Char hashTag :: Parser Char hashTag = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '#' question :: Parser Char question :: Parser Char question = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '?' openParens :: Parser Char openParens :: Parser Char openParens = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '(' closeParens :: Parser Char closeParens :: Parser Char closeParens = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char ')' openSquare :: Parser Char openSquare :: Parser Char openSquare = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '[' closeSquare :: Parser Char closeSquare :: Parser Char closeSquare = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char ']' openCurly :: Parser Char openCurly :: Parser Char openCurly = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '{' closeCurly :: Parser Char closeCurly :: Parser Char closeCurly = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '}' openAngle :: Parser Char openAngle :: Parser Char openAngle = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '<' closeAngle :: Parser Char closeAngle :: Parser Char closeAngle = Char -> Parser Char forall a. IsMatch a => a -> Parser a is Char '>'