PageRenderTime 61ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/ghc-7.0.4/compiler/cmm/CmmParse.hs

http://picorec.googlecode.com/
Haskell | 1210 lines | 1025 code | 64 blank | 121 comment | 0 complexity | e5c7c9c148503f36e35d83c109da2669 MD5 | raw file
Possible License(s): BSD-3-Clause, BSD-2-Clause
  1. {-# OPTIONS_GHC -fno-warn-overlapping-patterns #-}
  2. {-# OPTIONS -fglasgow-exts -cpp #-}
  3. {-# OPTIONS -Wwarn -w -XNoMonomorphismRestriction #-}
  4. -- The NoMonomorphismRestriction deals with a Happy infelicity
  5. -- With OutsideIn's more conservativ monomorphism restriction
  6. -- we aren't generalising
  7. -- notHappyAtAll = error "urk"
  8. -- which is terrible. Switching off the restriction allows
  9. -- the generalisation. Better would be to make Happy generate
  10. -- an appropriate signature.
  11. --
  12. -- The above warning supression flag is a temporary kludge.
  13. -- While working on this module you are encouraged to remove it and fix
  14. -- any warnings in the module. See
  15. -- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
  16. -- for details
  17. module CmmParse ( parseCmmFile ) where
  18. import CgMonad hiding (getDynFlags)
  19. import CgExtCode
  20. import CgHeapery
  21. import CgUtils
  22. import CgProf
  23. import CgTicky
  24. import CgInfoTbls
  25. import CgForeignCall
  26. import CgTailCall
  27. import CgStackery
  28. import ClosureInfo
  29. import CgCallConv
  30. import CgClosure
  31. import CostCentre
  32. import BlockId
  33. import Cmm
  34. import PprCmm
  35. import CmmUtils
  36. import CmmLex
  37. import CLabel
  38. import SMRep
  39. import Lexer
  40. import ForeignCall
  41. import Module
  42. import Literal
  43. import Unique
  44. import UniqFM
  45. import SrcLoc
  46. import DynFlags
  47. import StaticFlags
  48. import ErrUtils
  49. import StringBuffer
  50. import FastString
  51. import Panic
  52. import Constants
  53. import Outputable
  54. import BasicTypes
  55. import Bag ( emptyBag, unitBag )
  56. import Var
  57. import Control.Monad
  58. import Data.Array
  59. import Data.Char ( ord )
  60. import System.Exit
  61. #include "HsVersions.h"
  62. #if __GLASGOW_HASKELL__ >= 503
  63. import qualified Data.Array as Happy_Data_Array
  64. #else
  65. import qualified Array as Happy_Data_Array
  66. #endif
  67. #if __GLASGOW_HASKELL__ >= 503
  68. import qualified GHC.Exts as Happy_GHC_Exts
  69. #else
  70. import qualified GlaExts as Happy_GHC_Exts
  71. #endif
  72. -- parser produced by Happy Version 1.18.4
  73. newtype HappyAbsSyn = HappyAbsSyn HappyAny
  74. #if __GLASGOW_HASKELL__ >= 607
  75. type HappyAny = Happy_GHC_Exts.Any
  76. #else
  77. type HappyAny = forall a . a
  78. #endif
  79. happyIn4 :: (ExtCode) -> (HappyAbsSyn )
  80. happyIn4 x = Happy_GHC_Exts.unsafeCoerce# x
  81. {-# INLINE happyIn4 #-}
  82. happyOut4 :: (HappyAbsSyn ) -> (ExtCode)
  83. happyOut4 x = Happy_GHC_Exts.unsafeCoerce# x
  84. {-# INLINE happyOut4 #-}
  85. happyIn5 :: (ExtCode) -> (HappyAbsSyn )
  86. happyIn5 x = Happy_GHC_Exts.unsafeCoerce# x
  87. {-# INLINE happyIn5 #-}
  88. happyOut5 :: (HappyAbsSyn ) -> (ExtCode)
  89. happyOut5 x = Happy_GHC_Exts.unsafeCoerce# x
  90. {-# INLINE happyOut5 #-}
  91. happyIn6 :: (ExtCode) -> (HappyAbsSyn )
  92. happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x
  93. {-# INLINE happyIn6 #-}
  94. happyOut6 :: (HappyAbsSyn ) -> (ExtCode)
  95. happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x
  96. {-# INLINE happyOut6 #-}
  97. happyIn7 :: ([ExtFCode [CmmStatic]]) -> (HappyAbsSyn )
  98. happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x
  99. {-# INLINE happyIn7 #-}
  100. happyOut7 :: (HappyAbsSyn ) -> ([ExtFCode [CmmStatic]])
  101. happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x
  102. {-# INLINE happyOut7 #-}
  103. happyIn8 :: (ExtFCode [CmmStatic]) -> (HappyAbsSyn )
  104. happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x
  105. {-# INLINE happyIn8 #-}
  106. happyOut8 :: (HappyAbsSyn ) -> (ExtFCode [CmmStatic])
  107. happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x
  108. {-# INLINE happyOut8 #-}
  109. happyIn9 :: ([ExtFCode CmmExpr]) -> (HappyAbsSyn )
  110. happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x
  111. {-# INLINE happyIn9 #-}
  112. happyOut9 :: (HappyAbsSyn ) -> ([ExtFCode CmmExpr])
  113. happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x
  114. {-# INLINE happyOut9 #-}
  115. happyIn10 :: (ExtCode) -> (HappyAbsSyn )
  116. happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x
  117. {-# INLINE happyIn10 #-}
  118. happyOut10 :: (HappyAbsSyn ) -> (ExtCode)
  119. happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x
  120. {-# INLINE happyOut10 #-}
  121. happyIn11 :: (ExtFCode (CLabel, CmmInfoTable, [Maybe LocalReg])) -> (HappyAbsSyn )
  122. happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x
  123. {-# INLINE happyIn11 #-}
  124. happyOut11 :: (HappyAbsSyn ) -> (ExtFCode (CLabel, CmmInfoTable, [Maybe LocalReg]))
  125. happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x
  126. {-# INLINE happyOut11 #-}
  127. happyIn12 :: (ExtCode) -> (HappyAbsSyn )
  128. happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x
  129. {-# INLINE happyIn12 #-}
  130. happyOut12 :: (HappyAbsSyn ) -> (ExtCode)
  131. happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x
  132. {-# INLINE happyOut12 #-}
  133. happyIn13 :: (ExtCode) -> (HappyAbsSyn )
  134. happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x
  135. {-# INLINE happyIn13 #-}
  136. happyOut13 :: (HappyAbsSyn ) -> (ExtCode)
  137. happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x
  138. {-# INLINE happyOut13 #-}
  139. happyIn14 :: ([(FastString, CLabel)]) -> (HappyAbsSyn )
  140. happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x
  141. {-# INLINE happyIn14 #-}
  142. happyOut14 :: (HappyAbsSyn ) -> ([(FastString, CLabel)])
  143. happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x
  144. {-# INLINE happyOut14 #-}
  145. happyIn15 :: ((FastString, CLabel)) -> (HappyAbsSyn )
  146. happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x
  147. {-# INLINE happyIn15 #-}
  148. happyOut15 :: (HappyAbsSyn ) -> ((FastString, CLabel))
  149. happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x
  150. {-# INLINE happyOut15 #-}
  151. happyIn16 :: ([FastString]) -> (HappyAbsSyn )
  152. happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x
  153. {-# INLINE happyIn16 #-}
  154. happyOut16 :: (HappyAbsSyn ) -> ([FastString])
  155. happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x
  156. {-# INLINE happyOut16 #-}
  157. happyIn17 :: (ExtCode) -> (HappyAbsSyn )
  158. happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x
  159. {-# INLINE happyIn17 #-}
  160. happyOut17 :: (HappyAbsSyn ) -> (ExtCode)
  161. happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x
  162. {-# INLINE happyOut17 #-}
  163. happyIn18 :: (CmmReturnInfo) -> (HappyAbsSyn )
  164. happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x
  165. {-# INLINE happyIn18 #-}
  166. happyOut18 :: (HappyAbsSyn ) -> (CmmReturnInfo)
  167. happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x
  168. {-# INLINE happyOut18 #-}
  169. happyIn19 :: (ExtFCode BoolExpr) -> (HappyAbsSyn )
  170. happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x
  171. {-# INLINE happyIn19 #-}
  172. happyOut19 :: (HappyAbsSyn ) -> (ExtFCode BoolExpr)
  173. happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x
  174. {-# INLINE happyOut19 #-}
  175. happyIn20 :: (ExtFCode BoolExpr) -> (HappyAbsSyn )
  176. happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x
  177. {-# INLINE happyIn20 #-}
  178. happyOut20 :: (HappyAbsSyn ) -> (ExtFCode BoolExpr)
  179. happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x
  180. {-# INLINE happyOut20 #-}
  181. happyIn21 :: (CmmSafety) -> (HappyAbsSyn )
  182. happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x
  183. {-# INLINE happyIn21 #-}
  184. happyOut21 :: (HappyAbsSyn ) -> (CmmSafety)
  185. happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x
  186. {-# INLINE happyOut21 #-}
  187. happyIn22 :: (Maybe [GlobalReg]) -> (HappyAbsSyn )
  188. happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x
  189. {-# INLINE happyIn22 #-}
  190. happyOut22 :: (HappyAbsSyn ) -> (Maybe [GlobalReg])
  191. happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x
  192. {-# INLINE happyOut22 #-}
  193. happyIn23 :: ([GlobalReg]) -> (HappyAbsSyn )
  194. happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x
  195. {-# INLINE happyIn23 #-}
  196. happyOut23 :: (HappyAbsSyn ) -> ([GlobalReg])
  197. happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x
  198. {-# INLINE happyOut23 #-}
  199. happyIn24 :: (Maybe (Int,Int)) -> (HappyAbsSyn )
  200. happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x
  201. {-# INLINE happyIn24 #-}
  202. happyOut24 :: (HappyAbsSyn ) -> (Maybe (Int,Int))
  203. happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x
  204. {-# INLINE happyOut24 #-}
  205. happyIn25 :: ([([Int],ExtCode)]) -> (HappyAbsSyn )
  206. happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x
  207. {-# INLINE happyIn25 #-}
  208. happyOut25 :: (HappyAbsSyn ) -> ([([Int],ExtCode)])
  209. happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x
  210. {-# INLINE happyOut25 #-}
  211. happyIn26 :: (([Int],ExtCode)) -> (HappyAbsSyn )
  212. happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x
  213. {-# INLINE happyIn26 #-}
  214. happyOut26 :: (HappyAbsSyn ) -> (([Int],ExtCode))
  215. happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x
  216. {-# INLINE happyOut26 #-}
  217. happyIn27 :: ([Int]) -> (HappyAbsSyn )
  218. happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x
  219. {-# INLINE happyIn27 #-}
  220. happyOut27 :: (HappyAbsSyn ) -> ([Int])
  221. happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x
  222. {-# INLINE happyOut27 #-}
  223. happyIn28 :: (Maybe ExtCode) -> (HappyAbsSyn )
  224. happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x
  225. {-# INLINE happyIn28 #-}
  226. happyOut28 :: (HappyAbsSyn ) -> (Maybe ExtCode)
  227. happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x
  228. {-# INLINE happyOut28 #-}
  229. happyIn29 :: (ExtCode) -> (HappyAbsSyn )
  230. happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x
  231. {-# INLINE happyIn29 #-}
  232. happyOut29 :: (HappyAbsSyn ) -> (ExtCode)
  233. happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x
  234. {-# INLINE happyOut29 #-}
  235. happyIn30 :: (ExtFCode CmmExpr) -> (HappyAbsSyn )
  236. happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x
  237. {-# INLINE happyIn30 #-}
  238. happyOut30 :: (HappyAbsSyn ) -> (ExtFCode CmmExpr)
  239. happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x
  240. {-# INLINE happyOut30 #-}
  241. happyIn31 :: (ExtFCode CmmExpr) -> (HappyAbsSyn )
  242. happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x
  243. {-# INLINE happyIn31 #-}
  244. happyOut31 :: (HappyAbsSyn ) -> (ExtFCode CmmExpr)
  245. happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x
  246. {-# INLINE happyOut31 #-}
  247. happyIn32 :: (CmmType) -> (HappyAbsSyn )
  248. happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x
  249. {-# INLINE happyIn32 #-}
  250. happyOut32 :: (HappyAbsSyn ) -> (CmmType)
  251. happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x
  252. {-# INLINE happyOut32 #-}
  253. happyIn33 :: ([ExtFCode HintedCmmActual]) -> (HappyAbsSyn )
  254. happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x
  255. {-# INLINE happyIn33 #-}
  256. happyOut33 :: (HappyAbsSyn ) -> ([ExtFCode HintedCmmActual])
  257. happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x
  258. {-# INLINE happyOut33 #-}
  259. happyIn34 :: ([ExtFCode HintedCmmActual]) -> (HappyAbsSyn )
  260. happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x
  261. {-# INLINE happyIn34 #-}
  262. happyOut34 :: (HappyAbsSyn ) -> ([ExtFCode HintedCmmActual])
  263. happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x
  264. {-# INLINE happyOut34 #-}
  265. happyIn35 :: ([ExtFCode HintedCmmActual]) -> (HappyAbsSyn )
  266. happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x
  267. {-# INLINE happyIn35 #-}
  268. happyOut35 :: (HappyAbsSyn ) -> ([ExtFCode HintedCmmActual])
  269. happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x
  270. {-# INLINE happyOut35 #-}
  271. happyIn36 :: (ExtFCode HintedCmmActual) -> (HappyAbsSyn )
  272. happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x
  273. {-# INLINE happyIn36 #-}
  274. happyOut36 :: (HappyAbsSyn ) -> (ExtFCode HintedCmmActual)
  275. happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x
  276. {-# INLINE happyOut36 #-}
  277. happyIn37 :: ([ExtFCode CmmExpr]) -> (HappyAbsSyn )
  278. happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x
  279. {-# INLINE happyIn37 #-}
  280. happyOut37 :: (HappyAbsSyn ) -> ([ExtFCode CmmExpr])
  281. happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x
  282. {-# INLINE happyOut37 #-}
  283. happyIn38 :: ([ExtFCode CmmExpr]) -> (HappyAbsSyn )
  284. happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x
  285. {-# INLINE happyIn38 #-}
  286. happyOut38 :: (HappyAbsSyn ) -> ([ExtFCode CmmExpr])
  287. happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x
  288. {-# INLINE happyOut38 #-}
  289. happyIn39 :: (ExtFCode CmmExpr) -> (HappyAbsSyn )
  290. happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x
  291. {-# INLINE happyIn39 #-}
  292. happyOut39 :: (HappyAbsSyn ) -> (ExtFCode CmmExpr)
  293. happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x
  294. {-# INLINE happyOut39 #-}
  295. happyIn40 :: ([ExtFCode HintedCmmFormal]) -> (HappyAbsSyn )
  296. happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x
  297. {-# INLINE happyIn40 #-}
  298. happyOut40 :: (HappyAbsSyn ) -> ([ExtFCode HintedCmmFormal])
  299. happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x
  300. {-# INLINE happyOut40 #-}
  301. happyIn41 :: ([ExtFCode HintedCmmFormal]) -> (HappyAbsSyn )
  302. happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x
  303. {-# INLINE happyIn41 #-}
  304. happyOut41 :: (HappyAbsSyn ) -> ([ExtFCode HintedCmmFormal])
  305. happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x
  306. {-# INLINE happyOut41 #-}
  307. happyIn42 :: (ExtFCode HintedCmmFormal) -> (HappyAbsSyn )
  308. happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x
  309. {-# INLINE happyIn42 #-}
  310. happyOut42 :: (HappyAbsSyn ) -> (ExtFCode HintedCmmFormal)
  311. happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x
  312. {-# INLINE happyOut42 #-}
  313. happyIn43 :: (ExtFCode LocalReg) -> (HappyAbsSyn )
  314. happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x
  315. {-# INLINE happyIn43 #-}
  316. happyOut43 :: (HappyAbsSyn ) -> (ExtFCode LocalReg)
  317. happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x
  318. {-# INLINE happyOut43 #-}
  319. happyIn44 :: (ExtFCode CmmReg) -> (HappyAbsSyn )
  320. happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x
  321. {-# INLINE happyIn44 #-}
  322. happyOut44 :: (HappyAbsSyn ) -> (ExtFCode CmmReg)
  323. happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x
  324. {-# INLINE happyOut44 #-}
  325. happyIn45 :: ([ExtFCode LocalReg]) -> (HappyAbsSyn )
  326. happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x
  327. {-# INLINE happyIn45 #-}
  328. happyOut45 :: (HappyAbsSyn ) -> ([ExtFCode LocalReg])
  329. happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x
  330. {-# INLINE happyOut45 #-}
  331. happyIn46 :: ([ExtFCode LocalReg]) -> (HappyAbsSyn )
  332. happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x
  333. {-# INLINE happyIn46 #-}
  334. happyOut46 :: (HappyAbsSyn ) -> ([ExtFCode LocalReg])
  335. happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x
  336. {-# INLINE happyOut46 #-}
  337. happyIn47 :: ([ExtFCode LocalReg]) -> (HappyAbsSyn )
  338. happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x
  339. {-# INLINE happyIn47 #-}
  340. happyOut47 :: (HappyAbsSyn ) -> ([ExtFCode LocalReg])
  341. happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x
  342. {-# INLINE happyOut47 #-}
  343. happyIn48 :: (ExtFCode LocalReg) -> (HappyAbsSyn )
  344. happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x
  345. {-# INLINE happyIn48 #-}
  346. happyOut48 :: (HappyAbsSyn ) -> (ExtFCode LocalReg)
  347. happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x
  348. {-# INLINE happyOut48 #-}
  349. happyIn49 :: (ExtFCode (Maybe UpdateFrame)) -> (HappyAbsSyn )
  350. happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x
  351. {-# INLINE happyIn49 #-}
  352. happyOut49 :: (HappyAbsSyn ) -> (ExtFCode (Maybe UpdateFrame))
  353. happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x
  354. {-# INLINE happyOut49 #-}
  355. happyIn50 :: (ExtFCode (Maybe BlockId)) -> (HappyAbsSyn )
  356. happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x
  357. {-# INLINE happyIn50 #-}
  358. happyOut50 :: (HappyAbsSyn ) -> (ExtFCode (Maybe BlockId))
  359. happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x
  360. {-# INLINE happyOut50 #-}
  361. happyIn51 :: (CmmType) -> (HappyAbsSyn )
  362. happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x
  363. {-# INLINE happyIn51 #-}
  364. happyOut51 :: (HappyAbsSyn ) -> (CmmType)
  365. happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x
  366. {-# INLINE happyOut51 #-}
  367. happyIn52 :: (CmmType) -> (HappyAbsSyn )
  368. happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x
  369. {-# INLINE happyIn52 #-}
  370. happyOut52 :: (HappyAbsSyn ) -> (CmmType)
  371. happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x
  372. {-# INLINE happyOut52 #-}
  373. happyInTok :: (Located CmmToken) -> (HappyAbsSyn )
  374. happyInTok x = Happy_GHC_Exts.unsafeCoerce# x
  375. {-# INLINE happyInTok #-}
  376. happyOutTok :: (HappyAbsSyn ) -> (Located CmmToken)
  377. happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x
  378. {-# INLINE happyOutTok #-}
  379. happyActOffsets :: HappyAddr
  380. happyActOffsets = HappyA# "\x33\x01\x00\x00\x57\x03\x33\x01\x00\x00\x00\x00\x92\x03\x00\x00\x47\x03\x00\x00\x71\x03\x70\x03\x6f\x03\x6c\x03\x66\x03\x65\x03\x29\x03\x31\x03\x05\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x03\x2b\x03\x3c\x01\x4a\x03\x32\x03\x00\x00\x26\x03\x46\x03\x38\x03\x30\x03\x23\x03\x21\x03\x1d\x03\x1c\x03\x1b\x03\x0b\x03\x28\x03\x09\x00\x00\x00\xf8\x02\x00\x00\x0a\x03\x00\x00\x2c\x03\x2a\x03\x25\x03\x1a\x03\x17\x03\x16\x03\xeb\x02\x00\x00\x47\x01\x00\x00\x05\x01\x00\x00\x10\x03\x00\x00\x0c\x03\xe8\x02\xed\x02\x08\x03\x61\x00\x00\x00\x3c\x01\x00\x00\x00\x00\x0d\x03\x47\x01\xff\xff\x07\x03\x09\x03\xd0\x02\x05\x03\xfa\x02\x00\x00\xc6\x02\xc4\x02\xb8\x02\xb5\x02\xb3\x02\xa9\x02\x00\x00\xe2\x02\x1a\x00\xde\x02\xdb\x02\x12\x00\xd9\x02\xd5\x02\xd4\x02\x00\x00\x02\x00\xd8\x02\x99\x02\x95\x02\xa4\x01\xce\x02\x00\x00\xcf\x02\x00\x00\x61\x00\x61\x00\x96\x02\x61\x00\x00\x00\x00\x00\x00\x00\xb7\x02\xb7\x02\x00\x00\x00\x00\x00\x00\x37\x02\x1a\x00\xca\x02\x1a\x00\x1a\x00\xa7\x00\xc0\x02\x0d\x00\x00\x00\xf8\x00\x88\x02\x54\x00\x61\x00\xb9\x02\xb6\x02\x00\x00\x1c\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x00\x00\x3c\x01\x00\x00\x02\x01\xa1\x02\x00\x00\x4f\x02\x61\x00\x78\x02\x00\x00\xb4\x02\xa3\x02\x00\x00\x59\x02\xa5\x02\x74\x02\x5b\x02\x53\x02\x00\x00\x3c\x01\x4d\x02\x86\x02\x61\x00\x7f\x02\x00\x00\x82\x03\x8b\x02\x6a\x02\x75\x02\x69\x02\x68\x02\x66\x02\x79\x02\x77\x02\x60\x02\x65\x02\x5c\x02\xec\x01\x00\x00\x61\x00\x00\x00\xaa\x03\xaa\x03\xaa\x03\xaa\x03\x7b\x00\x7b\x00\xaa\x03\xaa\x03\xbe\x03\xc5\x03\xf9\x00\x02\x01\x02\x01\x00\x00\x00\x00\x00\x00\x6e\x03\x5d\x02\x00\x00\x00\x00\x61\x00\x61\x00\x17\x02\x58\x02\x61\x00\x1e\x02\x4d\x00\x00\x00\x96\x03\x54\x00\x54\x00\x56\x02\x45\x02\x3a\x02\x00\x00\x00\x00\x0f\x02\x61\x00\x61\x00\x0d\x02\x34\x02\x00\x00\x00\x00\x00\x00\x01\x02\x61\x00\x90\x01\xd2\x01\x00\x00\xf8\x00\x36\x02\x00\x00\x00\x00\x00\x01\x38\x02\x4f\x02\x1a\x00\x54\x00\x54\x00\x35\x02\x99\x00\x2e\x02\x00\x00\x10\x02\x00\x00\xf7\x01\xb8\x01\x2d\x02\x00\x00\x61\x00\x2c\x02\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x01\xe6\x01\xe5\x01\x00\x00\xd9\x01\x00\x00\x00\x00\x08\x02\x07\x02\x06\x02\xfa\x01\x00\x00\x00\x00\x00\x00\x0c\x02\xd7\x01\xc3\x01\x61\x00\x00\x00\x00\x00\x00\x00\x00\x01\xe4\x01\xff\x01\x00\x00\x00\x00\x00\x00\xf9\x01\x00\x00\x05\x02\xf0\x01\x61\x00\x61\x00\x61\x00\xce\x01\x00\x00\xef\x01\xbd\x01\xb3\x01\xb1\x01\x00\x00\xaa\x01\xa8\x01\xa7\x01\x9c\x01\xc6\x01\xc5\x01\xc4\x01\xd1\x01\xcf\x01\xbb\x01\x00\x00\xcb\x01\xcd\x01\x00\x00\x00\x00\xba\x01\x7c\x01\xb4\x01\x9f\x01\x68\x01\x68\x01\x00\x00\x1a\x00\xa5\x01\x00\x00\x78\x01\x92\x01\x00\x00\x53\x01\x52\x01\x45\x01\x74\x01\x67\x01\x65\x01\x1a\x00\x00\x00\x1a\x00\x66\x01\x63\x01\x00\x00\x63\x01\x64\x01\x06\x00\x35\x01\x00\x00\x60\x01\x5e\x01\x22\x01\x19\x01\x00\x00\x11\x00\x4b\x01\x00\x00\x00\x00\x4d\x01\x15\x01\x41\x01\x00\x00\x38\x01\x00\x00\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x01\x32\x01\x00\x00\x00\x00\x00\x00"#
  381. happyGotoOffsets :: HappyAddr
  382. happyGotoOffsets = HappyA# "\xb9\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x0e\x01\x00\x00\x29\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x01\x00\x00\x0d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x01\x01\x01\xb2\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x00\x00\x00\xed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x01\x00\x00\xac\x00\x00\x00\xdc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x00\x00\x00\x56\x03\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x01\x00\x45\x03\x00\x00\x00\x00\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\x01\xf3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x03\x3b\x03\x00\x00\x35\x03\x00\x00\x00\x00\x00\x00\xe5\x00\xd5\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\x00\x00\x00\xf5\x00\xcc\x00\x00\x00\x00\x00\xe3\x00\x00\x00\xd0\x00\x00\x00\x31\x01\x24\x03\xc7\x00\xdf\x00\x00\x00\x00\x00\x81\x02\x22\x03\x1e\x03\x14\x03\x06\x03\x04\x03\x02\x03\xf4\x02\xea\x02\xe6\x02\xe4\x02\xd3\x02\xcd\x02\xc9\x02\xc3\x02\xb2\x02\xb0\x02\x00\x00\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x02\x00\x00\x00\x00\x00\x00\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\xa2\x02\x00\x00\x00\x00\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\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\x67\x02\x94\x02\x00\x00\x00\x00\x55\x02\xaa\x00\x00\x00\x00\x00\x00\x00\x2f\x01\x21\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x00\x92\x02\x8f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x02\x00\x00\x00\x00\x00\x00\x97\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\x00\x13\x01\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x02\x00\x00\x00\x00\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x57\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\x46\x00\xf5\xff\xfc\xff\x58\x00\x00\x00\x00\x00\x80\x00\x64\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x56\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x00\x00\x00\xfa\xff\x00\x00\x14\x00\x00\x00\x0e\x00\x00\x00\x08\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
  383. happyDefActions :: HappyAddr
  384. happyDefActions = HappyA# "\xfe\xff\x00\x00\x00\x00\xfe\xff\xfb\xff\xfc\xff\x7a\xff\xfa\xff\x00\x00\x6d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\xff\x6c\xff\x6b\xff\x6a\xff\x69\xff\x68\xff\x67\xff\x7a\xff\x70\xff\x78\xff\x00\x00\xdb\xff\xd9\xff\x00\x00\x00\x00\x00\x00\xd7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\xff\xfd\xff\x72\xff\xea\xff\x00\x00\xde\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\xff\xf7\xff\xd8\xff\x00\x00\xdd\xff\x00\x00\x77\xff\x75\xff\x00\x00\x72\xff\x00\x00\x00\x00\x73\xff\x76\xff\x79\xff\xda\xff\x00\x00\xf7\xff\x00\x00\x6d\xff\x00\x00\x00\x00\x6e\xff\x00\x00\xd6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\xff\x00\x00\xe1\xff\xed\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\xff\x98\xff\x00\x00\xf3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x85\xff\x86\xff\x99\xff\x94\xff\x94\xff\xf6\xff\xf8\xff\x74\xff\x00\x00\xe1\xff\x00\x00\xe1\xff\xe1\xff\x00\x00\x00\x00\x00\x00\xd5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x92\xff\xb9\xff\x7b\xff\x7c\xff\x8a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\xff\x00\x00\x9b\xff\x9e\xff\x00\x00\x9f\xff\x00\x00\x00\x00\x00\x00\xf4\xff\x00\x00\xed\xff\xef\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3\xff\x78\xff\x00\x00\x00\x00\x00\x00\x00\x00\xeb\xff\xed\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\xff\x8a\xff\x93\xff\xa1\xff\xa0\xff\xa3\xff\xa5\xff\xa9\xff\xaa\xff\xa2\xff\xa4\xff\xa6\xff\xa7\xff\xa8\xff\xab\xff\xac\xff\xad\xff\xae\xff\xaf\xff\x88\xff\x00\x00\x89\xff\xd4\xff\x8a\xff\x00\x00\x00\x00\x00\x00\x90\xff\x92\xff\x00\x00\xc7\xff\xc6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x82\xff\x7f\xff\x7d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\xff\xe0\xff\xe9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x7e\xff\x81\xff\x00\x00\xcd\xff\xc3\xff\x00\x00\xc7\xff\xc6\xff\xe1\xff\x00\x00\x00\x00\x00\x00\x8c\xff\x00\x00\x8f\xff\x8e\xff\xcb\xff\x00\x00\x00\x00\x00\x00\x71\xff\x00\x00\x00\x00\x97\xff\x00\x00\xf0\xff\xee\xff\xf2\xff\xf1\xff\x00\x00\x00\x00\x00\x00\xe2\xff\x00\x00\xf9\xff\xec\xff\x00\x00\x00\x00\x00\x00\x00\x00\x9d\xff\x96\xff\x87\xff\x00\x00\xb8\xff\x00\x00\x00\x00\x91\xff\x8b\xff\xcc\xff\xc4\xff\xc5\xff\x00\x00\xc2\xff\x83\xff\x80\xff\x00\x00\xd3\xff\x00\x00\x00\x00\x90\xff\x90\xff\x00\x00\xb1\xff\x8d\xff\x00\x00\xb2\xff\xb8\xff\x00\x00\xcf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\xff\xb7\xff\x00\x00\x00\x00\xba\xff\xca\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc1\xff\xc1\xff\xd2\xff\xe1\xff\x00\x00\xce\xff\x00\x00\x00\x00\xe4\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\xff\xb4\xff\xe1\xff\x00\x00\xbf\xff\xc0\xff\xbf\xff\x00\x00\x00\x00\xc9\xff\xb0\xff\x00\x00\x00\x00\x00\x00\x00\x00\xe8\xff\x00\x00\x00\x00\xb6\xff\xb3\xff\x00\x00\x00\x00\x00\x00\xbe\xff\xbc\xff\xd0\xff\x00\x00\xbd\xff\xc8\xff\xd1\xff\xe5\xff\xe7\xff\x00\x00\x00\x00\xbb\xff\xe6\xff"#
  385. happyCheck :: HappyAddr
  386. happyCheck = HappyA# "\xff\xff\x02\x00\x08\x00\x09\x00\x03\x00\x04\x00\x07\x00\x0d\x00\x06\x00\x13\x00\x0b\x00\x02\x00\x06\x00\x0e\x00\x0f\x00\x1a\x00\x1b\x00\x0e\x00\x05\x00\x1e\x00\x1f\x00\x20\x00\x1a\x00\x1b\x00\x23\x00\x08\x00\x08\x00\x13\x00\x02\x00\x01\x00\x24\x00\x23\x00\x12\x00\x07\x00\x28\x00\x07\x00\x2f\x00\x30\x00\x12\x00\x16\x00\x16\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x00\x00\x01\x00\x02\x00\x2f\x00\x30\x00\x17\x00\x06\x00\x07\x00\x2c\x00\x09\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x29\x00\x42\x00\x3f\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x07\x00\x31\x00\x32\x00\x40\x00\x34\x00\x35\x00\x03\x00\x0e\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x07\x00\x2f\x00\x30\x00\x17\x00\x0b\x00\x1a\x00\x1b\x00\x0e\x00\x0f\x00\x1e\x00\x1f\x00\x20\x00\x11\x00\x07\x00\x23\x00\x11\x00\x17\x00\x0b\x00\x20\x00\x21\x00\x0e\x00\x0f\x00\x19\x00\x2a\x00\x2b\x00\x2c\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x15\x00\x16\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x18\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x03\x00\x04\x00\x15\x00\x16\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x01\x00\x02\x00\x25\x00\x26\x00\x27\x00\x06\x00\x07\x00\x27\x00\x09\x00\x08\x00\x09\x00\x08\x00\x09\x00\x1d\x00\x0d\x00\x1b\x00\x0d\x00\x2b\x00\x2c\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x23\x00\x08\x00\x09\x00\x08\x00\x09\x00\x2f\x00\x0d\x00\x31\x00\x0d\x00\x41\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x24\x00\x05\x00\x24\x00\x05\x00\x28\x00\x1d\x00\x28\x00\x0a\x00\x0b\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x24\x00\x0c\x00\x24\x00\x1c\x00\x28\x00\x14\x00\x28\x00\x25\x00\x26\x00\x27\x00\x05\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x08\x00\x09\x00\x08\x00\x09\x00\x1c\x00\x0d\x00\x2d\x00\x0d\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x0f\x00\x10\x00\x08\x00\x09\x00\x0c\x00\x0d\x00\x0e\x00\x0d\x00\x0c\x00\x1a\x00\x1b\x00\x1a\x00\x1b\x00\x0a\x00\x0b\x00\x24\x00\x2d\x00\x24\x00\x2e\x00\x28\x00\x23\x00\x28\x00\x20\x00\x21\x00\x0f\x00\x10\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x24\x00\x0c\x00\x2f\x00\x30\x00\x28\x00\x1a\x00\x1b\x00\x2e\x00\x0f\x00\x10\x00\x29\x00\x2f\x00\x30\x00\x0c\x00\x23\x00\x29\x00\x40\x00\x41\x00\x08\x00\x1a\x00\x1b\x00\x3f\x00\x0f\x00\x10\x00\x0f\x00\x10\x00\x2f\x00\x30\x00\x23\x00\x40\x00\x41\x00\x06\x00\x33\x00\x1a\x00\x1b\x00\x1a\x00\x1b\x00\x42\x00\x16\x00\x02\x00\x2f\x00\x30\x00\x23\x00\x08\x00\x23\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x42\x00\x29\x00\x2a\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x04\x00\x41\x00\x04\x00\x30\x00\x02\x00\x34\x00\x05\x00\x22\x00\x04\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x2b\x00\x40\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x16\x00\x08\x00\x16\x00\x02\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x41\x00\x40\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x02\x00\x41\x00\x41\x00\x03\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x02\x00\x08\x00\x03\x00\x41\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x42\x00\x03\x00\x08\x00\x03\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x01\x00\x04\x00\x01\x00\x16\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x06\x00\x08\x00\x16\x00\x16\x00\x16\x00\x41\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x41\x00\x36\x00\x42\x00\x41\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x06\x00\x42\x00\x37\x00\x06\x00\x28\x00\x07\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x09\x00\x04\x00\x20\x00\x42\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x07\x00\x36\x00\x02\x00\x18\x00\x16\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x42\x00\x16\x00\x16\x00\x16\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x07\x00\x16\x00\x42\x00\x42\x00\x41\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x08\x00\x08\x00\x08\x00\x02\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x07\x00\x09\x00\x08\x00\x40\x00\x0e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x08\x00\x41\x00\x40\x00\x16\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x08\x00\x02\x00\x42\x00\x02\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x08\x00\x0a\x00\x02\x00\x08\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x1a\x00\x1b\x00\x1a\x00\x1b\x00\x1e\x00\x1f\x00\x20\x00\x1f\x00\x20\x00\x23\x00\x02\x00\x23\x00\x02\x00\x16\x00\x08\x00\x16\x00\x16\x00\x16\x00\x1a\x00\x1b\x00\x04\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x21\x00\x22\x00\x23\x00\x1a\x00\x1b\x00\x02\x00\x08\x00\x42\x00\x1a\x00\x1b\x00\x21\x00\x22\x00\x23\x00\x42\x00\x2f\x00\x30\x00\x22\x00\x23\x00\x41\x00\x1a\x00\x1b\x00\x42\x00\x1a\x00\x1b\x00\x2f\x00\x30\x00\x21\x00\x22\x00\x23\x00\x2f\x00\x30\x00\x23\x00\x07\x00\x1a\x00\x1b\x00\x06\x00\x1a\x00\x1b\x00\x1a\x00\x1b\x00\x2f\x00\x30\x00\x23\x00\x2f\x00\x30\x00\x23\x00\x42\x00\x23\x00\x40\x00\x16\x00\x06\x00\x05\x00\x1a\x00\x1b\x00\x2f\x00\x30\x00\x07\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x23\x00\x1a\x00\x1b\x00\x40\x00\x09\x00\x1a\x00\x1b\x00\x1a\x00\x1b\x00\x04\x00\x23\x00\x19\x00\x2f\x00\x30\x00\x23\x00\x05\x00\x23\x00\x40\x00\x42\x00\x0a\x00\x40\x00\x02\x00\x2f\x00\x30\x00\x1a\x00\x1b\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x1a\x00\x1b\x00\x03\x00\x23\x00\x1a\x00\x1b\x00\x40\x00\x16\x00\x16\x00\x23\x00\x1a\x00\x1b\x00\x16\x00\x23\x00\x16\x00\x2f\x00\x30\x00\x16\x00\x42\x00\x23\x00\x42\x00\x2f\x00\x30\x00\x42\x00\x01\x00\x2f\x00\x30\x00\x1a\x00\x1b\x00\x1a\x00\x1b\x00\x2f\x00\x30\x00\x1a\x00\x1b\x00\x42\x00\x23\x00\x42\x00\x23\x00\x05\x00\x03\x00\x05\x00\x23\x00\x1a\x00\x1b\x00\x07\x00\x04\x00\x42\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x23\x00\x08\x00\x2f\x00\x30\x00\x2e\x00\x1a\x00\x1b\x00\x1a\x00\x1b\x00\x1a\x00\x1b\x00\x16\x00\x2f\x00\x30\x00\x23\x00\x2e\x00\x23\x00\x40\x00\x23\x00\x02\x00\x40\x00\x16\x00\x16\x00\x1a\x00\x1b\x00\x16\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x23\x00\x1a\x00\x1b\x00\x02\x00\x16\x00\x1a\x00\x1b\x00\x1a\x00\x1b\x00\x16\x00\x23\x00\x16\x00\x2f\x00\x30\x00\x23\x00\x16\x00\x23\x00\x16\x00\x03\x00\x40\x00\x40\x00\x02\x00\x2f\x00\x30\x00\x1a\x00\x1b\x00\x2f\x00\x30\x00\x2f\x00\x30\x00\x1a\x00\x1b\x00\x2c\x00\x23\x00\x1a\x00\x1b\x00\x40\x00\x40\x00\x40\x00\x23\x00\x1a\x00\x1b\x00\x40\x00\x23\x00\x40\x00\x2f\x00\x30\x00\x40\x00\x07\x00\x23\x00\x40\x00\x2f\x00\x30\x00\x07\x00\x07\x00\x2f\x00\x30\x00\x1a\x00\x1b\x00\x41\x00\x07\x00\x2f\x00\x30\x00\x07\x00\x07\x00\x07\x00\x23\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x2f\x00\x30\x00\x40\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x07\x00\xff\xff\x44\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\xff\xff\x1a\x00\x1b\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x1a\x00\x1b\x00\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
  387. happyTable :: HappyAddr
  388. happyTable = HappyA# "\x00\x00\x6a\x00\x64\x01\x79\x00\x73\x00\x49\x00\x6b\x00\x7a\x00\xa6\x00\x7b\x01\x6c\x00\x2f\x00\x71\x01\x6d\x00\x6e\x00\xfd\x00\x66\x00\x6d\x01\xe7\x00\x48\x01\xff\x00\x00\x01\x47\x01\x66\x00\x67\x00\x79\x01\xab\x00\x6f\x01\x7f\x00\xd5\x00\x7b\x00\x67\x00\x60\x01\x80\x00\x7c\x00\xd6\x00\x68\x00\x09\x00\x62\x01\x7a\x01\xac\x00\x7d\x00\x09\x00\x68\x00\x09\x00\x2c\x00\x03\x00\x04\x00\x4a\x00\x4b\x00\x5a\x01\x05\x00\x06\x00\x30\x00\x07\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x11\x00\xa7\x00\x72\x01\x81\x00\x82\x00\x83\x00\x84\xff\x6b\x00\x84\xff\x84\x00\x24\x00\x13\x00\x85\x00\xfa\x00\x6d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x86\x00\x87\x00\xdf\x00\x08\x00\x09\x00\x3f\x01\x6c\x00\xfd\x00\x66\x00\x6d\x00\x6e\x00\x49\x01\xff\x00\x00\x01\x5d\x01\x6b\x00\x67\x00\x5f\x01\xe0\x00\x6c\x00\xfb\x00\xfc\x00\x6d\x00\x6e\x00\x45\x01\xb4\x00\x3e\x00\x3f\x00\x68\x00\x09\x00\x40\x00\x09\x00\x41\x01\x34\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x42\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x48\x00\x49\x00\x33\x01\x34\x01\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x02\x00\x03\x00\x04\x00\x28\x01\xe2\x00\xe3\x00\x05\x00\x06\x00\xf1\x00\x07\x00\x65\x01\x79\x00\x5c\x01\x79\x00\xfc\x00\x7a\x00\x19\x01\x7a\x00\x75\x00\x3f\x00\xc0\x00\x09\x00\x40\x00\x09\x00\x67\x00\x25\x01\x79\x00\xea\x00\x79\x00\xe9\x00\x7a\x00\xea\x00\x7a\x00\x22\x01\x4a\x00\x4b\x00\x68\x00\x09\x00\x7b\x00\x14\x01\x7b\x00\xba\x00\x7c\x00\xd8\x00\x7c\x00\x47\x00\x1e\x00\x08\x00\x09\x00\x7d\x00\x09\x00\x7d\x00\x09\x00\x7b\x00\x2a\x00\x7b\x00\x98\x00\x7c\x00\xd6\x00\x7c\x00\xe1\x00\xe2\x00\xe3\x00\xad\x00\x7d\x00\x09\x00\x7d\x00\x09\x00\xeb\x00\x79\x00\x78\x00\x79\x00\x9a\x00\x7a\x00\x42\x00\x7a\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x23\x01\xdc\x00\xaf\x00\x79\x00\x89\x00\x8a\x00\x8b\x00\x7a\x00\x50\x00\x93\x00\x94\x00\xdd\x00\x66\x00\x1d\x00\x1e\x00\x7b\x00\x58\x00\x7b\x00\x2d\x00\x7c\x00\x67\x00\x7c\x00\xfb\x00\xfc\x00\x24\x01\xdc\x00\x7d\x00\x09\x00\x7d\x00\x09\x00\x7b\x00\x22\x00\x68\x00\x09\x00\x7c\x00\xdd\x00\x66\x00\x41\x00\xf5\x00\xdc\x00\x1b\x00\x7d\x00\x09\x00\x2a\x00\x67\x00\x2b\x00\xe5\x00\xe6\x00\x7d\x01\xdd\x00\x66\x00\x72\x01\xf6\x00\xf7\x00\xdb\x00\xdc\x00\x68\x00\x09\x00\x67\x00\x20\x00\x21\x00\x75\x01\x76\x01\xf8\x00\x66\x00\xdd\x00\x66\x00\x7b\x01\x74\x01\x77\x01\x68\x00\x09\x00\x67\x00\x78\x01\x67\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x6a\x01\x11\x00\x12\x00\x68\x00\x09\x00\x68\x00\x09\x00\x6c\x01\x6b\x01\x6d\x01\x6f\x01\x73\x01\x13\x00\x62\x01\x4d\x00\x64\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x4e\x00\x1b\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x67\x01\x69\x01\x68\x01\x4d\x01\x4f\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x57\x01\x50\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x2b\x01\x58\x01\x59\x01\x5a\x01\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\xa2\x00\x4b\x01\x5c\x01\x5f\x01\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x41\x01\x1e\x01\x4c\x01\x4e\x01\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x4f\x01\x50\x01\x52\x01\x51\x01\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x2a\x01\x53\x01\x54\x01\x55\x01\x56\x01\x3c\x01\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x3d\x01\x36\x01\x3e\x01\x3f\x01\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x09\x01\x41\x01\x44\x01\x45\x01\x47\x01\x2e\x01\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x30\x01\x31\x01\xfb\x00\x33\x01\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x2f\x01\x36\x01\x37\x01\x1f\x01\x38\x01\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x16\x01\x39\x01\x3a\x01\x3b\x01\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\xda\x00\x20\x01\x17\x01\x18\x01\x19\x01\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x1b\x01\x1d\x01\x21\x01\x23\x01\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x88\x00\x28\x01\x27\x01\x2d\x01\xee\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\xf4\x00\xef\x00\xe5\x00\xf3\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\xbf\x00\xf5\x00\x03\x01\x02\x01\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x06\x01\x0a\x01\x0b\x01\x0c\x01\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\xfd\x00\x66\x00\xfd\x00\x66\x00\xfe\x00\xff\x00\x00\x01\x31\x01\x00\x01\x67\x00\x0d\x01\x67\x00\x0e\x01\x0f\x01\x12\x01\x10\x01\x11\x01\x13\x01\xd1\x00\x66\x00\xb1\x00\x68\x00\x09\x00\x68\x00\x09\x00\x04\x01\xd3\x00\x67\x00\xd1\x00\x66\x00\x14\x01\xb3\x00\xb4\x00\xd1\x00\x66\x00\x07\x01\xd3\x00\x67\x00\xb6\x00\x68\x00\x09\x00\x1b\x01\x67\x00\xba\x00\xd1\x00\x66\x00\xb7\x00\x2b\x01\x66\x00\x68\x00\x09\x00\xd2\x00\xd3\x00\x67\x00\x68\x00\x09\x00\x67\x00\xc0\x00\xef\x00\x66\x00\xb9\x00\xf0\x00\x66\x00\x03\x01\x66\x00\x68\x00\x09\x00\x67\x00\x68\x00\x09\x00\x67\x00\xb8\x00\x67\x00\xbd\x00\xaf\x00\xbc\x00\xd8\x00\xb1\x00\x66\x00\x68\x00\x09\x00\xda\x00\x68\x00\x09\x00\x68\x00\x09\x00\x67\x00\xbd\x00\x66\x00\xe1\x00\xe8\x00\xc1\x00\x66\x00\xc2\x00\x66\x00\xed\x00\x67\x00\x9a\x00\x68\x00\x09\x00\x67\x00\xa0\x00\x67\x00\x9d\x00\xa3\x00\xa1\x00\xa4\x00\xa5\x00\x68\x00\x09\x00\xc3\x00\x66\x00\x68\x00\x09\x00\x68\x00\x09\x00\xc4\x00\x66\x00\x5a\x00\x67\x00\xc5\x00\x66\x00\x5b\x00\xa8\x00\xa9\x00\x67\x00\xc6\x00\x66\x00\xaa\x00\x67\x00\xad\x00\x68\x00\x09\x00\xaf\x00\x5c\x00\x67\x00\x5d\x00\x68\x00\x09\x00\x5e\x00\x61\x00\x68\x00\x09\x00\xc7\x00\x66\x00\xc8\x00\x66\x00\x68\x00\x09\x00\xc9\x00\x66\x00\x5f\x00\x67\x00\x60\x00\x67\x00\x62\x00\x78\x00\x65\x00\x67\x00\xca\x00\x66\x00\x64\x00\x75\x00\x63\x00\x68\x00\x09\x00\x68\x00\x09\x00\x67\x00\x47\x00\x68\x00\x09\x00\x44\x00\xcb\x00\x66\x00\xcc\x00\x66\x00\xcd\x00\x66\x00\x46\x00\x68\x00\x09\x00\x67\x00\x44\x00\x67\x00\x45\x00\x67\x00\x31\x00\x24\x00\x52\x00\x53\x00\xce\x00\x66\x00\x54\x00\x68\x00\x09\x00\x68\x00\x09\x00\x68\x00\x09\x00\x67\x00\xcf\x00\x66\x00\x39\x00\x55\x00\xd0\x00\x66\x00\xda\x00\x66\x00\x56\x00\x67\x00\x57\x00\x68\x00\x09\x00\x67\x00\x38\x00\x67\x00\x3c\x00\x3a\x00\x58\x00\x32\x00\x3d\x00\x68\x00\x09\x00\x9b\x00\x66\x00\x68\x00\x09\x00\x68\x00\x09\x00\x9d\x00\x66\x00\x30\x00\x67\x00\x9e\x00\x66\x00\x33\x00\x34\x00\x35\x00\x67\x00\x65\x00\x66\x00\x36\x00\x67\x00\x37\x00\x68\x00\x09\x00\x3b\x00\x1d\x00\x67\x00\x24\x00\x68\x00\x09\x00\x25\x00\x26\x00\x68\x00\x09\x00\x76\x00\x66\x00\x22\x00\x27\x00\x68\x00\x09\x00\x28\x00\x29\x00\x2a\x00\x67\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x07\x01\x68\x00\x09\x00\x24\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\xaf\x00\x1d\x00\x00\x00\xff\xff\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x3d\x00\x3e\x00\x3f\x00\x93\x00\x94\x00\x40\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
  389. happyReduceArr = Happy_Data_Array.array (1, 152) [
  390. (1 , happyReduce_1),
  391. (2 , happyReduce_2),
  392. (3 , happyReduce_3),
  393. (4 , happyReduce_4),
  394. (5 , happyReduce_5),
  395. (6 , happyReduce_6),
  396. (7 , happyReduce_7),
  397. (8 , happyReduce_8),
  398. (9 , happyReduce_9),
  399. (10 , happyReduce_10),
  400. (11 , happyReduce_11),
  401. (12 , happyReduce_12),
  402. (13 , happyReduce_13),
  403. (14 , happyReduce_14),
  404. (15 , happyReduce_15),
  405. (16 , happyReduce_16),
  406. (17 , happyReduce_17),
  407. (18 , happyReduce_18),
  408. (19 , happyReduce_19),
  409. (20 , happyReduce_20),
  410. (21 , happyReduce_21),
  411. (22 , happyReduce_22),
  412. (23 , happyReduce_23),
  413. (24 , happyReduce_24),
  414. (25 , happyReduce_25),
  415. (26 , happyReduce_26),
  416. (27 , happyReduce_27),
  417. (28 , happyReduce_28),
  418. (29 , happyReduce_29),
  419. (30 , happyReduce_30),
  420. (31 , happyReduce_31),
  421. (32 , happyReduce_32),
  422. (33 , happyReduce_33),
  423. (34 , happyReduce_34),
  424. (35 , happyReduce_35),
  425. (36 , happyReduce_36),
  426. (37 , happyReduce_37),
  427. (38 , happyReduce_38),
  428. (39 , happyReduce_39),
  429. (40 , happyReduce_40),
  430. (41 , happyReduce_41),
  431. (42 , happyReduce_42),
  432. (43 , happyReduce_43),
  433. (44 , happyReduce_44),
  434. (45 , happyReduce_45),
  435. (46 , happyReduce_46),
  436. (47 , happyReduce_47),
  437. (48 , happyReduce_48),
  438. (49 , happyReduce_49),
  439. (50 , happyReduce_50),
  440. (51 , happyReduce_51),
  441. (52 , happyReduce_52),
  442. (53 , happyReduce_53),
  443. (54 , happyReduce_54),
  444. (55 , happyReduce_55),
  445. (56 , happyReduce_56),
  446. (57 , happyReduce_57),
  447. (58 , happyReduce_58),
  448. (59 , happyReduce_59),
  449. (60 , happyReduce_60),
  450. (61 , happyReduce_61),
  451. (62 , happyReduce_62),
  452. (63 , happyReduce_63),
  453. (64 , happyReduce_64),
  454. (65 , happyReduce_65),
  455. (66 , happyReduce_66),
  456. (67 , happyReduce_67),
  457. (68 , happyReduce_68),
  458. (69 , happyReduce_69),
  459. (70 , happyReduce_70),
  460. (71 , happyReduce_71),
  461. (72 , happyReduce_72),
  462. (73 , happyReduce_73),
  463. (74 , happyReduce_74),
  464. (75 , happyReduce_75),
  465. (76 , happyReduce_76),
  466. (77 , happyReduce_77),
  467. (78 , happyReduce_78),
  468. (79 , happyReduce_79),
  469. (80 , happyReduce_80),
  470. (81 , happyReduce_81),
  471. (82 , happyReduce_82),
  472. (83 , happyReduce_83),
  473. (84 , happyReduce_84),
  474. (85 , happyReduce_85),
  475. (86 , happyReduce_86),
  476. (87 , happyReduce_87),
  477. (88 , happyReduce_88),
  478. (89 , happyReduce_89),
  479. (90 , happyReduce_90),
  480. (91 , happyReduce_91),
  481. (92 , happyReduce_92),
  482. (93 , happyReduce_93),
  483. (94 , happyReduce_94),
  484. (95 , happyReduce_95),
  485. (96 , happyReduce_96),
  486. (97 , happyReduce_97),
  487. (98 , happyReduce_98),
  488. (99 , happyReduce_99),
  489. (100 , happyReduce_100),
  490. (101 , happyReduce_101),
  491. (102 , happyReduce_102),
  492. (103 , happyReduce_103),
  493. (104 , happyReduce_104),
  494. (105 , happyReduce_105),
  495. (106 , happyReduce_106),
  496. (107 , happyReduce_107),
  497. (108 , happyReduce_108),
  498. (109 , happyReduce_109),
  499. (110 , happyReduce_110),
  500. (111 , happyReduce_111),
  501. (112 , happyReduce_112),
  502. (113 , happyReduce_113),
  503. (114 , happyReduce_114),
  504. (115 , happyReduce_115),
  505. (116 , happyReduce_116),
  506. (117 , happyReduce_117),
  507. (118 , happyReduce_118),
  508. (119 , happyReduce_119),
  509. (120 , happyReduce_120),
  510. (121 , happyReduce_121),
  511. (122 , happyReduce_122),
  512. (123 , happyReduce_123),
  513. (124 , happyReduce_124),
  514. (125 , happyReduce_125),
  515. (126 , happyReduce_126),
  516. (127 , happyReduce_127),
  517. (128 , happyReduce_128),
  518. (129 , happyReduce_129),
  519. (130 , happyReduce_130),
  520. (131 , happyReduce_131),
  521. (132 , happyReduce_132),
  522. (133 , happyReduce_133),
  523. (134 , happyReduce_134),
  524. (135 , happyReduce_135),
  525. (136 , happyReduce_136),
  526. (137 , happyReduce_137),
  527. (138 , happyReduce_138),
  528. (139 , happyReduce_139),
  529. (140 , happyReduce_140),
  530. (141 , happyReduce_141),
  531. (142 , happyReduce_142),
  532. (143 , happyReduce_143),
  533. (144 , happyReduce_144),
  534. (145 , happyReduce_145),
  535. (146 , happyReduce_146),
  536. (147 , happyReduce_147),
  537. (148 , happyReduce_148),
  538. (149 , happyReduce_149),
  539. (150 , happyReduce_150),
  540. (151 , happyReduce_151),
  541. (152 , happyReduce_152)
  542. ]
  543. happy_n_terms = 69 :: Int
  544. happy_n_nonterms = 49 :: Int
  545. happyReduce_1 = happySpecReduce_0 0# happyReduction_1
  546. happyReduction_1 = happyIn4
  547. (return ()
  548. )
  549. happyReduce_2 = happySpecReduce_2 0# happyReduction_2
  550. happyReduction_2 happy_x_2
  551. happy_x_1
  552. = case happyOut5 happy_x_1 of { happy_var_1 ->
  553. case happyOut4 happy_x_2 of { happy_var_2 ->
  554. happyIn4
  555. (do happy_var_1; happy_var_2
  556. )}}
  557. happyReduce_3 = happySpecReduce_1 1# happyReduction_3
  558. happyReduction_3 happy_x_1
  559. = case happyOut10 happy_x_1 of { happy_var_1 ->
  560. happyIn5
  561. (happy_var_1
  562. )}
  563. happyReduce_4 = happySpecReduce_1 1# happyReduction_4
  564. happyReduction_4 happy_x_1
  565. = case happyOut6 happy_x_1 of { happy_var_1 ->
  566. happyIn5
  567. (happy_var_1
  568. )}
  569. happyReduce_5 = happySpecReduce_1 1# happyReduction_5
  570. happyReduction_5 happy_x_1
  571. = case happyOut13 happy_x_1 of { happy_var_1 ->
  572. happyIn5
  573. (happy_var_1
  574. )}
  575. happyReduce_6 = happyMonadReduce 8# 1# happyReduction_6
  576. happyReduction_6 (happy_x_8 `HappyStk`
  577. happy_x_7 `HappyStk`
  578. happy_x_6 `HappyStk`
  579. happy_x_5 `HappyStk`
  580. happy_x_4 `HappyStk`
  581. happy_x_3 `HappyStk`
  582. happy_x_2 `HappyStk`
  583. happy_x_1 `HappyStk`
  584. happyRest) tk
  585. = happyThen (case happyOutTok happy_x_3 of { (L _ (CmmT_Name happy_var_3)) ->
  586. case happyOutTok happy_x_5 of { (L _ (CmmT_Name happy_var_5)) ->
  587. case happyOut9 happy_x_6 of { happy_var_6 ->
  588. ( withThisPackage $ \pkg ->
  589. do lits <- sequence happy_var_6;
  590. staticClosure pkg happy_var_3 happy_var_5 (map getLit lits))}}}
  591. ) (\r -> happyReturn (happyIn5 r))
  592. happyReduce_7 = happyReduce 5# 2# happyReduction_7
  593. happyReduction_7 (happy_x_5 `HappyStk`
  594. happy_x_4 `HappyStk`
  595. happy_x_3 `HappyStk`
  596. happy_x_2 `HappyStk`
  597. happy_x_1 `HappyStk`
  598. happyRest)
  599. = case happyOutTok happy_x_2 of { (L _ (CmmT_String happy_var_2)) ->
  600. case happyOut7 happy_x_4 of { happy_var_4 ->
  601. happyIn6
  602. (do ss <- sequence happy_var_4;
  603. code (emitData (section happy_var_2) (concat ss))
  604. ) `HappyStk` happyRest}}
  605. happyReduce_8 = happySpecReduce_0 3# happyReduction_8
  606. happyReduction_8 = happyIn7
  607. ([]
  608. )
  609. happyReduce_9 = happySpecReduce_2 3# happyReduction_9
  610. happyReduction_9 happy_x_2
  611. happy_x_1
  612. = case happyOut8 happy_x_1 of { happy_var_1 ->
  613. case happyOut7 happy_x_2 of { happy_var_2 ->
  614. happyIn7
  615. (happy_var_1 : happy_var_2
  616. )}}
  617. happyReduce_10 = happyMonadReduce 2# 4# happyReduction_10
  618. happyReduction_10 (happy_x_2 `HappyStk`
  619. happy_x_1 `HappyStk`
  620. happyRest) tk
  621. = happyThen (case happyOutTok happy_x_1 of { (L _ (CmmT_Name happy_var_1)) ->
  622. ( withThisPackage $ \pkg ->
  623. return [CmmDataLabel (mkCmmDataLabel pkg happy_var_1)])}
  624. ) (\r -> happyReturn (happyIn8 r))
  625. happyReduce_11 = happySpecReduce_3 4# happyReduction_11
  626. happyReduction_11 happy_x_3
  627. happy_x_2
  628. happy_x_1
  629. = case happyOut30 happy_x_2 of { happy_var_2 ->
  630. happyIn8
  631. (do e <- happy_var_2;
  632. return [CmmStaticLit (getLit e)]
  633. )}
  634. happyReduce_12 = happySpecReduce_2 4# happyReduction_12
  635. happyReduction_12 happy_x_2
  636. happy_x_1
  637. = case happyOut51 happy_x_1 of { happy_var_1 ->
  638. happyIn8
  639. (return [CmmUninitialised
  640. (widthInBytes (typeWidth happy_var_1))]
  641. )}
  642. happyReduce_13 = happyReduce 5# 4# happyReduction_13
  643. happyReduction_13 (happy_x_5 `HappyStk`
  644. happy_x_4 `HappyStk`
  645. happy_x_3 `HappyStk`
  646. happy_x_2 `HappyStk`
  647. happy_x_1 `HappyStk`
  648. happyRest)
  649. = case happyOutTok happy_x_4 of { (L _ (CmmT_String happy_var_4)) ->
  650. happyIn8
  651. (return [mkString happy_var_4]
  652. ) `HappyStk` happyRest}
  653. happyReduce_14 = happyReduce 5# 4# happyReduction_14
  654. happyReduction_14 (happy_x_5 `HappyStk`
  655. happy_x_4 `HappyStk`
  656. happy_x_3 `HappyStk`
  657. happy_x_2 `HappyStk`
  658. happy_x_1 `HappyStk`
  659. happyRest)
  660. = case happyOutTok happy_x_3 of { (L _ (CmmT_Int happy_var_3)) ->
  661. happyIn8
  662. (return [CmmUninitialised
  663. (fromIntegral happy_var_3)]
  664. ) `HappyStk` happyRest}
  665. happyReduce_15 = happyReduce 5# 4# happyReduction_15
  666. happyReduction_15 (happy_x_5 `HappyStk`
  667. happy_x_4 `HappyStk`
  668. happy_x_3 `HappyStk`
  669. happy_x_2 `HappyStk`
  670. happy_x_1 `HappyStk`
  671. happyRest)
  672. = case happyOut52 happy_x_1 of { happy_var_1 ->
  673. case happyOutTok happy_x_3 of { (L _ (CmmT_Int happy_var_3)) ->
  674. happyIn8
  675. (return [CmmUninitialised
  676. (widthInBytes (typeWidth happy_var_1) *
  677. fromIntegral happy_var_3)]
  678. ) `HappyStk` happyRest}}
  679. happyReduce_16 = happySpecReduce_3 4# happyReduction_16
  680. happyReduction_16 happy_x_3
  681. happy_x_2
  682. happy_x_1
  683. = case happyOutTok happy_x_2 of { (L _ (CmmT_Int happy_var_2)) ->
  684. happyIn8
  685. (return [CmmAlign (fromIntegral happy_var_2)]
  686. )}
  687. happyReduce_17 = happyReduce 5# 4# happyReduction_17
  688. happyReduction_17 (happy_x_5 `HappyStk`
  689. happy_x_4 `HappyStk`
  690. happy_x_3 `HappyStk`
  691. happy_x_2 `HappyStk`
  692. happy_x_1 `HappyStk`
  693. happyRest)
  694. = case happyOutTok happy_x_3 of { (L _ (CmmT_Name happy_var_3)) ->
  695. case happyOut9 happy_x_4 of { happy_var_4 ->
  696. happyIn8
  697. (do lits <- sequence happy_var_4;
  698. return $ map CmmStaticLit $
  699. mkStaticClosure (mkForeignLabel happy_var_3 Nothing ForeignLabelInExternalPackage IsData)
  700. -- mkForeignLabel because these are only used
  701. -- for CHARLIKE and INTLIKE closures in the RTS.
  702. dontCareCCS (map getLit lits) [] [] []
  703. ) `HappyStk` happyRest}}
  704. happyReduce_18 = happySpecReduce_0 5# happyReduction_18
  705. happyReduction_18 = happyIn9
  706. ([]
  707. )
  708. happyReduce_19 = happySpecReduce_3 5# happyReduction_19
  709. happyReduction_19 happy_x_3
  710. happy_x_2
  711. happy_x_1
  712. = case happyOut30 happy_x_2 of { happy_var_2 ->
  713. case happyOut9 happy_x_3 of { happy_var_3 ->
  714. happyIn9
  715. (happy_var_2 : happy_var_3
  716. )}}
  717. happyReduce_20 = happyReduce 7# 6# happyReduction_20
  718. happyReduction_20 (happy_x_7 `HappyStk`
  719. happy_x_6 `HappyStk`
  720. happy_x_5 `HappyStk`
  721. happy_x_4 `HappyStk`
  722. happy_x_3 `HappyStk`
  723. happy_x_2 `HappyStk`
  724. happy_x_1 `HappyStk`
  725. happyRest)
  726. = case happyOut11 happy_x_1 of { happy_var_1 ->
  727. case happyOut45 happy_x_2 of { happy_var_2 ->
  728. case happyOut50 happy_x_3 of { happy_var_3 ->
  729. case happyOut49 happy_x_4 of { happy_var_4 ->
  730. case happyOut12 happy_x_6 of { happy_var_6 ->
  731. happyIn10
  732. (do ((entry_ret_label, info, live, formals, gc_block, frame), stmts) <-
  733. getCgStmtsEC' $ loopDecls $ do {
  734. (entry_ret_label, info, live) <- happy_var_1;
  735. formals <- sequence happy_var_2;
  736. gc_block <- happy_var_3;
  737. frame <- happy_var_4;
  738. happy_var_6;
  739. return (entry_ret_label, info, live, formals, gc_block, frame) }
  740. blks <- code (cgStmtsToBlocks stmts)
  741. code (emitInfoTableAndCode entry_ret_label (CmmInfo gc_block frame info) formals blks)
  742. ) `HappyStk` happyRest}}}}}
  743. happyReduce_21 = happySpecReduce_3 6# happyReduction_21
  744. happyReduction_21 happy_x_3
  745. happy_x_2
  746. happy_x_1
  747. = case happyOut11 happy_x_1 of { happy_var_1 ->
  748. case happyOut45 happy_x_2 of { happy_var_2 ->
  749. happyIn10
  750. (do (entry_ret_label, info, live) <- happy_var_1;
  751. formals <- sequence happy_var_2;
  752. code (emitInfoTableAndCode entry_ret_label (CmmInfo Nothing Nothing info) formals [])
  753. )}}
  754. happyReduce_22 = happyMonadReduce 7# 6# happyReduction_22
  755. happyReduction_22 (happy_x_7 `HappyStk`
  756. happy_x_6 `HappyStk`
  757. happy_x_5 `HappyStk`
  758. happy_x_4 `HappyStk`
  759. happy_x_3 `HappyStk`
  760. happy_x_2 `HappyStk`
  761. happy_x_1 `HappyStk`
  762. happyRest) tk
  763. = happyThen (case happyOutTok happy_x_1 of { (L _ (CmmT_Name happy_var_1)) ->
  764. case happyOut45 happy_x_2 of { happy_var_2 ->
  765. case happyOut50 happy_x_3 of { happy_var_3 ->
  766. case happyOut49 happy_x_4 of { happy_var_4 ->
  767. case happyOut12 happy_x_6 of { happy_var_6 ->
  768. ( withThisPackage $ \pkg ->
  769. do newFunctionName happy_var_1 pkg
  770. ((formals, gc_block, frame), stmts) <-
  771. getCgStmtsEC' $ loopDecls $ do {
  772. formals <- sequence happy_var_2;
  773. gc_block <- happy_var_3;
  774. frame <- happy_var_4;
  775. happy_var_6;
  776. return (formals, gc_block, frame) }
  777. blks <- code (cgStmtsToBlocks stmts)
  778. code (emitProc (CmmInfo gc_block frame CmmNonInfoTable) (mkCmmCodeLabel pkg happy_var_1) formals blks))}}}}}
  779. ) (\r -> happyReturn (happyIn10 r))
  780. happyReduce_23 = happyMonadReduce 14# 7# happyReduction_23
  781. happyReduction_23 (happy_x_14 `HappyStk`
  782. happy_x_13 `HappyStk`
  783. happy_x_12 `HappyStk`
  784. happy_x_11 `HappyStk`
  785. happy_x_10 `HappyStk`
  786. happy_x_9 `HappyStk`
  787. happy_x_8 `HappyStk`
  788. happy_x_7 `HappyStk`
  789. happy_x_6 `HappyStk`
  790. happy_x_5 `HappyStk`
  791. happy_x_4 `HappyStk`
  792. happy_x_3 `HappyStk`
  793. happy_x_2 `HappyStk`
  794. happy_x_1 `HappyStk`
  795. happyRest) tk
  796. = happyThen (case happyOutTok happy_x_3 of { (L _ (CmmT_Name happy_var_3)) ->
  797. case happyOutTok happy_x_5 of { (L _ (CmmT_Int happy_var_5)) ->
  798. case happyOutTok happy_x_7 of { (L _ (CmmT_Int happy_var_7)) ->
  799. case happyOutTok happy_x_9 of { (L _ (CmmT_Int happy_var_9)) ->
  800. case happyOutTok happy_x_11 of { (L _ (CmmT_String happy_var_11)) ->
  801. case happyOutTok happy_x_13 of { (L _ (CmmT_String happy_var_13)) ->
  802. ( withThisPackage $ \pkg ->
  803. do prof <- profilingInfo happy_var_11 happy_var_13
  804. return (mkCmmEntryLabel pkg happy_var_3,
  805. CmmInfoTable False prof (fromIntegral happy_var_9)
  806. (ThunkInfo (fromIntegral happy_var_5, fromIntegral happy_var_7) NoC_SRT),
  807. []))}}}}}}
  808. ) (\r -> happyReturn (happyIn11 r))
  809. happyReduce_24 = happyMonadReduce 16# 7# happyReduction_24
  810. happyReduction_24 (happy_x_16 `HappyStk`
  811. happy_x_15 `HappyStk`
  812. happy_x_14 `HappyStk`
  813. happy_x_13 `HappyStk`
  814. happy_x_12 `HappyStk`
  815. happy_x_11 `HappyStk`
  816. happy_x_10 `HappyStk`
  817. happy_x_9 `HappyStk`
  818. happy_x_8 `HappyStk`
  819. happy_x_7 `HappyStk`
  820. happy_x_6 `HappyStk`
  821. happy_x_5 `HappyStk`
  822. happy_x_4 `HappyStk`
  823. happy_x_3 `HappyStk`
  824. happy_x_2 `HappyStk`
  825. happy_x_1 `HappyStk`
  826. happyRest) tk
  827. = happyThen (case happyOutTok happy_x_3 of { (L _ (CmmT_Name happy_var_3)) ->
  828. case happyOutTok happy_x_5 of { (L _ (CmmT_Int happy_var_5)) ->
  829. case happyOutTok happy_x_7 of { (L _ (CmmT_Int happy_var_7)) ->
  830. case happyOutTok happy_x_9 of { (L _ (CmmT_Int happy_var_9)) ->
  831. case happyOutTok happy_x_11 of { (L _ (CmmT_String happy_var_11)) ->
  832. case happyOutTok happy_x_13 of { (L _ (CmmT_String happy_var_13)) ->
  833. case happyOutTok happy_x_15 of { (L _ (CmmT_Int happy_var_15)) ->
  834. ( withThisPackage $ \pkg ->
  835. do prof <- profilingInfo happy_var_11 happy_var_13
  836. return (mkCmmEntryLabel pkg happy_var_3,
  837. CmmInfoTable False prof (fromIntegral happy_var_9)
  838. (FunInfo (fromIntegral happy_var_5, fromIntegral happy_var_7) NoC_SRT
  839. 0 -- Arity zero
  840. (ArgSpec (fromIntegral happy_var_15))
  841. zeroCLit),
  842. []))}}}}}}}
  843. ) (\r -> happyReturn (happyIn11 r))
  844. happyReduce_25 = happyMonadReduce 18# 7# happyReduction_25
  845. happyReduction_25 (happy_x_18 `HappyStk`
  846. happy_x_17 `HappyStk`
  847. happy_x_16 `HappyStk`
  848. happy_x_15 `HappyStk`
  849. happy_x_14 `HappyStk`
  850. happy_x_13 `HappyStk`
  851. happy_x_12 `HappyStk`
  852. happy_x_11 `HappyStk`
  853. happy_x_10 `HappyStk`
  854. happy_x_9 `HappyStk`
  855. happy_x_8 `HappyStk`
  856. happy_x_7 `HappyStk`
  857. happy_x_6 `HappyStk`
  858. happy_x_5 `HappyStk`
  859. happy_x_4 `HappyStk`
  860. happy_x_3 `HappyStk`
  861. happy_x_2 `HappyStk`
  862. happy_x_1 `HappyStk`
  863. happyRest) tk
  864. = happyThen (case happyOutTok happy_x_3 of { (L _ (CmmT_Name happy_var_3)) ->
  865. case happyOutTok happy_x_5 of { (L _ (CmmT_Int happy_var_5)) ->
  866. case happyOutTok happy_x_7 of { (L _ (CmmT_Int happy_var_7)) ->
  867. case happyOutTok happy_x_9 of { (L _ (CmmT_Int happy_var_9)) ->
  868. case happyOutTok happy_x_11 of { (L _ (CmmT_String happy_var_11)) ->
  869. case happyOutTok happy_x_13 of { (L _ (CmmT_String happy_var_13)) ->
  870. case happyOutTok happy_x_15 of { (L _ (CmmT_Int happy_var_15)) ->
  871. case happyOutTok happy_x_17 of { (L _ (CmmT_Int happy_var_17)) ->
  872. ( withThisPackage $ \pkg ->
  873. do prof <- profilingInfo happy_var_11 happy_var_13
  874. return (mkCmmEntryLabel pkg happy_var_3,
  875. CmmInfoTable False prof (fromIntegral happy_var_9)
  876. (FunInfo (fromIntegral happy_var_5, fromIntegral happy_var_7) NoC_SRT (fromIntegral happy_var_17)
  877. (ArgSpec (fromIntegral happy_var_15))
  878. zeroCLit),
  879. []))}}}}}}}}
  880. ) (\r -> happyReturn (happyIn11 r))
  881. happyReduce_26 = happyMonadReduce 16# 7# happyReduction_26
  882. happyReduction_26 (happy_x_16 `HappyStk`
  883. happy_x_15 `HappyStk`
  884. happy_x_14 `HappyStk`
  885. happy_x_13 `HappyStk`
  886. happy_x_12 `HappyStk`
  887. happy_x_11 `HappyStk`
  888. happy_x_10 `HappyStk`
  889. happy_x_9 `HappyStk`
  890. happy_x_8 `HappyStk`
  891. happy_x_7 `HappyStk`
  892. happy_x_6 `HappyStk`
  893. happy_x_5 `HappyStk`
  894. happy_x_4 `HappyStk`
  895. happy_x_3 `HappyStk`
  896. happy_x_2 `HappyStk`
  897. happy_x_1 `HappyStk`
  898. happyRest) tk
  899. = happyThen (case happyOutTok happy_x_3 of { (L _ (CmmT_Name happy_var_3)) ->
  900. case happyOutTok happy_x_5 of { (L _ (CmmT_Int happy_var_5)) ->
  901. case happyOutTok happy_x_7 of { (L _ (CmmT_Int happy_var_7)) ->
  902. case happyOutTok happy_x_9 of { (L _ (CmmT_Int happy_var_9)) ->
  903. case happyOutTok happy_x_11 of { (L _ (CmmT_Int happy_var_11)) ->
  904. case happyOutTok happy_x_13 of { (L _ (CmmT_String happy_var_13)) ->
  905. case happyOutTok happy_x_15 of { (L _ (CmmT_String happy_var_15)) ->
  906. ( withThisPackage $ \pkg ->
  907. do prof <- profilingInfo happy_var_13 happy_var_15
  908. -- If profiling is on, this string gets duplicated,
  909. -- but that's the way the old code did it we can fix it some other time.
  910. desc_lit <- code $ mkStringCLit happy_var_13
  911. return (mkCmmEntryLabel pkg happy_var_3,
  912. CmmInfoTable False prof (fromIntegral happy_var_11)
  913. (ConstrInfo (fromIntegral happy_var_5, fromIntegral happy_var_7) (fromIntegral happy_var_9) desc_lit),
  914. []))}}}}}}}
  915. ) (\r -> happyReturn (happyIn11 r))
  916. happyReduce_27 = happyMonadReduce 12# 7# happyReduction_27
  917. happyReduction_27 (happy_x_12 `HappyStk`
  918. happy_x_11 `HappyStk`
  919. happy_x_10 `HappyStk`
  920. happy_x_9 `HappyStk`
  921. happy_x_8 `HappyStk`
  922. happy_x_7 `HappyStk`
  923. happy_x_6 `HappyStk`
  924. happy_x_5 `HappyStk`
  925. happy_x_4 `HappyStk`
  926. happy_x_3 `HappyStk`
  927. happy_x_2 `HappyStk`
  928. happy_x_1 `HappyStk`
  929. happyRest) tk
  930. = happyThen (case happyOutTok happy_x_3 of { (L _ (CmmT_Name happy_var_3)) ->
  931. case happyOutTok happy_x_5 of { (L _ (CmmT_Int happy_var_5)) ->
  932. case happyOutTok happy_x_7 of { (L _ (CmmT_Int happy_var_7)) ->
  933. case happyOutTok happy_x_9 of { (L _ (CmmT_String happy_var_9)) ->
  934. case happyOutTok happy_x_11 of { (L _ (CmmT_String happy_var_11)) ->
  935. ( withThisPackage $ \pkg ->
  936. do prof <- profilingInfo happy_var_9 happy_var_11
  937. return (mkCmmEntryLabel pkg happy_var_3,
  938. CmmInfoTable False prof (fromIntegral happy_var_7)
  939. (ThunkSelectorInfo (fromIntegral happy_var_5) NoC_SRT),
  940. []))}}}}}
  941. ) (\r -> happyReturn (happyIn11 r))
  942. happyReduce_28 = happyMonadReduce 6# 7# happyReduction_28
  943. happyReduction_28 (happy_x_6 `HappyStk`
  944. happy_x_5 `HappyStk`
  945. happy_x_4 `HappyStk`
  946. happy_x_3 `HappyStk`
  947. happy_x_2 `HappyStk`
  948. happy_x_1 `HappyStk`
  949. happyRest) tk
  950. = happyThen (case happyOutTok happy_x_3 of { (L _ (CmmT_Name happy_var_3)) ->
  951. case happyOutTok happy_x_5 of { (L _ (CmmT_Int happy_var_5)) ->
  952. ( withThisPackage $ \pkg ->
  953. do let infoLabel = mkCmmInfoLabel pkg happy_var_3
  954. return (mkCmmRetLabel pkg happy_var_3,
  955. CmmInfoTable False (ProfilingInfo zeroCLit zeroCLit) (fromIntegral happy_var_5)
  956. (ContInfo [] NoC_SRT),
  957. []))}}
  958. ) (\r -> happyReturn (happyIn11 r))
  959. happyReduce_29 = happyMonadReduce 8# 7# happyReduction_29
  960. happyReduction_29 (happy_x_8 `HappyStk`
  961. happy_x_7 `HappyStk`
  962. happy_x_6 `HappyStk`
  963. happy_x_5 `HappyStk`
  964. happy_x_4 `HappyStk`
  965. happy_x_3 `HappyStk`
  966. happy_x_2 `HappyStk`
  967. happy_x_1 `HappyStk`
  968. happyRest) tk
  969. = happyThen (case happyOutTok happy_x_3 of { (L _ (CmmT_Name happy_var_3)) ->
  970. case happyOutTok happy_x_5 of { (L _ (CmmT_Int happy_var_5)) ->
  971. case happyOut46 happy_x_7 of { happy_var_7 ->
  972. ( withThisPackage $ \pkg ->
  973. do live <- sequence (map (liftM Just) happy_var_7)
  974. return (mkCmmRetLabel pkg happy_var_3,
  975. CmmInfoTable False (ProfilingInfo zeroCLit zeroCLit) (fromIntegral happy_var_5)
  976. (ContInfo live NoC_SRT),
  977. live))}}}
  978. ) (\r -> happyReturn (happyIn11 r))
  979. happyReduce_30 = happySpecReduce_0 8# happyReduction_30
  980. happyReduction_30 = happyIn12
  981. (return ()
  982. )
  983. happyReduce_31 = happySpecReduce_2 8# happyReduction_31
  984. happyReduction_31 happy_x_2
  985. happy_x_1
  986. = case happyOut13 happy_x_1 of { happy_var_1 ->
  987. case happyOut12 happy_x_2 of { happy_var_2 ->
  988. happyIn12
  989. (do happy_var_1; happy_var_2
  990. )}}
  991. happyReduce_32 = happySpecReduce_2 8# happyReduction_32
  992. happyReduction_32 happy_x_2
  993. happy_x_1
  994. = case happyOut17 happy_x_1 of { happy_var_1 ->
  995. case happyOut12 happy_x_2 of { happy_var_2 ->
  996. happyIn12
  997. (do happy_var_1; happy_var_2
  998. )}}
  999. happyReduce_33 = happySpecReduce_3 9# happyReduction_33
  1000. happyReduction_33 happy_x_3
  1001. happy_x_2
  1002. happy_x_1
  1003. = case happyOut51 happy_x_1 of { happy_var_1 ->
  1004. case happyOut16 happy_x_2 of { happy_var_2 ->
  1005. happyIn13
  1006. (mapM_ (newLocal happy_var_1) happy_var_2
  1007. )}}
  1008. happyReduce_34 = happySpecReduce_3 9# happyReduction_34
  1009. happyReduction_34 happy_x_3
  1010. happy_x_2
  1011. happy_x_1
  1012. = case happyOut14 happy_x_2 of { happy_var_2 ->
  1013. happyIn13
  1014. (mapM_ newImport happy_var_2
  1015. )}
  1016. happyReduce_35 = happySpecReduce_3 9# happyReduction_35
  1017. happyReduction_35 happy_x_3
  1018. happy_x_2
  1019. happy_x_1
  1020. = happyIn13
  1021. (return ()
  1022. )
  1023. happyReduce_36 = happySpecReduce_1 10# happyReduction_36
  1024. happyReduction_36 happy_x_1
  1025. = case happyOut15 happy_x_1 of { happy_var_1 ->
  1026. happyIn14
  1027. ([happy_var_1]
  1028. )}
  1029. happyReduce_37 = happySpecReduce_3 10# happyReduction_37
  1030. happyReduction_37 happy_x_3
  1031. happy_x_2
  1032. happy_x_1
  1033. = case happyOut15 happy_x_1 of { happy_var_1 ->
  1034. case happyOut14 happy_x_3 of { happy_var_3 ->
  1035. happyIn14
  1036. (happy_var_1 : happy_var_3
  1037. )}}
  1038. happyReduce_38 = happySpecReduce_1 11# happyReduction_38
  1039. happyReduction_38 happy_x_1
  1040. = case happyOutTok happy_x_1 of { (L _ (CmmT_Name happy_var_1)) ->
  1041. happyIn15
  1042. ((happy_var_1, mkForeignLabel happy_var_1 Nothing ForeignLabelInExternalPackage IsFunction)
  1043. )}
  1044. happyReduce_39 = happySpecReduce_2 11# happyReduction_39
  1045. happyReduction_39 happy_x_2
  1046. happy_x_1
  1047. = case happyOutTok happy_x_1 of { (L _ (CmmT_String happy_var_1)) ->
  1048. case happyOutTok happy_x_2 of { (L _ (CmmT_Name happy_var_2)) ->
  1049. happyIn15
  1050. ((happy_var_2, mkCmmCodeLabel (fsToPackageId (mkFastString happy_var_1)) happy_var_2)
  1051. )}}
  1052. happyReduce_40 = happySpecReduce_1 12# happyReduction_40
  1053. happyReduction_40 happy_x_1
  1054. = case happyOutTok happy_x_1 of { (L _ (CmmT_Name happy_var_1)) ->
  1055. happyIn16
  1056. ([happy_var_1]
  1057. )}
  1058. happyReduce_41 = happySpecReduce_3 12# happyReduction_41
  1059. happyReduction_41 happy_x_3
  1060. happy_x_2
  1061. happy_x_1
  1062. = case happyOutTok happy_x_1 of { (L _ (CmmT_Name happy_var_1)) ->
  1063. case happyOut16 happy_x_3 of { happy_var_3 ->
  1064. happyIn16
  1065. (happy_var_1 : happy_var_3
  1066. )}}
  1067. happyReduce_42 = happySpecReduce_1 13# happyReduction_42
  1068. happyReduction_42 happy_x_1
  1069. = happyIn17
  1070. (nopEC
  1071. )
  1072. happyReduce_43 = happySpecReduce_2 13# happyReduction_43
  1073. happyReduction_43 happy_x_2
  1074. happy_x_1
  1075. = case happyOutTok happy_x_1 of { (L _ (CmmT_Name happy_var_1)) ->
  1076. happyIn17
  1077. (do l <- newLabel happy_var_1; code (labelC l)
  1078. )}
  1079. happyReduce_44 = happyReduce 4# 13# happyReduction_44
  1080. happyReduction_44 (happy_x_4 `HappyStk`
  1081. happy_x_3 `HappyStk`
  1082. happy_x_2 `HappyStk`
  1083. happy_x_1 `HappyStk`
  1084. happyRest)
  1085. = case happyOut44 happy_x_1 of { happy_var_1 ->
  1086. case happyOut30 happy_x_3 of { happy_var_3 ->
  1087. happyIn17
  1088. (do reg <- happy_var_1; e <- happy_var_3; stmtEC (CmmAssign reg e)
  1089. ) `HappyStk` happyRest}}
  1090. happyReduce_45 = happyReduce 7# 13# happyReduction_45
  1091. happyReduction_45 (happy_x_7 `HappyStk`
  1092. happy_x_6 `HappyStk`
  1093. happy_x_5 `HappyStk`
  1094. happy_x_4 `HappyStk`
  1095. happy_x_3 `HappyStk`
  1096. happy_x_2 `HappyStk`
  1097. happy_x_1 `HappyStk`
  1098. happyRest)
  1099. = case happyOut51 happy_x_1 of { happy_var_1 ->
  1100. case happyOut30 happy_x_3 of { happy_var_3 ->
  1101. case happyOut30 happy_x_6 of { happy_var_6 ->
  1102. happyIn17
  1103. (doStore happy_var_1 happy_var_3 happy_var_6
  1104. ) `HappyStk` happyRest}}}
  1105. happyReduce_46 = happyMonadReduce 11# 13# happyReduction_46
  1106. happyReduction_46 (happy_x_11 `HappyStk`
  1107. happy_x_10 `HappyStk`
  1108. happy_x_9 `HappyStk`
  1109. happy_x_8 `HappyStk`
  1110. happy_x_7 `HappyStk`
  1111. happy_x_6 `HappyStk`
  1112. happy_x_5 `HappyStk`
  1113. happy_x_4 `HappyStk`
  1114. happy_x_3 `HappyStk`
  1115. happy_x_2 `HappyStk`
  1116. happy_x_1 `HappyStk`
  1117. happyRest) tk
  1118. = happyThen (case happyOut40 happy_x_1 of { happy_var_1 ->
  1119. case happyOutTok happy_x_3 of { (L _ (CmmT_String happy_var_3)) ->
  1120. case happyOut30 happy_x_4 of { happy_var_4 ->
  1121. case happyOut34 happy_x_6 of { happy_var_6 ->
  1122. case happyOut21 happy_x_8 of { happy_var_8 ->
  1123. case happyOut22 happy_x_9 of { happy_var_9 ->
  1124. case happyOut18 happy_x_10 of { happy_var_10 ->
  1125. ( foreignCall happy_var_3 happy_var_1 happy_var_4 happy_var_6 happy_var_9 happy_var_8 happy_var_10)}}}}}}}
  1126. ) (\r -> happyReturn (happyIn17 r))
  1127. happyReduce_47 = happyMonadReduce 10# 13# happyReduction_47
  1128. happyReduction_47 (happy_x_10 `HappyStk`
  1129. happy_x_9 `HappyStk`
  1130. happy_x_8 `HappyStk`
  1131. happy_x_7 `HappyStk`
  1132. happy_x_6 `HappyStk`
  1133. happy_x_5 `HappyStk`
  1134. happy_x_4 `HappyStk`
  1135. happy_x_3 `HappyStk`
  1136. happy_x_2 `HappyStk`
  1137. happy_x_1 `HappyStk`
  1138. happyRest) tk
  1139. = happyThen (case happyOut40 happy_x_1 of { happy_var_1 ->
  1140. case happyOutTok happy_x_4 of { (L _ (CmmT_Name happy_var_4)) ->
  1141. case happyOut34 happy_x_6 of { happy_var_6 ->
  1142. case happyOut21 happy_x_8 of { happy_var_8 ->
  1143. case happyOut22 happy_x_9 of { happy_var_9 ->
  1144. ( primCall happy_var_1 happy_var_4 happy_var_6 happy_var_9 happy_var_8)}}}}}
  1145. ) (\r -> happyReturn (happyIn17 r))
  1146. happyReduce_48 = happyMon