pretty-show 1.5 → 1.6
raw patch · 7 files changed
+433/−281 lines, 7 files
Files
- Text/Show/Html.hs +6/−0
- Text/Show/Parser.y +14/−2
- Text/Show/Pretty.hs +39/−23
- Text/Show/Value.hs +18/−10
- bin/ppsh.hs +0/−1
- dist/build/Text/Show/Parser.hs +354/−244
- pretty-show.cabal +2/−1
Text/Show/Html.hs view
@@ -36,6 +36,11 @@ Rec con fs -> tallRecord con (map fst fs) (map (loop . snd) fs) Tuple vs -> wideTuple (map loop vs) + InfixCons v ms ->+ table "infix"+ [ tr $ map td $ loop v : [ h | (op,u) <- ms+ , h <- [ text op, loop u ] ] ]+ List [] -> span "list" (text "[]") List vs@(v : vs1) -> case v of@@ -61,6 +66,7 @@ Float {} -> wideList (wideListWidth opts) $ map loop vs Char {} -> wideList (wideListWidth opts) $ map loop vs String {} -> tallList $ map loop vs+ InfixCons {} -> tallList $ map loop vs Neg v -> case v of
Text/Show/Parser.y view
@@ -19,6 +19,7 @@ ',' { (Special, (_,",")) } '-' { (Varsym, (_,"-")) } '%' { (Varsym, (_,"%")) }+ '`' { (Special, (_,"`")) } INT { (IntLit, (_,$$)) } FLOAT { (FloatLit, (_,$$)) }@@ -46,7 +47,11 @@ : value '%' app_value { Ratio $1 $3 } | '-' avalue { Neg $2 } | app_value { $1 }+ | app_value list1(infixelem) { InfixCons $1 $2 } +infixelem :: { (String,Value) }+ : infixcon app_value { ($1,$2) }+ app_value :: { Value } : con list1(avalue) { Con $1 $2 } | avalue { $1 }@@ -73,6 +78,12 @@ | prefix(VARSYM) { $1 } | prefix(QVARSYM) { $1 } +infixcon :: { String }+ : CONSYM { $1 }+ | QCONSYM { $1 }+ | '`' CONID '`' { backtick $2 }+ | '`' QCONID '`' { backtick $2 }+ field :: { (Name,Value) } : VARID '=' value { ($1,$3) } @@ -80,7 +91,6 @@ : { [] } | value ',' sep1(value,',') { $1 : $3 } - -- Common Rule Patterns -------------------------------------------------------- prefix(p) : '(' p ')' { "(" ++ $2 ++ ")" } @@ -99,8 +109,10 @@ - {+backtick :: String -> String+backtick s = "`" ++ s ++ "`"+ happyError :: [PosToken] -> Maybe a happyError ((_,(p,_)) : _) = Nothing -- error ("Parser error at: " ++ show p) happyError [] = Nothing -- error ("Parser error at EOF")
Text/Show/Pretty.hs view
@@ -28,6 +28,9 @@ -- * Rendering values to Html , valToHtml, HtmlOpts(..), defaultHtmlOpts, htmlPage, Html(..) + -- * Get location of data files+ , getDataDir+ -- * Deprecated , ppValue ) where@@ -38,6 +41,7 @@ import Text.Show.PrettyVal import Text.Show.Html import Language.Haskell.Lexer(rmSpace,lexerPass0)+import Paths_pretty_show (getDataDir) {-# DEPRECATED ppValue "Please use `valToDoc` instead." #-} ppValue :: Value -> Doc@@ -85,20 +89,28 @@ -- easier to understand by a human. valToDoc :: Value -> Doc valToDoc val = case val of- Con c vs -> ppCon c vs- Rec c fs -> hang (text c) 2 $ block '{' '}' (map ppField fs)- where ppField (x,v) = text x <+> char '=' <+> valToDoc v+ Con c vs -> ppCon c vs+ InfixCons v1 cvs -> hang_sep (go v1 cvs)+ where+ go v [] = [ppInfixAtom v]+ go v ((n,v2):cvs') = (ppInfixAtom v <+> text n):go v2 cvs' - List vs -> block '[' ']' (map valToDoc vs)- Tuple vs -> block '(' ')' (map valToDoc vs)- Neg v -> char '-' <> ppAtom v- Ratio x y -> ppCon "(%)" [x,y]- Integer x -> text x- Float x -> text x- Char x -> text x- String x -> text x+ hang_sep [] = empty+ hang_sep (x:xs) = hang x 2 (sep xs)+ -- hang (ppInfixAtom v1) 2 (sep [ text n <+> ppInfixAtom v | (n,v) <- cvs ])+ Rec c fs -> hang (text c) 2 $ block '{' '}' (map ppField fs)+ where ppField (x,v) = hang (text x <+> char '=') 2 (valToDoc v) + List vs -> block '[' ']' (map valToDoc vs)+ Tuple vs -> block '(' ')' (map valToDoc vs)+ Neg v -> char '-' <> ppAtom v+ Ratio x y -> hang (ppAtom x <+> text "%") 2 (ppAtom y)+ Integer x -> text x+ Float x -> text x+ Char x -> text x+ String x -> text x + -- Private --------------------------------------------------------------------- ppAtom :: Value -> Doc@@ -106,26 +118,30 @@ | isAtom v = valToDoc v | otherwise = parens (valToDoc v) -ppCon :: Name -> [Value] -> Doc-ppCon c [] = text c-ppCon c (v : vs) = hang line1 2 (foldl addParam doc1 vs)- where (line1,doc1)- | isAtom v = (text c, valToDoc v)- | otherwise = (text c <+> char '(', valToDoc v <+> char ')')+ppInfixAtom :: Value -> Doc+ppInfixAtom v+ | isInfixAtom v = valToDoc v+ | otherwise = parens (valToDoc v) - addParam d p- | isAtom p = d $$ valToDoc p- | otherwise = (d <+> char '(') $$ (valToDoc p <+> char ')')+ppCon :: Name -> [Value] -> Doc+ppCon c vs = hang (text c) 2 (sep (map ppAtom vs)) isAtom :: Value -> Bool isAtom (Con _ (_:_)) = False+isAtom (InfixCons {}) = False isAtom (Ratio {}) = False isAtom (Neg {}) = False isAtom _ = True +-- Don't put parenthesis around constructors in infix chains+isInfixAtom :: Value -> Bool+isInfixAtom (InfixCons {}) = False+isInfixAtom (Ratio {}) = False+isInfixAtom (Neg {}) = False+isInfixAtom _ = True+ block :: Char -> Char -> [Doc] -> Doc block a b [] = char a <> char b-block a b (d:ds) = char a <+> d- $$ vcat [ char ',' <+> x | x <- ds ]- $$ char b+block a b (d:ds) = sep $+ (char a <+> d) : [ char ',' <+> x | x <- ds ] ++ [ char b ]
Text/Show/Value.hs view
@@ -20,14 +20,22 @@ -- | Generic Haskell values. -- 'NaN' and 'Infinity' are represented as constructors. -- The 'String' in the literals is the text for the literals \"as is\".-data Value = Con Name [Value] -- ^ Data constructor- | Rec Name [ (Name,Value) ] -- ^ Record value- | Tuple [Value] -- ^ Tuple- | List [Value] -- ^ List- | Neg Value -- ^ Negated value- | Ratio Value Value -- ^ Rational- | Integer String -- ^ Non-negative integer- | Float String -- ^ Non-negative floating num.- | Char String -- ^ Character- | String String -- ^ String+--+-- A chain of infix constructors means that they appeared in the input string+-- without parentheses, i.e+--+-- @1 :+: 2 :*: 3@ is represented with @InfixCons 1 [(":+:",2),(":*:",3)]@, whereas+--+-- @1 :+: (2 :*: 3)@ is represented with @InfixCons 1 [(":+:",InfixCons 2 [(":*:",3)])]@.+data Value = Con Name [Value] -- ^ Data constructor+ | InfixCons Value [(Name,Value)] -- ^ Infix data constructor chain+ | Rec Name [ (Name,Value) ] -- ^ Record value+ | Tuple [Value] -- ^ Tuple+ | List [Value] -- ^ List+ | Neg Value -- ^ Negated value+ | Ratio Value Value -- ^ Rational+ | Integer String -- ^ Non-negative integer+ | Float String -- ^ Non-negative floating num.+ | Char String -- ^ Character+ | String String -- ^ String deriving (Eq,Show)
bin/ppsh.hs view
@@ -1,7 +1,6 @@ import Text.Show.Pretty import System.Environment import System.IO(hPutStrLn,stderr)-import Paths_pretty_show main :: IO () main =
dist/build/Text/Show/Parser.hs view
@@ -11,180 +11,204 @@ -- parser produced by Happy Version 1.18.10 -newtype HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 = HappyAbsSyn HappyAny+newtype HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31 = HappyAbsSyn HappyAny #if __GLASGOW_HASKELL__ >= 607 type HappyAny = Happy_GHC_Exts.Any #else type HappyAny = forall a . a #endif-happyIn4 :: (Value) -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn4 :: (Value) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn4 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn4 #-}-happyOut4 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> (Value)+happyOut4 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> (Value) happyOut4 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut4 #-}-happyIn5 :: (Value) -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn5 :: ((String,Value)) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn5 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn5 #-}-happyOut5 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> (Value)+happyOut5 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> ((String,Value)) happyOut5 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut5 #-}-happyIn6 :: (Value) -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn6 :: (Value) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn6 #-}-happyOut6 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> (Value)+happyOut6 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> (Value) happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut6 #-}-happyIn7 :: (String) -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn7 :: (Value) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> (String)+happyOut7 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> (Value) happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut7 #-}-happyIn8 :: ((Name,Value)) -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn8 :: (String) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> ((Name,Value))+happyOut8 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> (String) happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut8 #-}-happyIn9 :: ([Value]) -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn9 :: (String) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> ([Value])+happyOut9 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> (String) happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut9 #-}-happyIn10 :: t10 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn10 :: ((Name,Value)) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t10+happyOut10 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> ((Name,Value)) happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut10 #-}-happyIn11 :: t11 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn11 :: ([Value]) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t11+happyOut11 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> ([Value]) happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut11 #-}-happyIn12 :: t12 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn12 :: t12 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t12+happyOut12 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t12 happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut12 #-}-happyIn13 :: t13 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn13 :: t13 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t13+happyOut13 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t13 happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut13 #-}-happyIn14 :: t14 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn14 :: t14 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t14+happyOut14 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t14 happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut14 #-}-happyIn15 :: t15 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn15 :: t15 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t15+happyOut15 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t15 happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut15 #-}-happyIn16 :: t16 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn16 :: t16 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t16+happyOut16 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t16 happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut16 #-}-happyIn17 :: t17 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn17 :: t17 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t17+happyOut17 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t17 happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut17 #-}-happyIn18 :: t18 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn18 :: t18 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t18+happyOut18 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t18 happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut18 #-}-happyIn19 :: t19 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn19 :: t19 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t19+happyOut19 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t19 happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut19 #-}-happyIn20 :: t20 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn20 :: t20 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t20+happyOut20 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t20 happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut20 #-}-happyIn21 :: t21 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn21 :: t21 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t21+happyOut21 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t21 happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut21 #-}-happyIn22 :: t22 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn22 :: t22 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t22+happyOut22 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t22 happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut22 #-}-happyIn23 :: t23 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn23 :: t23 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t23+happyOut23 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t23 happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut23 #-}-happyIn24 :: t24 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn24 :: t24 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t24+happyOut24 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t24 happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut24 #-}-happyIn25 :: t25 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn25 :: t25 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t25+happyOut25 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t25 happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut25 #-}-happyIn26 :: t26 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn26 :: t26 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t26+happyOut26 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t26 happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut26 #-}-happyIn27 :: t27 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn27 :: t27 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t27+happyOut27 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t27 happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut27 #-}-happyInTok :: (PosToken) -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn28 :: t28 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31)+happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn28 #-}+happyOut28 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t28+happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut28 #-}+happyIn29 :: t29 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31)+happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn29 #-}+happyOut29 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t29+happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut29 #-}+happyIn30 :: t30 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31)+happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn30 #-}+happyOut30 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t30+happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut30 #-}+happyIn31 :: t31 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31)+happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn31 #-}+happyOut31 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t31+happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut31 #-}+happyInTok :: (PosToken) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyInTok x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> (PosToken)+happyOutTok :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> (PosToken) happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOutTok #-} happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x36\x00\x36\x00\x4c\x00\x00\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x14\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x45\x00\x00\x00\x44\x00\x0f\x00\x32\x00\x00\x00\xd5\x00\x4a\x00\x49\x00\x3d\x00\x3b\x00\x3a\x00\x00\x00\x00\x00\x45\x00\x22\x00\x28\x00\x2a\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x14\x00\x00\x00\x20\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x17\x00\x00\x00\x00\x00\x12\x00\x00\x00"#+happyActOffsets = HappyA# "\x39\x00\x39\x00\x58\x00\x55\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x15\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x49\x00\x00\x00\x5d\x00\x28\x00\x45\x00\x00\x00\x73\x00\x59\x00\x51\x00\x50\x00\x4f\x00\x4e\x00\x00\x00\x00\x00\x49\x00\x40\x00\x00\x00\x49\x00\x00\x00\x55\x00\x1f\x00\x00\x00\x00\x00\x38\x00\x36\x00\x00\x00\x00\x00\x3c\x00\x3b\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x15\x00\x00\x00\x27\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00"# happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\xaf\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x5a\x00\xcb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00\x00\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x00\x72\x00\xf2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x99\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\xff\xfe\xff\x00\x00\x00\x00\x00\x00\x00\x00"#+happyGotoOffsets = HappyA# "\xb7\x00\xb2\x00\x00\x00\x5a\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x91\x00\x64\x00\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\x00\x00\x00\x00\x00\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x1a\x00\x00\x00\xc3\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\xff\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xeb\xff\xfc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\xfc\xff\xfa\xff\xf5\xff\xee\xff\xed\xff\xe9\xff\xea\xff\xe7\xff\xdd\xff\x00\x00\xf4\xff\xf3\xff\xf2\xff\xf1\xff\xec\xff\xeb\xff\xf0\xff\xef\xff\x00\x00\x00\x00\xfd\xff\xf5\xff\xda\xff\x00\x00\xde\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xff\xfb\xff\xe5\xff\xdf\xff\xd4\xff\x00\x00\xe0\xff\x00\x00\xd8\xff\xe3\xff\xe4\xff\xe2\xff\xe1\xff\xf7\xff\xf9\xff\x00\x00\xf8\xff\xdc\xff\xd0\xff\xdb\xff\xd3\xff\x00\x00\xfe\xff\xd6\xff\xcf\xff\xe6\xff\x00\x00\xf6\xff\xd7\xff\xce\xff\xd5\xff\xd1\xff\x00\x00\xd2\xff\xcd\xff\xe8\xff"#+happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\xfc\xff\xf8\xff\xf3\xff\xec\xff\xeb\xff\xe7\xff\xe8\xff\xe1\xff\xd6\xff\x00\x00\xf2\xff\xf1\xff\xf0\xff\xef\xff\xea\xff\xe9\xff\xee\xff\xed\xff\x00\x00\x00\x00\xfd\xff\xf3\xff\xd3\xff\x00\x00\xd7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\xff\xf9\xff\xdf\xff\xd8\xff\xd0\xff\x00\x00\xfb\xff\xde\xff\x00\x00\xe6\xff\xe5\xff\x00\x00\x00\x00\xcf\xff\xfa\xff\xcb\xff\x00\x00\xd9\xff\x00\x00\xd1\xff\xdc\xff\xdd\xff\xdb\xff\xda\xff\xf5\xff\xf7\xff\x00\x00\xf6\xff\xd5\xff\xc7\xff\xd4\xff\xca\xff\x00\x00\xfe\xff\xcd\xff\xc6\xff\xe0\xff\x00\x00\xf4\xff\xce\xff\xc5\xff\xcc\xff\xc8\xff\x00\x00\xe3\xff\xe4\xff\xc9\xff\xc4\xff\xe2\xff"# happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x02\x00\x04\x00\x14\x00\x12\x00\x06\x00\x14\x00\x15\x00\x09\x00\x17\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x02\x00\x08\x00\x0a\x00\x0a\x00\x06\x00\x11\x00\x0a\x00\x09\x00\x08\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x17\x00\x0f\x00\x13\x00\x14\x00\x02\x00\x0a\x00\x04\x00\x08\x00\x06\x00\x01\x00\x05\x00\x08\x00\x0f\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x02\x00\x07\x00\x13\x00\x14\x00\x06\x00\x03\x00\x03\x00\x09\x00\x03\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x02\x00\x04\x00\x13\x00\x14\x00\x06\x00\x03\x00\x03\x00\xff\xff\xff\xff\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x0a\x00\xff\xff\x13\x00\x14\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\xff\xff\x0c\x00\x0d\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x02\x00\x03\x00\x0d\x00\x04\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\xff\xff\x0b\x00\xff\xff\xff\xff\x0f\x00\xff\xff\x10\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\x05\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0e\x00\xff\xff\x03\x00\x11\x00\xff\xff\x13\x00\xff\xff\x08\x00\x16\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#+happyCheck = HappyA# "\xff\xff\x02\x00\x06\x00\x18\x00\x16\x00\x06\x00\x18\x00\x19\x00\x09\x00\x1b\x00\x15\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x02\x00\x01\x00\x0a\x00\x0a\x00\x06\x00\x05\x00\x10\x00\x09\x00\x01\x00\x06\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x18\x00\x0e\x00\x14\x00\x15\x00\x02\x00\x08\x00\x04\x00\x14\x00\x06\x00\x08\x00\x0a\x00\x0a\x00\x14\x00\x15\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x02\x00\x08\x00\x14\x00\x15\x00\x06\x00\x05\x00\x0b\x00\x09\x00\x0b\x00\x08\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x02\x00\x07\x00\x14\x00\x15\x00\x06\x00\x10\x00\x03\x00\x03\x00\x03\x00\x03\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x01\x00\x03\x00\x14\x00\x15\x00\x05\x00\x0b\x00\x04\x00\x0a\x00\x09\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x16\x00\x17\x00\x13\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x0f\x00\x10\x00\x00\x00\x03\x00\x02\x00\x03\x00\x04\x00\xff\xff\x08\x00\xff\xff\x0a\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x03\x00\x04\x00\x10\x00\xff\xff\xff\xff\x08\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x00\x00\x12\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x07\x00\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x02\x00\x03\x00\x04\x00\xff\xff\x02\x00\x03\x00\x04\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x03\x00\x04\x00\xff\xff\xff\xff\x03\x00\x04\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x11\x00\xff\xff\xff\xff\xff\xff\x15\x00\xff\xff\x17\x00\xff\xff\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"# happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x0b\x00\x43\x00\x44\x00\x3e\x00\x0c\x00\x3f\x00\x40\x00\x0d\x00\x41\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x1f\x00\x20\x00\x14\x00\x15\x00\x21\x00\x22\x00\x0b\x00\x38\x00\x17\x00\x17\x00\x0c\x00\x3a\x00\x17\x00\x0d\x00\x43\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\xff\xff\x2a\x00\x14\x00\x15\x00\x0b\x00\x17\x00\x26\x00\x38\x00\x0c\x00\x3d\x00\x3e\x00\x43\x00\x2a\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x0b\x00\x33\x00\x14\x00\x15\x00\x0c\x00\x2c\x00\x2d\x00\x0d\x00\x2e\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x0b\x00\x26\x00\x14\x00\x15\x00\x0c\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x17\x00\x00\x00\x14\x00\x15\x00\x19\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x1a\x00\x1b\x00\x19\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x22\x00\x18\x00\x3b\x00\x26\x00\x23\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x27\x00\x00\x00\x00\x00\x24\x00\x00\x00\x28\x00\x1c\x00\x03\x00\x04\x00\x05\x00\x00\x00\x1d\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x45\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x39\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x02\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x15\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x38\x00\x04\x00\x05\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x2a\x00\x18\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x33\x00\x00\x00\x31\x00\x34\x00\x00\x00\x35\x00\x00\x00\x32\x00\x36\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#+happyTable = HappyA# "\x00\x00\x0b\x00\x50\x00\x51\x00\x49\x00\x0c\x00\x4a\x00\x4b\x00\x0d\x00\x4c\x00\x45\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x1f\x00\x20\x00\x14\x00\x15\x00\x21\x00\x22\x00\x0b\x00\x2f\x00\x17\x00\x17\x00\x0c\x00\x27\x00\x35\x00\x0d\x00\x48\x00\x31\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\xff\xff\x32\x00\x14\x00\x15\x00\x0b\x00\x4e\x00\x26\x00\x33\x00\x0c\x00\x43\x00\x17\x00\x17\x00\x2e\x00\x2f\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x0b\x00\x43\x00\x14\x00\x15\x00\x0c\x00\x49\x00\x4f\x00\x0d\x00\x50\x00\x4e\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x0b\x00\x3e\x00\x14\x00\x15\x00\x0c\x00\x35\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x26\x00\x3b\x00\x14\x00\x15\x00\x27\x00\x2b\x00\x26\x00\x17\x00\x28\x00\x19\x00\x00\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x29\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x1a\x00\x1b\x00\x19\x00\x3c\x00\x03\x00\x04\x00\x05\x00\x00\x00\x3d\x00\x00\x00\x17\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x22\x00\x18\x00\x46\x00\x00\x00\x00\x00\x23\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x24\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x52\x00\x00\x00\x03\x00\x04\x00\x05\x00\x44\x00\x00\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x02\x00\x00\x00\x03\x00\x04\x00\x05\x00\x15\x00\x00\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x30\x00\x04\x00\x05\x00\x00\x00\x43\x00\x04\x00\x05\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x06\x00\x07\x00\x08\x00\x09\x00\x35\x00\x18\x00\x00\x00\x00\x00\x17\x00\x18\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x06\x00\x07\x00\x08\x00\x09\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# -happyReduceArr = Happy_Data_Array.array (1, 50) [+happyReduceArr = Happy_Data_Array.array (1, 59) [ (1 , happyReduce_1), (2 , happyReduce_2), (3 , happyReduce_3),@@ -234,18 +258,27 @@ (47 , happyReduce_47), (48 , happyReduce_48), (49 , happyReduce_49),- (50 , happyReduce_50)+ (50 , happyReduce_50),+ (51 , happyReduce_51),+ (52 , happyReduce_52),+ (53 , happyReduce_53),+ (54 , happyReduce_54),+ (55 , happyReduce_55),+ (56 , happyReduce_56),+ (57 , happyReduce_57),+ (58 , happyReduce_58),+ (59 , happyReduce_59) ] -happy_n_terms = 24 :: Int-happy_n_nonterms = 24 :: Int+happy_n_terms = 25 :: Int+happy_n_nonterms = 28 :: Int happyReduce_1 = happySpecReduce_3 0# happyReduction_1 happyReduction_1 happy_x_3 happy_x_2 happy_x_1 = case happyOut4 happy_x_1 of { happy_var_1 -> - case happyOut5 happy_x_3 of { happy_var_3 -> + case happyOut6 happy_x_3 of { happy_var_3 -> happyIn4 (Ratio happy_var_1 happy_var_3 )}}@@ -253,378 +286,451 @@ happyReduce_2 = happySpecReduce_2 0# happyReduction_2 happyReduction_2 happy_x_2 happy_x_1- = case happyOut6 happy_x_2 of { happy_var_2 -> + = case happyOut7 happy_x_2 of { happy_var_2 -> happyIn4 (Neg happy_var_2 )} happyReduce_3 = happySpecReduce_1 0# happyReduction_3 happyReduction_3 happy_x_1- = case happyOut5 happy_x_1 of { happy_var_1 -> + = case happyOut6 happy_x_1 of { happy_var_1 -> happyIn4 (happy_var_1 )} -happyReduce_4 = happySpecReduce_2 1# happyReduction_4+happyReduce_4 = happySpecReduce_2 0# happyReduction_4 happyReduction_4 happy_x_2 happy_x_1- = case happyOut7 happy_x_1 of { happy_var_1 -> - case happyOut10 happy_x_2 of { happy_var_2 -> + = case happyOut6 happy_x_1 of { happy_var_1 -> + case happyOut13 happy_x_2 of { happy_var_2 -> + happyIn4+ (InfixCons happy_var_1 happy_var_2+ )}}++happyReduce_5 = happySpecReduce_2 1# happyReduction_5+happyReduction_5 happy_x_2+ happy_x_1+ = case happyOut9 happy_x_1 of { happy_var_1 -> + case happyOut6 happy_x_2 of { happy_var_2 -> happyIn5+ ((happy_var_1,happy_var_2)+ )}}++happyReduce_6 = happySpecReduce_2 2# happyReduction_6+happyReduction_6 happy_x_2+ happy_x_1+ = case happyOut8 happy_x_1 of { happy_var_1 -> + case happyOut12 happy_x_2 of { happy_var_2 -> + happyIn6 (Con happy_var_1 happy_var_2 )}} -happyReduce_5 = happySpecReduce_1 1# happyReduction_5-happyReduction_5 happy_x_1- = case happyOut6 happy_x_1 of { happy_var_1 -> - happyIn5+happyReduce_7 = happySpecReduce_1 2# happyReduction_7+happyReduction_7 happy_x_1+ = case happyOut7 happy_x_1 of { happy_var_1 -> + happyIn6 (happy_var_1 )} -happyReduce_6 = happySpecReduce_3 2# happyReduction_6-happyReduction_6 happy_x_3+happyReduce_8 = happySpecReduce_3 3# happyReduction_8+happyReduction_8 happy_x_3 happy_x_2 happy_x_1 = case happyOut4 happy_x_2 of { happy_var_2 -> - happyIn6+ happyIn7 (happy_var_2 )} -happyReduce_7 = happySpecReduce_3 2# happyReduction_7-happyReduction_7 happy_x_3+happyReduce_9 = happySpecReduce_3 3# happyReduction_9+happyReduction_9 happy_x_3 happy_x_2 happy_x_1- = case happyOut16 happy_x_2 of { happy_var_2 -> - happyIn6+ = case happyOut19 happy_x_2 of { happy_var_2 -> + happyIn7 (List happy_var_2 )} -happyReduce_8 = happySpecReduce_3 2# happyReduction_8-happyReduction_8 happy_x_3+happyReduce_10 = happySpecReduce_3 3# happyReduction_10+happyReduction_10 happy_x_3 happy_x_2 happy_x_1- = case happyOut9 happy_x_2 of { happy_var_2 -> - happyIn6+ = case happyOut11 happy_x_2 of { happy_var_2 -> + happyIn7 (Tuple happy_var_2 )} -happyReduce_9 = happyReduce 4# 2# happyReduction_9-happyReduction_9 (happy_x_4 `HappyStk`+happyReduce_11 = happyReduce 4# 3# happyReduction_11+happyReduction_11 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest)- = case happyOut7 happy_x_1 of { happy_var_1 -> - case happyOut15 happy_x_3 of { happy_var_3 -> - happyIn6+ = case happyOut8 happy_x_1 of { happy_var_1 -> + case happyOut18 happy_x_3 of { happy_var_3 -> + happyIn7 (Rec happy_var_1 happy_var_3 ) `HappyStk` happyRest}} -happyReduce_10 = happySpecReduce_1 2# happyReduction_10-happyReduction_10 happy_x_1- = case happyOut7 happy_x_1 of { happy_var_1 -> - happyIn6+happyReduce_12 = happySpecReduce_1 3# happyReduction_12+happyReduction_12 happy_x_1+ = case happyOut8 happy_x_1 of { happy_var_1 -> + happyIn7 (Con happy_var_1 [] )} -happyReduce_11 = happySpecReduce_1 2# happyReduction_11-happyReduction_11 happy_x_1+happyReduce_13 = happySpecReduce_1 3# happyReduction_13+happyReduction_13 happy_x_1 = case happyOutTok happy_x_1 of { ((IntLit, (_,happy_var_1))) -> - happyIn6+ happyIn7 (Integer happy_var_1 )} -happyReduce_12 = happySpecReduce_1 2# happyReduction_12-happyReduction_12 happy_x_1+happyReduce_14 = happySpecReduce_1 3# happyReduction_14+happyReduction_14 happy_x_1 = case happyOutTok happy_x_1 of { ((FloatLit, (_,happy_var_1))) -> - happyIn6+ happyIn7 (Float happy_var_1 )} -happyReduce_13 = happySpecReduce_1 2# happyReduction_13-happyReduction_13 happy_x_1+happyReduce_15 = happySpecReduce_1 3# happyReduction_15+happyReduction_15 happy_x_1 = case happyOutTok happy_x_1 of { ((StringLit, (_,happy_var_1))) -> - happyIn6+ happyIn7 (String happy_var_1 )} -happyReduce_14 = happySpecReduce_1 2# happyReduction_14-happyReduction_14 happy_x_1+happyReduce_16 = happySpecReduce_1 3# happyReduction_16+happyReduction_16 happy_x_1 = case happyOutTok happy_x_1 of { ((CharLit, (_,happy_var_1))) -> - happyIn6+ happyIn7 (Char happy_var_1 )} -happyReduce_15 = happySpecReduce_1 3# happyReduction_15-happyReduction_15 happy_x_1+happyReduce_17 = happySpecReduce_1 4# happyReduction_17+happyReduction_17 happy_x_1 = case happyOutTok happy_x_1 of { ((Conid, (_,happy_var_1))) -> - happyIn7+ happyIn8 (happy_var_1 )} -happyReduce_16 = happySpecReduce_1 3# happyReduction_16-happyReduction_16 happy_x_1+happyReduce_18 = happySpecReduce_1 4# happyReduction_18+happyReduction_18 happy_x_1 = case happyOutTok happy_x_1 of { ((Qconid, (_,happy_var_1))) -> - happyIn7+ happyIn8 (happy_var_1 )} -happyReduce_17 = happySpecReduce_1 3# happyReduction_17-happyReduction_17 happy_x_1- = case happyOut11 happy_x_1 of { happy_var_1 -> - happyIn7+happyReduce_19 = happySpecReduce_1 4# happyReduction_19+happyReduction_19 happy_x_1+ = case happyOut14 happy_x_1 of { happy_var_1 -> + happyIn8 (happy_var_1 )} -happyReduce_18 = happySpecReduce_1 3# happyReduction_18-happyReduction_18 happy_x_1- = case happyOut12 happy_x_1 of { happy_var_1 -> - happyIn7+happyReduce_20 = happySpecReduce_1 4# happyReduction_20+happyReduction_20 happy_x_1+ = case happyOut15 happy_x_1 of { happy_var_1 -> + happyIn8 (happy_var_1 )} -happyReduce_19 = happySpecReduce_1 3# happyReduction_19-happyReduction_19 happy_x_1+happyReduce_21 = happySpecReduce_1 4# happyReduction_21+happyReduction_21 happy_x_1 = case happyOutTok happy_x_1 of { ((Varid, (_,happy_var_1))) -> - happyIn7+ happyIn8 (happy_var_1 )} -happyReduce_20 = happySpecReduce_1 3# happyReduction_20-happyReduction_20 happy_x_1+happyReduce_22 = happySpecReduce_1 4# happyReduction_22+happyReduction_22 happy_x_1 = case happyOutTok happy_x_1 of { ((Qvarid, (_,happy_var_1))) -> - happyIn7+ happyIn8 (happy_var_1 )} -happyReduce_21 = happySpecReduce_1 3# happyReduction_21-happyReduction_21 happy_x_1- = case happyOut14 happy_x_1 of { happy_var_1 -> - happyIn7+happyReduce_23 = happySpecReduce_1 4# happyReduction_23+happyReduction_23 happy_x_1+ = case happyOut17 happy_x_1 of { happy_var_1 -> + happyIn8 (happy_var_1 )} -happyReduce_22 = happySpecReduce_1 3# happyReduction_22-happyReduction_22 happy_x_1- = case happyOut13 happy_x_1 of { happy_var_1 -> - happyIn7+happyReduce_24 = happySpecReduce_1 4# happyReduction_24+happyReduction_24 happy_x_1+ = case happyOut16 happy_x_1 of { happy_var_1 -> + happyIn8 (happy_var_1 )} -happyReduce_23 = happySpecReduce_3 4# happyReduction_23-happyReduction_23 happy_x_3+happyReduce_25 = happySpecReduce_1 5# happyReduction_25+happyReduction_25 happy_x_1+ = case happyOutTok happy_x_1 of { ((Consym, (_,happy_var_1))) -> + happyIn9+ (happy_var_1+ )}++happyReduce_26 = happySpecReduce_1 5# happyReduction_26+happyReduction_26 happy_x_1+ = case happyOutTok happy_x_1 of { ((Qconsym, (_,happy_var_1))) -> + happyIn9+ (happy_var_1+ )}++happyReduce_27 = happySpecReduce_3 5# happyReduction_27+happyReduction_27 happy_x_3 happy_x_2 happy_x_1+ = case happyOutTok happy_x_2 of { ((Conid, (_,happy_var_2))) -> + happyIn9+ (backtick happy_var_2+ )}++happyReduce_28 = happySpecReduce_3 5# happyReduction_28+happyReduction_28 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOutTok happy_x_2 of { ((Qconid, (_,happy_var_2))) -> + happyIn9+ (backtick happy_var_2+ )}++happyReduce_29 = happySpecReduce_3 6# happyReduction_29+happyReduction_29 happy_x_3+ happy_x_2+ happy_x_1 = case happyOutTok happy_x_1 of { ((Varid, (_,happy_var_1))) -> case happyOut4 happy_x_3 of { happy_var_3 -> - happyIn8+ happyIn10 ((happy_var_1,happy_var_3) )}} -happyReduce_24 = happySpecReduce_0 5# happyReduction_24-happyReduction_24 = happyIn9+happyReduce_30 = happySpecReduce_0 7# happyReduction_30+happyReduction_30 = happyIn11 ([] ) -happyReduce_25 = happySpecReduce_3 5# happyReduction_25-happyReduction_25 happy_x_3+happyReduce_31 = happySpecReduce_3 7# happyReduction_31+happyReduction_31 happy_x_3 happy_x_2 happy_x_1 = case happyOut4 happy_x_1 of { happy_var_1 -> - case happyOut17 happy_x_3 of { happy_var_3 -> - happyIn9+ case happyOut20 happy_x_3 of { happy_var_3 -> + happyIn11 (happy_var_1 : happy_var_3 )}} -happyReduce_26 = happySpecReduce_1 6# happyReduction_26-happyReduction_26 happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - happyIn10+happyReduce_32 = happySpecReduce_1 8# happyReduction_32+happyReduction_32 happy_x_1+ = case happyOut22 happy_x_1 of { happy_var_1 -> + happyIn12 (reverse happy_var_1 )} -happyReduce_27 = happySpecReduce_3 7# happyReduction_27-happyReduction_27 happy_x_3+happyReduce_33 = happySpecReduce_1 9# happyReduction_33+happyReduction_33 happy_x_1+ = case happyOut23 happy_x_1 of { happy_var_1 -> + happyIn13+ (reverse happy_var_1+ )}++happyReduce_34 = happySpecReduce_3 10# happyReduction_34+happyReduction_34 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_2 of { ((Consym, (_,happy_var_2))) -> - happyIn11+ happyIn14 ("(" ++ happy_var_2 ++ ")" )} -happyReduce_28 = happySpecReduce_3 8# happyReduction_28-happyReduction_28 happy_x_3+happyReduce_35 = happySpecReduce_3 11# happyReduction_35+happyReduction_35 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_2 of { ((Qconsym, (_,happy_var_2))) -> - happyIn12+ happyIn15 ("(" ++ happy_var_2 ++ ")" )} -happyReduce_29 = happySpecReduce_3 9# happyReduction_29-happyReduction_29 happy_x_3+happyReduce_36 = happySpecReduce_3 12# happyReduction_36+happyReduction_36 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_2 of { ((Qvarsym, (_,happy_var_2))) -> - happyIn13+ happyIn16 ("(" ++ happy_var_2 ++ ")" )} -happyReduce_30 = happySpecReduce_3 10# happyReduction_30-happyReduction_30 happy_x_3+happyReduce_37 = happySpecReduce_3 13# happyReduction_37+happyReduction_37 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_2 of { ((Varsym, (_,happy_var_2))) -> - happyIn14+ happyIn17 ("(" ++ happy_var_2 ++ ")" )} -happyReduce_31 = happySpecReduce_1 11# happyReduction_31-happyReduction_31 happy_x_1- = case happyOut20 happy_x_1 of { happy_var_1 -> - happyIn15+happyReduce_38 = happySpecReduce_1 14# happyReduction_38+happyReduction_38 happy_x_1+ = case happyOut24 happy_x_1 of { happy_var_1 -> + happyIn18 (happy_var_1 )} -happyReduce_32 = happySpecReduce_0 11# happyReduction_32-happyReduction_32 = happyIn15+happyReduce_39 = happySpecReduce_0 14# happyReduction_39+happyReduction_39 = happyIn18 ([] ) -happyReduce_33 = happySpecReduce_1 12# happyReduction_33-happyReduction_33 happy_x_1- = case happyOut17 happy_x_1 of { happy_var_1 -> - happyIn16+happyReduce_40 = happySpecReduce_1 15# happyReduction_40+happyReduction_40 happy_x_1+ = case happyOut20 happy_x_1 of { happy_var_1 -> + happyIn19 (happy_var_1 )} -happyReduce_34 = happySpecReduce_0 12# happyReduction_34-happyReduction_34 = happyIn16+happyReduce_41 = happySpecReduce_0 15# happyReduction_41+happyReduction_41 = happyIn19 ([] ) -happyReduce_35 = happySpecReduce_2 13# happyReduction_35-happyReduction_35 happy_x_2+happyReduce_42 = happySpecReduce_2 16# happyReduction_42+happyReduction_42 happy_x_2 happy_x_1 = case happyOut4 happy_x_1 of { happy_var_1 -> - case happyOut18 happy_x_2 of { happy_var_2 -> - happyIn17+ case happyOut21 happy_x_2 of { happy_var_2 -> + happyIn20 (happy_var_1 : happy_var_2 )}} -happyReduce_36 = happySpecReduce_1 14# happyReduction_36-happyReduction_36 happy_x_1- = case happyOut23 happy_x_1 of { happy_var_1 -> - happyIn18+happyReduce_43 = happySpecReduce_1 17# happyReduction_43+happyReduction_43 happy_x_1+ = case happyOut27 happy_x_1 of { happy_var_1 -> + happyIn21 (happy_var_1 )} -happyReduce_37 = happySpecReduce_0 14# happyReduction_37-happyReduction_37 = happyIn18+happyReduce_44 = happySpecReduce_0 17# happyReduction_44+happyReduction_44 = happyIn21 ([] ) -happyReduce_38 = happySpecReduce_1 15# happyReduction_38-happyReduction_38 happy_x_1- = case happyOut6 happy_x_1 of { happy_var_1 -> - happyIn19+happyReduce_45 = happySpecReduce_1 18# happyReduction_45+happyReduction_45 happy_x_1+ = case happyOut7 happy_x_1 of { happy_var_1 -> + happyIn22 ([happy_var_1] )} -happyReduce_39 = happySpecReduce_2 15# happyReduction_39-happyReduction_39 happy_x_2+happyReduce_46 = happySpecReduce_2 18# happyReduction_46+happyReduction_46 happy_x_2 happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_2 of { happy_var_2 -> - happyIn19+ = case happyOut22 happy_x_1 of { happy_var_1 -> + case happyOut7 happy_x_2 of { happy_var_2 -> + happyIn22 (happy_var_2 : happy_var_1 )}} -happyReduce_40 = happySpecReduce_2 16# happyReduction_40-happyReduction_40 happy_x_2+happyReduce_47 = happySpecReduce_1 19# happyReduction_47+happyReduction_47 happy_x_1+ = case happyOut5 happy_x_1 of { happy_var_1 -> + happyIn23+ ([happy_var_1]+ )}++happyReduce_48 = happySpecReduce_2 19# happyReduction_48+happyReduction_48 happy_x_2 happy_x_1- = case happyOut8 happy_x_1 of { happy_var_1 -> - case happyOut22 happy_x_2 of { happy_var_2 -> - happyIn20+ = case happyOut23 happy_x_1 of { happy_var_1 -> + case happyOut5 happy_x_2 of { happy_var_2 -> + happyIn23+ (happy_var_2 : happy_var_1+ )}}++happyReduce_49 = happySpecReduce_2 20# happyReduction_49+happyReduction_49 happy_x_2+ happy_x_1+ = case happyOut10 happy_x_1 of { happy_var_1 -> + case happyOut26 happy_x_2 of { happy_var_2 -> + happyIn24 (happy_var_1 : happy_var_2 )}} -happyReduce_41 = happySpecReduce_2 17# happyReduction_41-happyReduction_41 happy_x_2+happyReduce_50 = happySpecReduce_2 21# happyReduction_50+happyReduction_50 happy_x_2 happy_x_1 = case happyOut4 happy_x_2 of { happy_var_2 -> - happyIn21+ happyIn25 (happy_var_2 )} -happyReduce_42 = happySpecReduce_1 18# happyReduction_42-happyReduction_42 happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - happyIn22+happyReduce_51 = happySpecReduce_1 22# happyReduction_51+happyReduction_51 happy_x_1+ = case happyOut29 happy_x_1 of { happy_var_1 -> + happyIn26 (happy_var_1 )} -happyReduce_43 = happySpecReduce_0 18# happyReduction_43-happyReduction_43 = happyIn22+happyReduce_52 = happySpecReduce_0 22# happyReduction_52+happyReduction_52 = happyIn26 ([] ) -happyReduce_44 = happySpecReduce_1 19# happyReduction_44-happyReduction_44 happy_x_1- = case happyOut26 happy_x_1 of { happy_var_1 -> - happyIn23+happyReduce_53 = happySpecReduce_1 23# happyReduction_53+happyReduction_53 happy_x_1+ = case happyOut30 happy_x_1 of { happy_var_1 -> + happyIn27 (reverse happy_var_1 )} -happyReduce_45 = happySpecReduce_2 20# happyReduction_45-happyReduction_45 happy_x_2+happyReduce_54 = happySpecReduce_2 24# happyReduction_54+happyReduction_54 happy_x_2 happy_x_1- = case happyOut8 happy_x_2 of { happy_var_2 -> - happyIn24+ = case happyOut10 happy_x_2 of { happy_var_2 -> + happyIn28 (happy_var_2 )} -happyReduce_46 = happySpecReduce_1 21# happyReduction_46-happyReduction_46 happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - happyIn25+happyReduce_55 = happySpecReduce_1 25# happyReduction_55+happyReduction_55 happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + happyIn29 (reverse happy_var_1 )} -happyReduce_47 = happySpecReduce_1 22# happyReduction_47-happyReduction_47 happy_x_1- = case happyOut21 happy_x_1 of { happy_var_1 -> - happyIn26+happyReduce_56 = happySpecReduce_1 26# happyReduction_56+happyReduction_56 happy_x_1+ = case happyOut25 happy_x_1 of { happy_var_1 -> + happyIn30 ([happy_var_1] )} -happyReduce_48 = happySpecReduce_2 22# happyReduction_48-happyReduction_48 happy_x_2+happyReduce_57 = happySpecReduce_2 26# happyReduction_57+happyReduction_57 happy_x_2 happy_x_1- = case happyOut26 happy_x_1 of { happy_var_1 -> - case happyOut21 happy_x_2 of { happy_var_2 -> - happyIn26+ = case happyOut30 happy_x_1 of { happy_var_1 -> + case happyOut25 happy_x_2 of { happy_var_2 -> + happyIn30 (happy_var_2 : happy_var_1 )}} -happyReduce_49 = happySpecReduce_1 23# happyReduction_49-happyReduction_49 happy_x_1- = case happyOut24 happy_x_1 of { happy_var_1 -> - happyIn27+happyReduce_58 = happySpecReduce_1 27# happyReduction_58+happyReduction_58 happy_x_1+ = case happyOut28 happy_x_1 of { happy_var_1 -> + happyIn31 ([happy_var_1] )} -happyReduce_50 = happySpecReduce_2 23# happyReduction_50-happyReduction_50 happy_x_2+happyReduce_59 = happySpecReduce_2 27# happyReduction_59+happyReduction_59 happy_x_2 happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - case happyOut24 happy_x_2 of { happy_var_2 -> - happyIn27+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut28 happy_x_2 of { happy_var_2 -> + happyIn31 (happy_var_2 : happy_var_1 )}} happyNewToken action sts stk [] =- happyDoAction 23# notHappyAtAll action sts stk []+ happyDoAction 24# notHappyAtAll action sts stk [] happyNewToken action sts stk (tk:tks) = let cont i = happyDoAction i tk action sts stk tks in@@ -639,22 +745,23 @@ (Special, (_,",")) -> cont 8#; (Varsym, (_,"-")) -> cont 9#; (Varsym, (_,"%")) -> cont 10#;- (IntLit, (_,happy_dollar_dollar)) -> cont 11#;- (FloatLit, (_,happy_dollar_dollar)) -> cont 12#;- (StringLit, (_,happy_dollar_dollar)) -> cont 13#;- (CharLit, (_,happy_dollar_dollar)) -> cont 14#;- (Varid, (_,happy_dollar_dollar)) -> cont 15#;- (Qvarid, (_,happy_dollar_dollar)) -> cont 16#;- (Varsym, (_,happy_dollar_dollar)) -> cont 17#;- (Qvarsym, (_,happy_dollar_dollar)) -> cont 18#;- (Conid, (_,happy_dollar_dollar)) -> cont 19#;- (Qconid, (_,happy_dollar_dollar)) -> cont 20#;- (Consym, (_,happy_dollar_dollar)) -> cont 21#;- (Qconsym, (_,happy_dollar_dollar)) -> cont 22#;+ (Special, (_,"`")) -> cont 11#;+ (IntLit, (_,happy_dollar_dollar)) -> cont 12#;+ (FloatLit, (_,happy_dollar_dollar)) -> cont 13#;+ (StringLit, (_,happy_dollar_dollar)) -> cont 14#;+ (CharLit, (_,happy_dollar_dollar)) -> cont 15#;+ (Varid, (_,happy_dollar_dollar)) -> cont 16#;+ (Qvarid, (_,happy_dollar_dollar)) -> cont 17#;+ (Varsym, (_,happy_dollar_dollar)) -> cont 18#;+ (Qvarsym, (_,happy_dollar_dollar)) -> cont 19#;+ (Conid, (_,happy_dollar_dollar)) -> cont 20#;+ (Qconid, (_,happy_dollar_dollar)) -> cont 21#;+ (Consym, (_,happy_dollar_dollar)) -> cont 22#;+ (Qconsym, (_,happy_dollar_dollar)) -> cont 23#; _ -> happyError' (tk:tks) } -happyError_ 23# tk tks = happyError' tks+happyError_ 24# tk tks = happyError' tks happyError_ _ tk tks = happyError' (tk:tks) happyThen :: () => Maybe a -> (a -> Maybe b) -> Maybe b@@ -672,6 +779,9 @@ happySeq = happyDontSeq ++backtick :: String -> String+backtick s = "`" ++ s ++ "`" happyError :: [PosToken] -> Maybe a happyError ((_,(p,_)) : _) = Nothing -- error ("Parser error at: " ++ show p)
pretty-show.cabal view
@@ -1,5 +1,5 @@ name: pretty-show-version: 1.5+version: 1.6 category: Text synopsis: Tools for working with derived `Show` instances and generic@@ -35,6 +35,7 @@ Text.Show.Parser Text.Show.Value Text.Show.PrettyVal+ Paths_pretty_show build-depends: array >= 0.2 && < 2, base >= 3 && < 5,