syntax-1.0.0.0: Reversible parsing and pretty-printing.

Copyright(c) Paweł Nowak
LicenseMIT
MaintainerPaweł Nowak <pawel834@gmail.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Data.Syntax.Char

Description

Common combinators that work with sequences of chars.

Synopsis

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.

Methods

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.

Instances

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

A number with an optional leading + or - sign character.

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.