BNFC-meta-0.5: 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 

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 # 

Methods

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

prtList :: [Char] -> Doc Source #

Print Double Source # 

Methods

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

prtList :: [Double] -> Doc Source #

Print Integer Source # 

Methods

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

prtList :: [Integer] -> Doc Source #

Print PrintPlain Source # 
Print Ident Source # 

Methods

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

prtList :: [Ident] -> Doc Source #

Print Reg Source # 

Methods

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

prtList :: [Reg] -> Doc Source #

Print MinimumSize Source # 
Print Exp Source # 

Methods

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

prtList :: [Exp] -> Doc Source #

Print Arg Source # 

Methods

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

prtList :: [Arg] -> Doc Source #

Print HsTyp Source # 

Methods

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

prtList :: [HsTyp] -> Doc Source #

Print MIdent Source # 

Methods

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

prtList :: [MIdent] -> Doc Source #

Print Label Source # 

Methods

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

prtList :: [Label] -> Doc Source #

Print Cat Source # 

Methods

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

prtList :: [Cat] -> Doc Source #

Print Item Source # 

Methods

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

prtList :: [Item] -> Doc Source #

Print RHS Source # 

Methods

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

prtList :: [RHS] -> Doc Source #

Print Def Source # 

Methods

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

prtList :: [Def] -> Doc Source #

Print Grammar Source # 

Methods

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

prtList :: [Grammar] -> Doc Source #

Print a => Print [a] Source # 

Methods

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

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

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