Text.ParserCombinators.Parsec.Char

parsec-3.1.9: Monadic parser combinators

Copyright | (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 | Haskell98

Text.ParserCombinators.Parsec.Char

Description

Parsec compatibility module

Synopsis

- type CharParser st = GenParser Char st
- 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
- 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
- string :: Stream s m Char => String -> ParsecT s u m String
- anyChar :: Stream s m Char => ParsecT s u m Char
- oneOf :: Stream s m Char => [Char] -> ParsecT s u m Char
- noneOf :: Stream s m Char => [Char] -> ParsecT s u m Char
- satisfy :: Stream s m Char => (Char -> Bool) -> ParsecT s u m Char

# Documentation

type CharParser st = GenParser Char st

spaces :: Stream s m Char => ParsecT s u m ()

Skips zero or more white space characters. See also `skipMany`.

space :: Stream s m Char => ParsecT s u m Char

Parses a white space character (any character which satisfies `isSpace`) Returns the parsed character.

newline :: Stream s m Char => ParsecT s u m Char

Parses a newline character ('\n'). Returns a newline character.

tab :: Stream s m Char => ParsecT s u m Char

Parses a tab character ('\t'). Returns a tab character.

upper :: Stream s m Char => ParsecT s u m Char

Parses an upper case letter (a character between 'A' and 'Z'). Returns the parsed character.

lower :: Stream s m Char => ParsecT s u m Char

Parses a lower case character (a character between 'a' and 'z'). Returns the parsed character.

alphaNum :: Stream s m Char => ParsecT s u m Char

Parses a letter or digit (a character between '0' and '9'). Returns the parsed character.

letter :: Stream s m Char => ParsecT s u m Char

Parses a letter (an upper case or lower case character). Returns the parsed character.

digit :: Stream s m Char => ParsecT s u m Char

Parses a digit. Returns the parsed character.

hexDigit :: Stream s m Char => ParsecT s u m Char

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

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

`char c` parses a single character `c`. Returns the parsed character (i.e. `c`).

     semiColon  = char ';'

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

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

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

anyChar :: Stream s m Char => ParsecT s u m Char

This parser succeeds for any character. Returns the parsed character.

oneOf :: Stream s m Char => [Char] -> ParsecT s u m Char

`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

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"

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

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