papillon 0.0.47 → 0.0.56
raw patch · 11 files changed
+483/−401 lines, 11 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Text.Papillon: pePosition :: ParseError pos drv -> pos
+ Text.PapillonCore: peCode :: ParseError pos drv -> String
+ Text.PapillonCore: peComment :: ParseError pos drv -> String
+ Text.PapillonCore: peDerivs :: ParseError pos drv -> drv
+ Text.PapillonCore: peMessage :: ParseError pos drv -> String
+ Text.PapillonCore: pePosition :: ParseError pos drv -> pos
+ Text.PapillonCore: peReading :: ParseError pos drv -> ([String])
Files
- bin/Class.hs +15/−11
- bin/papillon.hs +2/−1
- examples/arith.hs +30/−0
- examples/config.hs +30/−0
- examples/test.config +2/−0
- papillon.cabal +6/−3
- src/Text/Papillon.hs +9/−7
- src/Text/Papillon/Papillon.hs +2/−1
- src/Text/Papillon/Parser.hs +358/−358
- src/Text/Papillon/SyntaxTree.hs +1/−1
- src/Text/PapillonCore.hs +28/−19
bin/Class.hs view
@@ -28,7 +28,7 @@ forallT [PlainTV pos, PlainTV drv] (cxt []) $ stringT `arrT` stringT `arrT` stringT `arrT` varT drv `arrT` listT `appT` stringT `arrT` varT pos `arrT` - varT (mkName "ParseError") `appT` varT pos `appT` varT drv+ conT (mkName "ParseError") `appT` varT pos `appT` varT drv where pos = mkName "pos" drv = mkName "drv"@@ -40,14 +40,13 @@ parseErrorT :: Bool -> DecQ parseErrorT _ = flip (dataD (cxt []) (mkName "ParseError") [PlainTV $ mkName "pos", PlainTV $ mkName "drv"])- [] $ (:[]) $- recC (mkName "ParseError") [- varStrictType c $ strictType notStrict $ conT $ mkName "String",- varStrictType m $ strictType notStrict $ conT $ mkName "String",- varStrictType com $ strictType notStrict $ conT $ mkName "String",- varStrictType d $ strictType notStrict $ varT $ mkName "drv",- varStrictType r $ strictType notStrict $ listT `appT` conT (mkName "String"),- varStrictType pos $ strictType notStrict $ varT $ mkName "pos"+ [] $ [ recC (mkName "ParseError") [+ varStrictType c strT,+ varStrictType m strT,+ varStrictType com strT,+ varStrictType d drvT,+ varStrictType r lstT,+ varStrictType pos posT ] ] where [c, m, com, r, d, pos] = map mkName [@@ -58,6 +57,10 @@ "peDerivs", "pePosition" ]+ strT = strictType notStrict $ conT $ mkName "String"+ drvT = strictType notStrict $ varT $ mkName "drv"+ lstT = strictType notStrict $ listT `appT` conT (mkName "String")+ posT = strictType notStrict $ varT $ mkName "pos" {- @@ -108,8 +111,9 @@ `arrT` tupT [conT $ mkName "Int", conT $ mkName "Int"] pePositionSD :: DecQ-pePositionSD = funD (mkName "pePositionS") $ (: []) $ clause- [pat] (normalB $ varE $ mkName "p") []+pePositionSD = funD (mkName "pePositionS") $ [+ clause [pat] (normalB $ varE $ mkName "p") []+ ] where pat = recP (mkName "ParseError") [fieldPat (mkName "pePosition") $ conP (mkName "ListPos")
bin/papillon.hs view
@@ -88,8 +88,9 @@ "peComment", "peDerivs", "peReading",- "Pos(..)",+ "pePosition", "pePositionS",+ "Pos(..)", "Source(..)", "SourceList(..)", "ListPos(..)"
+ examples/arith.hs view
@@ -0,0 +1,30 @@+{-# LANGUAGE QuasiQuotes, TypeFamilies #-}++import Prelude hiding (product, sum)+import Text.Papillon+import Data.Char+import System.Environment++main :: IO ()+main = do+ arg : _ <- getArgs+ case expr $ parse arg of+ Right (r, _) -> print r+ Left _ -> putStrLn "parse error"++[papillon|++value :: Int+ = ds:(d:[isDigit d] { d })+ { read ds }+ / '(' e:expr ')' { e }+;+product :: Int+ = v0:value ops:(op:('*' { (*) } / '/' { div }) v:value { (`op` v) })*+ { foldl (flip ($)) v0 ops }+;+expr :: Int+ = p0:product ops:(op:('+' { (+) } / '-' { (-) }) p:product { (`op` p) })*+ { foldl (flip ($)) p0 ops }+;++|]
+ examples/config.hs view
@@ -0,0 +1,30 @@+{-# LANGUAGE QuasiQuotes, TypeFamilies #-}++import Text.Papillon+import System.Environment+import Data.Char++main :: IO ()+main = do+ fp : _ <- getArgs+ cnt <- readFile fp+ case conf $ parse cnt of+ Right (r, _) -> print r+ Left _ -> putStrLn "parse error"++[papillon|++name :: String+ = s:(c:[isLower c] { c })+ { s }+;+value :: Int+ = ds:(d:[isDigit d] { d })+ { read ds }+;+conf1 :: (String, Int)+ = n:name ':' ' ' v:value { (n, v) }+;+conf :: [(String, Int)]+ = cs:(c:conf1 '\n' { c })+ !_:[True] { cs }+;++|]
+ examples/test.config view
@@ -0,0 +1,2 @@+hello: 33+world: 952
papillon.cabal view
@@ -2,7 +2,7 @@ cabal-version: >= 1.8 name: papillon-version: 0.0.47+version: 0.0.56 stability: Experimental author: Yoshikuni Jujo <PAF01143@nifty.ne.jp> maintainer: Yoshikuni Jujo <PAF01143@nifty.ne.jp>@@ -14,9 +14,12 @@ category: Parsing synopsis: packrat parser description:- blah blah blah+ see examples directory extra-source-files:+ examples/arith.hs+ examples/config.hs+ examples/test.config source-repository head type: git@@ -25,7 +28,7 @@ source-repository this type: git location: git://github.com/YoshikuniJujo/papillon.git- tag: 0.0.47+ tag: 0.0.56 library hs-source-dirs: src
src/Text/Papillon.hs view
@@ -1,16 +1,18 @@ module Text.Papillon ( papillon,- ParseError,- mkParseError,- peCode,- peMessage,- peDerivs,- peComment,- peReading, Source(..), SourceList(..), Pos(..), ListPos(..),+ -- * For parse error message+ ParseError,+ mkParseError,+ peDerivs,+ peReading,+ peMessage,+ peCode,+ peComment,+ pePosition, pePositionS, ) where
src/Text/Papillon/Papillon.hs view
@@ -7,8 +7,9 @@ peComment, peDerivs, peReading,- Pos(..),+ pePosition, pePositionS,+ Pos(..), Source(..), SourceList(..), ListPos(..)) where
src/Text/Papillon/Parser.hs view
@@ -12,7 +12,7 @@ nameFromRF, ParseError(..), mkParseError,- Derivs(peg, pegFile, derivsChars),+ Derivs(peg, pegFile, char), Pos(..), ListPos(..), pePositionS,@@ -164,9 +164,9 @@ notComStr :: (Either (ParseError (Pos String) Derivs) (((), Derivs))), comEnd :: (Either (ParseError (Pos String) Derivs) (((), Derivs))),- derivsChars :: (Either (ParseError (Pos String) Derivs)- ((Token String, Derivs))),- derivsPosition :: (Pos String)}+ char :: (Either (ParseError (Pos String) Derivs)+ ((Token String, Derivs))),+ position :: (Pos String)} parse :: String -> Derivs parse = parse0_0 initialPos where parse0_0 pos s = d@@ -244,7 +244,7 @@ Just (c, s') -> do put (parse0_0 (updatePos c pos) s') return c- _ -> gets derivsPosition >>= (throwError . mkParseError "" "end of input" "" undefined [])) d+ _ -> gets position >>= (throwError . mkParseError "" "end of input" "" undefined [])) d pegFile4_71 = foldl1 mplus [do pr <- StateT pragmas md <- StateT moduleDec pip <- StateT preImpPap@@ -257,24 +257,24 @@ _ <- StateT spaces return () d160_140 <- get- xx159_141 <- StateT derivsChars+ xx159_141 <- StateT char case xx159_141 of '|' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'|'" "not match pattern: " "" d160_140 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'|'" "not match pattern: " "" d160_140 ["char"]) let '|' = xx159_141 return () d162_142 <- get- xx161_143 <- StateT derivsChars+ xx161_143 <- StateT char case xx161_143 of ']' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "']'" "not match pattern: " "" d162_142 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "']'" "not match pattern: " "" d162_142 ["char"]) let ']' = xx161_143 return () d164_144 <- get- xx163_145 <- StateT derivsChars+ xx163_145 <- StateT char case xx163_145 of '\n' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d164_144 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d164_144 ["char"]) let '\n' = xx163_145 return () atp <- StateT afterPeg@@ -288,24 +288,24 @@ _ <- StateT spaces return () d180_146 <- get- xx179_147 <- StateT derivsChars+ xx179_147 <- StateT char case xx179_147 of '|' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'|'" "not match pattern: " "" d180_146 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'|'" "not match pattern: " "" d180_146 ["char"]) let '|' = xx179_147 return () d182_148 <- get- xx181_149 <- StateT derivsChars+ xx181_149 <- StateT char case xx181_149 of ']' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "']'" "not match pattern: " "" d182_148 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "']'" "not match pattern: " "" d182_148 ["char"]) let ']' = xx181_149 return () d184_150 <- get- xx183_151 <- StateT derivsChars+ xx183_151 <- StateT char case xx183_151 of '\n' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d184_150 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d184_150 ["char"]) let '\n' = xx183_151 return () atp <- StateT afterPeg@@ -319,82 +319,82 @@ return () return []] pragma6_73 = foldl1 mplus [do d196_152 <- get- xx195_153 <- StateT derivsChars+ xx195_153 <- StateT char case xx195_153 of '{' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'{'" "not match pattern: " "" d196_152 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'{'" "not match pattern: " "" d196_152 ["char"]) let '{' = xx195_153 return () d198_154 <- get- xx197_155 <- StateT derivsChars+ xx197_155 <- StateT char case xx197_155 of '-' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d198_154 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d198_154 ["char"]) let '-' = xx197_155 return () d200_156 <- get- xx199_157 <- StateT derivsChars+ xx199_157 <- StateT char case xx199_157 of '#' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'#'" "not match pattern: " "" d200_156 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'#'" "not match pattern: " "" d200_156 ["char"]) let '#' = xx199_157 return () _ <- StateT spaces return () d204_158 <- get- xx203_159 <- StateT derivsChars+ xx203_159 <- StateT char case xx203_159 of 'L' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'L'" "not match pattern: " "" d204_158 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'L'" "not match pattern: " "" d204_158 ["char"]) let 'L' = xx203_159 return () d206_160 <- get- xx205_161 <- StateT derivsChars+ xx205_161 <- StateT char case xx205_161 of 'A' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'A'" "not match pattern: " "" d206_160 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'A'" "not match pattern: " "" d206_160 ["char"]) let 'A' = xx205_161 return () d208_162 <- get- xx207_163 <- StateT derivsChars+ xx207_163 <- StateT char case xx207_163 of 'N' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'N'" "not match pattern: " "" d208_162 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'N'" "not match pattern: " "" d208_162 ["char"]) let 'N' = xx207_163 return () d210_164 <- get- xx209_165 <- StateT derivsChars+ xx209_165 <- StateT char case xx209_165 of 'G' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'G'" "not match pattern: " "" d210_164 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'G'" "not match pattern: " "" d210_164 ["char"]) let 'G' = xx209_165 return () d212_166 <- get- xx211_167 <- StateT derivsChars+ xx211_167 <- StateT char case xx211_167 of 'U' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'U'" "not match pattern: " "" d212_166 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'U'" "not match pattern: " "" d212_166 ["char"]) let 'U' = xx211_167 return () d214_168 <- get- xx213_169 <- StateT derivsChars+ xx213_169 <- StateT char case xx213_169 of 'A' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'A'" "not match pattern: " "" d214_168 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'A'" "not match pattern: " "" d214_168 ["char"]) let 'A' = xx213_169 return () d216_170 <- get- xx215_171 <- StateT derivsChars+ xx215_171 <- StateT char case xx215_171 of 'G' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'G'" "not match pattern: " "" d216_170 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'G'" "not match pattern: " "" d216_170 ["char"]) let 'G' = xx215_171 return () d218_172 <- get- xx217_173 <- StateT derivsChars+ xx217_173 <- StateT char case xx217_173 of 'E' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'E'" "not match pattern: " "" d218_172 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'E'" "not match pattern: " "" d218_172 ["char"]) let 'E' = xx217_173 return () _ <- StateT spaces@@ -406,24 +406,24 @@ return () return (LanguagePragma s), do d228_174 <- get- xx227_175 <- StateT derivsChars+ xx227_175 <- StateT char case xx227_175 of '{' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'{'" "not match pattern: " "" d228_174 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'{'" "not match pattern: " "" d228_174 ["char"]) let '{' = xx227_175 return () d230_176 <- get- xx229_177 <- StateT derivsChars+ xx229_177 <- StateT char case xx229_177 of '-' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d230_176 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d230_176 ["char"]) let '-' = xx229_177 return () d232_178 <- get- xx231_179 <- StateT derivsChars+ xx231_179 <- StateT char case xx231_179 of '#' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'#'" "not match pattern: " "" d232_178 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'#'" "not match pattern: " "" d232_178 ["char"]) let '#' = xx231_179 return () _ <- StateT spaces@@ -435,18 +435,18 @@ pragmaStr7_74 = foldl1 mplus [do ddd239_180 <- get do err <- ((do _ <- StateT pragmaEnd return ()) >> return False) `catchError` const (return True)- unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:pragmaEnd") "not match: " "" ddd239_180 ["pragmaEnd"]))+ unless err (gets position >>= (throwError . mkParseError ('!' : "_:pragmaEnd") "not match: " "" ddd239_180 ["pragmaEnd"])) put ddd239_180- c <- StateT derivsChars+ c <- StateT char s <- StateT pragmaStr return (c : s), return ""] pragmaItems8_75 = foldl1 mplus [do t <- StateT typToken d249_181 <- get- xx248_182 <- StateT derivsChars+ xx248_182 <- StateT char case xx248_182 of ',' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "','" "not match pattern: " "" d249_181 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "','" "not match pattern: " "" d249_181 ["char"]) let ',' = xx248_182 return () _ <- StateT spaces@@ -458,67 +458,67 @@ pragmaEnd9_76 = foldl1 mplus [do _ <- StateT spaces return () d259_183 <- get- xx258_184 <- StateT derivsChars+ xx258_184 <- StateT char case xx258_184 of '#' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'#'" "not match pattern: " "" d259_183 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'#'" "not match pattern: " "" d259_183 ["char"]) let '#' = xx258_184 return () d261_185 <- get- xx260_186 <- StateT derivsChars+ xx260_186 <- StateT char case xx260_186 of '-' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d261_185 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d261_185 ["char"]) let '-' = xx260_186 return () d263_187 <- get- xx262_188 <- StateT derivsChars+ xx262_188 <- StateT char case xx262_188 of '}' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'}'" "not match pattern: " "" d263_187 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'}'" "not match pattern: " "" d263_187 ["char"]) let '}' = xx262_188 return () return ()] moduleDec10_77 = foldl1 mplus [do d265_189 <- get- xx264_190 <- StateT derivsChars+ xx264_190 <- StateT char case xx264_190 of 'm' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'m'" "not match pattern: " "" d265_189 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'m'" "not match pattern: " "" d265_189 ["char"]) let 'm' = xx264_190 return () d267_191 <- get- xx266_192 <- StateT derivsChars+ xx266_192 <- StateT char case xx266_192 of 'o' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'o'" "not match pattern: " "" d267_191 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'o'" "not match pattern: " "" d267_191 ["char"]) let 'o' = xx266_192 return () d269_193 <- get- xx268_194 <- StateT derivsChars+ xx268_194 <- StateT char case xx268_194 of 'd' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'d'" "not match pattern: " "" d269_193 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'d'" "not match pattern: " "" d269_193 ["char"]) let 'd' = xx268_194 return () d271_195 <- get- xx270_196 <- StateT derivsChars+ xx270_196 <- StateT char case xx270_196 of 'u' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'u'" "not match pattern: " "" d271_195 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'u'" "not match pattern: " "" d271_195 ["char"]) let 'u' = xx270_196 return () d273_197 <- get- xx272_198 <- StateT derivsChars+ xx272_198 <- StateT char case xx272_198 of 'l' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'l'" "not match pattern: " "" d273_197 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'l'" "not match pattern: " "" d273_197 ["char"]) let 'l' = xx272_198 return () d275_199 <- get- xx274_200 <- StateT derivsChars+ xx274_200 <- StateT char case xx274_200 of 'e' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'e'" "not match pattern: " "" d275_199 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'e'" "not match pattern: " "" d275_199 ["char"]) let 'e' = xx274_200 return () _ <- StateT spaces@@ -527,10 +527,10 @@ _ <- StateT spaces return () d283_201 <- get- xx282_202 <- StateT derivsChars+ xx282_202 <- StateT char case xx282_202 of '(' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d283_201 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d283_201 ["char"]) let '(' = xx282_202 return () _ <- StateT spaces@@ -540,45 +540,45 @@ return () return (Just (n, Just s)), do d291_203 <- get- xx290_204 <- StateT derivsChars+ xx290_204 <- StateT char case xx290_204 of 'm' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'m'" "not match pattern: " "" d291_203 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'m'" "not match pattern: " "" d291_203 ["char"]) let 'm' = xx290_204 return () d293_205 <- get- xx292_206 <- StateT derivsChars+ xx292_206 <- StateT char case xx292_206 of 'o' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'o'" "not match pattern: " "" d293_205 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'o'" "not match pattern: " "" d293_205 ["char"]) let 'o' = xx292_206 return () d295_207 <- get- xx294_208 <- StateT derivsChars+ xx294_208 <- StateT char case xx294_208 of 'd' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'d'" "not match pattern: " "" d295_207 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'d'" "not match pattern: " "" d295_207 ["char"]) let 'd' = xx294_208 return () d297_209 <- get- xx296_210 <- StateT derivsChars+ xx296_210 <- StateT char case xx296_210 of 'u' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'u'" "not match pattern: " "" d297_209 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'u'" "not match pattern: " "" d297_209 ["char"]) let 'u' = xx296_210 return () d299_211 <- get- xx298_212 <- StateT derivsChars+ xx298_212 <- StateT char case xx298_212 of 'l' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'l'" "not match pattern: " "" d299_211 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'l'" "not match pattern: " "" d299_211 ["char"]) let 'l' = xx298_212 return () d301_213 <- get- xx300_214 <- StateT derivsChars+ xx300_214 <- StateT char case xx300_214 of 'e' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'e'" "not match pattern: " "" d301_213 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'e'" "not match pattern: " "" d301_213 ["char"]) let 'e' = xx300_214 return () _ <- StateT spaces@@ -587,38 +587,38 @@ _ <- StateT spaces return () d309_215 <- get- xx308_216 <- StateT derivsChars+ xx308_216 <- StateT char case xx308_216 of 'w' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'w'" "not match pattern: " "" d309_215 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'w'" "not match pattern: " "" d309_215 ["char"]) let 'w' = xx308_216 return () d311_217 <- get- xx310_218 <- StateT derivsChars+ xx310_218 <- StateT char case xx310_218 of 'h' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'h'" "not match pattern: " "" d311_217 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'h'" "not match pattern: " "" d311_217 ["char"]) let 'h' = xx310_218 return () d313_219 <- get- xx312_220 <- StateT derivsChars+ xx312_220 <- StateT char case xx312_220 of 'e' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'e'" "not match pattern: " "" d313_219 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'e'" "not match pattern: " "" d313_219 ["char"]) let 'e' = xx312_220 return () d315_221 <- get- xx314_222 <- StateT derivsChars+ xx314_222 <- StateT char case xx314_222 of 'r' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'r'" "not match pattern: " "" d315_221 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'r'" "not match pattern: " "" d315_221 ["char"]) let 'r' = xx314_222 return () d317_223 <- get- xx316_224 <- StateT derivsChars+ xx316_224 <- StateT char case xx316_224 of 'e' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'e'" "not match pattern: " "" d317_223 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'e'" "not match pattern: " "" d317_223 ["char"]) let 'e' = xx316_224 return () _ <- StateT spaces@@ -627,10 +627,10 @@ return Nothing] moduleName11_78 = foldl1 mplus [do t <- StateT typ d323_225 <- get- xx322_226 <- StateT derivsChars+ xx322_226 <- StateT char case xx322_226 of '.' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'.'" "not match pattern: " "" d323_225 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'.'" "not match pattern: " "" d323_225 ["char"]) let '.' = xx322_226 return () n <- StateT moduleName@@ -640,83 +640,83 @@ moduleDecStr12_79 = foldl1 mplus [do ddd328_227 <- get do err <- ((do _ <- StateT whr return ()) >> return False) `catchError` const (return True)- unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:whr") "not match: " "" ddd328_227 ["whr"]))+ unless err (gets position >>= (throwError . mkParseError ('!' : "_:whr") "not match: " "" ddd328_227 ["whr"])) put ddd328_227- c <- StateT derivsChars+ c <- StateT char s <- StateT moduleDecStr return (c : s), return ""] whr13_80 = foldl1 mplus [do _ <- StateT spaces return () d338_228 <- get- xx337_229 <- StateT derivsChars+ xx337_229 <- StateT char case xx337_229 of ')' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d338_228 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d338_228 ["char"]) let ')' = xx337_229 return () _ <- StateT spaces return () d342_230 <- get- xx341_231 <- StateT derivsChars+ xx341_231 <- StateT char case xx341_231 of 'w' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'w'" "not match pattern: " "" d342_230 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'w'" "not match pattern: " "" d342_230 ["char"]) let 'w' = xx341_231 return () d344_232 <- get- xx343_233 <- StateT derivsChars+ xx343_233 <- StateT char case xx343_233 of 'h' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'h'" "not match pattern: " "" d344_232 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'h'" "not match pattern: " "" d344_232 ["char"]) let 'h' = xx343_233 return () d346_234 <- get- xx345_235 <- StateT derivsChars+ xx345_235 <- StateT char case xx345_235 of 'e' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'e'" "not match pattern: " "" d346_234 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'e'" "not match pattern: " "" d346_234 ["char"]) let 'e' = xx345_235 return () d348_236 <- get- xx347_237 <- StateT derivsChars+ xx347_237 <- StateT char case xx347_237 of 'r' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'r'" "not match pattern: " "" d348_236 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'r'" "not match pattern: " "" d348_236 ["char"]) let 'r' = xx347_237 return () d350_238 <- get- xx349_239 <- StateT derivsChars+ xx349_239 <- StateT char case xx349_239 of 'e' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'e'" "not match pattern: " "" d350_238 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'e'" "not match pattern: " "" d350_238 ["char"]) let 'e' = xx349_239 return () return ()] preImpPap14_81 = foldl1 mplus [do ddd351_240 <- get do err <- ((do _ <- StateT importPapillon return ()) >> return False) `catchError` const (return True)- unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:importPapillon") "not match: " "" ddd351_240 ["importPapillon"]))+ unless err (gets position >>= (throwError . mkParseError ('!' : "_:importPapillon") "not match: " "" ddd351_240 ["importPapillon"])) put ddd351_240 ddd354_241 <- get do err <- ((do _ <- StateT pap return ()) >> return False) `catchError` const (return True)- unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:pap") "not match: " "" ddd354_241 ["pap"]))+ unless err (gets position >>= (throwError . mkParseError ('!' : "_:pap") "not match: " "" ddd354_241 ["pap"])) put ddd354_241- c <- StateT derivsChars+ c <- StateT char pip <- StateT preImpPap return (cons c pip), return emp] prePeg15_82 = foldl1 mplus [do ddd361_242 <- get do err <- ((do _ <- StateT pap return ()) >> return False) `catchError` const (return True)- unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:pap") "not match: " "" ddd361_242 ["pap"]))+ unless err (gets position >>= (throwError . mkParseError ('!' : "_:pap") "not match: " "" ddd361_242 ["pap"])) put ddd361_242- c <- StateT derivsChars+ c <- StateT char pp <- StateT prePeg return (cons c pp), return emp]- afterPeg16_83 = foldl1 mplus [do c <- StateT derivsChars+ afterPeg16_83 = foldl1 mplus [do c <- StateT char atp <- StateT afterPeg return (cons c atp), return emp]@@ -724,21 +724,21 @@ xx372_244 <- StateT varToken case xx372_244 of "import" -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "\"import\"" "not match pattern: " "" d373_243 ["varToken"])+ _ -> gets position >>= (throwError . mkParseError "\"import\"" "not match pattern: " "" d373_243 ["varToken"]) let "import" = xx372_244 return () d375_245 <- get xx374_246 <- StateT typToken case xx374_246 of "Text" -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "\"Text\"" "not match pattern: " "" d375_245 ["typToken"])+ _ -> gets position >>= (throwError . mkParseError "\"Text\"" "not match pattern: " "" d375_245 ["typToken"]) let "Text" = xx374_246 return () d377_247 <- get- xx376_248 <- StateT derivsChars+ xx376_248 <- StateT char case xx376_248 of '.' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'.'" "not match pattern: " "" d377_247 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'.'" "not match pattern: " "" d377_247 ["char"]) let '.' = xx376_248 return () _ <- StateT spaces@@ -747,18 +747,18 @@ xx380_250 <- StateT typToken case xx380_250 of "Papillon" -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "\"Papillon\"" "not match pattern: " "" d381_249 ["typToken"])+ _ -> gets position >>= (throwError . mkParseError "\"Papillon\"" "not match pattern: " "" d381_249 ["typToken"]) let "Papillon" = xx380_250 return () ddd382_251 <- get do err <- ((do d384_252 <- get- xx383_253 <- StateT derivsChars+ xx383_253 <- StateT char case xx383_253 of '.' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'.'" "not match pattern: " "" d384_252 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'.'" "not match pattern: " "" d384_252 ["char"]) let '.' = xx383_253 return ()) >> return False) `catchError` const (return True)- unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "'.':") "not match: " "" ddd382_251 ["derivsChars"]))+ unless err (gets position >>= (throwError . mkParseError ('!' : "'.':") "not match: " "" ddd382_251 ["char"])) put ddd382_251 return ()] varToken18_85 = foldl1 mplus [do v <- StateT variable@@ -770,87 +770,87 @@ return () return t] pap20_87 = foldl1 mplus [do d394_254 <- get- xx393_255 <- StateT derivsChars+ xx393_255 <- StateT char case xx393_255 of '\n' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d394_254 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d394_254 ["char"]) let '\n' = xx393_255 return () d396_256 <- get- xx395_257 <- StateT derivsChars+ xx395_257 <- StateT char case xx395_257 of '[' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'['" "not match pattern: " "" d396_256 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'['" "not match pattern: " "" d396_256 ["char"]) let '[' = xx395_257 return () d398_258 <- get- xx397_259 <- StateT derivsChars+ xx397_259 <- StateT char case xx397_259 of 'p' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'p'" "not match pattern: " "" d398_258 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'p'" "not match pattern: " "" d398_258 ["char"]) let 'p' = xx397_259 return () d400_260 <- get- xx399_261 <- StateT derivsChars+ xx399_261 <- StateT char case xx399_261 of 'a' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'a'" "not match pattern: " "" d400_260 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'a'" "not match pattern: " "" d400_260 ["char"]) let 'a' = xx399_261 return () d402_262 <- get- xx401_263 <- StateT derivsChars+ xx401_263 <- StateT char case xx401_263 of 'p' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'p'" "not match pattern: " "" d402_262 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'p'" "not match pattern: " "" d402_262 ["char"]) let 'p' = xx401_263 return () d404_264 <- get- xx403_265 <- StateT derivsChars+ xx403_265 <- StateT char case xx403_265 of 'i' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'i'" "not match pattern: " "" d404_264 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'i'" "not match pattern: " "" d404_264 ["char"]) let 'i' = xx403_265 return () d406_266 <- get- xx405_267 <- StateT derivsChars+ xx405_267 <- StateT char case xx405_267 of 'l' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'l'" "not match pattern: " "" d406_266 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'l'" "not match pattern: " "" d406_266 ["char"]) let 'l' = xx405_267 return () d408_268 <- get- xx407_269 <- StateT derivsChars+ xx407_269 <- StateT char case xx407_269 of 'l' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'l'" "not match pattern: " "" d408_268 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'l'" "not match pattern: " "" d408_268 ["char"]) let 'l' = xx407_269 return () d410_270 <- get- xx409_271 <- StateT derivsChars+ xx409_271 <- StateT char case xx409_271 of 'o' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'o'" "not match pattern: " "" d410_270 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'o'" "not match pattern: " "" d410_270 ["char"]) let 'o' = xx409_271 return () d412_272 <- get- xx411_273 <- StateT derivsChars+ xx411_273 <- StateT char case xx411_273 of 'n' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'n'" "not match pattern: " "" d412_272 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'n'" "not match pattern: " "" d412_272 ["char"]) let 'n' = xx411_273 return () d414_274 <- get- xx413_275 <- StateT derivsChars+ xx413_275 <- StateT char case xx413_275 of '|' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'|'" "not match pattern: " "" d414_274 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'|'" "not match pattern: " "" d414_274 ["char"]) let '|' = xx413_275 return () d416_276 <- get- xx415_277 <- StateT derivsChars+ xx415_277 <- StateT char case xx415_277 of '\n' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d416_276 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d416_276 ["char"]) let '\n' = xx415_277 return () return ()]@@ -865,14 +865,14 @@ xx425_279 <- StateT varToken case xx425_279 of "source" -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "\"source\"" "not match pattern: " "" d426_278 ["varToken"])+ _ -> gets position >>= (throwError . mkParseError "\"source\"" "not match pattern: " "" d426_278 ["varToken"]) let "source" = xx425_279 return () d428_280 <- get- xx427_281 <- StateT derivsChars+ xx427_281 <- StateT char case xx427_281 of ':' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d428_280 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d428_280 ["char"]) let ':' = xx427_281 return () _ <- StateT spaces@@ -889,17 +889,17 @@ _ <- StateT spaces return () d444_282 <- get- xx443_283 <- StateT derivsChars+ xx443_283 <- StateT char case xx443_283 of ':' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d444_282 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d444_282 ["char"]) let ':' = xx443_283 return () d446_284 <- get- xx445_285 <- StateT derivsChars+ xx445_285 <- StateT char case xx445_285 of ':' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d446_284 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d446_284 ["char"]) let ':' = xx445_285 return () _ <- StateT spaces@@ -908,10 +908,10 @@ _ <- StateT spaces return () d454_286 <- get- xx453_287 <- StateT derivsChars+ xx453_287 <- StateT char case xx453_287 of '=' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'='" "not match pattern: " "" d454_286 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'='" "not match pattern: " "" d454_286 ["char"]) let '=' = xx453_287 return () _ <- StateT spaces@@ -920,10 +920,10 @@ _ <- StateT spaces return () d462_288 <- get- xx461_289 <- StateT derivsChars+ xx461_289 <- StateT char case xx461_289 of ';' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "';'" "not match pattern: " "" d462_288 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "';'" "not match pattern: " "" d462_288 ["char"]) let ';' = xx461_289 return () return (mkDef v t sel)]@@ -931,10 +931,10 @@ _ <- StateT spaces return () d468_290 <- get- xx467_291 <- StateT derivsChars+ xx467_291 <- StateT char case xx467_291 of '/' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'/'" "not match pattern: " "" d468_290 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'/'" "not match pattern: " "" d468_290 ["char"]) let '/' = xx467_291 return () _ <- StateT spaces@@ -947,10 +947,10 @@ _ <- StateT spaces return () d480_292 <- get- xx479_293 <- StateT derivsChars+ xx479_293 <- StateT char case xx479_293 of '{' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'{'" "not match pattern: " "" d480_292 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'{'" "not match pattern: " "" d480_292 ["char"]) let '{' = xx479_293 return () _ <- StateT spaces@@ -959,10 +959,10 @@ _ <- StateT spaces return () d488_294 <- get- xx487_295 <- StateT derivsChars+ xx487_295 <- StateT char case xx487_295 of '}' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'}'" "not match pattern: " "" d488_294 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'}'" "not match pattern: " "" d488_294 ["char"]) let '}' = xx487_295 return () return (mkExpressionHs e h)]@@ -973,10 +973,10 @@ return (cons l e), return emp] nameLeaf_28_95 = foldl1 mplus [do d496_296 <- get- xx495_297 <- StateT derivsChars+ xx495_297 <- StateT char case xx495_297 of '!' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'!'" "not match pattern: " "" d496_296 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'!'" "not match pattern: " "" d496_296 ["char"]) let '!' = xx495_297 return () nl <- StateT nameLeafNoCom@@ -985,9 +985,9 @@ com <- optional3_298 (StateT comForErr) return (NotAfter nl $ maybe "" id com), do d504_299 <- get- xx503_300 <- StateT derivsChars+ xx503_300 <- StateT char let c = xx503_300- unless (isAmp c) (gets derivsPosition >>= (throwError . mkParseError "isAmp c" "not match: " "" d504_299 ["derivsChars"]))+ unless (isAmp c) (gets position >>= (throwError . mkParseError "isAmp c" "not match: " "" d504_299 ["char"])) nl <- StateT nameLeaf return (After nl), do nl <- StateT nameLeaf@@ -997,10 +997,10 @@ return () com <- optional3_298 (StateT comForErr) d516_301 <- get- xx515_302 <- StateT derivsChars+ xx515_302 <- StateT char case xx515_302 of ':' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d516_301 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d516_301 ["char"]) let ':' = xx515_302 return () (rf, p) <- StateT leaf@@ -1016,10 +1016,10 @@ return () com <- optional3_298 (StateT comForErr) d532_303 <- get- xx531_304 <- StateT derivsChars+ xx531_304 <- StateT char case xx531_304 of ':' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d532_303 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d532_303 ["char"]) let ':' = xx531_304 return () (rf, p) <- StateT leaf@@ -1029,64 +1029,64 @@ return () return (NameLeaf (n, "") FromToken Nothing)] comForErr31_98 = foldl1 mplus [do d540_305 <- get- xx539_306 <- StateT derivsChars+ xx539_306 <- StateT char case xx539_306 of '{' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'{'" "not match pattern: " "" d540_305 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'{'" "not match pattern: " "" d540_305 ["char"]) let '{' = xx539_306 return () d542_307 <- get- xx541_308 <- StateT derivsChars+ xx541_308 <- StateT char case xx541_308 of '-' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d542_307 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d542_307 ["char"]) let '-' = xx541_308 return () d544_309 <- get- xx543_310 <- StateT derivsChars+ xx543_310 <- StateT char case xx543_310 of '#' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'#'" "not match pattern: " "" d544_309 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'#'" "not match pattern: " "" d544_309 ["char"]) let '#' = xx543_310 return () _ <- StateT spaces return () d548_311 <- get- xx547_312 <- StateT derivsChars+ xx547_312 <- StateT char case xx547_312 of '"' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d548_311 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d548_311 ["char"]) let '"' = xx547_312 return () s <- StateT stringLit d552_313 <- get- xx551_314 <- StateT derivsChars+ xx551_314 <- StateT char case xx551_314 of '"' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d552_313 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d552_313 ["char"]) let '"' = xx551_314 return () _ <- StateT spaces return () d556_315 <- get- xx555_316 <- StateT derivsChars+ xx555_316 <- StateT char case xx555_316 of '#' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'#'" "not match pattern: " "" d556_315 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'#'" "not match pattern: " "" d556_315 ["char"]) let '#' = xx555_316 return () d558_317 <- get- xx557_318 <- StateT derivsChars+ xx557_318 <- StateT char case xx557_318 of '-' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d558_317 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d558_317 ["char"]) let '-' = xx557_318 return () d560_319 <- get- xx559_320 <- StateT derivsChars+ xx559_320 <- StateT char case xx559_320 of '}' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'}'" "not match pattern: " "" d560_319 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'}'" "not match pattern: " "" d560_319 ["char"]) let '}' = xx559_320 return () _ <- StateT spaces@@ -1107,14 +1107,14 @@ _ <- StateT spaces return () d582_321 <- get- xx581_322 <- StateT derivsChars+ xx581_322 <- StateT char let q = xx581_322- unless (isBQ q) (gets derivsPosition >>= (throwError . mkParseError "isBQ q" "not match: " "" d582_321 ["derivsChars"]))+ unless (isBQ q) (gets position >>= (throwError . mkParseError "isBQ q" "not match: " "" d582_321 ["char"])) t <- StateT typ d586_323 <- get- xx585_324 <- StateT derivsChars+ xx585_324 <- StateT char let q_ = xx585_324- unless (isBQ q_) (gets derivsPosition >>= (throwError . mkParseError "isBQ q_" "not match: " "" d586_323 ["derivsChars"]))+ unless (isBQ q_) (gets position >>= (throwError . mkParseError "isBQ q_" "not match: " "" d586_323 ["char"])) _ <- StateT spaces return () po <- StateT patOp@@ -1127,18 +1127,18 @@ ps <- StateT pats return (conToPatQ t ps), do d600_325 <- get- xx599_326 <- StateT derivsChars+ xx599_326 <- StateT char case xx599_326 of '(' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d600_325 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d600_325 ["char"]) let '(' = xx599_326 return () o <- StateT opConName d604_327 <- get- xx603_328 <- StateT derivsChars+ xx603_328 <- StateT char case xx603_328 of ')' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d604_327 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d604_327 ["char"]) let ')' = xx603_328 return () _ <- StateT spaces@@ -1153,7 +1153,7 @@ xx613_330 <- StateT variable case xx613_330 of "_" -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "\"_\"" "not match pattern: " "" d614_329 ["variable"])+ _ -> gets position >>= (throwError . mkParseError "\"_\"" "not match pattern: " "" d614_329 ["variable"]) let "_" = xx613_330 return () return wildP,@@ -1162,10 +1162,10 @@ do i <- StateT integer return (litP (integerL i)), do d620_331 <- get- xx619_332 <- StateT derivsChars+ xx619_332 <- StateT char case xx619_332 of '-' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d620_331 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d620_331 ["char"]) let '-' = xx619_332 return () _ <- StateT spaces@@ -1173,66 +1173,66 @@ i <- StateT integer return (litP (integerL $ negate i)), do d626_333 <- get- xx625_334 <- StateT derivsChars+ xx625_334 <- StateT char case xx625_334 of '\'' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d626_333 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d626_333 ["char"]) let '\'' = xx625_334 return () c <- StateT charLit d630_335 <- get- xx629_336 <- StateT derivsChars+ xx629_336 <- StateT char case xx629_336 of '\'' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d630_335 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d630_335 ["char"]) let '\'' = xx629_336 return () return (charP c), do d632_337 <- get- xx631_338 <- StateT derivsChars+ xx631_338 <- StateT char case xx631_338 of '"' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d632_337 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d632_337 ["char"]) let '"' = xx631_338 return () s <- StateT stringLit d636_339 <- get- xx635_340 <- StateT derivsChars+ xx635_340 <- StateT char case xx635_340 of '"' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d636_339 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d636_339 ["char"]) let '"' = xx635_340 return () return (stringP s), do d638_341 <- get- xx637_342 <- StateT derivsChars+ xx637_342 <- StateT char case xx637_342 of '(' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d638_341 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d638_341 ["char"]) let '(' = xx637_342 return () p <- StateT patList d642_343 <- get- xx641_344 <- StateT derivsChars+ xx641_344 <- StateT char case xx641_344 of ')' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d642_343 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d642_343 ["char"]) let ')' = xx641_344 return () return (tupP p), do d644_345 <- get- xx643_346 <- StateT derivsChars+ xx643_346 <- StateT char case xx643_346 of '[' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'['" "not match pattern: " "" d644_345 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'['" "not match pattern: " "" d644_345 ["char"]) let '[' = xx643_346 return () p <- StateT patList d648_347 <- get- xx647_348 <- StateT derivsChars+ xx647_348 <- StateT char case xx647_348 of ']' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "']'" "not match pattern: " "" d648_347 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "']'" "not match pattern: " "" d648_347 ["char"]) let ']' = xx647_348 return () return (listP p)]@@ -1240,10 +1240,10 @@ _ <- StateT spaces return () d654_349 <- get- xx653_350 <- StateT derivsChars+ xx653_350 <- StateT char case xx653_350 of ',' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "','" "not match pattern: " "" d654_349 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "','" "not match pattern: " "" d654_349 ["char"]) let ',' = xx653_350 return () _ <- StateT spaces@@ -1254,39 +1254,39 @@ return [p], return []] opConName37_104 = foldl1 mplus [do d662_351 <- get- xx661_352 <- StateT derivsChars+ xx661_352 <- StateT char case xx661_352 of ':' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d662_351 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d662_351 ["char"]) let ':' = xx661_352 return () ot <- StateT opTail return (mkName $ colon : ot)] charLit38_105 = foldl1 mplus [do d666_353 <- get- xx665_354 <- StateT derivsChars+ xx665_354 <- StateT char let c = xx665_354- unless (isAlphaNumOt c) (gets derivsPosition >>= (throwError . mkParseError "isAlphaNumOt c" "not match: " "" d666_353 ["derivsChars"]))+ unless (isAlphaNumOt c) (gets position >>= (throwError . mkParseError "isAlphaNumOt c" "not match: " "" d666_353 ["char"])) return c, do d668_355 <- get- xx667_356 <- StateT derivsChars+ xx667_356 <- StateT char case xx667_356 of '\\' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d668_355 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d668_355 ["char"]) let '\\' = xx667_356 return () c <- StateT escapeC return c] stringLit39_106 = foldl1 mplus [do d672_357 <- get- xx671_358 <- StateT derivsChars+ xx671_358 <- StateT char let c = xx671_358- unless (isStrLitC c) (gets derivsPosition >>= (throwError . mkParseError "isStrLitC c" "not match: " "" d672_357 ["derivsChars"]))+ unless (isStrLitC c) (gets position >>= (throwError . mkParseError "isStrLitC c" "not match: " "" d672_357 ["char"])) s <- StateT stringLit return (cons c s), do d676_359 <- get- xx675_360 <- StateT derivsChars+ xx675_360 <- StateT char case xx675_360 of '\\' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d676_359 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d676_359 ["char"]) let '\\' = xx675_360 return () c <- StateT escapeC@@ -1294,42 +1294,42 @@ return (c : s), return emp] escapeC40_107 = foldl1 mplus [do d682_361 <- get- xx681_362 <- StateT derivsChars+ xx681_362 <- StateT char case xx681_362 of '"' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d682_361 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d682_361 ["char"]) let '"' = xx681_362 return () return '"', do d684_363 <- get- xx683_364 <- StateT derivsChars+ xx683_364 <- StateT char case xx683_364 of '\'' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d684_363 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d684_363 ["char"]) let '\'' = xx683_364 return () return '\'', do d686_365 <- get- xx685_366 <- StateT derivsChars+ xx685_366 <- StateT char case xx685_366 of '\\' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d686_365 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d686_365 ["char"]) let '\\' = xx685_366 return () return '\\', do d688_367 <- get- xx687_368 <- StateT derivsChars+ xx687_368 <- StateT char case xx687_368 of 'n' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'n'" "not match pattern: " "" d688_367 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'n'" "not match pattern: " "" d688_367 ["char"]) let 'n' = xx687_368 return () return '\n', do d690_369 <- get- xx689_370 <- StateT derivsChars+ xx689_370 <- StateT char case xx689_370 of 't' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'t'" "not match pattern: " "" d690_369 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'t'" "not match pattern: " "" d690_369 ["char"]) let 't' = xx689_370 return () return tab]@@ -1341,28 +1341,28 @@ return emp] readFromLs42_109 = foldl1 mplus [do rf <- StateT readFrom d700_371 <- get- xx699_372 <- StateT derivsChars+ xx699_372 <- StateT char case xx699_372 of '*' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'*'" "not match pattern: " "" d700_371 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'*'" "not match pattern: " "" d700_371 ["char"]) let '*' = xx699_372 return () return (FromList rf), do rf <- StateT readFrom d704_373 <- get- xx703_374 <- StateT derivsChars+ xx703_374 <- StateT char case xx703_374 of '+' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'+'" "not match pattern: " "" d704_373 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'+'" "not match pattern: " "" d704_373 ["char"]) let '+' = xx703_374 return () return (FromList1 rf), do rf <- StateT readFrom d708_375 <- get- xx707_376 <- StateT derivsChars+ xx707_376 <- StateT char case xx707_376 of '?' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'?'" "not match pattern: " "" d708_375 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'?'" "not match pattern: " "" d708_375 ["char"]) let '?' = xx707_376 return () return (FromOptional rf),@@ -1371,26 +1371,26 @@ readFrom43_110 = foldl1 mplus [do v <- StateT variable return (FromVariable v), do d714_377 <- get- xx713_378 <- StateT derivsChars+ xx713_378 <- StateT char case xx713_378 of '(' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d714_377 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d714_377 ["char"]) let '(' = xx713_378 return () s <- StateT selection d718_379 <- get- xx717_380 <- StateT derivsChars+ xx717_380 <- StateT char case xx717_380 of ')' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d718_379 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d718_379 ["char"]) let ')' = xx717_380 return () return (FromSelection s)] test44_111 = foldl1 mplus [do d720_381 <- get- xx719_382 <- StateT derivsChars+ xx719_382 <- StateT char case xx719_382 of '[' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'['" "not match pattern: " "" d720_381 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'['" "not match pattern: " "" d720_381 ["char"]) let '[' = xx719_382 return () h <- StateT hsExpLam@@ -1398,18 +1398,18 @@ return () com <- optional3_298 (StateT comForErr) d728_383 <- get- xx727_384 <- StateT derivsChars+ xx727_384 <- StateT char case xx727_384 of ']' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "']'" "not match pattern: " "" d728_383 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "']'" "not match pattern: " "" d728_383 ["char"]) let ']' = xx727_384 return () return (h, maybe "" id com)] hsExpLam45_112 = foldl1 mplus [do d730_385 <- get- xx729_386 <- StateT derivsChars+ xx729_386 <- StateT char case xx729_386 of '\\' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d730_385 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d730_385 ["char"]) let '\\' = xx729_386 return () _ <- StateT spaces@@ -1418,16 +1418,16 @@ _ <- StateT spaces return () d738_387 <- get- xx737_388 <- StateT derivsChars+ xx737_388 <- StateT char case xx737_388 of '-' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d738_387 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d738_387 ["char"]) let '-' = xx737_388 return () d740_389 <- get- xx739_390 <- StateT derivsChars+ xx739_390 <- StateT char let c = xx739_390- unless (isGt c) (gets derivsPosition >>= (throwError . mkParseError "isGt c" "not match: " "" d740_389 ["derivsChars"]))+ unless (isGt c) (gets position >>= (throwError . mkParseError "isGt c" "not match: " "" d740_389 ["char"])) _ <- StateT spaces return () e <- StateT hsExpTyp@@ -1436,17 +1436,17 @@ return e] hsExpTyp46_113 = foldl1 mplus [do eo <- StateT hsExpOp d750_391 <- get- xx749_392 <- StateT derivsChars+ xx749_392 <- StateT char case xx749_392 of ':' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d750_391 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d750_391 ["char"]) let ':' = xx749_392 return () d752_393 <- get- xx751_394 <- StateT derivsChars+ xx751_394 <- StateT char case xx751_394 of ':' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d752_393 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d752_393 ["char"]) let ':' = xx751_394 return () _ <- StateT spaces@@ -1466,54 +1466,54 @@ do e <- StateT hsExp return (getEx e)] hsOp48_115 = foldl1 mplus [do d772_395 <- get- xx771_396 <- StateT derivsChars+ xx771_396 <- StateT char let c = xx771_396- unless (isOpHeadChar c) (gets derivsPosition >>= (throwError . mkParseError "isOpHeadChar c" "not match: " "" d772_395 ["derivsChars"]))+ unless (isOpHeadChar c) (gets position >>= (throwError . mkParseError "isOpHeadChar c" "not match: " "" d772_395 ["char"])) o <- StateT opTail return (varE (mkName (cons c o))), do d776_397 <- get- xx775_398 <- StateT derivsChars+ xx775_398 <- StateT char case xx775_398 of ':' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d776_397 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d776_397 ["char"]) let ':' = xx775_398 return () ddd777_399 <- get do err <- ((do d779_400 <- get- xx778_401 <- StateT derivsChars+ xx778_401 <- StateT char case xx778_401 of ':' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d779_400 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d779_400 ["char"]) let ':' = xx778_401 return ()) >> return False) `catchError` const (return True)- unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "':':") "not match: " "" ddd777_399 ["derivsChars"]))+ unless err (gets position >>= (throwError . mkParseError ('!' : "':':") "not match: " "" ddd777_399 ["char"])) put ddd777_399 o <- StateT opTail return (conE (mkName (':' : o))), do d783_402 <- get- xx782_403 <- StateT derivsChars+ xx782_403 <- StateT char let c = xx782_403- unless (isBQ c) (gets derivsPosition >>= (throwError . mkParseError "isBQ c" "not match: " "" d783_402 ["derivsChars"]))+ unless (isBQ c) (gets position >>= (throwError . mkParseError "isBQ c" "not match: " "" d783_402 ["char"])) v <- StateT variable d787_404 <- get- xx786_405 <- StateT derivsChars+ xx786_405 <- StateT char let c_ = xx786_405- unless (isBQ c_) (gets derivsPosition >>= (throwError . mkParseError "isBQ c_" "not match: " "" d787_404 ["derivsChars"]))+ unless (isBQ c_) (gets position >>= (throwError . mkParseError "isBQ c_" "not match: " "" d787_404 ["char"])) return (varE (mkName v)), do d789_406 <- get- xx788_407 <- StateT derivsChars+ xx788_407 <- StateT char let c = xx788_407- unless (isBQ c) (gets derivsPosition >>= (throwError . mkParseError "isBQ c" "not match: " "" d789_406 ["derivsChars"]))+ unless (isBQ c) (gets position >>= (throwError . mkParseError "isBQ c" "not match: " "" d789_406 ["char"])) t <- StateT typ d793_408 <- get- xx792_409 <- StateT derivsChars+ xx792_409 <- StateT char let c_ = xx792_409- unless (isBQ c_) (gets derivsPosition >>= (throwError . mkParseError "isBQ c_" "not match: " "" d793_408 ["derivsChars"]))+ unless (isBQ c_) (gets position >>= (throwError . mkParseError "isBQ c_" "not match: " "" d793_408 ["char"])) return (conE (mkName t))] opTail49_116 = foldl1 mplus [do d795_410 <- get- xx794_411 <- StateT derivsChars+ xx794_411 <- StateT char let c = xx794_411- unless (isOpTailChar c) (gets derivsPosition >>= (throwError . mkParseError "isOpTailChar c" "not match: " "" d795_410 ["derivsChars"]))+ unless (isOpTailChar c) (gets position >>= (throwError . mkParseError "isOpTailChar c" "not match: " "" d795_410 ["char"])) s <- StateT opTail return (cons c s), return emp]@@ -1525,10 +1525,10 @@ do e <- StateT hsExp1 return (toEx e)] hsExp151_118 = foldl1 mplus [do d807_412 <- get- xx806_413 <- StateT derivsChars+ xx806_413 <- StateT char case xx806_413 of '(' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d807_412 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d807_412 ["char"]) let '(' = xx806_413 return () l <- optional3_298 (foldl1 mplus [do e <- StateT hsExpTyp@@ -1541,42 +1541,42 @@ r <- optional3_298 (foldl1 mplus [do e <- StateT hsExpTyp return e]) d823_414 <- get- xx822_415 <- StateT derivsChars+ xx822_415 <- StateT char case xx822_415 of ')' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d823_414 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d823_414 ["char"]) let ')' = xx822_415 return () return (infixE l o r), do d825_416 <- get- xx824_417 <- StateT derivsChars+ xx824_417 <- StateT char case xx824_417 of '(' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d825_416 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d825_416 ["char"]) let '(' = xx824_417 return () et <- StateT hsExpTpl d829_418 <- get- xx828_419 <- StateT derivsChars+ xx828_419 <- StateT char case xx828_419 of ')' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d829_418 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d829_418 ["char"]) let ')' = xx828_419 return () return (tupE et), do d831_420 <- get- xx830_421 <- StateT derivsChars+ xx830_421 <- StateT char case xx830_421 of '[' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'['" "not match pattern: " "" d831_420 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'['" "not match pattern: " "" d831_420 ["char"]) let '[' = xx830_421 return () et <- StateT hsExpTpl d835_422 <- get- xx834_423 <- StateT derivsChars+ xx834_423 <- StateT char case xx834_423 of ']' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "']'" "not match pattern: " "" d835_422 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "']'" "not match pattern: " "" d835_422 ["char"]) let ']' = xx834_423 return () return (listE et),@@ -1589,42 +1589,42 @@ return () return (litE (integerL i)), do d845_424 <- get- xx844_425 <- StateT derivsChars+ xx844_425 <- StateT char case xx844_425 of '\'' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d845_424 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d845_424 ["char"]) let '\'' = xx844_425 return () c <- StateT charLit d849_426 <- get- xx848_427 <- StateT derivsChars+ xx848_427 <- StateT char case xx848_427 of '\'' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d849_426 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d849_426 ["char"]) let '\'' = xx848_427 return () return (litE (charL c)), do d851_428 <- get- xx850_429 <- StateT derivsChars+ xx850_429 <- StateT char case xx850_429 of '"' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d851_428 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d851_428 ["char"]) let '"' = xx850_429 return () s <- StateT stringLit d855_430 <- get- xx854_431 <- StateT derivsChars+ xx854_431 <- StateT char case xx854_431 of '"' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d855_430 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d855_430 ["char"]) let '"' = xx854_431 return () return (litE (stringL s)), do d857_432 <- get- xx856_433 <- StateT derivsChars+ xx856_433 <- StateT char case xx856_433 of '-' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d857_432 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d857_432 ["char"]) let '-' = xx856_433 return () _ <- StateT spaces@@ -1635,9 +1635,9 @@ _ <- StateT spaces return () d867_434 <- get- xx866_435 <- StateT derivsChars+ xx866_435 <- StateT char let c = xx866_435- unless (isComma c) (gets derivsPosition >>= (throwError . mkParseError "isComma c" "not match: " "" d867_434 ["derivsChars"]))+ unless (isComma c) (gets position >>= (throwError . mkParseError "isComma c" "not match: " "" d867_434 ["char"])) _ <- StateT spaces return () et <- StateT hsExpTpl@@ -1647,16 +1647,16 @@ return emp] hsTypeArr53_120 = foldl1 mplus [do l <- StateT hsType d877_436 <- get- xx876_437 <- StateT derivsChars+ xx876_437 <- StateT char case xx876_437 of '-' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d877_436 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d877_436 ["char"]) let '-' = xx876_437 return () d879_438 <- get- xx878_439 <- StateT derivsChars+ xx878_439 <- StateT char let c = xx878_439- unless (isGt c) (gets derivsPosition >>= (throwError . mkParseError "isGt c" "not match: " "" d879_438 ["derivsChars"]))+ unless (isGt c) (gets position >>= (throwError . mkParseError "isGt c" "not match: " "" d879_438 ["char"])) _ <- StateT spaces return () r <- StateT hsTypeArr@@ -1669,83 +1669,83 @@ do t <- StateT hsType1 return (toTyp t)] hsType155_122 = foldl1 mplus [do d893_440 <- get- xx892_441 <- StateT derivsChars+ xx892_441 <- StateT char case xx892_441 of '[' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'['" "not match pattern: " "" d893_440 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'['" "not match pattern: " "" d893_440 ["char"]) let '[' = xx892_441 return () d895_442 <- get- xx894_443 <- StateT derivsChars+ xx894_443 <- StateT char case xx894_443 of ']' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "']'" "not match pattern: " "" d895_442 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "']'" "not match pattern: " "" d895_442 ["char"]) let ']' = xx894_443 return () _ <- StateT spaces return () return listT, do d899_444 <- get- xx898_445 <- StateT derivsChars+ xx898_445 <- StateT char case xx898_445 of '[' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'['" "not match pattern: " "" d899_444 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'['" "not match pattern: " "" d899_444 ["char"]) let '[' = xx898_445 return () t <- StateT hsTypeArr d903_446 <- get- xx902_447 <- StateT derivsChars+ xx902_447 <- StateT char case xx902_447 of ']' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "']'" "not match pattern: " "" d903_446 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "']'" "not match pattern: " "" d903_446 ["char"]) let ']' = xx902_447 return () _ <- StateT spaces return () return (appT listT t), do d907_448 <- get- xx906_449 <- StateT derivsChars+ xx906_449 <- StateT char case xx906_449 of '(' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d907_448 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d907_448 ["char"]) let '(' = xx906_449 return () _ <- StateT spaces return () tt <- StateT hsTypeTpl d913_450 <- get- xx912_451 <- StateT derivsChars+ xx912_451 <- StateT char case xx912_451 of ')' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d913_450 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d913_450 ["char"]) let ')' = xx912_451 return () return (tupT tt), do t <- StateT typToken return (conT (mkName t)), do d917_452 <- get- xx916_453 <- StateT derivsChars+ xx916_453 <- StateT char case xx916_453 of '(' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d917_452 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d917_452 ["char"]) let '(' = xx916_453 return () d919_454 <- get- xx918_455 <- StateT derivsChars+ xx918_455 <- StateT char case xx918_455 of '-' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d919_454 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d919_454 ["char"]) let '-' = xx918_455 return () d921_456 <- get- xx920_457 <- StateT derivsChars+ xx920_457 <- StateT char let c = xx920_457- unless (isGt c) (gets derivsPosition >>= (throwError . mkParseError "isGt c" "not match: " "" d921_456 ["derivsChars"]))+ unless (isGt c) (gets position >>= (throwError . mkParseError "isGt c" "not match: " "" d921_456 ["char"])) d923_458 <- get- xx922_459 <- StateT derivsChars+ xx922_459 <- StateT char case xx922_459 of ')' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d923_458 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d923_458 ["char"]) let ')' = xx922_459 return () _ <- StateT spaces@@ -1753,9 +1753,9 @@ return arrowT] hsTypeTpl56_123 = foldl1 mplus [do t <- StateT hsTypeArr d929_460 <- get- xx928_461 <- StateT derivsChars+ xx928_461 <- StateT char let c = xx928_461- unless (isComma c) (gets derivsPosition >>= (throwError . mkParseError "isComma c" "not match: " "" d929_460 ["derivsChars"]))+ unless (isComma c) (gets position >>= (throwError . mkParseError "isComma c" "not match: " "" d929_460 ["char"])) _ <- StateT spaces return () tt <- StateT hsTypeTpl@@ -1784,27 +1784,27 @@ do d <- StateT digit return d, do d961_463 <- get- xx960_464 <- StateT derivsChars+ xx960_464 <- StateT char case xx960_464 of '\'' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d961_463 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d961_463 ["char"]) let '\'' = xx960_464 return () return '\''] upper62_129 = foldl1 mplus [do d963_465 <- get- xx962_466 <- StateT derivsChars+ xx962_466 <- StateT char let u = xx962_466- unless (isUpper u) (gets derivsPosition >>= (throwError . mkParseError "isUpper u" "not match: " "" d963_465 ["derivsChars"]))+ unless (isUpper u) (gets position >>= (throwError . mkParseError "isUpper u" "not match: " "" d963_465 ["char"])) return u] lower63_130 = foldl1 mplus [do d965_467 <- get- xx964_468 <- StateT derivsChars+ xx964_468 <- StateT char let l = xx964_468- unless (isLowerU l) (gets derivsPosition >>= (throwError . mkParseError "isLowerU l" "not match: " "" d965_467 ["derivsChars"]))+ unless (isLowerU l) (gets position >>= (throwError . mkParseError "isLowerU l" "not match: " "" d965_467 ["char"])) return l] digit64_131 = foldl1 mplus [do d967_469 <- get- xx966_470 <- StateT derivsChars+ xx966_470 <- StateT char let d = xx966_470- unless (isDigit d) (gets derivsPosition >>= (throwError . mkParseError "isDigit d" "not match: " "" d967_469 ["derivsChars"]))+ unless (isDigit d) (gets position >>= (throwError . mkParseError "isDigit d" "not match: " "" d967_469 ["char"])) return d] spaces65_132 = foldl1 mplus [do _ <- StateT space return ()@@ -1813,22 +1813,22 @@ return (), return ()] space66_133 = foldl1 mplus [do d973_471 <- get- xx972_472 <- StateT derivsChars+ xx972_472 <- StateT char let s = xx972_472- unless (isSpace s) (gets derivsPosition >>= (throwError . mkParseError "isSpace s" "not match: " "" d973_471 ["derivsChars"]))+ unless (isSpace s) (gets position >>= (throwError . mkParseError "isSpace s" "not match: " "" d973_471 ["char"])) return (), do d975_473 <- get- xx974_474 <- StateT derivsChars+ xx974_474 <- StateT char case xx974_474 of '-' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d975_473 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d975_473 ["char"]) let '-' = xx974_474 return () d977_475 <- get- xx976_476 <- StateT derivsChars+ xx976_476 <- StateT char case xx976_476 of '-' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d977_475 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d977_475 ["char"]) let '-' = xx976_476 return () _ <- StateT notNLString@@ -1842,43 +1842,43 @@ notNLString67_134 = foldl1 mplus [do ddd984_477 <- get do err <- ((do _ <- StateT newLine return ()) >> return False) `catchError` const (return True)- unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:newLine") "not match: " "" ddd984_477 ["newLine"]))+ unless err (gets position >>= (throwError . mkParseError ('!' : "_:newLine") "not match: " "" ddd984_477 ["newLine"])) put ddd984_477- c <- StateT derivsChars+ c <- StateT char s <- StateT notNLString return (cons c s), return emp] newLine68_135 = foldl1 mplus [do d992_478 <- get- xx991_479 <- StateT derivsChars+ xx991_479 <- StateT char case xx991_479 of '\n' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d992_478 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d992_478 ["char"]) let '\n' = xx991_479 return () return ()] comment69_136 = foldl1 mplus [do d994_480 <- get- xx993_481 <- StateT derivsChars+ xx993_481 <- StateT char case xx993_481 of '{' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'{'" "not match pattern: " "" d994_480 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'{'" "not match pattern: " "" d994_480 ["char"]) let '{' = xx993_481 return () d996_482 <- get- xx995_483 <- StateT derivsChars+ xx995_483 <- StateT char case xx995_483 of '-' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d996_482 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d996_482 ["char"]) let '-' = xx995_483 return () ddd997_484 <- get do err <- ((do d999_485 <- get- xx998_486 <- StateT derivsChars+ xx998_486 <- StateT char case xx998_486 of '#' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'#'" "not match pattern: " "" d999_485 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'#'" "not match pattern: " "" d999_485 ["char"]) let '#' = xx998_486 return ()) >> return False) `catchError` const (return True)- unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "'#':") "not match: " "" ddd997_484 ["derivsChars"]))+ unless err (gets position >>= (throwError . mkParseError ('!' : "'#':") "not match: " "" ddd997_484 ["char"])) put ddd997_484 _ <- StateT comments return ()@@ -1898,31 +1898,31 @@ notComStr71_138 = foldl1 mplus [do ddd1012_487 <- get do err <- ((do _ <- StateT comment return ()) >> return False) `catchError` const (return True)- unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:comment") "not match: " "" ddd1012_487 ["comment"]))+ unless err (gets position >>= (throwError . mkParseError ('!' : "_:comment") "not match: " "" ddd1012_487 ["comment"])) put ddd1012_487 ddd1015_488 <- get do err <- ((do _ <- StateT comEnd return ()) >> return False) `catchError` const (return True)- unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:comEnd") "not match: " "" ddd1015_488 ["comEnd"]))+ unless err (gets position >>= (throwError . mkParseError ('!' : "_:comEnd") "not match: " "" ddd1015_488 ["comEnd"])) put ddd1015_488- _ <- StateT derivsChars+ _ <- StateT char return () _ <- StateT notComStr return () return (), return ()] comEnd72_139 = foldl1 mplus [do d1023_489 <- get- xx1022_490 <- StateT derivsChars+ xx1022_490 <- StateT char case xx1022_490 of '-' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d1023_489 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d1023_489 ["char"]) let '-' = xx1022_490 return () d1025_491 <- get- xx1024_492 <- StateT derivsChars+ xx1024_492 <- StateT char case xx1024_492 of '}' -> return ()- _ -> gets derivsPosition >>= (throwError . mkParseError "'}'" "not match pattern: " "" d1025_491 ["derivsChars"])+ _ -> gets position >>= (throwError . mkParseError "'}'" "not match pattern: " "" d1025_491 ["char"]) let '}' = xx1024_492 return () return ()]
src/Text/Papillon/SyntaxTree.hs view
@@ -15,7 +15,7 @@ nameFromRF :: ReadFrom -> [String] nameFromRF (FromVariable s) = [s]-nameFromRF FromToken = ["derivsChars"]+nameFromRF FromToken = ["char"] nameFromRF (FromList rf) = nameFromRF rf nameFromRF (FromList1 rf) = nameFromRF rf nameFromRF (FromOptional rf) = nameFromRF rf
src/Text/PapillonCore.hs view
@@ -2,21 +2,31 @@ FlexibleInstances #-} module Text.PapillonCore (+ -- * For Text.Papillon library papillonCore, - papillonFile,- PPragma(..),- ModuleName,- ExportList,- Code,- Source(..), SourceList(..),- ParseError(..),++ -- ** For parse error message+ ParseError, mkParseError,+ peDerivs,+ peReading,+ peMessage,+ peCode,+ peComment,+ pePosition,+ pePositionS, Pos(..), ListPos(..),- pePositionS,++ -- * For papillon command+ papillonFile,+ PPragma(..),+ ModuleName,+ ExportList,+ Code, ) where import Language.Haskell.TH@@ -158,7 +168,7 @@ p = pePositionS pe showReading :: Derivs -> String -> String-showReading d "derivsChars" = case derivsChars d of+showReading d "char" = case char d of Right (c, _) -> show c Left _ -> error "bad" showReading _ n = "yet: " ++ n@@ -190,8 +200,8 @@ (if isOptionalUsed pg then od else []) dvCharsN, dvPosN :: Name-dvCharsN = mkName "derivsChars"-dvPosN = mkName "derivsPosition"+dvCharsN = mkName "char"+dvPosN = mkName "position" derivs :: Bool -> TypeQ -> TypeQ -> Peg -> DecQ derivs _ src tkn pegg = dataD (cxt []) (mkName "Derivs") [] [@@ -242,18 +252,18 @@ parseE :: IORef Int -> Bool -> Name -> [Name] -> Peg -> ClauseQ parseE g th pgn pnames pegg = do tmps <- mapM (newNewName g) names- parseE' g th pgn tmps pnames+ parseE' g th pgn tmps pnames $ map mkName names where names = map (\(n, _, _) -> n) pegg-parseE' :: IORef Int -> Bool -> Name -> [Name] -> [Name] -> ClauseQ-parseE' g th pgn tmps pnames = do+parseE' :: IORef Int -> Bool -> Name -> [Name] -> [Name] -> [Name] -> ClauseQ+parseE' g th pgn tmps pnames names = do chars <- newNewName g "chars" clause [varP $ mkName "pos", varP $ mkName "s"] (normalB $ varE $ mkName "d") $ [ flip (valD $ varP $ mkName "d") [] $ normalB $ appsE $ conE (mkName "Derivs") : map varE tmps ++ [varE chars, varE $ mkName "pos"]- ] ++ zipWith (parseE1 th) tmps pnames ++ [parseChar th pgn chars]+ ] ++ zipWith3 (parseE1 th) tmps pnames names ++ [parseChar th pgn chars] parseChar :: Bool -> Name -> Name -> DecQ parseChar th pgn chars = flip (valD $ varP chars) [] $ normalB $@@ -283,10 +293,9 @@ s' = mkName "s'" returnE = varE $ returnN th parseGenE = varE pgn-parseE1 :: Bool -> Name -> Name -> DecQ-parseE1 th tmp name = flip (valD $ varP tmp) [] $ normalB $- varE (runStateTN th) `appE` varE name- `appE` varE (mkName "d")+parseE1 :: Bool -> Name -> Name -> Name -> DecQ+parseE1 th tmp name _ = flip (valD $ varP tmp) [] $ normalB $+ varE (runStateTN th) `appE` varE name `appE` varE (mkName "d") pSomes :: IORef Int -> Bool -> Name -> Name -> Name -> [Name] -> Peg -> DecsQ pSomes g th lst lst1 opt = zipWithM $ pSomes1 g th lst lst1 opt