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

Safe HaskellNone

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

Constructors

Ok a 
Bad String 

Instances

Monad ParseMonad 
Functor ParseMonad 
Eq a => Eq (ParseMonad a) 
Ord a => Ord (ParseMonad a) 
Read a => Read (ParseMonad a) 
Show a => Show (ParseMonad a) 

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

Pretty printing runtimes

printTree :: Print a => a -> String

type Doc = [ShowS] -> [ShowS]

doc :: ShowS -> Doc

concatD :: [Doc] -> Doc

class Print a where

Methods

prt :: Int -> a -> Doc

prtList :: [a] -> Doc

prPrec :: Int -> Int -> Doc -> Doc

newtype PrintPlain

Constructors

MkPrintPlain String 

Instances