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 seq, Element seq ~ Char) => SyntaxChar syn seq 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 Text
- signed :: (Real a, SyntaxChar syn seq) => syn a -> syn a
- spaces :: SyntaxChar syn seq => syn ()
- spaces_ :: SyntaxChar syn seq => syn ()
- spaces1 :: SyntaxChar syn seq => syn ()
- endOfLine :: SyntaxChar syn seq => syn ()
- digitDec :: SyntaxChar syn seq => syn Int
- digitOct :: SyntaxChar syn seq => syn Int
- digitHex :: SyntaxChar syn seq => syn Int
Documentation
class (Syntax syn seq, Element seq ~ Char) => SyntaxChar syn seq 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 seq => SyntaxChar (Indent syn) seq |
type SyntaxText syn = SyntaxChar syn Text Source
An useful synonym for SyntaxChars with Text sequences.
signed :: (Real a, SyntaxChar syn seq) => syn a -> syn a Source
spaces :: SyntaxChar syn seq => syn () Source
Accepts zero or more spaces. Generates a single space.
spaces_ :: SyntaxChar syn seq => syn () Source
Accepts zero or more spaces. Generates no output.
spaces1 :: SyntaxChar syn seq => syn () Source
Accepts one or more spaces. Generates a single space.
endOfLine :: SyntaxChar syn seq => syn () Source
Accepts a single newline. Generates a newline.
digitDec :: SyntaxChar syn seq => syn Int Source
A decimal digit.
digitOct :: SyntaxChar syn seq => syn Int Source
An octal digit.
digitHex :: SyntaxChar syn seq => syn Int Source
A hex digit.