Copyright | (c) Paweł Nowak |
---|---|
License | MIT |
Maintainer | Paweł Nowak <pawel834@gmail.com> |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Common combinators that work with sequences of chars.
- class (Syntax syn, Element (Seq syn) ~ Char) => SyntaxChar syn where
- decimal :: Integral a => syn () a
- hexadecimal :: (Integral a, Bits a) => syn () a
- realFloat :: RealFloat a => syn () a
- scientific :: syn () Scientific
- type SyntaxText syn = (SyntaxChar syn, Seq syn ~ Text)
- signed :: (Real a, SyntaxChar syn) => syn () a -> syn () a
- spaces :: SyntaxChar syn => syn () ()
- spaces_ :: SyntaxChar syn => syn () ()
- spaces1 :: SyntaxChar syn => syn () ()
- endOfLine :: SyntaxChar syn => syn () ()
- digitDec :: SyntaxChar syn => syn () Int
- digitOct :: SyntaxChar syn => syn () Int
- digitHex :: SyntaxChar syn => syn () Int
Documentation
class (Syntax syn, Element (Seq syn) ~ Char) => SyntaxChar syn where Source
Syntax constrainted to sequences of chars.
Note: methods of this class do not have default implementations (for now), because their code is quite ugly and already written in most parser libraries.
decimal :: Integral a => syn () a Source
An unsigned decimal number.
hexadecimal :: (Integral a, Bits a) => syn () a Source
An unsigned hexadecimal number.
realFloat :: RealFloat a => syn () a Source
A signed real number.
scientific :: syn () Scientific Source
A scientific number.
SyntaxChar syn => SyntaxChar (Indent syn) | |
SyntaxChar syn => SyntaxChar (ReaderCT env syn) |
type SyntaxText syn = (SyntaxChar syn, Seq syn ~ Text) Source
An useful synonym for SyntaxChars with Text sequences.
signed :: (Real a, SyntaxChar syn) => syn () a -> syn () a Source
spaces :: SyntaxChar syn => syn () () Source
Accepts zero or more spaces. Generates a single space.
spaces_ :: SyntaxChar syn => syn () () Source
Accepts zero or more spaces. Generates no output.
spaces1 :: SyntaxChar syn => syn () () Source
Accepts one or more spaces. Generates a single space.
endOfLine :: SyntaxChar syn => syn () () Source
Accepts a single newline. Generates a newline.
digitDec :: SyntaxChar syn => syn () Int Source
A decimal digit.
digitOct :: SyntaxChar syn => syn () Int Source
An octal digit.
digitHex :: SyntaxChar syn => syn () Int Source
A hex digit.