parsec-3.1.14.0: Monadic parser combinators
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

Text.Parsec.Char

Description

Commonly used character parsers.

Synopsis

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.

endOfLine :: Stream s m Char => ParsecT s u m Char Source #

Parses a CRLF (see crlf ) or LF (see newline ) end-of-line. Returns a newline character ('\n').

endOfLine = newline <|> crlf

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.

satisfy :: Stream s m Char => ( Char -> Bool ) -> ParsecT s u m Char Source #

The parser satisfy f succeeds for any character for which the supplied function f returns True . Returns the character that is actually parsed.

string :: Stream s m Char => String -> ParsecT s u m String Source #

string s parses a sequence of characters given by s . Returns the parsed string (i.e. s ).

 divOrMod    =   string "div"
             <|> string "mod"