BNFC-meta-0.6.1: Deriving Parsers and Quasi-Quoters from BNF Grammars

Safe HaskellNone
LanguageHaskell98

Language.LBNF.Runtime

Contents

Description

Contains things that are typically needed in modules that use languages defined using BNFC-meta.

Synopsis

Happy and Alex runtimes

data ParseMonad a Source #

Constructors

Ok a 
Bad String 
Instances
Monad ParseMonad Source # 
Instance details

Defined in Language.LBNF.Runtime

Methods

(>>=) :: ParseMonad a -> (a -> ParseMonad b) -> ParseMonad b #

(>>) :: ParseMonad a -> ParseMonad b -> ParseMonad b #

return :: a -> ParseMonad a #

fail :: String -> ParseMonad a #

Functor ParseMonad Source # 
Instance details

Defined in Language.LBNF.Runtime

Methods

fmap :: (a -> b) -> ParseMonad a -> ParseMonad b #

(<$) :: a -> ParseMonad b -> ParseMonad a #

MonadFail ParseMonad Source # 
Instance details

Defined in Language.LBNF.Runtime

Methods

fail :: String -> ParseMonad a #

Applicative ParseMonad Source # 
Instance details

Defined in Language.LBNF.Runtime

Methods

pure :: a -> ParseMonad a #

(<*>) :: ParseMonad (a -> b) -> ParseMonad a -> ParseMonad b #

liftA2 :: (a -> b -> c) -> ParseMonad a -> ParseMonad b -> ParseMonad c #

(*>) :: ParseMonad a -> ParseMonad b -> ParseMonad b #

(<*) :: ParseMonad a -> ParseMonad b -> ParseMonad a #

Eq a => Eq (ParseMonad a) Source # 
Instance details

Defined in Language.LBNF.Runtime

Methods

(==) :: ParseMonad a -> ParseMonad a -> Bool #

(/=) :: ParseMonad a -> ParseMonad a -> Bool #

Ord a => Ord (ParseMonad a) Source # 
Instance details

Defined in Language.LBNF.Runtime

Read a => Read (ParseMonad a) Source # 
Instance details

Defined in Language.LBNF.Runtime

Show a => Show (ParseMonad a) Source # 
Instance details

Defined in Language.LBNF.Runtime

err :: (String -> a) -> ParseMonad a -> a Source #

Pretty printing runtimes

type Doc = [ShowS] -> [ShowS] Source #

class Print a where Source #

Minimal complete definition

prt

Methods

prt :: Int -> a -> Doc Source #

prtList :: [a] -> Doc Source #

Instances
Print Char Source # 
Instance details

Defined in Language.LBNF.Runtime

Methods

prt :: Int -> Char -> Doc Source #

prtList :: [Char] -> Doc Source #

Print Double Source # 
Instance details

Defined in Language.LBNF.Runtime

Methods

prt :: Int -> Double -> Doc Source #

prtList :: [Double] -> Doc Source #

Print Integer Source # 
Instance details

Defined in Language.LBNF.Runtime

Methods

prt :: Int -> Integer -> Doc Source #

prtList :: [Integer] -> Doc Source #

Print PrintPlain Source # 
Instance details

Defined in Language.LBNF.Runtime

Print Ident Source # 
Instance details

Defined in Language.LBNF.Grammar

Methods

prt :: Int -> Ident -> Doc Source #

prtList :: [Ident] -> Doc Source #

Print Reg Source # 
Instance details

Defined in Language.LBNF.Grammar

Methods

prt :: Int -> Reg -> Doc Source #

prtList :: [Reg] -> Doc Source #

Print MinimumSize Source # 
Instance details

Defined in Language.LBNF.Grammar

Print Exp Source # 
Instance details

Defined in Language.LBNF.Grammar

Methods

prt :: Int -> Exp -> Doc Source #

prtList :: [Exp] -> Doc Source #

Print Arg Source # 
Instance details

Defined in Language.LBNF.Grammar

Methods

prt :: Int -> Arg -> Doc Source #

prtList :: [Arg] -> Doc Source #

Print HsTyp Source # 
Instance details

Defined in Language.LBNF.Grammar

Methods

prt :: Int -> HsTyp -> Doc Source #

prtList :: [HsTyp] -> Doc Source #

Print MIdent Source # 
Instance details

Defined in Language.LBNF.Grammar

Methods

prt :: Int -> MIdent -> Doc Source #

prtList :: [MIdent] -> Doc Source #

Print Label Source # 
Instance details

Defined in Language.LBNF.Grammar

Methods

prt :: Int -> Label -> Doc Source #

prtList :: [Label] -> Doc Source #

Print Cat Source # 
Instance details

Defined in Language.LBNF.Grammar

Methods

prt :: Int -> Cat -> Doc Source #

prtList :: [Cat] -> Doc Source #

Print Item Source # 
Instance details

Defined in Language.LBNF.Grammar

Methods

prt :: Int -> Item -> Doc Source #

prtList :: [Item] -> Doc Source #

Print RHS Source # 
Instance details

Defined in Language.LBNF.Grammar

Methods

prt :: Int -> RHS -> Doc Source #

prtList :: [RHS] -> Doc Source #

Print Def Source # 
Instance details

Defined in Language.LBNF.Grammar

Methods

prt :: Int -> Def -> Doc Source #

prtList :: [Def] -> Doc Source #

Print Grammar Source # 
Instance details

Defined in Language.LBNF.Grammar

Methods

prt :: Int -> Grammar -> Doc Source #

prtList :: [Grammar] -> Doc Source #

Print a => Print [a] Source # 
Instance details

Defined in Language.LBNF.Runtime

Methods

prt :: Int -> [a] -> Doc Source #

prtList :: [[a]] -> Doc Source #

prPrec :: Int -> Int -> Doc -> Doc Source #

newtype PrintPlain Source #

Constructors

MkPrintPlain String 
Instances
Print PrintPlain Source # 
Instance details

Defined in Language.LBNF.Runtime