invertible-syntax-poly-0.1.0.1: Extends invertible-syntax library capable to use parameterized token type.

Copyright2012 Kei Hibino, 2010-11 University of Marburg
LicenseBSD3
Maintainerex8k.hibino@gmail.com
Stabilityexperimental
Portabilityunknown
Safe HaskellNone
LanguageHaskell98

Text.Syntax.Check.Prim

Description

This module contains isomorphism check functions for Syntax.

Synopsis

Documentation

printParseIso0 :: (Eq a, Show e0, Show e1) => RunAsPrinter tok tks a e0 -> RunAsParser tok tks a e1 -> SyntaxT tok a -> a -> Either String a Source

Run print and parse series, then check the equality between input and output.

printParseIso :: (Eq a, Show e0, Show e1) => RunAsPrinter tok tks a e0 -> RunAsParser tok tks a e1 -> SyntaxT tok a -> tks -> Either String a Source

Run parse, print and parse series, then check the quality between first and second AST.

printParseIso0Default :: (Eq tok, Eq a) => SyntaxT tok a -> a -> Either String a Source

Run print and parse series with naive implementations, then check the equality between input and output.

printParseIsoDefault :: (Eq tok, Eq a) => SyntaxT tok a -> [tok] -> Either String a Source

Run parse, print and parse series with naive implementations, then check the equality between first and second AST.