Copyright | (c) Daan Leijen 1999-2001 (c) Paolo Martini 2007 |
---|---|
License | BSD-style (see the LICENSE file) |
Maintainer | derek.a.elkins@gmail.com |
Stability | provisional |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Commonly used character parsers.
Synopsis
- oneOf :: Stream s m Char => [Char] -> ParsecT s u m Char
- noneOf :: Stream s m Char => [Char] -> ParsecT s u m Char
- spaces :: Stream s m Char => ParsecT s u m ()
- space :: Stream s m Char => ParsecT s u m Char
- newline :: Stream s m Char => ParsecT s u m Char
- crlf :: Stream s m Char => ParsecT s u m Char
- endOfLine :: Stream s m Char => ParsecT s u m Char
- tab :: Stream s m Char => ParsecT s u m Char
- upper :: Stream s m Char => ParsecT s u m Char
- lower :: Stream s m Char => ParsecT s u m Char
- alphaNum :: Stream s m Char => ParsecT s u m Char
- letter :: Stream s m Char => ParsecT s u m Char
- digit :: Stream s m Char => ParsecT s u m Char
- hexDigit :: Stream s m Char => ParsecT s u m Char
- octDigit :: Stream s m Char => ParsecT s u m Char
- char :: Stream s m Char => Char -> ParsecT s u m Char
- anyChar :: Stream s m Char => ParsecT s u m Char
- satisfy :: Stream s m Char => (Char -> Bool) -> ParsecT s u m Char
- string :: Stream s m Char => String -> ParsecT s u m String
Documentation
oneOf :: Stream s m Char => [Char] -> ParsecT s u m Char Source #
oneOf cs
succeeds if the current character is in the supplied
list of characters cs
. Returns the parsed character. See also
satisfy
.
vowel = oneOf "aeiou"
noneOf :: Stream s m Char => [Char] -> ParsecT s u m Char Source #
As the dual of oneOf
, noneOf cs
succeeds if the current
character not in the supplied list of characters cs
. Returns the
parsed character.
consonant = noneOf "aeiou"
spaces :: Stream s m Char => ParsecT s u m () Source #
Skips zero or more white space characters. See also skipMany
.
space :: Stream s m Char => ParsecT s u m Char Source #
Parses a white space character (any character which satisfies isSpace
)
Returns the parsed character.
newline :: Stream s m Char => ParsecT s u m Char Source #
Parses a newline character ('\n'). Returns a newline character.
crlf :: Stream s m Char => ParsecT s u m Char Source #
Parses a carriage return character ('\r') followed by a newline character ('\n'). Returns a newline character.
tab :: Stream s m Char => ParsecT s u m Char Source #
Parses a tab character ('\t'). Returns a tab character.
upper :: Stream s m Char => ParsecT s u m Char Source #
Parses an upper case letter (according to isUpper
).
Returns the parsed character.
lower :: Stream s m Char => ParsecT s u m Char Source #
Parses a lower case character (according to isLower
).
Returns the parsed character.
alphaNum :: Stream s m Char => ParsecT s u m Char Source #
Parses a alphabetic or numeric Unicode characters
according to isAlphaNum
. Returns the parsed character.
Note that numeric digits outside the ASCII range (such as arabic-indic digits like e.g. "٤" or U+0664
),
as well as numeric characters which aren't digits, are parsed by this function
but not by digit
.
letter :: Stream s m Char => ParsecT s u m Char Source #
Parses an alphabetic Unicode characters (lower-case, upper-case and title-case letters,
plus letters of caseless scripts and modifiers letters according to isAlpha
).
Returns the parsed character.
digit :: Stream s m Char => ParsecT s u m Char Source #
Parses an ASCII digit. Returns the parsed character.
hexDigit :: Stream s m Char => ParsecT s u m Char Source #
Parses a hexadecimal digit (a digit or a letter between 'a' and 'f' or 'A' and 'F'). Returns the parsed character.
octDigit :: Stream s m Char => ParsecT s u m Char Source #
Parses an octal digit (a character between '0' and '7'). Returns the parsed character.
char :: Stream s m Char => Char -> ParsecT s u m Char Source #
char c
parses a single character c
. Returns the parsed
character (i.e. c
).
semiColon = char ';'
anyChar :: Stream s m Char => ParsecT s u m Char Source #
This parser succeeds for any character. Returns the parsed character.