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