1{-# OPTIONS_GHC -w #-} 2{-# OPTIONS -XMagicHash -XBangPatterns -XTypeSynonymInstances -XFlexibleInstances -cpp #-} 3#if __GLASGOW_HASKELL__ >= 710 4{-# OPTIONS_GHC -XPartialTypeSignatures #-} 5#endif 6{-# OPTIONS_GHC -w #-} 7module Parser (ourParser,AbsSyn) where 8import ParseMonad 9import AbsSyn 10import Lexer 11import qualified Data.Array as Happy_Data_Array 12import qualified Data.Bits as Bits 13import qualified GHC.Exts as Happy_GHC_Exts 14import Control.Applicative(Applicative(..)) 15import Control.Monad (ap) 16 17-- parser produced by Happy Version 1.19.10 18 19newtype HappyAbsSyn = HappyAbsSyn HappyAny 20#if __GLASGOW_HASKELL__ >= 607 21type HappyAny = Happy_GHC_Exts.Any 22#else 23type HappyAny = forall a . a 24#endif 25newtype HappyWrap4 = HappyWrap4 (AbsSyn) 26happyIn4 :: (AbsSyn) -> (HappyAbsSyn ) 27happyIn4 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap4 x) 28{-# INLINE happyIn4 #-} 29happyOut4 :: (HappyAbsSyn ) -> HappyWrap4 30happyOut4 x = Happy_GHC_Exts.unsafeCoerce# x 31{-# INLINE happyOut4 #-} 32newtype HappyWrap5 = HappyWrap5 ([Rule]) 33happyIn5 :: ([Rule]) -> (HappyAbsSyn ) 34happyIn5 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap5 x) 35{-# INLINE happyIn5 #-} 36happyOut5 :: (HappyAbsSyn ) -> HappyWrap5 37happyOut5 x = Happy_GHC_Exts.unsafeCoerce# x 38{-# INLINE happyOut5 #-} 39newtype HappyWrap6 = HappyWrap6 (Rule) 40happyIn6 :: (Rule) -> (HappyAbsSyn ) 41happyIn6 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap6 x) 42{-# INLINE happyIn6 #-} 43happyOut6 :: (HappyAbsSyn ) -> HappyWrap6 44happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x 45{-# INLINE happyOut6 #-} 46newtype HappyWrap7 = HappyWrap7 ([String]) 47happyIn7 :: ([String]) -> (HappyAbsSyn ) 48happyIn7 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap7 x) 49{-# INLINE happyIn7 #-} 50happyOut7 :: (HappyAbsSyn ) -> HappyWrap7 51happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x 52{-# INLINE happyOut7 #-} 53newtype HappyWrap8 = HappyWrap8 ([String]) 54happyIn8 :: ([String]) -> (HappyAbsSyn ) 55happyIn8 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap8 x) 56{-# INLINE happyIn8 #-} 57happyOut8 :: (HappyAbsSyn ) -> HappyWrap8 58happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x 59{-# INLINE happyOut8 #-} 60newtype HappyWrap9 = HappyWrap9 ([Prod]) 61happyIn9 :: ([Prod]) -> (HappyAbsSyn ) 62happyIn9 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap9 x) 63{-# INLINE happyIn9 #-} 64happyOut9 :: (HappyAbsSyn ) -> HappyWrap9 65happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x 66{-# INLINE happyOut9 #-} 67newtype HappyWrap10 = HappyWrap10 (Prod) 68happyIn10 :: (Prod) -> (HappyAbsSyn ) 69happyIn10 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap10 x) 70{-# INLINE happyIn10 #-} 71happyOut10 :: (HappyAbsSyn ) -> HappyWrap10 72happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x 73{-# INLINE happyOut10 #-} 74newtype HappyWrap11 = HappyWrap11 (Term) 75happyIn11 :: (Term) -> (HappyAbsSyn ) 76happyIn11 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap11 x) 77{-# INLINE happyIn11 #-} 78happyOut11 :: (HappyAbsSyn ) -> HappyWrap11 79happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x 80{-# INLINE happyOut11 #-} 81newtype HappyWrap12 = HappyWrap12 ([Term]) 82happyIn12 :: ([Term]) -> (HappyAbsSyn ) 83happyIn12 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap12 x) 84{-# INLINE happyIn12 #-} 85happyOut12 :: (HappyAbsSyn ) -> HappyWrap12 86happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x 87{-# INLINE happyOut12 #-} 88newtype HappyWrap13 = HappyWrap13 ([Term]) 89happyIn13 :: ([Term]) -> (HappyAbsSyn ) 90happyIn13 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap13 x) 91{-# INLINE happyIn13 #-} 92happyOut13 :: (HappyAbsSyn ) -> HappyWrap13 93happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x 94{-# INLINE happyOut13 #-} 95newtype HappyWrap14 = HappyWrap14 ([Term]) 96happyIn14 :: ([Term]) -> (HappyAbsSyn ) 97happyIn14 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap14 x) 98{-# INLINE happyIn14 #-} 99happyOut14 :: (HappyAbsSyn ) -> HappyWrap14 100happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x 101{-# INLINE happyOut14 #-} 102newtype HappyWrap15 = HappyWrap15 (Maybe String) 103happyIn15 :: (Maybe String) -> (HappyAbsSyn ) 104happyIn15 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap15 x) 105{-# INLINE happyIn15 #-} 106happyOut15 :: (HappyAbsSyn ) -> HappyWrap15 107happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x 108{-# INLINE happyOut15 #-} 109newtype HappyWrap16 = HappyWrap16 ([Directive String]) 110happyIn16 :: ([Directive String]) -> (HappyAbsSyn ) 111happyIn16 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap16 x) 112{-# INLINE happyIn16 #-} 113happyOut16 :: (HappyAbsSyn ) -> HappyWrap16 114happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x 115{-# INLINE happyOut16 #-} 116newtype HappyWrap17 = HappyWrap17 (Directive String) 117happyIn17 :: (Directive String) -> (HappyAbsSyn ) 118happyIn17 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap17 x) 119{-# INLINE happyIn17 #-} 120happyOut17 :: (HappyAbsSyn ) -> HappyWrap17 121happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x 122{-# INLINE happyOut17 #-} 123newtype HappyWrap18 = HappyWrap18 (Maybe String) 124happyIn18 :: (Maybe String) -> (HappyAbsSyn ) 125happyIn18 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap18 x) 126{-# INLINE happyIn18 #-} 127happyOut18 :: (HappyAbsSyn ) -> HappyWrap18 128happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x 129{-# INLINE happyOut18 #-} 130newtype HappyWrap19 = HappyWrap19 ([(String,String)]) 131happyIn19 :: ([(String,String)]) -> (HappyAbsSyn ) 132happyIn19 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap19 x) 133{-# INLINE happyIn19 #-} 134happyOut19 :: (HappyAbsSyn ) -> HappyWrap19 135happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x 136{-# INLINE happyOut19 #-} 137newtype HappyWrap20 = HappyWrap20 ((String,String)) 138happyIn20 :: ((String,String)) -> (HappyAbsSyn ) 139happyIn20 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap20 x) 140{-# INLINE happyIn20 #-} 141happyOut20 :: (HappyAbsSyn ) -> HappyWrap20 142happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x 143{-# INLINE happyOut20 #-} 144newtype HappyWrap21 = HappyWrap21 ([String]) 145happyIn21 :: ([String]) -> (HappyAbsSyn ) 146happyIn21 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap21 x) 147{-# INLINE happyIn21 #-} 148happyOut21 :: (HappyAbsSyn ) -> HappyWrap21 149happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x 150{-# INLINE happyOut21 #-} 151newtype HappyWrap22 = HappyWrap22 (Maybe String) 152happyIn22 :: (Maybe String) -> (HappyAbsSyn ) 153happyIn22 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap22 x) 154{-# INLINE happyIn22 #-} 155happyOut22 :: (HappyAbsSyn ) -> HappyWrap22 156happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x 157{-# INLINE happyOut22 #-} 158happyInTok :: (Token) -> (HappyAbsSyn ) 159happyInTok x = Happy_GHC_Exts.unsafeCoerce# x 160{-# INLINE happyInTok #-} 161happyOutTok :: (HappyAbsSyn ) -> (Token) 162happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x 163{-# INLINE happyOutTok #-} 164 165 166happyExpList :: HappyAddr 167happyExpList = HappyA# "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\xf8\xdf\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xf7\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x08\x00\x00\x00\x10\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\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\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x40\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"# 168 169{-# NOINLINE happyExpListPerState #-} 170happyExpListPerState st = 171 token_strs_expected 172 where token_strs = ["error","%dummy","%start_ourParser","parser","rules","rule","params","comma_ids","prods","prod","term","terms","terms_rev","comma_terms","prec","tokInfos","tokInfo","optStart","tokenSpecs","tokenSpec","ids","optCode","id","spec_tokentype","spec_token","spec_name","spec_partial","spec_lexer","spec_imported_identity","spec_monad","spec_nonassoc","spec_left","spec_right","spec_prec","spec_expect","spec_error","spec_errorhandlertype","spec_attribute","spec_attributetype","code","int","\":\"","\";\"","\"::\"","\"%%\"","\"|\"","\"(\"","\")\"","\",\"","%eof"] 173 bit_start = st * 50 174 bit_end = (st + 1) * 50 175 read_bit = readArrayBit happyExpList 176 bits = map read_bit [bit_start..bit_end - 1] 177 bits_indexed = zip bits [0..49] 178 token_strs_expected = concatMap f bits_indexed 179 f (False, _) = [] 180 f (True, nr) = [token_strs !! nr] 181 182happyActOffsets :: HappyAddr 183happyActOffsets = HappyA# "\x03\x00\x03\x00\x23\x00\x00\x00\x33\x00\xff\xff\x00\x00\x1d\x00\x45\x00\x4f\x00\x50\x00\x40\x00\x00\x00\x41\x00\x53\x00\x53\x00\x53\x00\x42\x00\x44\x00\x56\x00\x57\x00\x47\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x5d\x00\x5d\x00\x00\x00\x5e\x00\x4e\x00\x00\x00\x00\x00\x60\x00\x12\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x52\x00\x09\x00\x61\x00\x00\x00\x00\x00\x06\x00\x00\x00\x65\x00\x55\x00\x00\x00\x0a\x00\x00\x00\x54\x00\x00\x00\x5c\x00\x68\x00\x58\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x5b\x00\x6d\x00\x6e\x00\x5f\x00\x6f\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x62\x00\x00\x00\x2a\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00"# 184 185happyGotoOffsets :: HappyAddr 186happyGotoOffsets = HappyA# "\x11\x00\x63\x00\x3b\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x76\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x48\x00\x10\x00\x00\x00\x73\x00\x00\x00\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\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x77\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x35\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00"# 187 188happyAdjustOffset :: Happy_GHC_Exts.Int# -> Happy_GHC_Exts.Int# 189happyAdjustOffset off = off 190 191happyDefActions :: HappyAddr 192happyDefActions = HappyA# "\xca\xff\x00\x00\x00\x00\xcb\xff\x00\x00\x00\x00\xe5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xff\x00\x00\xcc\xff\xcc\xff\xcc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\xff\x00\x00\xd5\xff\xd6\xff\xd7\xff\xd9\xff\xcc\xff\xd8\xff\xda\xff\xde\xff\x00\x00\xd1\xff\xd1\xff\xe3\xff\xcf\xff\x00\x00\xe4\xff\xe6\xff\x00\x00\xca\xff\xfc\xff\xf7\xff\xce\xff\xd0\xff\xe2\xff\xd2\xff\xe1\xff\xdf\xff\xdd\xff\xcd\xff\xd3\xff\xdc\xff\x00\x00\x00\x00\xfd\xff\xfe\xff\x00\x00\xf6\xff\xed\xff\x00\x00\xdb\xff\x00\x00\xf9\xff\xf3\xff\xec\xff\xe7\xff\xee\xff\xf0\xff\xf8\xff\x00\x00\xf5\xff\x00\x00\xeb\xff\x00\x00\x00\x00\xed\xff\x00\x00\xed\xff\xfb\xff\xed\xff\xf4\xff\xe8\xff\xf1\xff\xea\xff\x00\x00\xef\xff\x00\x00\xf2\xff\xfa\xff\xe9\xff"# 193 194happyCheck :: HappyAddr 195happyCheck = HappyA# "\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x01\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x00\x00\x02\x00\x01\x00\x07\x00\x12\x00\x17\x00\x0a\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x14\x00\x14\x00\x16\x00\x1a\x00\x1b\x00\x12\x00\x12\x00\x12\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x12\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x1a\x00\x1b\x00\x01\x00\x0c\x00\x0d\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x0f\x00\x10\x00\x1c\x00\x01\x00\x01\x00\x12\x00\x12\x00\x01\x00\x13\x00\x12\x00\x01\x00\x01\x00\x12\x00\x01\x00\x12\x00\x12\x00\x12\x00\x01\x00\x01\x00\x12\x00\x01\x00\x01\x00\x12\x00\x12\x00\x19\x00\x01\x00\x12\x00\x0c\x00\x01\x00\x01\x00\x01\x00\x18\x00\x12\x00\x01\x00\x01\x00\x01\x00\x19\x00\x01\x00\x14\x00\x0d\x00\x12\x00\x03\x00\x15\x00\xff\xff\x04\x00\xff\xff\xff\xff\x11\x00\x11\x00\x07\x00\x07\x00\xff\xff\x11\x00\x0e\x00\x11\x00\x0e\x00\x0b\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\xff\xff\xff\xff\xff\xff"# 196 197happyTable :: HappyAddr 198happyTable = HappyA# "\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x4f\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x04\x00\x38\x00\x2c\x00\x55\x00\x04\x00\x29\x00\x56\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x3d\x00\x50\x00\x3e\x00\x47\x00\x48\x00\x39\x00\x02\x00\x04\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x27\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x52\x00\x41\x00\x42\x00\x43\x00\x44\x00\x50\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5a\x00\x41\x00\x42\x00\x43\x00\x44\x00\x58\x00\x59\x00\x26\x00\x05\x00\x06\x00\x29\x00\x2a\x00\x23\x00\x24\x00\x2d\x00\x24\x00\xff\xff\x23\x00\x22\x00\x21\x00\x20\x00\x1d\x00\x1b\x00\x1a\x00\x19\x00\x18\x00\x17\x00\x1d\x00\x35\x00\x33\x00\x32\x00\x30\x00\x26\x00\x2d\x00\x2c\x00\x3c\x00\x36\x00\x3f\x00\x38\x00\x46\x00\x40\x00\x4d\x00\x46\x00\x49\x00\x46\x00\x4e\x00\x55\x00\x54\x00\x46\x00\x46\x00\x4a\x00\x46\x00\x52\x00\x27\x00\x02\x00\x36\x00\x5a\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x1e\x00\x1d\x00\x4a\x00\x5b\x00\x00\x00\x1b\x00\x30\x00\x33\x00\x2e\x00\x4b\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\x00\x00\x00\x00\x00\x00"# 199 200happyReduceArr = Happy_Data_Array.array (1, 53) [ 201 (1 , happyReduce_1), 202 (2 , happyReduce_2), 203 (3 , happyReduce_3), 204 (4 , happyReduce_4), 205 (5 , happyReduce_5), 206 (6 , happyReduce_6), 207 (7 , happyReduce_7), 208 (8 , happyReduce_8), 209 (9 , happyReduce_9), 210 (10 , happyReduce_10), 211 (11 , happyReduce_11), 212 (12 , happyReduce_12), 213 (13 , happyReduce_13), 214 (14 , happyReduce_14), 215 (15 , happyReduce_15), 216 (16 , happyReduce_16), 217 (17 , happyReduce_17), 218 (18 , happyReduce_18), 219 (19 , happyReduce_19), 220 (20 , happyReduce_20), 221 (21 , happyReduce_21), 222 (22 , happyReduce_22), 223 (23 , happyReduce_23), 224 (24 , happyReduce_24), 225 (25 , happyReduce_25), 226 (26 , happyReduce_26), 227 (27 , happyReduce_27), 228 (28 , happyReduce_28), 229 (29 , happyReduce_29), 230 (30 , happyReduce_30), 231 (31 , happyReduce_31), 232 (32 , happyReduce_32), 233 (33 , happyReduce_33), 234 (34 , happyReduce_34), 235 (35 , happyReduce_35), 236 (36 , happyReduce_36), 237 (37 , happyReduce_37), 238 (38 , happyReduce_38), 239 (39 , happyReduce_39), 240 (40 , happyReduce_40), 241 (41 , happyReduce_41), 242 (42 , happyReduce_42), 243 (43 , happyReduce_43), 244 (44 , happyReduce_44), 245 (45 , happyReduce_45), 246 (46 , happyReduce_46), 247 (47 , happyReduce_47), 248 (48 , happyReduce_48), 249 (49 , happyReduce_49), 250 (50 , happyReduce_50), 251 (51 , happyReduce_51), 252 (52 , happyReduce_52), 253 (53 , happyReduce_53) 254 ] 255 256happy_n_terms = 29 :: Int 257happy_n_nonterms = 19 :: Int 258 259happyReduce_1 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 260happyReduce_1 = happyReduce 5# 0# happyReduction_1 261happyReduction_1 (happy_x_5 `HappyStk` 262 happy_x_4 `HappyStk` 263 happy_x_3 `HappyStk` 264 happy_x_2 `HappyStk` 265 happy_x_1 `HappyStk` 266 happyRest) 267 = case happyOut22 happy_x_1 of { (HappyWrap22 happy_var_1) -> 268 case happyOut16 happy_x_2 of { (HappyWrap16 happy_var_2) -> 269 case happyOut5 happy_x_4 of { (HappyWrap5 happy_var_4) -> 270 case happyOut22 happy_x_5 of { (HappyWrap22 happy_var_5) -> 271 happyIn4 272 (AbsSyn happy_var_1 (reverse happy_var_2) (reverse happy_var_4) happy_var_5 273 ) `HappyStk` happyRest}}}} 274 275happyReduce_2 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 276happyReduce_2 = happySpecReduce_2 1# happyReduction_2 277happyReduction_2 happy_x_2 278 happy_x_1 279 = case happyOut5 happy_x_1 of { (HappyWrap5 happy_var_1) -> 280 case happyOut6 happy_x_2 of { (HappyWrap6 happy_var_2) -> 281 happyIn5 282 (happy_var_2 : happy_var_1 283 )}} 284 285happyReduce_3 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 286happyReduce_3 = happySpecReduce_1 1# happyReduction_3 287happyReduction_3 happy_x_1 288 = case happyOut6 happy_x_1 of { (HappyWrap6 happy_var_1) -> 289 happyIn5 290 ([happy_var_1] 291 )} 292 293happyReduce_4 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 294happyReduce_4 = happyReduce 6# 2# happyReduction_4 295happyReduction_4 (happy_x_6 `HappyStk` 296 happy_x_5 `HappyStk` 297 happy_x_4 `HappyStk` 298 happy_x_3 `HappyStk` 299 happy_x_2 `HappyStk` 300 happy_x_1 `HappyStk` 301 happyRest) 302 = case happyOutTok happy_x_1 of { (TokenInfo happy_var_1 TokId) -> 303 case happyOut7 happy_x_2 of { (HappyWrap7 happy_var_2) -> 304 case happyOutTok happy_x_4 of { (TokenInfo happy_var_4 TokCodeQuote) -> 305 case happyOut9 happy_x_6 of { (HappyWrap9 happy_var_6) -> 306 happyIn6 307 ((happy_var_1,happy_var_2,happy_var_6,Just happy_var_4) 308 ) `HappyStk` happyRest}}}} 309 310happyReduce_5 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 311happyReduce_5 = happyReduce 7# 2# happyReduction_5 312happyReduction_5 (happy_x_7 `HappyStk` 313 happy_x_6 `HappyStk` 314 happy_x_5 `HappyStk` 315 happy_x_4 `HappyStk` 316 happy_x_3 `HappyStk` 317 happy_x_2 `HappyStk` 318 happy_x_1 `HappyStk` 319 happyRest) 320 = case happyOutTok happy_x_1 of { (TokenInfo happy_var_1 TokId) -> 321 case happyOut7 happy_x_2 of { (HappyWrap7 happy_var_2) -> 322 case happyOutTok happy_x_4 of { (TokenInfo happy_var_4 TokCodeQuote) -> 323 case happyOut9 happy_x_7 of { (HappyWrap9 happy_var_7) -> 324 happyIn6 325 ((happy_var_1,happy_var_2,happy_var_7,Just happy_var_4) 326 ) `HappyStk` happyRest}}}} 327 328happyReduce_6 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 329happyReduce_6 = happyReduce 4# 2# happyReduction_6 330happyReduction_6 (happy_x_4 `HappyStk` 331 happy_x_3 `HappyStk` 332 happy_x_2 `HappyStk` 333 happy_x_1 `HappyStk` 334 happyRest) 335 = case happyOutTok happy_x_1 of { (TokenInfo happy_var_1 TokId) -> 336 case happyOut7 happy_x_2 of { (HappyWrap7 happy_var_2) -> 337 case happyOut9 happy_x_4 of { (HappyWrap9 happy_var_4) -> 338 happyIn6 339 ((happy_var_1,happy_var_2,happy_var_4,Nothing) 340 ) `HappyStk` happyRest}}} 341 342happyReduce_7 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 343happyReduce_7 = happySpecReduce_3 3# happyReduction_7 344happyReduction_7 happy_x_3 345 happy_x_2 346 happy_x_1 347 = case happyOut8 happy_x_2 of { (HappyWrap8 happy_var_2) -> 348 happyIn7 349 (reverse happy_var_2 350 )} 351 352happyReduce_8 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 353happyReduce_8 = happySpecReduce_0 3# happyReduction_8 354happyReduction_8 = happyIn7 355 ([] 356 ) 357 358happyReduce_9 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 359happyReduce_9 = happySpecReduce_1 4# happyReduction_9 360happyReduction_9 happy_x_1 361 = case happyOutTok happy_x_1 of { (TokenInfo happy_var_1 TokId) -> 362 happyIn8 363 ([happy_var_1] 364 )} 365 366happyReduce_10 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 367happyReduce_10 = happySpecReduce_3 4# happyReduction_10 368happyReduction_10 happy_x_3 369 happy_x_2 370 happy_x_1 371 = case happyOut8 happy_x_1 of { (HappyWrap8 happy_var_1) -> 372 case happyOutTok happy_x_3 of { (TokenInfo happy_var_3 TokId) -> 373 happyIn8 374 (happy_var_3 : happy_var_1 375 )}} 376 377happyReduce_11 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 378happyReduce_11 = happySpecReduce_3 5# happyReduction_11 379happyReduction_11 happy_x_3 380 happy_x_2 381 happy_x_1 382 = case happyOut10 happy_x_1 of { (HappyWrap10 happy_var_1) -> 383 case happyOut9 happy_x_3 of { (HappyWrap9 happy_var_3) -> 384 happyIn9 385 (happy_var_1 : happy_var_3 386 )}} 387 388happyReduce_12 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 389happyReduce_12 = happySpecReduce_1 5# happyReduction_12 390happyReduction_12 happy_x_1 391 = case happyOut10 happy_x_1 of { (HappyWrap10 happy_var_1) -> 392 happyIn9 393 ([happy_var_1] 394 )} 395 396happyReduce_13 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 397happyReduce_13 = happyMonadReduce 4# 6# happyReduction_13 398happyReduction_13 (happy_x_4 `HappyStk` 399 happy_x_3 `HappyStk` 400 happy_x_2 `HappyStk` 401 happy_x_1 `HappyStk` 402 happyRest) tk 403 = happyThen ((case happyOut12 happy_x_1 of { (HappyWrap12 happy_var_1) -> 404 case happyOut15 happy_x_2 of { (HappyWrap15 happy_var_2) -> 405 case happyOutTok happy_x_3 of { (TokenInfo happy_var_3 TokCodeQuote) -> 406 ( lineP >>= \l -> return (happy_var_1,happy_var_3,l,happy_var_2))}}}) 407 ) (\r -> happyReturn (happyIn10 r)) 408 409happyReduce_14 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 410happyReduce_14 = happyMonadReduce 3# 6# happyReduction_14 411happyReduction_14 (happy_x_3 `HappyStk` 412 happy_x_2 `HappyStk` 413 happy_x_1 `HappyStk` 414 happyRest) tk 415 = happyThen ((case happyOut12 happy_x_1 of { (HappyWrap12 happy_var_1) -> 416 case happyOut15 happy_x_2 of { (HappyWrap15 happy_var_2) -> 417 case happyOutTok happy_x_3 of { (TokenInfo happy_var_3 TokCodeQuote) -> 418 ( lineP >>= \l -> return (happy_var_1,happy_var_3,l,happy_var_2))}}}) 419 ) (\r -> happyReturn (happyIn10 r)) 420 421happyReduce_15 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 422happyReduce_15 = happySpecReduce_1 7# happyReduction_15 423happyReduction_15 happy_x_1 424 = case happyOutTok happy_x_1 of { (TokenInfo happy_var_1 TokId) -> 425 happyIn11 426 (App happy_var_1 [] 427 )} 428 429happyReduce_16 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 430happyReduce_16 = happyReduce 4# 7# happyReduction_16 431happyReduction_16 (happy_x_4 `HappyStk` 432 happy_x_3 `HappyStk` 433 happy_x_2 `HappyStk` 434 happy_x_1 `HappyStk` 435 happyRest) 436 = case happyOutTok happy_x_1 of { (TokenInfo happy_var_1 TokId) -> 437 case happyOut14 happy_x_3 of { (HappyWrap14 happy_var_3) -> 438 happyIn11 439 (App happy_var_1 (reverse happy_var_3) 440 ) `HappyStk` happyRest}} 441 442happyReduce_17 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 443happyReduce_17 = happySpecReduce_1 8# happyReduction_17 444happyReduction_17 happy_x_1 445 = case happyOut13 happy_x_1 of { (HappyWrap13 happy_var_1) -> 446 happyIn12 447 (reverse happy_var_1 448 )} 449 450happyReduce_18 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 451happyReduce_18 = happySpecReduce_0 8# happyReduction_18 452happyReduction_18 = happyIn12 453 ([] 454 ) 455 456happyReduce_19 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 457happyReduce_19 = happySpecReduce_1 9# happyReduction_19 458happyReduction_19 happy_x_1 459 = case happyOut11 happy_x_1 of { (HappyWrap11 happy_var_1) -> 460 happyIn13 461 ([happy_var_1] 462 )} 463 464happyReduce_20 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 465happyReduce_20 = happySpecReduce_2 9# happyReduction_20 466happyReduction_20 happy_x_2 467 happy_x_1 468 = case happyOut13 happy_x_1 of { (HappyWrap13 happy_var_1) -> 469 case happyOut11 happy_x_2 of { (HappyWrap11 happy_var_2) -> 470 happyIn13 471 (happy_var_2 : happy_var_1 472 )}} 473 474happyReduce_21 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 475happyReduce_21 = happySpecReduce_1 10# happyReduction_21 476happyReduction_21 happy_x_1 477 = case happyOut11 happy_x_1 of { (HappyWrap11 happy_var_1) -> 478 happyIn14 479 ([happy_var_1] 480 )} 481 482happyReduce_22 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 483happyReduce_22 = happySpecReduce_3 10# happyReduction_22 484happyReduction_22 happy_x_3 485 happy_x_2 486 happy_x_1 487 = case happyOut14 happy_x_1 of { (HappyWrap14 happy_var_1) -> 488 case happyOut11 happy_x_3 of { (HappyWrap11 happy_var_3) -> 489 happyIn14 490 (happy_var_3 : happy_var_1 491 )}} 492 493happyReduce_23 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 494happyReduce_23 = happySpecReduce_2 11# happyReduction_23 495happyReduction_23 happy_x_2 496 happy_x_1 497 = case happyOutTok happy_x_2 of { (TokenInfo happy_var_2 TokId) -> 498 happyIn15 499 (Just happy_var_2 500 )} 501 502happyReduce_24 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 503happyReduce_24 = happySpecReduce_0 11# happyReduction_24 504happyReduction_24 = happyIn15 505 (Nothing 506 ) 507 508happyReduce_25 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 509happyReduce_25 = happySpecReduce_2 12# happyReduction_25 510happyReduction_25 happy_x_2 511 happy_x_1 512 = case happyOut16 happy_x_1 of { (HappyWrap16 happy_var_1) -> 513 case happyOut17 happy_x_2 of { (HappyWrap17 happy_var_2) -> 514 happyIn16 515 (happy_var_2 : happy_var_1 516 )}} 517 518happyReduce_26 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 519happyReduce_26 = happySpecReduce_1 12# happyReduction_26 520happyReduction_26 happy_x_1 521 = case happyOut17 happy_x_1 of { (HappyWrap17 happy_var_1) -> 522 happyIn16 523 ([happy_var_1] 524 )} 525 526happyReduce_27 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 527happyReduce_27 = happySpecReduce_2 13# happyReduction_27 528happyReduction_27 happy_x_2 529 happy_x_1 530 = case happyOutTok happy_x_2 of { (TokenInfo happy_var_2 TokCodeQuote) -> 531 happyIn17 532 (TokenType happy_var_2 533 )} 534 535happyReduce_28 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 536happyReduce_28 = happySpecReduce_2 13# happyReduction_28 537happyReduction_28 happy_x_2 538 happy_x_1 539 = case happyOut19 happy_x_2 of { (HappyWrap19 happy_var_2) -> 540 happyIn17 541 (TokenSpec happy_var_2 542 )} 543 544happyReduce_29 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 545happyReduce_29 = happySpecReduce_3 13# happyReduction_29 546happyReduction_29 happy_x_3 547 happy_x_2 548 happy_x_1 549 = case happyOutTok happy_x_2 of { (TokenInfo happy_var_2 TokId) -> 550 case happyOut18 happy_x_3 of { (HappyWrap18 happy_var_3) -> 551 happyIn17 552 (TokenName happy_var_2 happy_var_3 False 553 )}} 554 555happyReduce_30 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 556happyReduce_30 = happySpecReduce_3 13# happyReduction_30 557happyReduction_30 happy_x_3 558 happy_x_2 559 happy_x_1 560 = case happyOutTok happy_x_2 of { (TokenInfo happy_var_2 TokId) -> 561 case happyOut18 happy_x_3 of { (HappyWrap18 happy_var_3) -> 562 happyIn17 563 (TokenName happy_var_2 happy_var_3 True 564 )}} 565 566happyReduce_31 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 567happyReduce_31 = happySpecReduce_1 13# happyReduction_31 568happyReduction_31 happy_x_1 569 = happyIn17 570 (TokenImportedIdentity 571 ) 572 573happyReduce_32 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 574happyReduce_32 = happySpecReduce_3 13# happyReduction_32 575happyReduction_32 happy_x_3 576 happy_x_2 577 happy_x_1 578 = case happyOutTok happy_x_2 of { (TokenInfo happy_var_2 TokCodeQuote) -> 579 case happyOutTok happy_x_3 of { (TokenInfo happy_var_3 TokCodeQuote) -> 580 happyIn17 581 (TokenLexer happy_var_2 happy_var_3 582 )}} 583 584happyReduce_33 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 585happyReduce_33 = happySpecReduce_2 13# happyReduction_33 586happyReduction_33 happy_x_2 587 happy_x_1 588 = case happyOutTok happy_x_2 of { (TokenInfo happy_var_2 TokCodeQuote) -> 589 happyIn17 590 (TokenMonad "()" happy_var_2 ">>=" "return" 591 )} 592 593happyReduce_34 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 594happyReduce_34 = happySpecReduce_3 13# happyReduction_34 595happyReduction_34 happy_x_3 596 happy_x_2 597 happy_x_1 598 = case happyOutTok happy_x_2 of { (TokenInfo happy_var_2 TokCodeQuote) -> 599 case happyOutTok happy_x_3 of { (TokenInfo happy_var_3 TokCodeQuote) -> 600 happyIn17 601 (TokenMonad happy_var_2 happy_var_3 ">>=" "return" 602 )}} 603 604happyReduce_35 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 605happyReduce_35 = happyReduce 4# 13# happyReduction_35 606happyReduction_35 (happy_x_4 `HappyStk` 607 happy_x_3 `HappyStk` 608 happy_x_2 `HappyStk` 609 happy_x_1 `HappyStk` 610 happyRest) 611 = case happyOutTok happy_x_2 of { (TokenInfo happy_var_2 TokCodeQuote) -> 612 case happyOutTok happy_x_3 of { (TokenInfo happy_var_3 TokCodeQuote) -> 613 case happyOutTok happy_x_4 of { (TokenInfo happy_var_4 TokCodeQuote) -> 614 happyIn17 615 (TokenMonad "()" happy_var_2 happy_var_3 happy_var_4 616 ) `HappyStk` happyRest}}} 617 618happyReduce_36 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 619happyReduce_36 = happyReduce 5# 13# happyReduction_36 620happyReduction_36 (happy_x_5 `HappyStk` 621 happy_x_4 `HappyStk` 622 happy_x_3 `HappyStk` 623 happy_x_2 `HappyStk` 624 happy_x_1 `HappyStk` 625 happyRest) 626 = case happyOutTok happy_x_2 of { (TokenInfo happy_var_2 TokCodeQuote) -> 627 case happyOutTok happy_x_3 of { (TokenInfo happy_var_3 TokCodeQuote) -> 628 case happyOutTok happy_x_4 of { (TokenInfo happy_var_4 TokCodeQuote) -> 629 case happyOutTok happy_x_5 of { (TokenInfo happy_var_5 TokCodeQuote) -> 630 happyIn17 631 (TokenMonad happy_var_2 happy_var_3 happy_var_4 happy_var_5 632 ) `HappyStk` happyRest}}}} 633 634happyReduce_37 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 635happyReduce_37 = happySpecReduce_2 13# happyReduction_37 636happyReduction_37 happy_x_2 637 happy_x_1 638 = case happyOut21 happy_x_2 of { (HappyWrap21 happy_var_2) -> 639 happyIn17 640 (TokenNonassoc happy_var_2 641 )} 642 643happyReduce_38 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 644happyReduce_38 = happySpecReduce_2 13# happyReduction_38 645happyReduction_38 happy_x_2 646 happy_x_1 647 = case happyOut21 happy_x_2 of { (HappyWrap21 happy_var_2) -> 648 happyIn17 649 (TokenRight happy_var_2 650 )} 651 652happyReduce_39 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 653happyReduce_39 = happySpecReduce_2 13# happyReduction_39 654happyReduction_39 happy_x_2 655 happy_x_1 656 = case happyOut21 happy_x_2 of { (HappyWrap21 happy_var_2) -> 657 happyIn17 658 (TokenLeft happy_var_2 659 )} 660 661happyReduce_40 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 662happyReduce_40 = happySpecReduce_2 13# happyReduction_40 663happyReduction_40 happy_x_2 664 happy_x_1 665 = case happyOutTok happy_x_2 of { (TokenNum happy_var_2 TokNum) -> 666 happyIn17 667 (TokenExpect happy_var_2 668 )} 669 670happyReduce_41 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 671happyReduce_41 = happySpecReduce_2 13# happyReduction_41 672happyReduction_41 happy_x_2 673 happy_x_1 674 = case happyOutTok happy_x_2 of { (TokenInfo happy_var_2 TokCodeQuote) -> 675 happyIn17 676 (TokenError happy_var_2 677 )} 678 679happyReduce_42 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 680happyReduce_42 = happySpecReduce_2 13# happyReduction_42 681happyReduction_42 happy_x_2 682 happy_x_1 683 = case happyOutTok happy_x_2 of { (TokenInfo happy_var_2 TokId) -> 684 happyIn17 685 (TokenErrorHandlerType happy_var_2 686 )} 687 688happyReduce_43 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 689happyReduce_43 = happySpecReduce_2 13# happyReduction_43 690happyReduction_43 happy_x_2 691 happy_x_1 692 = case happyOutTok happy_x_2 of { (TokenInfo happy_var_2 TokCodeQuote) -> 693 happyIn17 694 (TokenAttributetype happy_var_2 695 )} 696 697happyReduce_44 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 698happyReduce_44 = happySpecReduce_3 13# happyReduction_44 699happyReduction_44 happy_x_3 700 happy_x_2 701 happy_x_1 702 = case happyOutTok happy_x_2 of { (TokenInfo happy_var_2 TokId) -> 703 case happyOutTok happy_x_3 of { (TokenInfo happy_var_3 TokCodeQuote) -> 704 happyIn17 705 (TokenAttribute happy_var_2 happy_var_3 706 )}} 707 708happyReduce_45 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 709happyReduce_45 = happySpecReduce_1 14# happyReduction_45 710happyReduction_45 happy_x_1 711 = case happyOutTok happy_x_1 of { (TokenInfo happy_var_1 TokId) -> 712 happyIn18 713 (Just happy_var_1 714 )} 715 716happyReduce_46 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 717happyReduce_46 = happySpecReduce_0 14# happyReduction_46 718happyReduction_46 = happyIn18 719 (Nothing 720 ) 721 722happyReduce_47 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 723happyReduce_47 = happySpecReduce_2 15# happyReduction_47 724happyReduction_47 happy_x_2 725 happy_x_1 726 = case happyOut20 happy_x_1 of { (HappyWrap20 happy_var_1) -> 727 case happyOut19 happy_x_2 of { (HappyWrap19 happy_var_2) -> 728 happyIn19 729 (happy_var_1:happy_var_2 730 )}} 731 732happyReduce_48 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 733happyReduce_48 = happySpecReduce_1 15# happyReduction_48 734happyReduction_48 happy_x_1 735 = case happyOut20 happy_x_1 of { (HappyWrap20 happy_var_1) -> 736 happyIn19 737 ([happy_var_1] 738 )} 739 740happyReduce_49 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 741happyReduce_49 = happySpecReduce_2 16# happyReduction_49 742happyReduction_49 happy_x_2 743 happy_x_1 744 = case happyOutTok happy_x_1 of { (TokenInfo happy_var_1 TokId) -> 745 case happyOutTok happy_x_2 of { (TokenInfo happy_var_2 TokCodeQuote) -> 746 happyIn20 747 ((happy_var_1,happy_var_2) 748 )}} 749 750happyReduce_50 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 751happyReduce_50 = happySpecReduce_2 17# happyReduction_50 752happyReduction_50 happy_x_2 753 happy_x_1 754 = case happyOutTok happy_x_1 of { (TokenInfo happy_var_1 TokId) -> 755 case happyOut21 happy_x_2 of { (HappyWrap21 happy_var_2) -> 756 happyIn21 757 (happy_var_1 : happy_var_2 758 )}} 759 760happyReduce_51 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 761happyReduce_51 = happySpecReduce_0 17# happyReduction_51 762happyReduction_51 = happyIn21 763 ([] 764 ) 765 766happyReduce_52 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 767happyReduce_52 = happySpecReduce_1 18# happyReduction_52 768happyReduction_52 happy_x_1 769 = case happyOutTok happy_x_1 of { (TokenInfo happy_var_1 TokCodeQuote) -> 770 happyIn22 771 (Just happy_var_1 772 )} 773 774happyReduce_53 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 775happyReduce_53 = happySpecReduce_0 18# happyReduction_53 776happyReduction_53 = happyIn22 777 (Nothing 778 ) 779 780happyNewToken action sts stk 781 = lexer(\tk -> 782 let cont i = happyDoAction i tk action sts stk in 783 case tk of { 784 TokenEOF -> happyDoAction 28# tk action sts stk; 785 TokenInfo happy_dollar_dollar TokId -> cont 1#; 786 TokenKW TokSpecId_TokenType -> cont 2#; 787 TokenKW TokSpecId_Token -> cont 3#; 788 TokenKW TokSpecId_Name -> cont 4#; 789 TokenKW TokSpecId_Partial -> cont 5#; 790 TokenKW TokSpecId_Lexer -> cont 6#; 791 TokenKW TokSpecId_ImportedIdentity -> cont 7#; 792 TokenKW TokSpecId_Monad -> cont 8#; 793 TokenKW TokSpecId_Nonassoc -> cont 9#; 794 TokenKW TokSpecId_Left -> cont 10#; 795 TokenKW TokSpecId_Right -> cont 11#; 796 TokenKW TokSpecId_Prec -> cont 12#; 797 TokenKW TokSpecId_Expect -> cont 13#; 798 TokenKW TokSpecId_Error -> cont 14#; 799 TokenKW TokSpecId_ErrorHandlerType -> cont 15#; 800 TokenKW TokSpecId_Attribute -> cont 16#; 801 TokenKW TokSpecId_Attributetype -> cont 17#; 802 TokenInfo happy_dollar_dollar TokCodeQuote -> cont 18#; 803 TokenNum happy_dollar_dollar TokNum -> cont 19#; 804 TokenKW TokColon -> cont 20#; 805 TokenKW TokSemiColon -> cont 21#; 806 TokenKW TokDoubleColon -> cont 22#; 807 TokenKW TokDoublePercent -> cont 23#; 808 TokenKW TokBar -> cont 24#; 809 TokenKW TokParenL -> cont 25#; 810 TokenKW TokParenR -> cont 26#; 811 TokenKW TokComma -> cont 27#; 812 _ -> happyError' (tk, []) 813 }) 814 815happyError_ explist 28# tk = happyError' (tk, explist) 816happyError_ explist _ tk = happyError' (tk, explist) 817 818happyThen :: () => P a -> (a -> P b) -> P b 819happyThen = (>>=) 820happyReturn :: () => a -> P a 821happyReturn = (return) 822happyParse :: () => Happy_GHC_Exts.Int# -> P (HappyAbsSyn ) 823 824happyNewToken :: () => Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 825 826happyDoAction :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 827 828happyReduceArr :: () => Happy_Data_Array.Array Int (Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )) 829 830happyThen1 :: () => P a -> (a -> P b) -> P b 831happyThen1 = happyThen 832happyReturn1 :: () => a -> P a 833happyReturn1 = happyReturn 834happyError' :: () => ((Token), [String]) -> P a 835happyError' tk = (\(tokens, explist) -> happyError) tk 836ourParser = happySomeParser where 837 happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (let {(HappyWrap4 x') = happyOut4 x} in x')) 838 839happySeq = happyDontSeq 840 841 842happyError :: P a 843happyError = lineP >>= \l -> failP (show l ++ ": Parse error\n") 844{-# LINE 1 "templates/GenericTemplate.hs" #-} 845{-# LINE 1 "templates/GenericTemplate.hs" #-} 846{-# LINE 1 "<built-in>" #-} 847{-# LINE 1 "<command-line>" #-} 848{-# LINE 10 "<command-line>" #-} 849# 1 "/usr/include/stdc-predef.h" 1 3 4 850 851# 17 "/usr/include/stdc-predef.h" 3 4 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898{-# LINE 10 "<command-line>" #-} 899{-# LINE 1 "/home/smarlow/local/lib/ghc-8.4.3/include/ghcversion.h" #-} 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915{-# LINE 10 "<command-line>" #-} 916{-# LINE 1 "/tmp/ghc27342_0/ghc_2.h" #-} 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379{-# LINE 10 "<command-line>" #-} 1380{-# LINE 1 "templates/GenericTemplate.hs" #-} 1381-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex. 1396#if __GLASGOW_HASKELL__ > 706 1397#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool) 1398#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool) 1399#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool) 1400#else 1401#define LT(n,m) (n Happy_GHC_Exts.<# m) 1402#define GTE(n,m) (n Happy_GHC_Exts.>=# m) 1403#define EQ(n,m) (n Happy_GHC_Exts.==# m) 1404#endif 1405{-# LINE 43 "templates/GenericTemplate.hs" #-} 1406 1407data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList 1408 1409 1410 1411 1412 1413 1414 1415{-# LINE 65 "templates/GenericTemplate.hs" #-} 1416 1417{-# LINE 75 "templates/GenericTemplate.hs" #-} 1418 1419{-# LINE 84 "templates/GenericTemplate.hs" #-} 1420 1421infixr 9 `HappyStk` 1422data HappyStk a = HappyStk a (HappyStk a) 1423 1424----------------------------------------------------------------------------- 1425-- starting the parse 1426 1427happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll 1428 1429----------------------------------------------------------------------------- 1430-- Accepting the parse 1431 1432-- If the current token is 0#, it means we've just accepted a partial 1433-- parse (a %partial parser). We must ignore the saved token on the top of 1434-- the stack in this case. 1435happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) = 1436 happyReturn1 ans 1437happyAccept j tk st sts (HappyStk ans _) = 1438 (happyTcHack j (happyTcHack st)) (happyReturn1 ans) 1439 1440----------------------------------------------------------------------------- 1441-- Arrays only: do the next action 1442 1443 1444 1445happyDoAction i tk st 1446 = {- nothing -} 1447 1448 1449 case action of 1450 0# -> {- nothing -} 1451 happyFail (happyExpListPerState ((Happy_GHC_Exts.I# (st)) :: Int)) i tk st 1452 -1# -> {- nothing -} 1453 happyAccept i tk st 1454 n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -} 1455 1456 (happyReduceArr Happy_Data_Array.! rule) i tk st 1457 where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#)))))) 1458 n -> {- nothing -} 1459 1460 1461 happyShift new_state i tk st 1462 where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) 1463 where off = happyAdjustOffset (indexShortOffAddr happyActOffsets st) 1464 off_i = (off Happy_GHC_Exts.+# i) 1465 check = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#)) 1466 then EQ(indexShortOffAddr happyCheck off_i, i) 1467 else False 1468 action 1469 | check = indexShortOffAddr happyTable off_i 1470 | otherwise = indexShortOffAddr happyDefActions st 1471 1472 1473 1474 1475indexShortOffAddr (HappyA# arr) off = 1476 Happy_GHC_Exts.narrow16Int# i 1477 where 1478 i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low) 1479 high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#))) 1480 low = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off')) 1481 off' = off Happy_GHC_Exts.*# 2# 1482 1483 1484 1485 1486{-# INLINE happyLt #-} 1487happyLt x y = LT(x,y) 1488 1489 1490readArrayBit arr bit = 1491 Bits.testBit (Happy_GHC_Exts.I# (indexShortOffAddr arr ((unbox_int bit) `Happy_GHC_Exts.iShiftRA#` 4#))) (bit `mod` 16) 1492 where unbox_int (Happy_GHC_Exts.I# x) = x 1493 1494 1495 1496 1497 1498 1499data HappyAddr = HappyA# Happy_GHC_Exts.Addr# 1500 1501 1502----------------------------------------------------------------------------- 1503-- HappyState data type (not arrays) 1504 1505{-# LINE 180 "templates/GenericTemplate.hs" #-} 1506 1507----------------------------------------------------------------------------- 1508-- Shifting a token 1509 1510happyShift new_state 0# tk st sts stk@(x `HappyStk` _) = 1511 let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in 1512-- trace "shifting the error token" $ 1513 happyDoAction i tk new_state (HappyCons (st) (sts)) (stk) 1514 1515happyShift new_state i tk st sts stk = 1516 happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk) 1517 1518-- happyReduce is specialised for the common cases. 1519 1520happySpecReduce_0 i fn 0# tk st sts stk 1521 = happyFail [] 0# tk st sts stk 1522happySpecReduce_0 nt fn j tk st@((action)) sts stk 1523 = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk) 1524 1525happySpecReduce_1 i fn 0# tk st sts stk 1526 = happyFail [] 0# tk st sts stk 1527happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk') 1528 = let r = fn v1 in 1529 happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) 1530 1531happySpecReduce_2 i fn 0# tk st sts stk 1532 = happyFail [] 0# tk st sts stk 1533happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk') 1534 = let r = fn v1 v2 in 1535 happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) 1536 1537happySpecReduce_3 i fn 0# tk st sts stk 1538 = happyFail [] 0# tk st sts stk 1539happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk') 1540 = let r = fn v1 v2 v3 in 1541 happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) 1542 1543happyReduce k i fn 0# tk st sts stk 1544 = happyFail [] 0# tk st sts stk 1545happyReduce k nt fn j tk st sts stk 1546 = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of 1547 sts1@((HappyCons (st1@(action)) (_))) -> 1548 let r = fn stk in -- it doesn't hurt to always seq here... 1549 happyDoSeq r (happyGoto nt j tk st1 sts1 r) 1550 1551happyMonadReduce k nt fn 0# tk st sts stk 1552 = happyFail [] 0# tk st sts stk 1553happyMonadReduce k nt fn j tk st sts stk = 1554 case happyDrop k (HappyCons (st) (sts)) of 1555 sts1@((HappyCons (st1@(action)) (_))) -> 1556 let drop_stk = happyDropStk k stk in 1557 happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk)) 1558 1559happyMonad2Reduce k nt fn 0# tk st sts stk 1560 = happyFail [] 0# tk st sts stk 1561happyMonad2Reduce k nt fn j tk st sts stk = 1562 case happyDrop k (HappyCons (st) (sts)) of 1563 sts1@((HappyCons (st1@(action)) (_))) -> 1564 let drop_stk = happyDropStk k stk 1565 1566 off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st1) 1567 off_i = (off Happy_GHC_Exts.+# nt) 1568 new_state = indexShortOffAddr happyTable off_i 1569 1570 1571 1572 1573 in 1574 happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk)) 1575 1576happyDrop 0# l = l 1577happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t 1578 1579happyDropStk 0# l = l 1580happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs 1581 1582----------------------------------------------------------------------------- 1583-- Moving to a new state after a reduction 1584 1585 1586happyGoto nt j tk st = 1587 {- nothing -} 1588 happyDoAction j tk new_state 1589 where off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st) 1590 off_i = (off Happy_GHC_Exts.+# nt) 1591 new_state = indexShortOffAddr happyTable off_i 1592 1593 1594 1595 1596----------------------------------------------------------------------------- 1597-- Error recovery (0# is the error token) 1598 1599-- parse error if we are in recovery and we fail again 1600happyFail explist 0# tk old_st _ stk@(x `HappyStk` _) = 1601 let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in 1602-- trace "failing" $ 1603 happyError_ explist i tk 1604 1605{- We don't need state discarding for our restricted implementation of 1606 "error". In fact, it can cause some bogus parses, so I've disabled it 1607 for now --SDM 1608 1609-- discard a state 1610happyFail 0# tk old_st (HappyCons ((action)) (sts)) 1611 (saved_tok `HappyStk` _ `HappyStk` stk) = 1612-- trace ("discarding state, depth " ++ show (length stk)) $ 1613 happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk)) 1614-} 1615 1616-- Enter error recovery: generate an error token, 1617-- save the old token and carry on. 1618happyFail explist i tk (action) sts stk = 1619-- trace "entering error recovery" $ 1620 happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk) 1621 1622-- Internal happy errors: 1623 1624notHappyAtAll :: a 1625notHappyAtAll = error "Internal Happy error\n" 1626 1627----------------------------------------------------------------------------- 1628-- Hack to get the typechecker to accept our action functions 1629 1630 1631happyTcHack :: Happy_GHC_Exts.Int# -> a -> a 1632happyTcHack x y = y 1633{-# INLINE happyTcHack #-} 1634 1635 1636----------------------------------------------------------------------------- 1637-- Seq-ing. If the --strict flag is given, then Happy emits 1638-- happySeq = happyDoSeq 1639-- otherwise it emits 1640-- happySeq = happyDontSeq 1641 1642happyDoSeq, happyDontSeq :: a -> b -> b 1643happyDoSeq a b = a `seq` b 1644happyDontSeq a b = b 1645 1646----------------------------------------------------------------------------- 1647-- Don't inline any functions from the template. GHC has a nasty habit 1648-- of deciding to inline happyGoto everywhere, which increases the size of 1649-- the generated parser quite a bit. 1650 1651 1652{-# NOINLINE happyDoAction #-} 1653{-# NOINLINE happyTable #-} 1654{-# NOINLINE happyCheck #-} 1655{-# NOINLINE happyActOffsets #-} 1656{-# NOINLINE happyGotoOffsets #-} 1657{-# NOINLINE happyDefActions #-} 1658 1659{-# NOINLINE happyShift #-} 1660{-# NOINLINE happySpecReduce_0 #-} 1661{-# NOINLINE happySpecReduce_1 #-} 1662{-# NOINLINE happySpecReduce_2 #-} 1663{-# NOINLINE happySpecReduce_3 #-} 1664{-# NOINLINE happyReduce #-} 1665{-# NOINLINE happyMonadReduce #-} 1666{-# NOINLINE happyGoto #-} 1667{-# NOINLINE happyFail #-} 1668 1669-- end of Happy Template. 1670