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.12 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-- $Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp $ 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex. 1077#if __GLASGOW_HASKELL__ > 706 1078#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool) 1079#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool) 1080#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool) 1081#else 1082#define LT(n,m) (n Happy_GHC_Exts.<# m) 1083#define GTE(n,m) (n Happy_GHC_Exts.>=# m) 1084#define EQ(n,m) (n Happy_GHC_Exts.==# m) 1085#endif 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList 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 1146infixr 9 `HappyStk` 1147data HappyStk a = HappyStk a (HappyStk a) 1148 1149----------------------------------------------------------------------------- 1150-- starting the parse 1151 1152happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll 1153 1154----------------------------------------------------------------------------- 1155-- Accepting the parse 1156 1157-- If the current token is ERROR_TOK, it means we've just accepted a partial 1158-- parse (a %partial parser). We must ignore the saved token on the top of 1159-- the stack in this case. 1160happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) = 1161 happyReturn1 ans 1162happyAccept j tk st sts (HappyStk ans _) = 1163 (happyTcHack j (happyTcHack st)) (happyReturn1 ans) 1164 1165----------------------------------------------------------------------------- 1166-- Arrays only: do the next action 1167 1168 1169 1170happyDoAction i tk st 1171 = {- nothing -} 1172 case action of 1173 0# -> {- nothing -} 1174 happyFail (happyExpListPerState ((Happy_GHC_Exts.I# (st)) :: Int)) i tk st 1175 -1# -> {- nothing -} 1176 happyAccept i tk st 1177 n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -} 1178 (happyReduceArr Happy_Data_Array.! rule) i tk st 1179 where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#)))))) 1180 n -> {- nothing -} 1181 happyShift new_state i tk st 1182 where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) 1183 where off = happyAdjustOffset (indexShortOffAddr happyActOffsets st) 1184 off_i = (off Happy_GHC_Exts.+# i) 1185 check = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#)) 1186 then EQ(indexShortOffAddr happyCheck off_i, i) 1187 else False 1188 action 1189 | check = indexShortOffAddr happyTable off_i 1190 | otherwise = indexShortOffAddr happyDefActions st 1191 1192 1193 1194 1195indexShortOffAddr (HappyA# arr) off = 1196 Happy_GHC_Exts.narrow16Int# i 1197 where 1198 i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low) 1199 high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#))) 1200 low = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off')) 1201 off' = off Happy_GHC_Exts.*# 2# 1202 1203 1204 1205 1206{-# INLINE happyLt #-} 1207happyLt x y = LT(x,y) 1208 1209 1210readArrayBit arr bit = 1211 Bits.testBit (Happy_GHC_Exts.I# (indexShortOffAddr arr ((unbox_int bit) `Happy_GHC_Exts.iShiftRA#` 4#))) (bit `mod` 16) 1212 where unbox_int (Happy_GHC_Exts.I# x) = x 1213 1214 1215 1216 1217 1218 1219data HappyAddr = HappyA# Happy_GHC_Exts.Addr# 1220 1221 1222----------------------------------------------------------------------------- 1223-- HappyState data type (not arrays) 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237----------------------------------------------------------------------------- 1238-- Shifting a token 1239 1240happyShift new_state 0# tk st sts stk@(x `HappyStk` _) = 1241 let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in 1242-- trace "shifting the error token" $ 1243 happyDoAction i tk new_state (HappyCons (st) (sts)) (stk) 1244 1245happyShift new_state i tk st sts stk = 1246 happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk) 1247 1248-- happyReduce is specialised for the common cases. 1249 1250happySpecReduce_0 i fn 0# tk st sts stk 1251 = happyFail [] 0# tk st sts stk 1252happySpecReduce_0 nt fn j tk st@((action)) sts stk 1253 = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk) 1254 1255happySpecReduce_1 i fn 0# tk st sts stk 1256 = happyFail [] 0# tk st sts stk 1257happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk') 1258 = let r = fn v1 in 1259 happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) 1260 1261happySpecReduce_2 i fn 0# tk st sts stk 1262 = happyFail [] 0# tk st sts stk 1263happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk') 1264 = let r = fn v1 v2 in 1265 happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) 1266 1267happySpecReduce_3 i fn 0# tk st sts stk 1268 = happyFail [] 0# tk st sts stk 1269happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk') 1270 = let r = fn v1 v2 v3 in 1271 happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) 1272 1273happyReduce k i fn 0# tk st sts stk 1274 = happyFail [] 0# tk st sts stk 1275happyReduce k nt fn j tk st sts stk 1276 = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of 1277 sts1@((HappyCons (st1@(action)) (_))) -> 1278 let r = fn stk in -- it doesn't hurt to always seq here... 1279 happyDoSeq r (happyGoto nt j tk st1 sts1 r) 1280 1281happyMonadReduce k nt fn 0# tk st sts stk 1282 = happyFail [] 0# tk st sts stk 1283happyMonadReduce k nt fn j tk st sts stk = 1284 case happyDrop k (HappyCons (st) (sts)) of 1285 sts1@((HappyCons (st1@(action)) (_))) -> 1286 let drop_stk = happyDropStk k stk in 1287 happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk)) 1288 1289happyMonad2Reduce k nt fn 0# tk st sts stk 1290 = happyFail [] 0# tk st sts stk 1291happyMonad2Reduce k nt fn j tk st sts stk = 1292 case happyDrop k (HappyCons (st) (sts)) of 1293 sts1@((HappyCons (st1@(action)) (_))) -> 1294 let drop_stk = happyDropStk k stk 1295 1296 off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st1) 1297 off_i = (off Happy_GHC_Exts.+# nt) 1298 new_state = indexShortOffAddr happyTable off_i 1299 1300 1301 1302 1303 in 1304 happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk)) 1305 1306happyDrop 0# l = l 1307happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t 1308 1309happyDropStk 0# l = l 1310happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs 1311 1312----------------------------------------------------------------------------- 1313-- Moving to a new state after a reduction 1314 1315 1316happyGoto nt j tk st = 1317 {- nothing -} 1318 happyDoAction j tk new_state 1319 where off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st) 1320 off_i = (off Happy_GHC_Exts.+# nt) 1321 new_state = indexShortOffAddr happyTable off_i 1322 1323 1324 1325 1326----------------------------------------------------------------------------- 1327-- Error recovery (ERROR_TOK is the error token) 1328 1329-- parse error if we are in recovery and we fail again 1330happyFail explist 0# tk old_st _ stk@(x `HappyStk` _) = 1331 let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in 1332-- trace "failing" $ 1333 happyError_ explist i tk 1334 1335{- We don't need state discarding for our restricted implementation of 1336 "error". In fact, it can cause some bogus parses, so I've disabled it 1337 for now --SDM 1338 1339-- discard a state 1340happyFail ERROR_TOK tk old_st CONS(HAPPYSTATE(action),sts) 1341 (saved_tok `HappyStk` _ `HappyStk` stk) = 1342-- trace ("discarding state, depth " ++ show (length stk)) $ 1343 DO_ACTION(action,ERROR_TOK,tk,sts,(saved_tok`HappyStk`stk)) 1344-} 1345 1346-- Enter error recovery: generate an error token, 1347-- save the old token and carry on. 1348happyFail explist i tk (action) sts stk = 1349-- trace "entering error recovery" $ 1350 happyDoAction 0# tk action sts ((Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk) 1351 1352-- Internal happy errors: 1353 1354notHappyAtAll :: a 1355notHappyAtAll = error "Internal Happy error\n" 1356 1357----------------------------------------------------------------------------- 1358-- Hack to get the typechecker to accept our action functions 1359 1360 1361happyTcHack :: Happy_GHC_Exts.Int# -> a -> a 1362happyTcHack x y = y 1363{-# INLINE happyTcHack #-} 1364 1365 1366----------------------------------------------------------------------------- 1367-- Seq-ing. If the --strict flag is given, then Happy emits 1368-- happySeq = happyDoSeq 1369-- otherwise it emits 1370-- happySeq = happyDontSeq 1371 1372happyDoSeq, happyDontSeq :: a -> b -> b 1373happyDoSeq a b = a `seq` b 1374happyDontSeq a b = b 1375 1376----------------------------------------------------------------------------- 1377-- Don't inline any functions from the template. GHC has a nasty habit 1378-- of deciding to inline happyGoto everywhere, which increases the size of 1379-- the generated parser quite a bit. 1380 1381 1382{-# NOINLINE happyDoAction #-} 1383{-# NOINLINE happyTable #-} 1384{-# NOINLINE happyCheck #-} 1385{-# NOINLINE happyActOffsets #-} 1386{-# NOINLINE happyGotoOffsets #-} 1387{-# NOINLINE happyDefActions #-} 1388 1389{-# NOINLINE happyShift #-} 1390{-# NOINLINE happySpecReduce_0 #-} 1391{-# NOINLINE happySpecReduce_1 #-} 1392{-# NOINLINE happySpecReduce_2 #-} 1393{-# NOINLINE happySpecReduce_3 #-} 1394{-# NOINLINE happyReduce #-} 1395{-# NOINLINE happyMonadReduce #-} 1396{-# NOINLINE happyGoto #-} 1397{-# NOINLINE happyFail #-} 1398 1399-- end of Happy Template. 1400