1{-# OPTIONS_GHC -w #-} 2{-# OPTIONS -XMagicHash -XBangPatterns -XTypeSynonymInstances -XFlexibleInstances -cpp #-} 3#if __GLASGOW_HASKELL__ >= 710 4{-# OPTIONS_GHC -XPartialTypeSignatures #-} 5#endif 6-- ----------------------------------------------------------------------------- 7-- 8-- Parser.y, part of Alex 9-- 10-- (c) Simon Marlow 2003 11-- 12-- ----------------------------------------------------------------------------- 13 14{-# OPTIONS_GHC -w #-} 15 16module Parser ( parse, P ) where 17import AbsSyn 18import Scan 19import CharSet 20import ParseMonad hiding ( StartCode ) 21 22import Data.Char 23--import Debug.Trace 24import qualified Data.Array as Happy_Data_Array 25import qualified Data.Bits as Bits 26import qualified GHC.Exts as Happy_GHC_Exts 27import Control.Applicative(Applicative(..)) 28import Control.Monad (ap) 29 30-- parser produced by Happy Version 1.19.10 31 32newtype HappyAbsSyn = HappyAbsSyn HappyAny 33#if __GLASGOW_HASKELL__ >= 607 34type HappyAny = Happy_GHC_Exts.Any 35#else 36type HappyAny = forall a . a 37#endif 38newtype HappyWrap4 = HappyWrap4 ((Maybe (AlexPosn,Code), [Directive], Scanner, Maybe (AlexPosn,Code))) 39happyIn4 :: ((Maybe (AlexPosn,Code), [Directive], Scanner, Maybe (AlexPosn,Code))) -> (HappyAbsSyn ) 40happyIn4 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap4 x) 41{-# INLINE happyIn4 #-} 42happyOut4 :: (HappyAbsSyn ) -> HappyWrap4 43happyOut4 x = Happy_GHC_Exts.unsafeCoerce# x 44{-# INLINE happyOut4 #-} 45newtype HappyWrap5 = HappyWrap5 (Maybe (AlexPosn,Code)) 46happyIn5 :: (Maybe (AlexPosn,Code)) -> (HappyAbsSyn ) 47happyIn5 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap5 x) 48{-# INLINE happyIn5 #-} 49happyOut5 :: (HappyAbsSyn ) -> HappyWrap5 50happyOut5 x = Happy_GHC_Exts.unsafeCoerce# x 51{-# INLINE happyOut5 #-} 52newtype HappyWrap6 = HappyWrap6 ([Directive]) 53happyIn6 :: ([Directive]) -> (HappyAbsSyn ) 54happyIn6 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap6 x) 55{-# INLINE happyIn6 #-} 56happyOut6 :: (HappyAbsSyn ) -> HappyWrap6 57happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x 58{-# INLINE happyOut6 #-} 59newtype HappyWrap7 = HappyWrap7 (Directive) 60happyIn7 :: (Directive) -> (HappyAbsSyn ) 61happyIn7 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap7 x) 62{-# INLINE happyIn7 #-} 63happyOut7 :: (HappyAbsSyn ) -> HappyWrap7 64happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x 65{-# INLINE happyOut7 #-} 66newtype HappyWrap8 = HappyWrap8 (Encoding) 67happyIn8 :: (Encoding) -> (HappyAbsSyn ) 68happyIn8 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap8 x) 69{-# INLINE happyIn8 #-} 70happyOut8 :: (HappyAbsSyn ) -> HappyWrap8 71happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x 72{-# INLINE happyOut8 #-} 73newtype HappyWrap9 = HappyWrap9 (()) 74happyIn9 :: (()) -> (HappyAbsSyn ) 75happyIn9 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap9 x) 76{-# INLINE happyIn9 #-} 77happyOut9 :: (HappyAbsSyn ) -> HappyWrap9 78happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x 79{-# INLINE happyOut9 #-} 80newtype HappyWrap10 = HappyWrap10 (()) 81happyIn10 :: (()) -> (HappyAbsSyn ) 82happyIn10 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap10 x) 83{-# INLINE happyIn10 #-} 84happyOut10 :: (HappyAbsSyn ) -> HappyWrap10 85happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x 86{-# INLINE happyOut10 #-} 87newtype HappyWrap11 = HappyWrap11 (Scanner) 88happyIn11 :: (Scanner) -> (HappyAbsSyn ) 89happyIn11 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap11 x) 90{-# INLINE happyIn11 #-} 91happyOut11 :: (HappyAbsSyn ) -> HappyWrap11 92happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x 93{-# INLINE happyOut11 #-} 94newtype HappyWrap12 = HappyWrap12 ([RECtx]) 95happyIn12 :: ([RECtx]) -> (HappyAbsSyn ) 96happyIn12 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap12 x) 97{-# INLINE happyIn12 #-} 98happyOut12 :: (HappyAbsSyn ) -> HappyWrap12 99happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x 100{-# INLINE happyOut12 #-} 101newtype HappyWrap13 = HappyWrap13 ([RECtx]) 102happyIn13 :: ([RECtx]) -> (HappyAbsSyn ) 103happyIn13 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap13 x) 104{-# INLINE happyIn13 #-} 105happyOut13 :: (HappyAbsSyn ) -> HappyWrap13 106happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x 107{-# INLINE happyOut13 #-} 108newtype HappyWrap14 = HappyWrap14 (RECtx) 109happyIn14 :: (RECtx) -> (HappyAbsSyn ) 110happyIn14 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap14 x) 111{-# INLINE happyIn14 #-} 112happyOut14 :: (HappyAbsSyn ) -> HappyWrap14 113happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x 114{-# INLINE happyOut14 #-} 115newtype HappyWrap15 = HappyWrap15 ([RECtx]) 116happyIn15 :: ([RECtx]) -> (HappyAbsSyn ) 117happyIn15 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap15 x) 118{-# INLINE happyIn15 #-} 119happyOut15 :: (HappyAbsSyn ) -> HappyWrap15 120happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x 121{-# INLINE happyOut15 #-} 122newtype HappyWrap16 = HappyWrap16 ([(String,StartCode)]) 123happyIn16 :: ([(String,StartCode)]) -> (HappyAbsSyn ) 124happyIn16 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap16 x) 125{-# INLINE happyIn16 #-} 126happyOut16 :: (HappyAbsSyn ) -> HappyWrap16 127happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x 128{-# INLINE happyOut16 #-} 129newtype HappyWrap17 = HappyWrap17 ([(String,StartCode)]) 130happyIn17 :: ([(String,StartCode)]) -> (HappyAbsSyn ) 131happyIn17 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap17 x) 132{-# INLINE happyIn17 #-} 133happyOut17 :: (HappyAbsSyn ) -> HappyWrap17 134happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x 135{-# INLINE happyOut17 #-} 136newtype HappyWrap18 = HappyWrap18 (String) 137happyIn18 :: (String) -> (HappyAbsSyn ) 138happyIn18 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap18 x) 139{-# INLINE happyIn18 #-} 140happyOut18 :: (HappyAbsSyn ) -> HappyWrap18 141happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x 142{-# INLINE happyOut18 #-} 143newtype HappyWrap19 = HappyWrap19 (Maybe Code) 144happyIn19 :: (Maybe Code) -> (HappyAbsSyn ) 145happyIn19 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap19 x) 146{-# INLINE happyIn19 #-} 147happyOut19 :: (HappyAbsSyn ) -> HappyWrap19 148happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x 149{-# INLINE happyOut19 #-} 150newtype HappyWrap20 = HappyWrap20 (Maybe CharSet, RExp, RightContext RExp) 151happyIn20 :: (Maybe CharSet, RExp, RightContext RExp) -> (HappyAbsSyn ) 152happyIn20 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap20 x) 153{-# INLINE happyIn20 #-} 154happyOut20 :: (HappyAbsSyn ) -> HappyWrap20 155happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x 156{-# INLINE happyOut20 #-} 157newtype HappyWrap21 = HappyWrap21 (CharSet) 158happyIn21 :: (CharSet) -> (HappyAbsSyn ) 159happyIn21 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap21 x) 160{-# INLINE happyIn21 #-} 161happyOut21 :: (HappyAbsSyn ) -> HappyWrap21 162happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x 163{-# INLINE happyOut21 #-} 164newtype HappyWrap22 = HappyWrap22 (RightContext RExp) 165happyIn22 :: (RightContext RExp) -> (HappyAbsSyn ) 166happyIn22 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap22 x) 167{-# INLINE happyIn22 #-} 168happyOut22 :: (HappyAbsSyn ) -> HappyWrap22 169happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x 170{-# INLINE happyOut22 #-} 171newtype HappyWrap23 = HappyWrap23 (RExp) 172happyIn23 :: (RExp) -> (HappyAbsSyn ) 173happyIn23 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap23 x) 174{-# INLINE happyIn23 #-} 175happyOut23 :: (HappyAbsSyn ) -> HappyWrap23 176happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x 177{-# INLINE happyOut23 #-} 178newtype HappyWrap24 = HappyWrap24 (RExp) 179happyIn24 :: (RExp) -> (HappyAbsSyn ) 180happyIn24 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap24 x) 181{-# INLINE happyIn24 #-} 182happyOut24 :: (HappyAbsSyn ) -> HappyWrap24 183happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x 184{-# INLINE happyOut24 #-} 185newtype HappyWrap25 = HappyWrap25 (RExp) 186happyIn25 :: (RExp) -> (HappyAbsSyn ) 187happyIn25 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap25 x) 188{-# INLINE happyIn25 #-} 189happyOut25 :: (HappyAbsSyn ) -> HappyWrap25 190happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x 191{-# INLINE happyOut25 #-} 192newtype HappyWrap26 = HappyWrap26 (RExp -> RExp) 193happyIn26 :: (RExp -> RExp) -> (HappyAbsSyn ) 194happyIn26 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap26 x) 195{-# INLINE happyIn26 #-} 196happyOut26 :: (HappyAbsSyn ) -> HappyWrap26 197happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x 198{-# INLINE happyOut26 #-} 199newtype HappyWrap27 = HappyWrap27 (RExp) 200happyIn27 :: (RExp) -> (HappyAbsSyn ) 201happyIn27 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap27 x) 202{-# INLINE happyIn27 #-} 203happyOut27 :: (HappyAbsSyn ) -> HappyWrap27 204happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x 205{-# INLINE happyOut27 #-} 206newtype HappyWrap28 = HappyWrap28 (CharSet) 207happyIn28 :: (CharSet) -> (HappyAbsSyn ) 208happyIn28 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap28 x) 209{-# INLINE happyIn28 #-} 210happyOut28 :: (HappyAbsSyn ) -> HappyWrap28 211happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x 212{-# INLINE happyOut28 #-} 213newtype HappyWrap29 = HappyWrap29 (CharSet) 214happyIn29 :: (CharSet) -> (HappyAbsSyn ) 215happyIn29 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap29 x) 216{-# INLINE happyIn29 #-} 217happyOut29 :: (HappyAbsSyn ) -> HappyWrap29 218happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x 219{-# INLINE happyOut29 #-} 220newtype HappyWrap30 = HappyWrap30 ([CharSet]) 221happyIn30 :: ([CharSet]) -> (HappyAbsSyn ) 222happyIn30 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap30 x) 223{-# INLINE happyIn30 #-} 224happyOut30 :: (HappyAbsSyn ) -> HappyWrap30 225happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x 226{-# INLINE happyOut30 #-} 227newtype HappyWrap31 = HappyWrap31 ((AlexPosn,String)) 228happyIn31 :: ((AlexPosn,String)) -> (HappyAbsSyn ) 229happyIn31 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap31 x) 230{-# INLINE happyIn31 #-} 231happyOut31 :: (HappyAbsSyn ) -> HappyWrap31 232happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x 233{-# INLINE happyOut31 #-} 234happyInTok :: (Token) -> (HappyAbsSyn ) 235happyInTok x = Happy_GHC_Exts.unsafeCoerce# x 236{-# INLINE happyInTok #-} 237happyOutTok :: (HappyAbsSyn ) -> (Token) 238happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x 239{-# INLINE happyOutTok #-} 240 241 242happyExpList :: HappyAddr 243happyExpList = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xc0\x07\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x02\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\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\x04\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x08\x00\x14\x60\x00\x00\x00\x00\x80\x00\x48\x21\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x20\x48\x21\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x02\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\x80\x15\xe2\x00\x00\x00\x00\x80\x00\x40\x01\x06\x00\x00\x00\x00\x08\x00\x54\x60\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\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\x01\x00\x00\x00\x00\x28\x80\x54\xe2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x80\x54\xe2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xa0\x54\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x01\x00\x00\x00\x00\x08\x80\x14\xe2\x00\x00\x00\x00\x00\x10\x00\x08\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x14\x60\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x08\x00\x16\x60\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x08\x00\x14\x60\x00\x00\x00\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\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\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x80\x14\xe2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x40\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x80\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\x00\x00\x00\x00\x00\x00\x00\x00\x08\x80\x14\xf2\x00\x00\x00\x00\x00\x10\x00\x08\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\x80\x54\xe2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x80\x54\xe2\x00\x00\x00\x00\x00\x00\x04\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\x90\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\x20\x00\x00\x00\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\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"# 244 245{-# NOINLINE happyExpListPerState #-} 246happyExpListPerState st = 247 token_strs_expected 248 where token_strs = ["error","%dummy","%start_parse","alex","maybe_code","directives","directive","encoding","macdefs","macdef","scanner","tokendefs","tokendef","rule","rules","startcodes","startcodes0","startcode","rhs","context","left_ctx","right_ctx","rexp","alt","term","rep","rexp0","set","set0","sets","smac","'.'","';'","'<'","'>'","','","'$'","'|'","'*'","'+'","'?'","'{'","'}'","'('","')'","'#'","'~'","'-'","'['","']'","'^'","'/'","ZERO","STRING","BIND","ID","CODE","CHAR","SMAC","RMAC","SMAC_DEF","RMAC_DEF","WRAPPER","ENCODING","ACTIONTYPE","TOKENTYPE","TYPECLASS","%eof"] 249 bit_start = st * 68 250 bit_end = (st + 1) * 68 251 read_bit = readArrayBit happyExpList 252 bits = map read_bit [bit_start..bit_end - 1] 253 bits_indexed = zip bits [0..67] 254 token_strs_expected = concatMap f bits_indexed 255 f (False, _) = [] 256 f (True, nr) = [token_strs !! nr] 257 258happyActOffsets :: HappyAddr 259happyActOffsets = HappyA# "\xec\xff\xec\xff\xf3\x00\x00\x00\xe5\xff\xfc\xff\xf3\x00\x0d\x00\x18\x00\x2e\x00\x40\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\xfc\xff\x7d\x00\x6f\x00\x00\x00\x27\x00\x00\x00\xb4\x00\x08\x00\x00\x00\x00\x00\x00\x00\x39\x00\x7d\x00\x0f\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x4f\x00\x01\x00\x00\x00\x01\x00\x00\x00\x15\x00\xff\xff\x6f\x00\xfd\xff\x24\x00\x26\x00\x00\x00\x00\x00\x7d\x00\x58\x00\x75\x00\x62\x00\x7d\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x00\x00\x00\x6f\x00\x00\x00\x21\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x00\x5d\x00\x76\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\xf9\xff\x00\x00\x00\x00\x77\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# 260 261happyGotoOffsets :: HappyAddr 262happyGotoOffsets = HappyA# "\x35\x00\x87\x00\x3e\x00\x00\x00\x00\x00\x4d\x00\x57\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x5a\x00\x36\x00\xf4\xff\x00\x00\xf7\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd7\x00\x22\x00\xb6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x00\x8a\x00\x00\x00\x9e\x00\x00\x00\xce\x00\x8d\x00\xe0\x00\x92\x00\x00\x00\x56\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x00\x01\x00\x00\x04\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe9\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\xf2\x00\x97\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x00\x00\xc2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# 263 264happyAdjustOffset :: Happy_GHC_Exts.Int# -> Happy_GHC_Exts.Int# 265happyAdjustOffset off = off 266 267happyDefActions :: HappyAddr 268happyDefActions = HappyA# "\xfc\xff\x00\x00\xfa\xff\xfd\xff\x00\x00\xf2\xff\xfa\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\xff\xf6\xff\xf7\xff\xf8\xff\xf4\xff\xf9\xff\xfb\xff\x00\x00\xf2\xff\x00\x00\x00\x00\xf0\xff\xd6\xff\xd4\xff\xd2\xff\xc8\xff\xc5\xff\xc2\xff\xbc\xff\x00\x00\x00\x00\xbd\xff\xca\xff\xc4\xff\xbb\xff\xc9\xff\xf1\xff\xf3\xff\xfc\xff\xed\xff\xef\xff\xed\xff\xea\xff\x00\x00\x00\x00\x00\x00\xd8\xff\xc8\xff\x00\x00\xdd\xff\xfe\xff\x00\x00\x00\x00\xbd\xff\x00\x00\xbd\xff\xbf\xff\x00\x00\xcb\xff\xd3\xff\xd1\xff\xd0\xff\xcf\xff\x00\x00\xd5\xff\x00\x00\xd7\xff\x00\x00\xc7\xff\x00\x00\xc1\xff\xbe\xff\xc3\xff\xc6\xff\x00\x00\xe4\xff\xe3\xff\xe2\xff\xdc\xff\xde\xff\xdb\xff\x00\x00\xd8\xff\xe9\xff\xe0\xff\xe1\xff\xec\xff\xe7\xff\xee\xff\xe7\xff\x00\x00\xdf\xff\xda\xff\xd9\xff\x00\x00\xe6\xff\xc0\xff\x00\x00\xce\xff\xcd\xff\x00\x00\xe5\xff\xeb\xff\xe8\xff\xcc\xff"# 269 270happyCheck :: HappyAddr 271happyCheck = HappyA# "\xff\xff\x02\x00\x01\x00\x06\x00\x03\x00\x0c\x00\x1a\x00\x13\x00\x14\x00\x15\x00\x25\x00\x17\x00\x18\x00\x19\x00\x0d\x00\x1b\x00\x01\x00\x10\x00\x15\x00\x12\x00\x1b\x00\x14\x00\x01\x00\x0f\x00\x17\x00\x1a\x00\x1e\x00\x1f\x00\x1b\x00\x1c\x00\x1d\x00\x10\x00\x0b\x00\x12\x00\x0d\x00\x14\x00\x17\x00\x10\x00\x05\x00\x12\x00\x01\x00\x14\x00\x1b\x00\x1c\x00\x17\x00\x0c\x00\x07\x00\x17\x00\x1b\x00\x1c\x00\x1d\x00\x0f\x00\x0d\x00\x00\x00\x01\x00\x10\x00\x14\x00\x12\x00\x01\x00\x19\x00\x16\x00\x1b\x00\x17\x00\x19\x00\x02\x00\x03\x00\x1b\x00\x1c\x00\x1d\x00\x17\x00\x0d\x00\x0e\x00\x19\x00\x10\x00\x1b\x00\x12\x00\x01\x00\x11\x00\x18\x00\x19\x00\x17\x00\x1b\x00\x05\x00\x06\x00\x1b\x00\x1c\x00\x1d\x00\x17\x00\x0d\x00\x02\x00\x03\x00\x10\x00\x17\x00\x12\x00\x01\x00\x05\x00\x06\x00\x18\x00\x17\x00\x0d\x00\x0e\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1a\x00\x0d\x00\x0d\x00\x0e\x00\x10\x00\x0f\x00\x12\x00\x01\x00\x14\x00\x0e\x00\x1b\x00\x17\x00\x13\x00\x01\x00\x1b\x00\x1b\x00\x1c\x00\x1d\x00\x13\x00\x0d\x00\x04\x00\x01\x00\x10\x00\x05\x00\x12\x00\x0c\x00\x0c\x00\x0f\x00\x10\x00\x17\x00\x12\x00\x01\x00\x04\x00\x1b\x00\x1c\x00\x1d\x00\x10\x00\x16\x00\x12\x00\x1b\x00\x1c\x00\x08\x00\x09\x00\x0a\x00\x07\x00\x0c\x00\x01\x00\x1b\x00\x1c\x00\x10\x00\x11\x00\x0f\x00\x13\x00\x14\x00\x15\x00\xff\xff\x17\x00\x18\x00\x19\x00\x12\x00\x1b\x00\x08\x00\x09\x00\x0a\x00\x12\x00\x0c\x00\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\xff\xff\x13\x00\x14\x00\x15\x00\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\x1b\x00\x0a\x00\x0b\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x10\x00\x11\x00\xff\xff\x13\x00\x14\x00\x15\x00\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\x1b\x00\x0a\x00\x0b\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x10\x00\x11\x00\xff\xff\x13\x00\x14\x00\x15\x00\x0a\x00\x17\x00\x18\x00\x19\x00\xff\xff\x1b\x00\x10\x00\x11\x00\xff\xff\x13\x00\x14\x00\x15\x00\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\x1b\x00\x13\x00\x14\x00\x15\x00\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\x1b\x00\x13\x00\x14\x00\x15\x00\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\x1b\x00\x13\x00\x14\x00\x15\x00\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\x1b\x00\x13\x00\x14\x00\x15\x00\xff\xff\x17\x00\x18\x00\x19\x00\x15\x00\x1b\x00\x17\x00\x18\x00\x19\x00\xff\xff\x1b\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"# 272 273happyTable :: HappyAddr 274happyTable = HappyA# "\x00\x00\x57\x00\x1f\x00\x53\x00\x33\x00\x66\x00\x04\x00\x17\x00\x18\x00\x19\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x20\x00\x1d\x00\x1f\x00\x21\x00\x54\x00\x22\x00\x67\x00\x34\x00\x1f\x00\x36\x00\x23\x00\x58\x00\x16\x00\x17\x00\x24\x00\x25\x00\x26\x00\x21\x00\x5a\x00\x22\x00\x20\x00\x3a\x00\x12\x00\x21\x00\x64\x00\x22\x00\x1f\x00\x34\x00\x24\x00\x25\x00\x23\x00\x65\x00\x44\x00\x11\x00\x24\x00\x25\x00\x26\x00\x36\x00\x20\x00\x04\x00\x02\x00\x21\x00\x51\x00\x22\x00\x1f\x00\x3a\x00\x4f\x00\x1d\x00\x23\x00\x50\x00\x05\x00\x06\x00\x24\x00\x25\x00\x26\x00\x0f\x00\x20\x00\x3d\x00\x4b\x00\x21\x00\x1d\x00\x22\x00\x1f\x00\x37\x00\x26\x00\x1c\x00\x23\x00\x1d\x00\x13\x00\x14\x00\x24\x00\x25\x00\x26\x00\x0e\x00\x20\x00\x12\x00\x06\x00\x21\x00\x0d\x00\x22\x00\x1f\x00\x27\x00\x14\x00\x2a\x00\x23\x00\x4c\x00\x4d\x00\x60\x00\x24\x00\x25\x00\x26\x00\x04\x00\x20\x00\x67\x00\x4d\x00\x21\x00\x36\x00\x22\x00\x1f\x00\x34\x00\x47\x00\x4b\x00\x23\x00\x49\x00\x1f\x00\x46\x00\x24\x00\x25\x00\x26\x00\x63\x00\x20\x00\x62\x00\x1f\x00\x21\x00\x61\x00\x22\x00\x69\x00\x6b\x00\x36\x00\x21\x00\x23\x00\x22\x00\x02\x00\x0f\x00\x24\x00\x25\x00\x26\x00\x21\x00\x3d\x00\x22\x00\x24\x00\x25\x00\x2a\x00\x2b\x00\x2c\x00\x28\x00\x2d\x00\x34\x00\x24\x00\x25\x00\x2e\x00\x2f\x00\x55\x00\x30\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x31\x00\x1c\x00\x51\x00\x1d\x00\x5a\x00\x2b\x00\x2c\x00\x5d\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x00\x00\x30\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x5b\x00\x5c\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x2e\x00\x2f\x00\x00\x00\x30\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x5b\x00\x69\x00\x37\x00\x1c\x00\x38\x00\x1d\x00\x2e\x00\x2f\x00\x00\x00\x30\x00\x18\x00\x19\x00\x58\x00\x1a\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x2e\x00\x2f\x00\x00\x00\x30\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x3b\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x1d\x00\x54\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x1d\x00\x44\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x1d\x00\x5e\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x1b\x00\x1c\x00\x42\x00\x1d\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x1d\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x37\x00\x1c\x00\x49\x00\x1d\x00\x37\x00\x1c\x00\x47\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# 275 276happyReduceArr = Happy_Data_Array.array (1, 68) [ 277 (1 , happyReduce_1), 278 (2 , happyReduce_2), 279 (3 , happyReduce_3), 280 (4 , happyReduce_4), 281 (5 , happyReduce_5), 282 (6 , happyReduce_6), 283 (7 , happyReduce_7), 284 (8 , happyReduce_8), 285 (9 , happyReduce_9), 286 (10 , happyReduce_10), 287 (11 , happyReduce_11), 288 (12 , happyReduce_12), 289 (13 , happyReduce_13), 290 (14 , happyReduce_14), 291 (15 , happyReduce_15), 292 (16 , happyReduce_16), 293 (17 , happyReduce_17), 294 (18 , happyReduce_18), 295 (19 , happyReduce_19), 296 (20 , happyReduce_20), 297 (21 , happyReduce_21), 298 (22 , happyReduce_22), 299 (23 , happyReduce_23), 300 (24 , happyReduce_24), 301 (25 , happyReduce_25), 302 (26 , happyReduce_26), 303 (27 , happyReduce_27), 304 (28 , happyReduce_28), 305 (29 , happyReduce_29), 306 (30 , happyReduce_30), 307 (31 , happyReduce_31), 308 (32 , happyReduce_32), 309 (33 , happyReduce_33), 310 (34 , happyReduce_34), 311 (35 , happyReduce_35), 312 (36 , happyReduce_36), 313 (37 , happyReduce_37), 314 (38 , happyReduce_38), 315 (39 , happyReduce_39), 316 (40 , happyReduce_40), 317 (41 , happyReduce_41), 318 (42 , happyReduce_42), 319 (43 , happyReduce_43), 320 (44 , happyReduce_44), 321 (45 , happyReduce_45), 322 (46 , happyReduce_46), 323 (47 , happyReduce_47), 324 (48 , happyReduce_48), 325 (49 , happyReduce_49), 326 (50 , happyReduce_50), 327 (51 , happyReduce_51), 328 (52 , happyReduce_52), 329 (53 , happyReduce_53), 330 (54 , happyReduce_54), 331 (55 , happyReduce_55), 332 (56 , happyReduce_56), 333 (57 , happyReduce_57), 334 (58 , happyReduce_58), 335 (59 , happyReduce_59), 336 (60 , happyReduce_60), 337 (61 , happyReduce_61), 338 (62 , happyReduce_62), 339 (63 , happyReduce_63), 340 (64 , happyReduce_64), 341 (65 , happyReduce_65), 342 (66 , happyReduce_66), 343 (67 , happyReduce_67), 344 (68 , happyReduce_68) 345 ] 346 347happy_n_terms = 38 :: Int 348happy_n_nonterms = 28 :: Int 349 350happyReduce_1 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 351happyReduce_1 = happyReduce 5# 0# happyReduction_1 352happyReduction_1 (happy_x_5 `HappyStk` 353 happy_x_4 `HappyStk` 354 happy_x_3 `HappyStk` 355 happy_x_2 `HappyStk` 356 happy_x_1 `HappyStk` 357 happyRest) 358 = case happyOut5 happy_x_1 of { (HappyWrap5 happy_var_1) -> 359 case happyOut6 happy_x_2 of { (HappyWrap6 happy_var_2) -> 360 case happyOut11 happy_x_4 of { (HappyWrap11 happy_var_4) -> 361 case happyOut5 happy_x_5 of { (HappyWrap5 happy_var_5) -> 362 happyIn4 363 ((happy_var_1,happy_var_2,happy_var_4,happy_var_5) 364 ) `HappyStk` happyRest}}}} 365 366happyReduce_2 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 367happyReduce_2 = happySpecReduce_1 1# happyReduction_2 368happyReduction_2 happy_x_1 369 = case happyOutTok happy_x_1 of { happy_var_1 -> 370 happyIn5 371 (case happy_var_1 of T pos (CodeT code) -> 372 Just (pos,code) 373 )} 374 375happyReduce_3 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 376happyReduce_3 = happySpecReduce_0 1# happyReduction_3 377happyReduction_3 = happyIn5 378 (Nothing 379 ) 380 381happyReduce_4 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 382happyReduce_4 = happySpecReduce_2 2# happyReduction_4 383happyReduction_4 happy_x_2 384 happy_x_1 385 = case happyOut7 happy_x_1 of { (HappyWrap7 happy_var_1) -> 386 case happyOut6 happy_x_2 of { (HappyWrap6 happy_var_2) -> 387 happyIn6 388 (happy_var_1 : happy_var_2 389 )}} 390 391happyReduce_5 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 392happyReduce_5 = happySpecReduce_0 2# happyReduction_5 393happyReduction_5 = happyIn6 394 ([] 395 ) 396 397happyReduce_6 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 398happyReduce_6 = happySpecReduce_2 3# happyReduction_6 399happyReduction_6 happy_x_2 400 happy_x_1 401 = case happyOutTok happy_x_2 of { (T _ (StringT happy_var_2)) -> 402 happyIn7 403 (WrapperDirective happy_var_2 404 )} 405 406happyReduce_7 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 407happyReduce_7 = happySpecReduce_2 3# happyReduction_7 408happyReduction_7 happy_x_2 409 happy_x_1 410 = case happyOut8 happy_x_2 of { (HappyWrap8 happy_var_2) -> 411 happyIn7 412 (EncodingDirective happy_var_2 413 )} 414 415happyReduce_8 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 416happyReduce_8 = happySpecReduce_2 3# happyReduction_8 417happyReduction_8 happy_x_2 418 happy_x_1 419 = case happyOutTok happy_x_2 of { (T _ (StringT happy_var_2)) -> 420 happyIn7 421 (ActionType happy_var_2 422 )} 423 424happyReduce_9 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 425happyReduce_9 = happySpecReduce_2 3# happyReduction_9 426happyReduction_9 happy_x_2 427 happy_x_1 428 = case happyOutTok happy_x_2 of { (T _ (StringT happy_var_2)) -> 429 happyIn7 430 (TokenType happy_var_2 431 )} 432 433happyReduce_10 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 434happyReduce_10 = happySpecReduce_2 3# happyReduction_10 435happyReduction_10 happy_x_2 436 happy_x_1 437 = case happyOutTok happy_x_2 of { (T _ (StringT happy_var_2)) -> 438 happyIn7 439 (TypeClass happy_var_2 440 )} 441 442happyReduce_11 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 443happyReduce_11 = happyMonadReduce 1# 4# happyReduction_11 444happyReduction_11 (happy_x_1 `HappyStk` 445 happyRest) tk 446 = happyThen ((case happyOutTok happy_x_1 of { (T _ (StringT happy_var_1)) -> 447 ( lookupEncoding happy_var_1)}) 448 ) (\r -> happyReturn (happyIn8 r)) 449 450happyReduce_12 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 451happyReduce_12 = happySpecReduce_2 5# happyReduction_12 452happyReduction_12 happy_x_2 453 happy_x_1 454 = happyIn9 455 (() 456 ) 457 458happyReduce_13 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 459happyReduce_13 = happySpecReduce_0 5# happyReduction_13 460happyReduction_13 = happyIn9 461 (() 462 ) 463 464happyReduce_14 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 465happyReduce_14 = happyMonadReduce 2# 6# happyReduction_14 466happyReduction_14 (happy_x_2 `HappyStk` 467 happy_x_1 `HappyStk` 468 happyRest) tk 469 = happyThen ((case happyOutTok happy_x_1 of { (T _ (SMacDefT happy_var_1)) -> 470 case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) -> 471 ( newSMac happy_var_1 happy_var_2)}}) 472 ) (\r -> happyReturn (happyIn10 r)) 473 474happyReduce_15 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 475happyReduce_15 = happyMonadReduce 2# 6# happyReduction_15 476happyReduction_15 (happy_x_2 `HappyStk` 477 happy_x_1 `HappyStk` 478 happyRest) tk 479 = happyThen ((case happyOutTok happy_x_1 of { (T _ (RMacDefT happy_var_1)) -> 480 case happyOut23 happy_x_2 of { (HappyWrap23 happy_var_2) -> 481 ( newRMac happy_var_1 happy_var_2)}}) 482 ) (\r -> happyReturn (happyIn10 r)) 483 484happyReduce_16 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 485happyReduce_16 = happySpecReduce_2 7# happyReduction_16 486happyReduction_16 happy_x_2 487 happy_x_1 488 = case happyOutTok happy_x_1 of { (T _ (BindT happy_var_1)) -> 489 case happyOut12 happy_x_2 of { (HappyWrap12 happy_var_2) -> 490 happyIn11 491 (Scanner happy_var_1 happy_var_2 492 )}} 493 494happyReduce_17 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 495happyReduce_17 = happySpecReduce_2 8# happyReduction_17 496happyReduction_17 happy_x_2 497 happy_x_1 498 = case happyOut13 happy_x_1 of { (HappyWrap13 happy_var_1) -> 499 case happyOut12 happy_x_2 of { (HappyWrap12 happy_var_2) -> 500 happyIn12 501 (happy_var_1 ++ happy_var_2 502 )}} 503 504happyReduce_18 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 505happyReduce_18 = happySpecReduce_0 8# happyReduction_18 506happyReduction_18 = happyIn12 507 ([] 508 ) 509 510happyReduce_19 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 511happyReduce_19 = happySpecReduce_2 9# happyReduction_19 512happyReduction_19 happy_x_2 513 happy_x_1 514 = case happyOut16 happy_x_1 of { (HappyWrap16 happy_var_1) -> 515 case happyOut14 happy_x_2 of { (HappyWrap14 happy_var_2) -> 516 happyIn13 517 ([ replaceCodes happy_var_1 happy_var_2 ] 518 )}} 519 520happyReduce_20 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 521happyReduce_20 = happyReduce 4# 9# happyReduction_20 522happyReduction_20 (happy_x_4 `HappyStk` 523 happy_x_3 `HappyStk` 524 happy_x_2 `HappyStk` 525 happy_x_1 `HappyStk` 526 happyRest) 527 = case happyOut16 happy_x_1 of { (HappyWrap16 happy_var_1) -> 528 case happyOut15 happy_x_3 of { (HappyWrap15 happy_var_3) -> 529 happyIn13 530 (map (replaceCodes happy_var_1) happy_var_3 531 ) `HappyStk` happyRest}} 532 533happyReduce_21 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 534happyReduce_21 = happySpecReduce_1 9# happyReduction_21 535happyReduction_21 happy_x_1 536 = case happyOut14 happy_x_1 of { (HappyWrap14 happy_var_1) -> 537 happyIn13 538 ([ happy_var_1 ] 539 )} 540 541happyReduce_22 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 542happyReduce_22 = happySpecReduce_2 10# happyReduction_22 543happyReduction_22 happy_x_2 544 happy_x_1 545 = case happyOut20 happy_x_1 of { (HappyWrap20 happy_var_1) -> 546 case happyOut19 happy_x_2 of { (HappyWrap19 happy_var_2) -> 547 happyIn14 548 (let (l,e,r) = happy_var_1 in 549 RECtx [] l e r happy_var_2 550 )}} 551 552happyReduce_23 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 553happyReduce_23 = happySpecReduce_2 11# happyReduction_23 554happyReduction_23 happy_x_2 555 happy_x_1 556 = case happyOut14 happy_x_1 of { (HappyWrap14 happy_var_1) -> 557 case happyOut15 happy_x_2 of { (HappyWrap15 happy_var_2) -> 558 happyIn15 559 (happy_var_1 : happy_var_2 560 )}} 561 562happyReduce_24 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 563happyReduce_24 = happySpecReduce_0 11# happyReduction_24 564happyReduction_24 = happyIn15 565 ([] 566 ) 567 568happyReduce_25 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 569happyReduce_25 = happySpecReduce_3 12# happyReduction_25 570happyReduction_25 happy_x_3 571 happy_x_2 572 happy_x_1 573 = case happyOut17 happy_x_2 of { (HappyWrap17 happy_var_2) -> 574 happyIn16 575 (happy_var_2 576 )} 577 578happyReduce_26 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 579happyReduce_26 = happySpecReduce_3 13# happyReduction_26 580happyReduction_26 happy_x_3 581 happy_x_2 582 happy_x_1 583 = case happyOut18 happy_x_1 of { (HappyWrap18 happy_var_1) -> 584 case happyOut17 happy_x_3 of { (HappyWrap17 happy_var_3) -> 585 happyIn17 586 ((happy_var_1,0) : happy_var_3 587 )}} 588 589happyReduce_27 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 590happyReduce_27 = happySpecReduce_1 13# happyReduction_27 591happyReduction_27 happy_x_1 592 = case happyOut18 happy_x_1 of { (HappyWrap18 happy_var_1) -> 593 happyIn17 594 ([(happy_var_1,0)] 595 )} 596 597happyReduce_28 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 598happyReduce_28 = happySpecReduce_1 14# happyReduction_28 599happyReduction_28 happy_x_1 600 = happyIn18 601 ("0" 602 ) 603 604happyReduce_29 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 605happyReduce_29 = happySpecReduce_1 14# happyReduction_29 606happyReduction_29 happy_x_1 607 = case happyOutTok happy_x_1 of { (T _ (IdT happy_var_1)) -> 608 happyIn18 609 (happy_var_1 610 )} 611 612happyReduce_30 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 613happyReduce_30 = happySpecReduce_1 15# happyReduction_30 614happyReduction_30 happy_x_1 615 = case happyOutTok happy_x_1 of { happy_var_1 -> 616 happyIn19 617 (case happy_var_1 of T _ (CodeT code) -> Just code 618 )} 619 620happyReduce_31 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 621happyReduce_31 = happySpecReduce_1 15# happyReduction_31 622happyReduction_31 happy_x_1 623 = happyIn19 624 (Nothing 625 ) 626 627happyReduce_32 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 628happyReduce_32 = happySpecReduce_3 16# happyReduction_32 629happyReduction_32 happy_x_3 630 happy_x_2 631 happy_x_1 632 = case happyOut21 happy_x_1 of { (HappyWrap21 happy_var_1) -> 633 case happyOut23 happy_x_2 of { (HappyWrap23 happy_var_2) -> 634 case happyOut22 happy_x_3 of { (HappyWrap22 happy_var_3) -> 635 happyIn20 636 ((Just happy_var_1,happy_var_2,happy_var_3) 637 )}}} 638 639happyReduce_33 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 640happyReduce_33 = happySpecReduce_2 16# happyReduction_33 641happyReduction_33 happy_x_2 642 happy_x_1 643 = case happyOut23 happy_x_1 of { (HappyWrap23 happy_var_1) -> 644 case happyOut22 happy_x_2 of { (HappyWrap22 happy_var_2) -> 645 happyIn20 646 ((Nothing,happy_var_1,happy_var_2) 647 )}} 648 649happyReduce_34 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 650happyReduce_34 = happySpecReduce_1 17# happyReduction_34 651happyReduction_34 happy_x_1 652 = happyIn21 653 (charSetSingleton '\n' 654 ) 655 656happyReduce_35 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 657happyReduce_35 = happySpecReduce_2 17# happyReduction_35 658happyReduction_35 happy_x_2 659 happy_x_1 660 = case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) -> 661 happyIn21 662 (happy_var_1 663 )} 664 665happyReduce_36 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 666happyReduce_36 = happySpecReduce_1 18# happyReduction_36 667happyReduction_36 happy_x_1 668 = happyIn22 669 (RightContextRExp (Ch (charSetSingleton '\n')) 670 ) 671 672happyReduce_37 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 673happyReduce_37 = happySpecReduce_2 18# happyReduction_37 674happyReduction_37 happy_x_2 675 happy_x_1 676 = case happyOut23 happy_x_2 of { (HappyWrap23 happy_var_2) -> 677 happyIn22 678 (RightContextRExp happy_var_2 679 )} 680 681happyReduce_38 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 682happyReduce_38 = happySpecReduce_2 18# happyReduction_38 683happyReduction_38 happy_x_2 684 happy_x_1 685 = case happyOutTok happy_x_2 of { happy_var_2 -> 686 happyIn22 687 (RightContextCode (case happy_var_2 of 688 T _ (CodeT code) -> code) 689 )} 690 691happyReduce_39 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 692happyReduce_39 = happySpecReduce_0 18# happyReduction_39 693happyReduction_39 = happyIn22 694 (NoRightContext 695 ) 696 697happyReduce_40 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 698happyReduce_40 = happySpecReduce_3 19# happyReduction_40 699happyReduction_40 happy_x_3 700 happy_x_2 701 happy_x_1 702 = case happyOut24 happy_x_1 of { (HappyWrap24 happy_var_1) -> 703 case happyOut23 happy_x_3 of { (HappyWrap23 happy_var_3) -> 704 happyIn23 705 (happy_var_1 :| happy_var_3 706 )}} 707 708happyReduce_41 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 709happyReduce_41 = happySpecReduce_1 19# happyReduction_41 710happyReduction_41 happy_x_1 711 = case happyOut24 happy_x_1 of { (HappyWrap24 happy_var_1) -> 712 happyIn23 713 (happy_var_1 714 )} 715 716happyReduce_42 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 717happyReduce_42 = happySpecReduce_2 20# happyReduction_42 718happyReduction_42 happy_x_2 719 happy_x_1 720 = case happyOut24 happy_x_1 of { (HappyWrap24 happy_var_1) -> 721 case happyOut25 happy_x_2 of { (HappyWrap25 happy_var_2) -> 722 happyIn24 723 (happy_var_1 :%% happy_var_2 724 )}} 725 726happyReduce_43 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 727happyReduce_43 = happySpecReduce_1 20# happyReduction_43 728happyReduction_43 happy_x_1 729 = case happyOut25 happy_x_1 of { (HappyWrap25 happy_var_1) -> 730 happyIn24 731 (happy_var_1 732 )} 733 734happyReduce_44 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 735happyReduce_44 = happySpecReduce_2 21# happyReduction_44 736happyReduction_44 happy_x_2 737 happy_x_1 738 = case happyOut27 happy_x_1 of { (HappyWrap27 happy_var_1) -> 739 case happyOut26 happy_x_2 of { (HappyWrap26 happy_var_2) -> 740 happyIn25 741 (happy_var_2 happy_var_1 742 )}} 743 744happyReduce_45 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 745happyReduce_45 = happySpecReduce_1 21# happyReduction_45 746happyReduction_45 happy_x_1 747 = case happyOut27 happy_x_1 of { (HappyWrap27 happy_var_1) -> 748 happyIn25 749 (happy_var_1 750 )} 751 752happyReduce_46 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 753happyReduce_46 = happySpecReduce_1 22# happyReduction_46 754happyReduction_46 happy_x_1 755 = happyIn26 756 (Star 757 ) 758 759happyReduce_47 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 760happyReduce_47 = happySpecReduce_1 22# happyReduction_47 761happyReduction_47 happy_x_1 762 = happyIn26 763 (Plus 764 ) 765 766happyReduce_48 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 767happyReduce_48 = happySpecReduce_1 22# happyReduction_48 768happyReduction_48 happy_x_1 769 = happyIn26 770 (Ques 771 ) 772 773happyReduce_49 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 774happyReduce_49 = happySpecReduce_3 22# happyReduction_49 775happyReduction_49 happy_x_3 776 happy_x_2 777 happy_x_1 778 = case happyOutTok happy_x_2 of { (T _ (CharT happy_var_2)) -> 779 happyIn26 780 (repeat_rng (digit happy_var_2) Nothing 781 )} 782 783happyReduce_50 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 784happyReduce_50 = happyReduce 4# 22# happyReduction_50 785happyReduction_50 (happy_x_4 `HappyStk` 786 happy_x_3 `HappyStk` 787 happy_x_2 `HappyStk` 788 happy_x_1 `HappyStk` 789 happyRest) 790 = case happyOutTok happy_x_2 of { (T _ (CharT happy_var_2)) -> 791 happyIn26 792 (repeat_rng (digit happy_var_2) (Just Nothing) 793 ) `HappyStk` happyRest} 794 795happyReduce_51 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 796happyReduce_51 = happyReduce 5# 22# happyReduction_51 797happyReduction_51 (happy_x_5 `HappyStk` 798 happy_x_4 `HappyStk` 799 happy_x_3 `HappyStk` 800 happy_x_2 `HappyStk` 801 happy_x_1 `HappyStk` 802 happyRest) 803 = case happyOutTok happy_x_2 of { (T _ (CharT happy_var_2)) -> 804 case happyOutTok happy_x_4 of { (T _ (CharT happy_var_4)) -> 805 happyIn26 806 (repeat_rng (digit happy_var_2) (Just (Just (digit happy_var_4))) 807 ) `HappyStk` happyRest}} 808 809happyReduce_52 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 810happyReduce_52 = happySpecReduce_2 23# happyReduction_52 811happyReduction_52 happy_x_2 812 happy_x_1 813 = happyIn27 814 (Eps 815 ) 816 817happyReduce_53 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 818happyReduce_53 = happySpecReduce_1 23# happyReduction_53 819happyReduction_53 happy_x_1 820 = case happyOutTok happy_x_1 of { (T _ (StringT happy_var_1)) -> 821 happyIn27 822 (foldr (:%%) Eps 823 (map (Ch . charSetSingleton) happy_var_1) 824 )} 825 826happyReduce_54 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 827happyReduce_54 = happyMonadReduce 1# 23# happyReduction_54 828happyReduction_54 (happy_x_1 `HappyStk` 829 happyRest) tk 830 = happyThen ((case happyOutTok happy_x_1 of { (T _ (RMacT happy_var_1)) -> 831 ( lookupRMac happy_var_1)}) 832 ) (\r -> happyReturn (happyIn27 r)) 833 834happyReduce_55 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 835happyReduce_55 = happySpecReduce_1 23# happyReduction_55 836happyReduction_55 happy_x_1 837 = case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) -> 838 happyIn27 839 (Ch happy_var_1 840 )} 841 842happyReduce_56 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 843happyReduce_56 = happySpecReduce_3 23# happyReduction_56 844happyReduction_56 happy_x_3 845 happy_x_2 846 happy_x_1 847 = case happyOut23 happy_x_2 of { (HappyWrap23 happy_var_2) -> 848 happyIn27 849 (happy_var_2 850 )} 851 852happyReduce_57 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 853happyReduce_57 = happySpecReduce_3 24# happyReduction_57 854happyReduction_57 happy_x_3 855 happy_x_2 856 happy_x_1 857 = case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) -> 858 case happyOut29 happy_x_3 of { (HappyWrap29 happy_var_3) -> 859 happyIn28 860 (happy_var_1 `charSetMinus` happy_var_3 861 )}} 862 863happyReduce_58 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 864happyReduce_58 = happySpecReduce_1 24# happyReduction_58 865happyReduction_58 happy_x_1 866 = case happyOut29 happy_x_1 of { (HappyWrap29 happy_var_1) -> 867 happyIn28 868 (happy_var_1 869 )} 870 871happyReduce_59 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 872happyReduce_59 = happySpecReduce_1 25# happyReduction_59 873happyReduction_59 happy_x_1 874 = case happyOutTok happy_x_1 of { (T _ (CharT happy_var_1)) -> 875 happyIn29 876 (charSetSingleton happy_var_1 877 )} 878 879happyReduce_60 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 880happyReduce_60 = happySpecReduce_3 25# happyReduction_60 881happyReduction_60 happy_x_3 882 happy_x_2 883 happy_x_1 884 = case happyOutTok happy_x_1 of { (T _ (CharT happy_var_1)) -> 885 case happyOutTok happy_x_3 of { (T _ (CharT happy_var_3)) -> 886 happyIn29 887 (charSetRange happy_var_1 happy_var_3 888 )}} 889 890happyReduce_61 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 891happyReduce_61 = happyMonadReduce 1# 25# happyReduction_61 892happyReduction_61 (happy_x_1 `HappyStk` 893 happyRest) tk 894 = happyThen ((case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) -> 895 ( lookupSMac happy_var_1)}) 896 ) (\r -> happyReturn (happyIn29 r)) 897 898happyReduce_62 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 899happyReduce_62 = happySpecReduce_3 25# happyReduction_62 900happyReduction_62 happy_x_3 901 happy_x_2 902 happy_x_1 903 = case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) -> 904 happyIn29 905 (foldr charSetUnion emptyCharSet happy_var_2 906 )} 907 908happyReduce_63 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 909happyReduce_63 = happyMonadReduce 4# 25# happyReduction_63 910happyReduction_63 (happy_x_4 `HappyStk` 911 happy_x_3 `HappyStk` 912 happy_x_2 `HappyStk` 913 happy_x_1 `HappyStk` 914 happyRest) tk 915 = happyThen ((case happyOutTok happy_x_1 of { happy_var_1 -> 916 case happyOut30 happy_x_3 of { (HappyWrap30 happy_var_3) -> 917 ( do { dot <- lookupSMac (tokPosn happy_var_1, "."); 918 return (dot `charSetMinus` 919 foldr charSetUnion emptyCharSet happy_var_3) })}}) 920 ) (\r -> happyReturn (happyIn29 r)) 921 922happyReduce_64 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 923happyReduce_64 = happyMonadReduce 2# 25# happyReduction_64 924happyReduction_64 (happy_x_2 `HappyStk` 925 happy_x_1 `HappyStk` 926 happyRest) tk 927 = happyThen ((case happyOutTok happy_x_1 of { happy_var_1 -> 928 case happyOut29 happy_x_2 of { (HappyWrap29 happy_var_2) -> 929 ( do { dot <- lookupSMac (tokPosn happy_var_1, "."); 930 return (dot `charSetMinus` happy_var_2) })}}) 931 ) (\r -> happyReturn (happyIn29 r)) 932 933happyReduce_65 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 934happyReduce_65 = happySpecReduce_2 26# happyReduction_65 935happyReduction_65 happy_x_2 936 happy_x_1 937 = case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) -> 938 case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) -> 939 happyIn30 940 (happy_var_1 : happy_var_2 941 )}} 942 943happyReduce_66 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 944happyReduce_66 = happySpecReduce_0 26# happyReduction_66 945happyReduction_66 = happyIn30 946 ([] 947 ) 948 949happyReduce_67 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 950happyReduce_67 = happySpecReduce_1 27# happyReduction_67 951happyReduction_67 happy_x_1 952 = case happyOutTok happy_x_1 of { happy_var_1 -> 953 happyIn31 954 ((tokPosn happy_var_1, ".") 955 )} 956 957happyReduce_68 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 958happyReduce_68 = happySpecReduce_1 27# happyReduction_68 959happyReduction_68 happy_x_1 960 = case happyOutTok happy_x_1 of { happy_var_1 -> 961 happyIn31 962 (case happy_var_1 of T p (SMacT s) -> (p, s) 963 )} 964 965happyNewToken action sts stk 966 = lexer(\tk -> 967 let cont i = happyDoAction i tk action sts stk in 968 case tk of { 969 T _ EOFT -> happyDoAction 37# tk action sts stk; 970 T _ (SpecialT '.') -> cont 1#; 971 T _ (SpecialT ';') -> cont 2#; 972 T _ (SpecialT '<') -> cont 3#; 973 T _ (SpecialT '>') -> cont 4#; 974 T _ (SpecialT ',') -> cont 5#; 975 T _ (SpecialT '$') -> cont 6#; 976 T _ (SpecialT '|') -> cont 7#; 977 T _ (SpecialT '*') -> cont 8#; 978 T _ (SpecialT '+') -> cont 9#; 979 T _ (SpecialT '?') -> cont 10#; 980 T _ (SpecialT '{') -> cont 11#; 981 T _ (SpecialT '}') -> cont 12#; 982 T _ (SpecialT '(') -> cont 13#; 983 T _ (SpecialT ')') -> cont 14#; 984 T _ (SpecialT '#') -> cont 15#; 985 T _ (SpecialT '~') -> cont 16#; 986 T _ (SpecialT '-') -> cont 17#; 987 T _ (SpecialT '[') -> cont 18#; 988 T _ (SpecialT ']') -> cont 19#; 989 T _ (SpecialT '^') -> cont 20#; 990 T _ (SpecialT '/') -> cont 21#; 991 T _ ZeroT -> cont 22#; 992 T _ (StringT happy_dollar_dollar) -> cont 23#; 993 T _ (BindT happy_dollar_dollar) -> cont 24#; 994 T _ (IdT happy_dollar_dollar) -> cont 25#; 995 T _ (CodeT _) -> cont 26#; 996 T _ (CharT happy_dollar_dollar) -> cont 27#; 997 T _ (SMacT _) -> cont 28#; 998 T _ (RMacT happy_dollar_dollar) -> cont 29#; 999 T _ (SMacDefT happy_dollar_dollar) -> cont 30#; 1000 T _ (RMacDefT happy_dollar_dollar) -> cont 31#; 1001 T _ WrapperT -> cont 32#; 1002 T _ EncodingT -> cont 33#; 1003 T _ ActionTypeT -> cont 34#; 1004 T _ TokenTypeT -> cont 35#; 1005 T _ TypeClassT -> cont 36#; 1006 _ -> happyError' (tk, []) 1007 }) 1008 1009happyError_ explist 37# tk = happyError' (tk, explist) 1010happyError_ explist _ tk = happyError' (tk, explist) 1011 1012happyThen :: () => P a -> (a -> P b) -> P b 1013happyThen = ((>>=)) 1014happyReturn :: () => a -> P a 1015happyReturn = (return) 1016happyParse :: () => Happy_GHC_Exts.Int# -> P (HappyAbsSyn ) 1017 1018happyNewToken :: () => Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 1019 1020happyDoAction :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) 1021 1022happyReduceArr :: () => Happy_Data_Array.Array Int (Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )) 1023 1024happyThen1 :: () => P a -> (a -> P b) -> P b 1025happyThen1 = happyThen 1026happyReturn1 :: () => a -> P a 1027happyReturn1 = happyReturn 1028happyError' :: () => ((Token), [String]) -> P a 1029happyError' tk = (\(tokens, explist) -> happyError) tk 1030parse = happySomeParser where 1031 happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (let {(HappyWrap4 x') = happyOut4 x} in x')) 1032 1033happySeq = happyDontSeq 1034 1035 1036happyError :: P a 1037happyError = failP "parse error" 1038 1039-- ----------------------------------------------------------------------------- 1040-- Utils 1041 1042digit c = ord c - ord '0' 1043 1044repeat_rng :: Int -> Maybe (Maybe Int) -> (RExp->RExp) 1045repeat_rng n (Nothing) re = foldr (:%%) Eps (replicate n re) 1046repeat_rng n (Just Nothing) re = foldr (:%%) (Star re) (replicate n re) 1047repeat_rng n (Just (Just m)) re = intl :%% rst 1048 where 1049 intl = repeat_rng n Nothing re 1050 rst = foldr (\re re'->Ques(re :%% re')) Eps (replicate (m-n) re) 1051 1052replaceCodes codes rectx = rectx{ reCtxStartCodes = codes } 1053 1054lookupEncoding :: String -> P Encoding 1055lookupEncoding s = case map toLower s of 1056 "iso-8859-1" -> return Latin1 1057 "latin1" -> return Latin1 1058 "utf-8" -> return UTF8 1059 "utf8" -> return UTF8 1060 _ -> failP ("encoding " ++ show s ++ " not supported") 1061{-# LINE 1 "templates/GenericTemplate.hs" #-} 1062{-# LINE 1 "templates/GenericTemplate.hs" #-} 1063{-# LINE 1 "<built-in>" #-} 1064{-# LINE 1 "<command-line>" #-} 1065{-# LINE 10 "<command-line>" #-} 1066# 1 "/usr/include/stdc-predef.h" 1 3 4 1067 1068# 17 "/usr/include/stdc-predef.h" 3 4 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{-# LINE 10 "<command-line>" #-} 1116{-# LINE 1 "/home/smarlow/local/lib/ghc-8.4.3/include/ghcversion.h" #-} 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132{-# LINE 10 "<command-line>" #-} 1133{-# LINE 1 "/tmp/ghc27342_0/ghc_2.h" #-} 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 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596{-# LINE 10 "<command-line>" #-} 1597{-# LINE 1 "templates/GenericTemplate.hs" #-} 1598-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex. 1613#if __GLASGOW_HASKELL__ > 706 1614#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool) 1615#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool) 1616#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool) 1617#else 1618#define LT(n,m) (n Happy_GHC_Exts.<# m) 1619#define GTE(n,m) (n Happy_GHC_Exts.>=# m) 1620#define EQ(n,m) (n Happy_GHC_Exts.==# m) 1621#endif 1622{-# LINE 43 "templates/GenericTemplate.hs" #-} 1623 1624data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList 1625 1626 1627 1628 1629 1630 1631 1632{-# LINE 65 "templates/GenericTemplate.hs" #-} 1633 1634{-# LINE 75 "templates/GenericTemplate.hs" #-} 1635 1636{-# LINE 84 "templates/GenericTemplate.hs" #-} 1637 1638infixr 9 `HappyStk` 1639data HappyStk a = HappyStk a (HappyStk a) 1640 1641----------------------------------------------------------------------------- 1642-- starting the parse 1643 1644happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll 1645 1646----------------------------------------------------------------------------- 1647-- Accepting the parse 1648 1649-- If the current token is 0#, it means we've just accepted a partial 1650-- parse (a %partial parser). We must ignore the saved token on the top of 1651-- the stack in this case. 1652happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) = 1653 happyReturn1 ans 1654happyAccept j tk st sts (HappyStk ans _) = 1655 (happyTcHack j (happyTcHack st)) (happyReturn1 ans) 1656 1657----------------------------------------------------------------------------- 1658-- Arrays only: do the next action 1659 1660 1661 1662happyDoAction i tk st 1663 = {- nothing -} 1664 1665 1666 case action of 1667 0# -> {- nothing -} 1668 happyFail (happyExpListPerState ((Happy_GHC_Exts.I# (st)) :: Int)) i tk st 1669 -1# -> {- nothing -} 1670 happyAccept i tk st 1671 n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -} 1672 1673 (happyReduceArr Happy_Data_Array.! rule) i tk st 1674 where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#)))))) 1675 n -> {- nothing -} 1676 1677 1678 happyShift new_state i tk st 1679 where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) 1680 where off = happyAdjustOffset (indexShortOffAddr happyActOffsets st) 1681 off_i = (off Happy_GHC_Exts.+# i) 1682 check = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#)) 1683 then EQ(indexShortOffAddr happyCheck off_i, i) 1684 else False 1685 action 1686 | check = indexShortOffAddr happyTable off_i 1687 | otherwise = indexShortOffAddr happyDefActions st 1688 1689 1690 1691 1692indexShortOffAddr (HappyA# arr) off = 1693 Happy_GHC_Exts.narrow16Int# i 1694 where 1695 i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low) 1696 high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#))) 1697 low = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off')) 1698 off' = off Happy_GHC_Exts.*# 2# 1699 1700 1701 1702 1703{-# INLINE happyLt #-} 1704happyLt x y = LT(x,y) 1705 1706 1707readArrayBit arr bit = 1708 Bits.testBit (Happy_GHC_Exts.I# (indexShortOffAddr arr ((unbox_int bit) `Happy_GHC_Exts.iShiftRA#` 4#))) (bit `mod` 16) 1709 where unbox_int (Happy_GHC_Exts.I# x) = x 1710 1711 1712 1713 1714 1715 1716data HappyAddr = HappyA# Happy_GHC_Exts.Addr# 1717 1718 1719----------------------------------------------------------------------------- 1720-- HappyState data type (not arrays) 1721 1722{-# LINE 180 "templates/GenericTemplate.hs" #-} 1723 1724----------------------------------------------------------------------------- 1725-- Shifting a token 1726 1727happyShift new_state 0# tk st sts stk@(x `HappyStk` _) = 1728 let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in 1729-- trace "shifting the error token" $ 1730 happyDoAction i tk new_state (HappyCons (st) (sts)) (stk) 1731 1732happyShift new_state i tk st sts stk = 1733 happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk) 1734 1735-- happyReduce is specialised for the common cases. 1736 1737happySpecReduce_0 i fn 0# tk st sts stk 1738 = happyFail [] 0# tk st sts stk 1739happySpecReduce_0 nt fn j tk st@((action)) sts stk 1740 = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk) 1741 1742happySpecReduce_1 i fn 0# tk st sts stk 1743 = happyFail [] 0# tk st sts stk 1744happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk') 1745 = let r = fn v1 in 1746 happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) 1747 1748happySpecReduce_2 i fn 0# tk st sts stk 1749 = happyFail [] 0# tk st sts stk 1750happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk') 1751 = let r = fn v1 v2 in 1752 happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) 1753 1754happySpecReduce_3 i fn 0# tk st sts stk 1755 = happyFail [] 0# tk st sts stk 1756happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk') 1757 = let r = fn v1 v2 v3 in 1758 happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) 1759 1760happyReduce k i fn 0# tk st sts stk 1761 = happyFail [] 0# tk st sts stk 1762happyReduce k nt fn j tk st sts stk 1763 = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of 1764 sts1@((HappyCons (st1@(action)) (_))) -> 1765 let r = fn stk in -- it doesn't hurt to always seq here... 1766 happyDoSeq r (happyGoto nt j tk st1 sts1 r) 1767 1768happyMonadReduce k nt fn 0# tk st sts stk 1769 = happyFail [] 0# tk st sts stk 1770happyMonadReduce k nt fn j tk st sts stk = 1771 case happyDrop k (HappyCons (st) (sts)) of 1772 sts1@((HappyCons (st1@(action)) (_))) -> 1773 let drop_stk = happyDropStk k stk in 1774 happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk)) 1775 1776happyMonad2Reduce k nt fn 0# tk st sts stk 1777 = happyFail [] 0# tk st sts stk 1778happyMonad2Reduce k nt fn j tk st sts stk = 1779 case happyDrop k (HappyCons (st) (sts)) of 1780 sts1@((HappyCons (st1@(action)) (_))) -> 1781 let drop_stk = happyDropStk k stk 1782 1783 off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st1) 1784 off_i = (off Happy_GHC_Exts.+# nt) 1785 new_state = indexShortOffAddr happyTable off_i 1786 1787 1788 1789 1790 in 1791 happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk)) 1792 1793happyDrop 0# l = l 1794happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t 1795 1796happyDropStk 0# l = l 1797happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs 1798 1799----------------------------------------------------------------------------- 1800-- Moving to a new state after a reduction 1801 1802 1803happyGoto nt j tk st = 1804 {- nothing -} 1805 happyDoAction j tk new_state 1806 where off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st) 1807 off_i = (off Happy_GHC_Exts.+# nt) 1808 new_state = indexShortOffAddr happyTable off_i 1809 1810 1811 1812 1813----------------------------------------------------------------------------- 1814-- Error recovery (0# is the error token) 1815 1816-- parse error if we are in recovery and we fail again 1817happyFail explist 0# tk old_st _ stk@(x `HappyStk` _) = 1818 let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in 1819-- trace "failing" $ 1820 happyError_ explist i tk 1821 1822{- We don't need state discarding for our restricted implementation of 1823 "error". In fact, it can cause some bogus parses, so I've disabled it 1824 for now --SDM 1825 1826-- discard a state 1827happyFail 0# tk old_st (HappyCons ((action)) (sts)) 1828 (saved_tok `HappyStk` _ `HappyStk` stk) = 1829-- trace ("discarding state, depth " ++ show (length stk)) $ 1830 happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk)) 1831-} 1832 1833-- Enter error recovery: generate an error token, 1834-- save the old token and carry on. 1835happyFail explist i tk (action) sts stk = 1836-- trace "entering error recovery" $ 1837 happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk) 1838 1839-- Internal happy errors: 1840 1841notHappyAtAll :: a 1842notHappyAtAll = error "Internal Happy error\n" 1843 1844----------------------------------------------------------------------------- 1845-- Hack to get the typechecker to accept our action functions 1846 1847 1848happyTcHack :: Happy_GHC_Exts.Int# -> a -> a 1849happyTcHack x y = y 1850{-# INLINE happyTcHack #-} 1851 1852 1853----------------------------------------------------------------------------- 1854-- Seq-ing. If the --strict flag is given, then Happy emits 1855-- happySeq = happyDoSeq 1856-- otherwise it emits 1857-- happySeq = happyDontSeq 1858 1859happyDoSeq, happyDontSeq :: a -> b -> b 1860happyDoSeq a b = a `seq` b 1861happyDontSeq a b = b 1862 1863----------------------------------------------------------------------------- 1864-- Don't inline any functions from the template. GHC has a nasty habit 1865-- of deciding to inline happyGoto everywhere, which increases the size of 1866-- the generated parser quite a bit. 1867 1868 1869{-# NOINLINE happyDoAction #-} 1870{-# NOINLINE happyTable #-} 1871{-# NOINLINE happyCheck #-} 1872{-# NOINLINE happyActOffsets #-} 1873{-# NOINLINE happyGotoOffsets #-} 1874{-# NOINLINE happyDefActions #-} 1875 1876{-# NOINLINE happyShift #-} 1877{-# NOINLINE happySpecReduce_0 #-} 1878{-# NOINLINE happySpecReduce_1 #-} 1879{-# NOINLINE happySpecReduce_2 #-} 1880{-# NOINLINE happySpecReduce_3 #-} 1881{-# NOINLINE happyReduce #-} 1882{-# NOINLINE happyMonadReduce #-} 1883{-# NOINLINE happyGoto #-} 1884{-# NOINLINE happyFail #-} 1885 1886-- end of Happy Template. 1887