PageRenderTime 58ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 1ms

/compiler/cmm/CmmParse.hs

https://bitbucket.org/khibino/ghc-hack
Haskell | 2918 lines | 2369 code | 304 blank | 245 comment | 4 complexity | 90c8cd7fec70ee4facecca680ea27f78 MD5 | raw file
Possible License(s): BSD-3-Clause, BSD-2-Clause, LGPL-3.0

Large files files are truncated, but you can click here to view the full file

  1. {-# OPTIONS_GHC -w #-}
  2. {-# OPTIONS -fglasgow-exts -cpp #-}
  3. {-# LANGUAGE BangPatterns #-} -- required for versions of Happy before 1.18.6
  4. {-# OPTIONS -Wwarn -w #-}
  5. -- The above warning supression flag is a temporary kludge.
  6. -- While working on this module you are encouraged to remove it and fix
  7. -- any warnings in the module. See
  8. -- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
  9. -- for details
  10. module CmmParse ( parseCmmFile ) where
  11. import CgMonad hiding (getDynFlags)
  12. import CgExtCode
  13. import CgHeapery
  14. import CgUtils
  15. import CgProf
  16. import CgTicky
  17. import CgInfoTbls
  18. import CgForeignCall
  19. import CgTailCall
  20. import CgStackery
  21. import ClosureInfo
  22. import CgCallConv
  23. import CgClosure
  24. import CostCentre
  25. import BlockId
  26. import OldCmm
  27. import OldPprCmm()
  28. import CmmUtils
  29. import CmmLex
  30. import CLabel
  31. import SMRep
  32. import Lexer
  33. import ForeignCall
  34. import Module
  35. import Literal
  36. import Unique
  37. import UniqFM
  38. import SrcLoc
  39. import DynFlags
  40. import StaticFlags
  41. import ErrUtils
  42. import StringBuffer
  43. import FastString
  44. import Panic
  45. import Constants
  46. import Outputable
  47. import BasicTypes
  48. import Bag ( emptyBag, unitBag )
  49. import Var
  50. import Control.Monad
  51. import Data.Array
  52. import Data.Char ( ord )
  53. import System.Exit
  54. #include "HsVersions.h"
  55. import qualified Data.Array as Happy_Data_Array
  56. import qualified GHC.Exts as Happy_GHC_Exts
  57. -- parser produced by Happy Version 1.18.6
  58. newtype HappyAbsSyn = HappyAbsSyn HappyAny
  59. #if __GLASGOW_HASKELL__ >= 607
  60. type HappyAny = Happy_GHC_Exts.Any
  61. #else
  62. type HappyAny = forall a . a
  63. #endif
  64. happyIn4 :: (ExtCode) -> (HappyAbsSyn )
  65. happyIn4 x = Happy_GHC_Exts.unsafeCoerce# x
  66. {-# INLINE happyIn4 #-}
  67. happyOut4 :: (HappyAbsSyn ) -> (ExtCode)
  68. happyOut4 x = Happy_GHC_Exts.unsafeCoerce# x
  69. {-# INLINE happyOut4 #-}
  70. happyIn5 :: (ExtCode) -> (HappyAbsSyn )
  71. happyIn5 x = Happy_GHC_Exts.unsafeCoerce# x
  72. {-# INLINE happyIn5 #-}
  73. happyOut5 :: (HappyAbsSyn ) -> (ExtCode)
  74. happyOut5 x = Happy_GHC_Exts.unsafeCoerce# x
  75. {-# INLINE happyOut5 #-}
  76. happyIn6 :: (ExtCode) -> (HappyAbsSyn )
  77. happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x
  78. {-# INLINE happyIn6 #-}
  79. happyOut6 :: (HappyAbsSyn ) -> (ExtCode)
  80. happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x
  81. {-# INLINE happyOut6 #-}
  82. happyIn7 :: (ExtFCode CLabel) -> (HappyAbsSyn )
  83. happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x
  84. {-# INLINE happyIn7 #-}
  85. happyOut7 :: (HappyAbsSyn ) -> (ExtFCode CLabel)
  86. happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x
  87. {-# INLINE happyOut7 #-}
  88. happyIn8 :: ([ExtFCode [CmmStatic]]) -> (HappyAbsSyn )
  89. happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x
  90. {-# INLINE happyIn8 #-}
  91. happyOut8 :: (HappyAbsSyn ) -> ([ExtFCode [CmmStatic]])
  92. happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x
  93. {-# INLINE happyOut8 #-}
  94. happyIn9 :: (ExtFCode [CmmStatic]) -> (HappyAbsSyn )
  95. happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x
  96. {-# INLINE happyIn9 #-}
  97. happyOut9 :: (HappyAbsSyn ) -> (ExtFCode [CmmStatic])
  98. happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x
  99. {-# INLINE happyOut9 #-}
  100. happyIn10 :: ([ExtFCode CmmExpr]) -> (HappyAbsSyn )
  101. happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x
  102. {-# INLINE happyIn10 #-}
  103. happyOut10 :: (HappyAbsSyn ) -> ([ExtFCode CmmExpr])
  104. happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x
  105. {-# INLINE happyOut10 #-}
  106. happyIn11 :: (ExtCode) -> (HappyAbsSyn )
  107. happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x
  108. {-# INLINE happyIn11 #-}
  109. happyOut11 :: (HappyAbsSyn ) -> (ExtCode)
  110. happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x
  111. {-# INLINE happyOut11 #-}
  112. happyIn12 :: (ExtFCode (CLabel, CmmInfoTable, [Maybe LocalReg])) -> (HappyAbsSyn )
  113. happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x
  114. {-# INLINE happyIn12 #-}
  115. happyOut12 :: (HappyAbsSyn ) -> (ExtFCode (CLabel, CmmInfoTable, [Maybe LocalReg]))
  116. happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x
  117. {-# INLINE happyOut12 #-}
  118. happyIn13 :: (ExtCode) -> (HappyAbsSyn )
  119. happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x
  120. {-# INLINE happyIn13 #-}
  121. happyOut13 :: (HappyAbsSyn ) -> (ExtCode)
  122. happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x
  123. {-# INLINE happyOut13 #-}
  124. happyIn14 :: (ExtCode) -> (HappyAbsSyn )
  125. happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x
  126. {-# INLINE happyIn14 #-}
  127. happyOut14 :: (HappyAbsSyn ) -> (ExtCode)
  128. happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x
  129. {-# INLINE happyOut14 #-}
  130. happyIn15 :: ([(FastString, CLabel)]) -> (HappyAbsSyn )
  131. happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x
  132. {-# INLINE happyIn15 #-}
  133. happyOut15 :: (HappyAbsSyn ) -> ([(FastString, CLabel)])
  134. happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x
  135. {-# INLINE happyOut15 #-}
  136. happyIn16 :: ((FastString, CLabel)) -> (HappyAbsSyn )
  137. happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x
  138. {-# INLINE happyIn16 #-}
  139. happyOut16 :: (HappyAbsSyn ) -> ((FastString, CLabel))
  140. happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x
  141. {-# INLINE happyOut16 #-}
  142. happyIn17 :: ([FastString]) -> (HappyAbsSyn )
  143. happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x
  144. {-# INLINE happyIn17 #-}
  145. happyOut17 :: (HappyAbsSyn ) -> ([FastString])
  146. happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x
  147. {-# INLINE happyOut17 #-}
  148. happyIn18 :: (ExtCode) -> (HappyAbsSyn )
  149. happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x
  150. {-# INLINE happyIn18 #-}
  151. happyOut18 :: (HappyAbsSyn ) -> (ExtCode)
  152. happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x
  153. {-# INLINE happyOut18 #-}
  154. happyIn19 :: (CmmReturnInfo) -> (HappyAbsSyn )
  155. happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x
  156. {-# INLINE happyIn19 #-}
  157. happyOut19 :: (HappyAbsSyn ) -> (CmmReturnInfo)
  158. happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x
  159. {-# INLINE happyOut19 #-}
  160. happyIn20 :: (ExtFCode BoolExpr) -> (HappyAbsSyn )
  161. happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x
  162. {-# INLINE happyIn20 #-}
  163. happyOut20 :: (HappyAbsSyn ) -> (ExtFCode BoolExpr)
  164. happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x
  165. {-# INLINE happyOut20 #-}
  166. happyIn21 :: (ExtFCode BoolExpr) -> (HappyAbsSyn )
  167. happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x
  168. {-# INLINE happyIn21 #-}
  169. happyOut21 :: (HappyAbsSyn ) -> (ExtFCode BoolExpr)
  170. happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x
  171. {-# INLINE happyOut21 #-}
  172. happyIn22 :: (CmmSafety) -> (HappyAbsSyn )
  173. happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x
  174. {-# INLINE happyIn22 #-}
  175. happyOut22 :: (HappyAbsSyn ) -> (CmmSafety)
  176. happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x
  177. {-# INLINE happyOut22 #-}
  178. happyIn23 :: (Maybe [GlobalReg]) -> (HappyAbsSyn )
  179. happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x
  180. {-# INLINE happyIn23 #-}
  181. happyOut23 :: (HappyAbsSyn ) -> (Maybe [GlobalReg])
  182. happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x
  183. {-# INLINE happyOut23 #-}
  184. happyIn24 :: ([GlobalReg]) -> (HappyAbsSyn )
  185. happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x
  186. {-# INLINE happyIn24 #-}
  187. happyOut24 :: (HappyAbsSyn ) -> ([GlobalReg])
  188. happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x
  189. {-# INLINE happyOut24 #-}
  190. happyIn25 :: (Maybe (Int,Int)) -> (HappyAbsSyn )
  191. happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x
  192. {-# INLINE happyIn25 #-}
  193. happyOut25 :: (HappyAbsSyn ) -> (Maybe (Int,Int))
  194. happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x
  195. {-# INLINE happyOut25 #-}
  196. happyIn26 :: ([ExtFCode ([Int],Either BlockId ExtCode)]) -> (HappyAbsSyn )
  197. happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x
  198. {-# INLINE happyIn26 #-}
  199. happyOut26 :: (HappyAbsSyn ) -> ([ExtFCode ([Int],Either BlockId ExtCode)])
  200. happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x
  201. {-# INLINE happyOut26 #-}
  202. happyIn27 :: (ExtFCode ([Int],Either BlockId ExtCode)) -> (HappyAbsSyn )
  203. happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x
  204. {-# INLINE happyIn27 #-}
  205. happyOut27 :: (HappyAbsSyn ) -> (ExtFCode ([Int],Either BlockId ExtCode))
  206. happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x
  207. {-# INLINE happyOut27 #-}
  208. happyIn28 :: (ExtFCode (Either BlockId ExtCode)) -> (HappyAbsSyn )
  209. happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x
  210. {-# INLINE happyIn28 #-}
  211. happyOut28 :: (HappyAbsSyn ) -> (ExtFCode (Either BlockId ExtCode))
  212. happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x
  213. {-# INLINE happyOut28 #-}
  214. happyIn29 :: ([Int]) -> (HappyAbsSyn )
  215. happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x
  216. {-# INLINE happyIn29 #-}
  217. happyOut29 :: (HappyAbsSyn ) -> ([Int])
  218. happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x
  219. {-# INLINE happyOut29 #-}
  220. happyIn30 :: (Maybe ExtCode) -> (HappyAbsSyn )
  221. happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x
  222. {-# INLINE happyIn30 #-}
  223. happyOut30 :: (HappyAbsSyn ) -> (Maybe ExtCode)
  224. happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x
  225. {-# INLINE happyOut30 #-}
  226. happyIn31 :: (ExtCode) -> (HappyAbsSyn )
  227. happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x
  228. {-# INLINE happyIn31 #-}
  229. happyOut31 :: (HappyAbsSyn ) -> (ExtCode)
  230. happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x
  231. {-# INLINE happyOut31 #-}
  232. happyIn32 :: (ExtFCode CmmExpr) -> (HappyAbsSyn )
  233. happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x
  234. {-# INLINE happyIn32 #-}
  235. happyOut32 :: (HappyAbsSyn ) -> (ExtFCode CmmExpr)
  236. happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x
  237. {-# INLINE happyOut32 #-}
  238. happyIn33 :: (ExtFCode CmmExpr) -> (HappyAbsSyn )
  239. happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x
  240. {-# INLINE happyIn33 #-}
  241. happyOut33 :: (HappyAbsSyn ) -> (ExtFCode CmmExpr)
  242. happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x
  243. {-# INLINE happyOut33 #-}
  244. happyIn34 :: (CmmType) -> (HappyAbsSyn )
  245. happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x
  246. {-# INLINE happyIn34 #-}
  247. happyOut34 :: (HappyAbsSyn ) -> (CmmType)
  248. happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x
  249. {-# INLINE happyOut34 #-}
  250. happyIn35 :: ([ExtFCode HintedCmmActual]) -> (HappyAbsSyn )
  251. happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x
  252. {-# INLINE happyIn35 #-}
  253. happyOut35 :: (HappyAbsSyn ) -> ([ExtFCode HintedCmmActual])
  254. happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x
  255. {-# INLINE happyOut35 #-}
  256. happyIn36 :: ([ExtFCode HintedCmmActual]) -> (HappyAbsSyn )
  257. happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x
  258. {-# INLINE happyIn36 #-}
  259. happyOut36 :: (HappyAbsSyn ) -> ([ExtFCode HintedCmmActual])
  260. happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x
  261. {-# INLINE happyOut36 #-}
  262. happyIn37 :: ([ExtFCode HintedCmmActual]) -> (HappyAbsSyn )
  263. happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x
  264. {-# INLINE happyIn37 #-}
  265. happyOut37 :: (HappyAbsSyn ) -> ([ExtFCode HintedCmmActual])
  266. happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x
  267. {-# INLINE happyOut37 #-}
  268. happyIn38 :: (ExtFCode HintedCmmActual) -> (HappyAbsSyn )
  269. happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x
  270. {-# INLINE happyIn38 #-}
  271. happyOut38 :: (HappyAbsSyn ) -> (ExtFCode HintedCmmActual)
  272. happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x
  273. {-# INLINE happyOut38 #-}
  274. happyIn39 :: ([ExtFCode CmmExpr]) -> (HappyAbsSyn )
  275. happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x
  276. {-# INLINE happyIn39 #-}
  277. happyOut39 :: (HappyAbsSyn ) -> ([ExtFCode CmmExpr])
  278. happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x
  279. {-# INLINE happyOut39 #-}
  280. happyIn40 :: ([ExtFCode CmmExpr]) -> (HappyAbsSyn )
  281. happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x
  282. {-# INLINE happyIn40 #-}
  283. happyOut40 :: (HappyAbsSyn ) -> ([ExtFCode CmmExpr])
  284. happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x
  285. {-# INLINE happyOut40 #-}
  286. happyIn41 :: (ExtFCode CmmExpr) -> (HappyAbsSyn )
  287. happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x
  288. {-# INLINE happyIn41 #-}
  289. happyOut41 :: (HappyAbsSyn ) -> (ExtFCode CmmExpr)
  290. happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x
  291. {-# INLINE happyOut41 #-}
  292. happyIn42 :: ([ExtFCode HintedCmmFormal]) -> (HappyAbsSyn )
  293. happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x
  294. {-# INLINE happyIn42 #-}
  295. happyOut42 :: (HappyAbsSyn ) -> ([ExtFCode HintedCmmFormal])
  296. happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x
  297. {-# INLINE happyOut42 #-}
  298. happyIn43 :: ([ExtFCode HintedCmmFormal]) -> (HappyAbsSyn )
  299. happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x
  300. {-# INLINE happyIn43 #-}
  301. happyOut43 :: (HappyAbsSyn ) -> ([ExtFCode HintedCmmFormal])
  302. happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x
  303. {-# INLINE happyOut43 #-}
  304. happyIn44 :: (ExtFCode HintedCmmFormal) -> (HappyAbsSyn )
  305. happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x
  306. {-# INLINE happyIn44 #-}
  307. happyOut44 :: (HappyAbsSyn ) -> (ExtFCode HintedCmmFormal)
  308. happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x
  309. {-# INLINE happyOut44 #-}
  310. happyIn45 :: (ExtFCode LocalReg) -> (HappyAbsSyn )
  311. happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x
  312. {-# INLINE happyIn45 #-}
  313. happyOut45 :: (HappyAbsSyn ) -> (ExtFCode LocalReg)
  314. happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x
  315. {-# INLINE happyOut45 #-}
  316. happyIn46 :: (ExtFCode CmmReg) -> (HappyAbsSyn )
  317. happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x
  318. {-# INLINE happyIn46 #-}
  319. happyOut46 :: (HappyAbsSyn ) -> (ExtFCode CmmReg)
  320. happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x
  321. {-# INLINE happyOut46 #-}
  322. happyIn47 :: ([ExtFCode LocalReg]) -> (HappyAbsSyn )
  323. happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x
  324. {-# INLINE happyIn47 #-}
  325. happyOut47 :: (HappyAbsSyn ) -> ([ExtFCode LocalReg])
  326. happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x
  327. {-# INLINE happyOut47 #-}
  328. happyIn48 :: ([ExtFCode LocalReg]) -> (HappyAbsSyn )
  329. happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x
  330. {-# INLINE happyIn48 #-}
  331. happyOut48 :: (HappyAbsSyn ) -> ([ExtFCode LocalReg])
  332. happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x
  333. {-# INLINE happyOut48 #-}
  334. happyIn49 :: ([ExtFCode LocalReg]) -> (HappyAbsSyn )
  335. happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x
  336. {-# INLINE happyIn49 #-}
  337. happyOut49 :: (HappyAbsSyn ) -> ([ExtFCode LocalReg])
  338. happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x
  339. {-# INLINE happyOut49 #-}
  340. happyIn50 :: (ExtFCode LocalReg) -> (HappyAbsSyn )
  341. happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x
  342. {-# INLINE happyIn50 #-}
  343. happyOut50 :: (HappyAbsSyn ) -> (ExtFCode LocalReg)
  344. happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x
  345. {-# INLINE happyOut50 #-}
  346. happyIn51 :: (ExtFCode (Maybe UpdateFrame)) -> (HappyAbsSyn )
  347. happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x
  348. {-# INLINE happyIn51 #-}
  349. happyOut51 :: (HappyAbsSyn ) -> (ExtFCode (Maybe UpdateFrame))
  350. happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x
  351. {-# INLINE happyOut51 #-}
  352. happyIn52 :: (ExtFCode (Maybe BlockId)) -> (HappyAbsSyn )
  353. happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x
  354. {-# INLINE happyIn52 #-}
  355. happyOut52 :: (HappyAbsSyn ) -> (ExtFCode (Maybe BlockId))
  356. happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x
  357. {-# INLINE happyOut52 #-}
  358. happyIn53 :: (CmmType) -> (HappyAbsSyn )
  359. happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x
  360. {-# INLINE happyIn53 #-}
  361. happyOut53 :: (HappyAbsSyn ) -> (CmmType)
  362. happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x
  363. {-# INLINE happyOut53 #-}
  364. happyIn54 :: (CmmType) -> (HappyAbsSyn )
  365. happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x
  366. {-# INLINE happyIn54 #-}
  367. happyOut54 :: (HappyAbsSyn ) -> (CmmType)
  368. happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x
  369. {-# INLINE happyOut54 #-}
  370. happyInTok :: (Located CmmToken) -> (HappyAbsSyn )
  371. happyInTok x = Happy_GHC_Exts.unsafeCoerce# x
  372. {-# INLINE happyInTok #-}
  373. happyOutTok :: (HappyAbsSyn ) -> (Located CmmToken)
  374. happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x
  375. {-# INLINE happyOutTok #-}
  376. happyActOffsets :: HappyAddr
  377. happyActOffsets = HappyA# "\x37\x01\x00\x00\x34\x03\x37\x01\x00\x00\x00\x00\x6f\x03\x00\x00\x26\x03\x00\x00\x6e\x03\x6c\x03\x66\x03\x61\x03\x60\x03\x5e\x03\x23\x03\x1c\x03\x22\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x03\x2b\x03\x94\x00\x54\x03\x37\x03\x00\x00\x15\x03\x44\x03\x3b\x03\x21\x03\x13\x03\x08\x03\x06\x03\x05\x03\x03\x03\xf8\x02\x33\x03\x05\x00\x00\x00\xf7\x02\x00\x00\xf3\x02\x00\x00\x20\x03\x17\x03\x12\x03\x11\x03\x07\x03\x01\x03\xe6\x02\x00\x00\xe3\x02\x00\x00\x22\x01\x00\x00\x10\x03\x00\x00\x00\x03\xd5\x02\xe5\x02\x0a\x03\x61\x00\x00\x00\x94\x00\x00\x00\x00\x00\x3c\x00\x02\x03\x00\x00\xc6\x02\xc3\x02\xb5\x02\xb4\x02\xa3\x02\xb3\x02\x00\x00\xf2\x02\x1a\x00\xf1\x02\xf0\x02\x0c\x00\xe7\x02\xe2\x02\xd7\x02\x00\x00\xe4\x02\x3c\x00\xff\xff\xe1\x02\xe0\x02\xde\x02\x00\x00\x27\x02\xcc\x02\x00\x00\xd8\x02\x61\x00\x61\x00\x98\x02\x61\x00\x00\x00\x00\x00\x00\x00\xbe\x02\xbe\x02\x1a\x00\xd1\x02\x1a\x00\x1a\x00\xe7\xff\xc4\x02\x0d\x00\x00\x00\x0b\x01\x93\x02\x54\x00\x61\x00\xc1\x02\xc2\x02\x00\x00\x14\x00\x00\x00\x94\x00\x00\x00\xd2\x00\xb6\x02\x00\x00\x3f\x02\x61\x00\x86\x02\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\x02\x00\x77\x02\x83\x02\x94\x01\x00\x00\x00\x00\x00\x00\x81\x02\x76\x02\x73\x02\x00\x00\x94\x00\x65\x02\xab\x02\x61\x00\xa1\x02\x00\x00\x9a\x03\x96\x02\xa0\x02\xa5\x02\x92\x02\x90\x02\x87\x02\x00\x00\x91\x02\x80\x02\x52\x02\x89\x02\xc2\x03\xc2\x03\xc2\x03\xc2\x03\x7b\x00\x7b\x00\xc2\x03\xc2\x03\xd6\x03\xfc\x00\xdd\x03\xd2\x00\xd2\x00\x00\x00\x00\x00\x00\x00\x86\x03\x84\x02\x00\x00\x7b\x02\xdc\x01\x00\x00\x61\x00\x00\x00\x00\x00\x61\x00\x61\x00\x49\x02\x82\x02\x61\x00\x0e\x02\x08\x00\x00\x00\xae\x03\x54\x00\x54\x00\x75\x02\x61\x02\x5a\x02\x00\x00\x00\x00\x3a\x02\x61\x00\x61\x00\x21\x02\x53\x02\x00\x00\x00\x00\x00\x00\x17\x02\x61\x00\x80\x01\xc2\x01\x00\x00\x0b\x01\x4f\x02\x00\x00\x00\x00\x0d\x01\x4e\x02\x3f\x02\x1a\x00\x54\x00\x54\x00\x15\x02\x48\x02\x99\x00\x41\x02\x00\x00\x32\x02\x00\x00\x28\x02\xa8\x01\x37\x02\x36\x02\x00\x00\x43\x00\x00\x00\x61\x00\x3b\x02\x30\x02\x29\x02\x2e\x02\xee\x01\xe5\x01\xe4\x01\x00\x00\xe2\x01\x00\x00\x00\x00\x0f\x02\x03\x02\x02\x02\x01\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x02\xe0\x01\xcc\x01\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x01\xec\x01\x07\x02\x00\x00\x00\x00\x00\x00\xf7\x01\x00\x00\xf5\x01\xf8\x01\x61\x00\x61\x00\x61\x00\xd6\x01\x00\x00\xef\x01\xc6\x01\xbe\x01\xb1\x01\x00\x00\xa6\x01\xb0\x01\xa5\x01\xa4\x01\xce\x01\xcd\x01\xc5\x01\xd2\x01\xd7\x01\xc3\x01\x00\x00\xc9\x01\xcb\x01\x00\x00\x00\x00\xc8\x01\x6c\x01\xb9\x01\xb8\x01\x89\x01\x89\x01\x00\x00\x1a\x00\xaa\x01\x00\x00\x87\x01\x24\x00\x00\x00\x7e\x01\x7d\x01\x6b\x01\xa2\x01\x83\x01\x6f\x01\x00\x00\x1a\x00\x58\x01\x00\x00\x1a\x00\x93\x01\x7f\x01\x00\x00\x7f\x01\x81\x01\x06\x00\x46\x01\x00\x00\x66\x01\x64\x01\x5b\x01\x12\x01\x0c\x01\x00\x00\x45\x01\x41\x01\x00\x00\x00\x00\x00\x00\x3c\x01\x08\x01\x29\x01\x00\x00\x02\x01\x00\x00\xe3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
  378. happyGotoOffsets :: HappyAddr
  379. happyGotoOffsets = HappyA# "\xb9\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x0e\x01\x00\x00\x1a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x01\x00\x00\x10\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x00\xee\x00\x3b\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\xe5\x00\x00\x00\xe4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x00\x00\x03\x01\x00\x00\xed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\x00\x00\x00\x5f\x03\x00\x00\x40\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x01\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xff\x5d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x03\x4d\x03\x00\x00\x3f\x03\x00\x00\x00\x00\x00\x00\xdc\x00\xd7\x00\xf9\x00\x00\x00\xf7\x00\xe8\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x95\x00\x00\x00\x33\x01\x3d\x03\xc3\x00\xcf\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x03\x00\x00\x7d\x02\x2d\x03\x1f\x03\x1d\x03\x0f\x03\x0d\x03\xff\x02\xfd\x02\xef\x02\xed\x02\xdf\x02\xdd\x02\xcf\x02\xcd\x02\xbf\x02\xbd\x02\xaf\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\xad\x02\x00\x00\x00\x00\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x02\x00\x00\x00\x00\x63\x02\x9f\x02\x00\x00\x00\x00\x51\x02\xb6\x00\x00\x00\x00\x00\x00\x00\x25\x01\x23\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x00\x9d\x02\x8f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8d\x02\x00\x00\x00\x00\x00\x00\xf6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x15\x01\xf4\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\xf2\xff\x00\x00\x7f\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\x9b\x00\x00\x00\x5c\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\x4a\x02\x43\x02\x20\x01\xa7\x00\x00\x00\x00\x00\xa5\x00\x4a\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x0e\x00\x00\x00\xca\x00\x00\x00\x00\x00\x4e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\xbb\x00\x00\x00\x1b\x00\x00\x00\x07\x00\x00\x00\x16\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\xf5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
  380. happyDefActions :: HappyAddr
  381. happyDefActions = HappyA# "\xfe\xff\x00\x00\x00\x00\xfe\xff\xfb\xff\xfc\xff\x79\xff\xfa\xff\x00\x00\x6c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\xff\x6b\xff\x6a\xff\x69\xff\x68\xff\x67\xff\x66\xff\x79\xff\x6f\xff\x77\xff\x00\x00\xdd\xff\xdb\xff\x00\x00\x00\x00\x00\x00\xd9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\xff\xfd\xff\x71\xff\xeb\xff\x00\x00\xe0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\xff\x00\x00\xda\xff\x00\x00\xdf\xff\x00\x00\x76\xff\x74\xff\x00\x00\x71\xff\x00\x00\x00\x00\x72\xff\x75\xff\x78\xff\xdc\xff\xf6\xff\x00\x00\xd8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\xff\x00\x00\xe3\xff\xee\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\xff\x00\x00\xf6\xff\x00\x00\x6c\xff\x00\x00\x6d\xff\x73\xff\x00\x00\x9b\xff\x97\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\xff\x85\xff\x98\xff\x93\xff\x93\xff\xe3\xff\x00\x00\xe3\xff\xe3\xff\x00\x00\x00\x00\x00\x00\xd7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x91\xff\xba\xff\x7a\xff\x7b\xff\x99\xff\x00\x00\x9a\xff\x9d\xff\x00\x00\x9e\xff\x00\x00\x00\x00\x00\x00\x89\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\x00\x00\x00\x00\x00\x00\x00\x00\xf3\xff\xf5\xff\xf8\xff\x00\x00\x00\x00\x00\x00\xe5\xff\x77\xff\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\xee\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\xff\x00\x00\xee\xff\x00\x00\x00\x00\xa0\xff\x9f\xff\xa2\xff\xa4\xff\xa8\xff\xa9\xff\xa1\xff\xa3\xff\xa5\xff\xa6\xff\xa7\xff\xaa\xff\xab\xff\xac\xff\xad\xff\xae\xff\x87\xff\x00\x00\x88\xff\x00\x00\x00\x00\x94\xff\x89\xff\x92\xff\xd6\xff\x89\xff\x00\x00\x00\x00\x00\x00\x8f\xff\x91\xff\x00\x00\xc8\xff\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x81\xff\x7e\xff\x7c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\xff\xe2\xff\xea\xff\x00\x00\x00\x00\x00\x00\x00\x00\x7d\xff\x80\xff\x00\x00\xcf\xff\xc4\xff\x00\x00\xc8\xff\xc7\xff\xe3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x8b\xff\x00\x00\x8e\xff\x8d\xff\xcd\xff\x00\x00\x00\x00\x00\x00\x00\x00\x96\xff\x00\x00\x70\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\xff\x00\x00\xf9\xff\xed\xff\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xef\xff\xf2\xff\xf1\xff\x86\xff\x9c\xff\x95\xff\x00\x00\xb9\xff\x00\x00\x00\x00\x90\xff\x8a\xff\xce\xff\xcc\xff\xc5\xff\xc6\xff\x00\x00\xc3\xff\x82\xff\x7f\xff\x00\x00\xd5\xff\x00\x00\x00\x00\x8f\xff\x8f\xff\x00\x00\xb0\xff\x8c\xff\x00\x00\xb1\xff\xb9\xff\x00\x00\xd1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xff\xb8\xff\x00\x00\x00\x00\xbb\xff\xcb\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc2\xff\xc2\xff\xd4\xff\xe3\xff\x00\x00\xd0\xff\x00\x00\x00\x00\xe6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\xff\xe3\xff\x00\x00\xb3\xff\xe3\xff\x00\x00\xc0\xff\xc1\xff\xc0\xff\x00\x00\x00\x00\xca\xff\xaf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe9\xff\x00\x00\x00\x00\xb6\xff\xb5\xff\xb2\xff\x00\x00\x00\x00\x00\x00\xbf\xff\xbd\xff\xd2\xff\x00\x00\xbe\xff\xc9\xff\xd3\xff\xe7\xff\xe8\xff\xbc\xff"#
  382. happyCheck :: HappyAddr
  383. happyCheck = HappyA# "\xff\xff\x02\x00\x04\x00\x05\x00\x10\x00\x11\x00\x07\x00\x02\x00\x06\x00\x14\x00\x0b\x00\x03\x00\x06\x00\x0e\x00\x0f\x00\x1d\x00\x1c\x00\x1d\x00\x05\x00\x0f\x00\x08\x00\x01\x00\x2f\x00\x25\x00\x31\x00\x25\x00\x13\x00\x07\x00\x02\x00\x27\x00\x28\x00\x29\x00\x12\x00\x07\x00\x16\x00\x31\x00\x32\x00\x31\x00\x32\x00\x03\x00\x20\x00\x21\x00\x14\x00\x00\x00\x01\x00\x02\x00\x13\x00\x31\x00\x32\x00\x2c\x00\x07\x00\x08\x00\x2c\x00\x0a\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\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\x2c\x00\x0e\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x07\x00\x31\x00\x32\x00\x22\x00\x0b\x00\x16\x00\x17\x00\x0e\x00\x0f\x00\x2c\x00\x2d\x00\x2e\x00\x19\x00\x07\x00\x31\x00\x32\x00\x17\x00\x0b\x00\x2d\x00\x2e\x00\x0e\x00\x0f\x00\x31\x00\x32\x00\x19\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\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\x12\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\x04\x00\x05\x00\x16\x00\x17\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x01\x00\x02\x00\x27\x00\x28\x00\x29\x00\x1a\x00\x07\x00\x08\x00\x1b\x00\x0a\x00\x09\x00\x0a\x00\x09\x00\x0a\x00\x29\x00\x0e\x00\x06\x00\x0e\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x09\x00\x0a\x00\x1f\x00\x09\x00\x0a\x00\x0e\x00\x06\x00\x41\x00\x0e\x00\x31\x00\x32\x00\x0c\x00\x0d\x00\x0e\x00\x26\x00\x1f\x00\x26\x00\x15\x00\x2a\x00\x0d\x00\x2a\x00\x31\x00\x32\x00\x31\x00\x32\x00\x31\x00\x32\x00\x31\x00\x32\x00\x26\x00\x09\x00\x0a\x00\x26\x00\x2a\x00\x1e\x00\x0e\x00\x2a\x00\x0b\x00\x0c\x00\x1e\x00\x31\x00\x32\x00\x2f\x00\x31\x00\x32\x00\x09\x00\x0a\x00\x09\x00\x0a\x00\x06\x00\x0e\x00\x03\x00\x0e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x26\x00\x09\x00\x0a\x00\x0d\x00\x2a\x00\x2f\x00\x0e\x00\x30\x00\x1a\x00\x1b\x00\x16\x00\x31\x00\x32\x00\x0b\x00\x0c\x00\x26\x00\x30\x00\x26\x00\x2b\x00\x2a\x00\x3f\x00\x2a\x00\x0d\x00\x10\x00\x11\x00\x0d\x00\x31\x00\x32\x00\x31\x00\x32\x00\x26\x00\x20\x00\x21\x00\x06\x00\x2a\x00\x1c\x00\x1d\x00\x10\x00\x11\x00\x10\x00\x11\x00\x31\x00\x32\x00\x2b\x00\x25\x00\x33\x00\x1c\x00\x1d\x00\x02\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x10\x00\x11\x00\x25\x00\x31\x00\x32\x00\x25\x00\x08\x00\x25\x00\x40\x00\x41\x00\x08\x00\x42\x00\x1c\x00\x1d\x00\x31\x00\x32\x00\x41\x00\x31\x00\x32\x00\x31\x00\x32\x00\x25\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x04\x00\x29\x00\x2a\x00\x40\x00\x41\x00\x31\x00\x32\x00\x02\x00\x2c\x00\x2d\x00\x2e\x00\x04\x00\x34\x00\x31\x00\x32\x00\x02\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x30\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\x02\x00\x05\x00\x16\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\x04\x00\x40\x00\x16\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\x08\x00\x03\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\x41\x00\x41\x00\x08\x00\x08\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x06\x00\x42\x00\x41\x00\x03\x00\x01\x00\x04\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x01\x00\x16\x00\x08\x00\x16\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x06\x00\x16\x00\x16\x00\x41\x00\x41\x00\x41\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x42\x00\x42\x00\x36\x00\x06\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x07\x00\x37\x00\x28\x00\x07\x00\x09\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x04\x00\x20\x00\x02\x00\x42\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x07\x00\x36\x00\x16\x00\x16\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\x42\x00\x42\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x07\x00\x41\x00\x02\x00\x08\x00\x02\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\x08\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x08\x00\x16\x00\x08\x00\x02\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x40\x00\x08\x00\x40\x00\x09\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x1c\x00\x1d\x00\x0e\x00\x41\x00\x20\x00\x21\x00\x22\x00\x1c\x00\x1d\x00\x25\x00\x08\x00\x20\x00\x21\x00\x22\x00\x1c\x00\x1d\x00\x25\x00\x16\x00\x20\x00\x21\x00\x22\x00\x31\x00\x32\x00\x25\x00\x02\x00\x1c\x00\x1d\x00\x40\x00\x31\x00\x32\x00\x21\x00\x22\x00\x1c\x00\x1d\x00\x25\x00\x31\x00\x32\x00\x02\x00\x0a\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x1d\x00\x42\x00\x08\x00\x31\x00\x32\x00\x06\x00\x23\x00\x24\x00\x25\x00\x41\x00\x31\x00\x32\x00\x16\x00\x06\x00\x02\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x16\x00\x31\x00\x32\x00\x23\x00\x24\x00\x25\x00\x24\x00\x25\x00\x04\x00\x16\x00\x42\x00\x16\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x08\x00\x31\x00\x32\x00\x31\x00\x32\x00\x25\x00\x08\x00\x25\x00\x42\x00\x16\x00\x40\x00\x42\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x07\x00\x31\x00\x32\x00\x31\x00\x32\x00\x25\x00\x42\x00\x25\x00\x42\x00\x40\x00\x05\x00\x07\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x09\x00\x31\x00\x32\x00\x31\x00\x32\x00\x25\x00\x40\x00\x25\x00\x04\x00\x0a\x00\x19\x00\x40\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x05\x00\x31\x00\x32\x00\x31\x00\x32\x00\x25\x00\x05\x00\x25\x00\x42\x00\x05\x00\x07\x00\x04\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x16\x00\x31\x00\x32\x00\x31\x00\x32\x00\x25\x00\x40\x00\x25\x00\x03\x00\x42\x00\x42\x00\x16\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x16\x00\x31\x00\x32\x00\x31\x00\x32\x00\x25\x00\x01\x00\x25\x00\x42\x00\x16\x00\x16\x00\x42\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x03\x00\x31\x00\x32\x00\x31\x00\x32\x00\x25\x00\x2e\x00\x25\x00\x40\x00\x16\x00\x16\x00\x08\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x16\x00\x31\x00\x32\x00\x31\x00\x32\x00\x25\x00\x40\x00\x25\x00\x2e\x00\x40\x00\x16\x00\x16\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x16\x00\x31\x00\x32\x00\x31\x00\x32\x00\x25\x00\x40\x00\x25\x00\x02\x00\x16\x00\x16\x00\x40\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x02\x00\x31\x00\x32\x00\x31\x00\x32\x00\x25\x00\x40\x00\x25\x00\x40\x00\x40\x00\x03\x00\x40\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x16\x00\x31\x00\x32\x00\x31\x00\x32\x00\x25\x00\x40\x00\x25\x00\x40\x00\x02\x00\x2c\x00\x07\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x41\x00\x31\x00\x32\x00\x31\x00\x32\x00\x25\x00\x40\x00\x25\x00\x07\x00\x40\x00\x07\x00\x07\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x07\x00\x31\x00\x32\x00\x31\x00\x32\x00\x25\x00\x07\x00\x25\x00\x07\x00\x07\x00\xff\xff\x44\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\xff\xff\x31\x00\x32\x00\x31\x00\x32\x00\x25\x00\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x31\x00\x32\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\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\x16\x00\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\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\xff\xff\xff\xff\x1a\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\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\xff\xff\xff\xff"#
  384. happyTable :: HappyAddr
  385. happyTable = HappyA# "\x00\x00\x9e\x00\x9e\x00\x5c\x00\x23\x01\xd6\x00\x67\x00\x2f\x00\xb5\x00\x7d\x01\x68\x00\xf4\x00\x75\x01\x69\x00\x6a\x00\x19\x01\xd7\x00\x63\x00\xe1\x00\x71\x01\xa4\x00\xcf\x00\xe3\x00\x64\x00\xe4\x00\x64\x00\x62\x01\xd0\x00\x77\x00\x28\x01\xdc\x00\xdd\x00\x5f\x01\x78\x00\xa5\x00\x65\x00\x09\x00\x65\x00\x09\x00\x5b\x01\xf5\x00\xf6\x00\x73\x01\x2c\x00\x03\x00\x04\x00\x64\x01\x5d\x00\x5e\x00\x30\x00\x05\x00\x06\x00\xf7\x00\x07\x00\x59\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x11\x00\xb6\x00\x76\x01\x79\x00\x7a\x00\x7b\x00\x83\xff\x67\x00\x83\xff\x7c\x00\x24\x00\x13\x00\x7d\x00\x5c\x01\x69\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x7e\x00\x7f\x00\xd9\x00\x08\x00\x09\x00\x60\x00\x68\x00\x41\x01\x34\x01\x69\x00\x6a\x00\xad\x00\x3e\x00\x3f\x00\x5c\x01\x67\x00\x40\x00\x09\x00\xda\x00\x68\x00\x61\x00\x3f\x00\x69\x00\x6a\x00\x40\x00\x09\x00\x3f\x01\x61\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x61\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x5b\x00\x5c\x00\x33\x01\x34\x01\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x02\x00\x03\x00\x04\x00\xdb\x00\xdc\x00\xdd\x00\x42\x01\x05\x00\x06\x00\x45\x01\x07\x00\x66\x01\x71\x00\x68\x01\x71\x00\xeb\x00\x72\x00\x07\x01\x72\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x5e\x01\x71\x00\xf7\x00\x25\x01\x71\x00\x72\x00\x0f\x01\x21\x01\x72\x00\x5d\x00\x5e\x00\x8a\x00\x8b\x00\x8c\x00\x73\x00\xd2\x00\x73\x00\xd0\x00\x74\x00\x2a\x00\x74\x00\xcd\x00\x09\x00\x08\x00\x09\x00\x75\x00\x09\x00\x75\x00\x09\x00\x73\x00\xe4\x00\x71\x00\x73\x00\x74\x00\x7f\x00\x72\x00\x74\x00\x47\x00\x1e\x00\x81\x00\x75\x00\x09\x00\x42\x00\x75\x00\x09\x00\xe5\x00\x71\x00\x70\x00\x71\x00\xa6\x00\x72\x00\x48\x00\x72\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x73\x00\xa8\x00\x71\x00\x4a\x00\x74\x00\x52\x00\x72\x00\x2d\x00\x94\x00\x95\x00\x78\x01\x75\x00\x09\x00\x1d\x00\x1e\x00\x73\x00\x41\x00\x73\x00\x1b\x00\x74\x00\x76\x01\x74\x00\x22\x00\x24\x01\xd6\x00\x2a\x00\x75\x00\x09\x00\x75\x00\x09\x00\x73\x00\xf5\x00\xf6\x00\x79\x01\x74\x00\xd7\x00\x63\x00\xef\x00\xd6\x00\xf0\x00\xf1\x00\x75\x00\x09\x00\x2b\x00\x64\x00\x7a\x01\x47\x01\x63\x00\x7b\x01\xd7\x00\x63\x00\xf2\x00\x63\x00\xd5\x00\xd6\x00\x64\x00\x65\x00\x09\x00\x64\x00\x7c\x01\x64\x00\xdf\x00\xe0\x00\x7d\x01\x6d\x01\xd7\x00\x63\x00\x65\x00\x09\x00\x6e\x01\x65\x00\x09\x00\x65\x00\x09\x00\x64\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x6f\x01\x11\x00\x12\x00\x20\x00\x21\x00\x65\x00\x09\x00\x70\x01\x3d\x00\x3e\x00\x3f\x00\x71\x01\x13\x00\x40\x00\x09\x00\x4d\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x73\x01\x1b\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x2b\x01\x77\x01\x64\x01\x6a\x01\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\xb2\x00\x66\x01\x68\x01\x6b\x01\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x6c\x01\x1d\x01\x57\x01\x5e\x01\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x58\x01\x59\x01\x4b\x01\x4c\x01\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x2a\x01\x41\x01\x61\x01\x4e\x01\x4f\x01\x50\x01\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x52\x01\x51\x01\x53\x01\x54\x01\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x02\x01\x55\x01\x56\x01\x3c\x01\x3d\x01\x3f\x01\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x3e\x01\x41\x01\x36\x01\x45\x01\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x2f\x01\x44\x01\x47\x01\x2e\x01\x30\x01\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x31\x01\xf5\x00\x37\x01\x33\x01\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\xd4\x00\x36\x01\x38\x01\x39\x01\x3a\x01\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x11\x01\x3b\x01\x12\x01\x13\x01\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x89\x00\x14\x01\x15\x01\x16\x01\x17\x01\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x18\x01\x1b\x01\x1c\x01\x1e\x01\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\xcc\x00\x1f\x01\x20\x01\x22\x01\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x23\x01\x27\x01\x2d\x01\x28\x01\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\xf8\x00\x63\x00\xe8\x00\xe9\x00\x48\x01\xfa\x00\xfb\x00\xf8\x00\x63\x00\x64\x00\xee\x00\x49\x01\xfa\x00\xfb\x00\xf8\x00\x63\x00\x64\x00\xed\x00\xf9\x00\xfa\x00\xfb\x00\x65\x00\x09\x00\x64\x00\xef\x00\xf8\x00\x63\x00\xdf\x00\x65\x00\x09\x00\x31\x01\xfb\x00\xc6\x00\x63\x00\x64\x00\x65\x00\x09\x00\xfd\x00\x03\x01\xff\x00\xc8\x00\x64\x00\xc6\x00\x63\x00\xfe\x00\x04\x01\x65\x00\x09\x00\x06\x01\x00\x01\xc8\x00\x64\x00\x07\x01\x65\x00\x09\x00\xa8\x00\x09\x01\x0f\x01\xc6\x00\x63\x00\xc6\x00\x63\x00\x0a\x01\x65\x00\x09\x00\xc7\x00\xc8\x00\x64\x00\x18\x01\x64\x00\xaa\x00\x0b\x01\xad\x00\x0c\x01\x2b\x01\x63\x00\xe9\x00\x63\x00\x0d\x01\x65\x00\x09\x00\x65\x00\x09\x00\x64\x00\xac\x00\x64\x00\xaf\x00\x0e\x01\xb4\x00\xb0\x00\xea\x00\x63\x00\xfe\x00\x63\x00\xcd\x00\x65\x00\x09\x00\x65\x00\x09\x00\x64\x00\xb1\x00\x64\x00\xb3\x00\xca\x00\xd2\x00\xd4\x00\xaa\x00\x63\x00\xb6\x00\x63\x00\xe2\x00\x65\x00\x09\x00\x65\x00\x09\x00\x64\x00\xdb\x00\x64\x00\xe7\x00\x88\x00\x81\x00\x84\x00\xb7\x00\x63\x00\xb8\x00\x63\x00\x87\x00\x65\x00\x09\x00\x65\x00\x09\x00\x64\x00\x9a\x00\x64\x00\x56\x00\x9c\x00\x9b\x00\xa0\x00\xb9\x00\x63\x00\xba\x00\x63\x00\xa1\x00\x65\x00\x09\x00\x65\x00\x09\x00\x64\x00\x55\x00\x64\x00\x54\x00\x57\x00\x58\x00\xa2\x00\xbb\x00\x63\x00\xbc\x00\x63\x00\xa3\x00\x65\x00\x09\x00\x65\x00\x09\x00\x64\x00\x5b\x00\x64\x00\x59\x00\xa6\x00\xa8\x00\x5a\x00\xbd\x00\x63\x00\xbe\x00\x63\x00\x70\x00\x65\x00\x09\x00\x65\x00\x09\x00\x64\x00\x44\x00\x64\x00\x45\x00\x46\x00\x4c\x00\x47\x00\xbf\x00\x63\x00\xc0\x00\x63\x00\x4d\x00\x65\x00\x09\x00\x65\x00\x09\x00\x64\x00\x4a\x00\x64\x00\x44\x00\x24\x00\x4e\x00\x4f\x00\xc1\x00\x63\x00\xc2\x00\x63\x00\x50\x00\x65\x00\x09\x00\x65\x00\x09\x00\x64\x00\x52\x00\x64\x00\x31\x00\x51\x00\x38\x00\x32\x00\xc3\x00\x63\x00\xc4\x00\x63\x00\x39\x00\x65\x00\x09\x00\x65\x00\x09\x00\x64\x00\x33\x00\x64\x00\x34\x00\x35\x00\x3a\x00\x36\x00\xc5\x00\x63\x00\xca\x00\x63\x00\x3c\x00\x65\x00\x09\x00\x65\x00\x09\x00\x64\x00\x37\x00\x64\x00\x3b\x00\x3d\x00\x30\x00\x1d\x00\xd4\x00\x63\x00\x82\x00\x63\x00\x22\x00\x65\x00\x09\x00\x65\x00\x09\x00\x64\x00\x24\x00\x64\x00\x25\x00\x24\x00\x26\x00\x27\x00\x84\x00\x63\x00\x85\x00\x63\x00\x28\x00\x65\x00\x09\x00\x65\x00\x09\x00\x64\x00\x29\x00\x64\x00\x2a\x00\x1d\x00\x00\x00\xff\xff\x9c\x00\x63\x00\x62\x00\x63\x00\x00\x00\x65\x00\x09\x00\x65\x00\x09\x00\x64\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x00\x09\x00\x65\x00\x09\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x05\x01\x00\x00\x00\x00\x00\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x00\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x00\x00\x00\x00\x94\x00\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x00\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
  386. happyReduceArr = Happy_Data_Array.array (1, 153) [
  387. (1 , happyReduce_1),
  388. (2 , happyReduce_2),
  389. (3 , happyReduce_3),
  390. (4 , happyReduce_4),
  391. (5 , happyReduce_5),
  392. (6 , happyReduce_6),
  393. (7 , happyReduce_7),
  394. (8 , happyReduce_8),
  395. (9 , happyReduce_9),
  396. (10 , happyReduce_10),
  397. (11 , happyReduce_11),
  398. (12 , happyReduce_12),
  399. (13 , happyReduce_13),
  400. (14 , happyReduce_14),
  401. (15 , happyReduce_15),
  402. (16 , happyReduce_16),
  403. (17 , happyReduce_17),
  404. (18 , happyReduce_18),
  405. (19 , happyReduce_19),
  406. (20 , happyReduce_20),
  407. (21 , happyReduce_21),
  408. (22 , happyReduce_22),
  409. (23 , happyReduce_23),
  410. (24 , happyReduce_24),
  411. (25 , happyReduce_25),
  412. (26 , happyReduce_26),
  413. (27 , happyReduce_27),
  414. (28 , happyReduce_28),
  415. (29 , happyReduce_29),
  416. (30 , happyReduce_30),
  417. (31 , happyReduce_31),
  418. (32 , happyReduce_32),
  419. (33 , happyReduce_33),
  420. (34 , happyReduce_34),
  421. (35 , happyReduce_35),
  422. (36 , happyReduce_36),
  423. (37 , happyReduce_37),
  424. (38 , happyReduce_38),
  425. (39 , happyReduce_39),
  426. (40 , happyReduce_40),
  427. (41 , happyReduce_41),
  428. (42 , happyReduce_42),
  429. (43 , happyReduce_43),
  430. (44 , happyReduce_44),
  431. (45 , happyReduce_45),
  432. (46 , happyReduce_46),
  433. (47 , happyReduce_47),
  434. (48 , happyReduce_48),
  435. (49 , happyReduce_49),
  436. (50 , happyReduce_50),
  437. (51 , happyReduce_51),
  438. (52 , happyReduce_52),
  439. (53 , happyReduce_53),
  440. (54 , happyReduce_54),
  441. (55 , happyReduce_55),
  442. (56 , happyReduce_56),
  443. (57 , happyReduce_57),
  444. (58 , happyReduce_58),
  445. (59 , happyReduce_59),
  446. (60 , happyReduce_60),
  447. (61 , happyReduce_61),
  448. (62 , happyReduce_62),
  449. (63 , happyReduce_63),
  450. (64 , happyReduce_64),
  451. (65 , happyReduce_65),
  452. (66 , happyReduce_66),
  453. (67 , happyReduce_67),
  454. (68 , happyReduce_68),
  455. (69 , happyReduce_69),
  456. (70 , happyReduce_70),
  457. (71 , happyReduce_71),
  458. (72 , happyReduce_72),
  459. (73 , happyReduce_73),
  460. (74 , happyReduce_74),
  461. (75 , happyReduce_75),
  462. (76 , happyReduce_76),
  463. (77 , happyReduce_77),
  464. (78 , happyReduce_78),
  465. (79 , happyReduce_79),
  466. (80 , happyReduce_80),
  467. (81 , happyReduce_81),
  468. (82 , happyReduce_82),
  469. (83 , happyReduce_83),
  470. (84 , happyReduce_84),
  471. (85 , happyReduce_85),
  472. (86 , happyReduce_86),
  473. (87 , happyReduce_87),
  474. (88 , happyReduce_88),
  475. (89 , happyReduce_89),
  476. (90 , happyReduce_90),
  477. (91 , happyReduce_91),
  478. (92 , happyReduce_92),
  479. (93 , happyReduce_93),
  480. (94 , happyReduce_94),
  481. (95 , happyReduce_95),
  482. (96 , happyReduce_96),
  483. (97 , happyReduce_97),
  484. (98 , happyReduce_98),
  485. (99 , happyReduce_99),
  486. (100 , happyReduce_100),
  487. (101 , happyReduce_101),
  488. (102 , happyReduce_102),
  489. (103 , happyReduce_103),
  490. (104 , happyReduce_104),
  491. (105 , happyReduce_105),
  492. (106 , happyReduce_106),
  493. (107 , happyReduce_107),
  494. (108 , happyReduce_108),
  495. (109 , happyReduce_109),
  496. (110 , happyReduce_110),
  497. (111 , happyReduce_111),
  498. (112 , happyReduce_112),
  499. (113 , happyReduce_113),
  500. (114 , happyReduce_114),
  501. (115 , happyReduce_115),
  502. (116 , happyReduce_116),
  503. (117 , happyReduce_117),
  504. (118 , happyReduce_118),
  505. (119 , happyReduce_119),
  506. (120 , happyReduce_120),
  507. (121 , happyReduce_121),
  508. (122 , happyReduce_122),
  509. (123 , happyReduce_123),
  510. (124 , happyReduce_124),
  511. (125 , happyReduce_125),
  512. (126 , happyReduce_126),
  513. (127 , happyReduce_127),
  514. (128 , happyReduce_128),
  515. (129 , happyReduce_129),
  516. (130 , happyReduce_130),
  517. (131 , happyReduce_131),
  518. (132 , happyReduce_132),
  519. (133 , happyReduce_133),
  520. (134 , happyReduce_134),
  521. (135 , happyReduce_135),
  522. (136 , happyReduce_136),
  523. (137 , happyReduce_137),
  524. (138 , happyReduce_138),
  525. (139 , happyReduce_139),
  526. (140 , happyReduce_140),
  527. (141 , happyReduce_141),
  528. (142 , happyReduce_142),
  529. (143 , happyReduce_143),
  530. (144 , happyReduce_144),
  531. (145 , happyReduce_145),
  532. (146 , happyReduce_146),
  533. (147 , happyReduce_147),
  534. (148 , happyReduce_148),
  535. (149 , happyReduce_149),
  536. (150 , happyReduce_150),
  537. (151 , happyReduce_151),
  538. (152 , happyReduce_152),
  539. (153 , happyReduce_153)
  540. ]
  541. happy_n_terms = 69 :: Int
  542. happy_n_nonterms = 51 :: Int
  543. happyReduce_1 = happySpecReduce_0 0# happyReduction_1
  544. happyReduction_1 = happyIn4
  545. (return ()
  546. )
  547. happyReduce_2 = happySpecReduce_2 0# happyReduction_2
  548. happyReduction_2 happy_x_2
  549. happy_x_1
  550. = case happyOut5 happy_x_1 of { happy_var_1 ->
  551. case happyOut4 happy_x_2 of { happy_var_2 ->
  552. happyIn4
  553. (do happy_var_1; happy_var_2
  554. )}}
  555. happyReduce_3 = happySpecReduce_1 1# happyReduction_3
  556. happyReduction_3 happy_x_1
  557. = case happyOut11 happy_x_1 of { happy_var_1 ->
  558. happyIn5
  559. (happy_var_1
  560. )}
  561. happyReduce_4 = happySpecReduce_1 1# happyReduction_4
  562. happyReduction_4 happy_x_1
  563. = case happyOut6 happy_x_1 of { happy_var_1 ->
  564. happyIn5
  565. (happy_var_1
  566. )}
  567. happyReduce_5 = happySpecReduce_1 1# happyReduction_5
  568. happyReduction_5 happy_x_1
  569. = case happyOut14 happy_x_1 of { happy_var_1 ->
  570. happyIn5
  571. (happy_var_1
  572. )}
  573. happyReduce_6 = happyMonadReduce 8# 1# happyReduction_6
  574. happyReduction_6 (happy_x_8 `HappyStk`
  575. happy_x_7 `HappyStk`
  576. happy_x_6 `HappyStk`
  577. happy_x_5 `HappyStk`
  578. happy_x_4 `HappyStk`
  579. happy_x_3 `HappyStk`
  580. happy_x_2 `HappyStk`
  581. happy_x_1 `HappyStk`
  582. happyRest) tk
  583. = happyThen (case happyOutTok happy_x_3 of { (L _ (CmmT_Name happy_var_3)) ->
  584. case happyOutTok happy_x_5 of { (L _ (CmmT_Name happy_var_5)) ->
  585. case happyOut10 happy_x_6 of { happy_var_6 ->
  586. ( withThisPackage $ \pkg ->
  587. do lits <- sequence happy_var_6;
  588. staticClosure pkg happy_var_3 happy_var_5 (map getLit lits))}}}
  589. ) (\r -> happyReturn (happyIn5 r))
  590. happyReduce_7 = happyReduce 6# 2# happyReduction_7
  591. happyReduction_7 (happy_x_6 `HappyStk`
  592. happy_x_5 `HappyStk`
  593. happy_x_4 `HappyStk`
  594. happy_x_3 `HappyStk`
  595. happy_x_2 `HappyStk`
  596. happy_x_1 `HappyStk`
  597. happyRest)
  598. = case happyOutTok happy_x_2 of { (L _ (CmmT_String happy_var_2)) ->
  599. case happyOut7 happy_x_4 of { happy_var_4 ->
  600. case happyOut8 happy_x_5 of { happy_var_5 ->
  601. happyIn6
  602. (do lbl <- happy_var_4;
  603. ss <- sequence happy_var_5;
  604. code (emitDecl (CmmData (section happy_var_2) (Statics lbl $ concat ss)))
  605. ) `HappyStk` happyRest}}}
  606. happyReduce_8 = happyMonadReduce 2# 3# happyReduction_8
  607. happyReduction_8 (happy_x_2 `HappyStk`
  608. happy_x_1 `HappyStk`
  609. happyRest) tk
  610. = happyThen (case happyOutTok happy_x_1 of { (L _ (CmmT_Name happy_var_1)) ->
  611. ( withThisPackage $ \pkg ->
  612. return (mkCmmDataLabel pkg happy_var_1))}
  613. ) (\r -> happyReturn (happyIn7 r))
  614. happyReduce_9 = happySpecReduce_0 4# happyReduction_9
  615. happyReduction_9 = happyIn8
  616. ([]
  617. )
  618. happyReduce_10 = happySpecReduce_2 4# happyReduction_10
  619. happyReduction_10 happy_x_2
  620. happy_x_1
  621. = case happyOut9 happy_x_1 of { happy_var_1 ->
  622. case happyOut8 happy_x_2 of { happy_var_2 ->
  623. happyIn8
  624. (happy_var_1 : happy_var_2
  625. )}}
  626. happyReduce_11 = happySpecReduce_3 5# happyReduction_11
  627. happyReduction_11 happy_x_3
  628. happy_x_2
  629. happy_x_1
  630. = case happyOut32 happy_x_2 of { happy_var_2 ->
  631. happyIn9
  632. (do e <- happy_var_2;
  633. return [CmmStaticLit (getLit e)]
  634. )}
  635. happyReduce_12 = happySpecReduce_2 5# happyReduction_12
  636. happyReduction_12 happy_x_2
  637. happy_x_1
  638. = case happyOut53 happy_x_1 of { happy_var_1 ->
  639. happyIn9
  640. (return [CmmUninitialised
  641. (widthInBytes (typeWidth happy_var_1))]
  642. )}
  643. happyReduce_13 = happyReduce 5# 5# happyReduction_13
  644. happyReduction_13 (happy_x_5 `HappyStk`
  645. happy_x_4 `HappyStk`
  646. happy_x_3 `HappyStk`
  647. happy_x_2 `HappyStk`
  648. happy_x_1 `HappyStk`
  649. happyRest)
  650. = case happyOutTok happy_x_4 of { (L _ (CmmT_String happy_var_4)) ->
  651. happyIn9
  652. (return [mkString happy_var_4]
  653. ) `HappyStk` happyRest}
  654. happyReduce_14 = happyReduce 5# 5# happyReduction_14
  655. happyReduction_14 (happy_x_5 `HappyStk`
  656. happy_x_4 `HappyStk`
  657. happy_x_3 `HappyStk`
  658. happy_x_2 `HappyStk`
  659. happy_x_1 `HappyStk`
  660. happyRest)
  661. = case happyOutTok happy_x_3 of { (L _ (CmmT_Int happy_var_3)) ->
  662. happyIn9
  663. (return [CmmUninitialised
  664. (fromIntegral happy_var_3)]
  665. ) `HappyStk` happyRest}
  666. happyReduce_15 = happyReduce 5# 5# happyReduction_15
  667. happyReduction_15 (happy_x_5 `HappyStk`
  668. happy_x_4 `HappyStk`
  669. happy_x_3 `HappyStk`
  670. happy_x_2 `HappyStk`
  671. happy_x_1 `HappyStk`
  672. happyRest)
  673. = case happyOut54 happy_x_1 of { happy_var_1 ->
  674. case happyOutTok happy_x_3 of { (L _ (CmmT_Int happy_var_3)) ->
  675. happyIn9
  676. (return [CmmUninitialised
  677. (widthInBytes (typeWidth happy_var_1) *
  678. fromIntegral happy_var_3)]
  679. ) `HappyStk` happyRest}}
  680. happyReduce_16 = happyReduce 5# 5# happyReduction_16
  681. happyReduction_16 (happy_x_5 `HappyStk`
  682. happy_x_4 `HappyStk`
  683. happy_x_3 `HappyStk`
  684. happy_x_2 `HappyStk`
  685. happy_x_1 `HappyStk`
  686. happyRest)
  687. = case happyOutTok happy_x_3 of { (L _ (CmmT_Name happy_var_3)) ->
  688. case happyOut10 happy_x_4 of { happy_var_4 ->
  689. happyIn9
  690. (do lits <- sequence happy_var_4;
  691. return $ map CmmStaticLit $
  692. mkStaticClosure (mkForeignLabel happy_var_3 Nothing ForeignLabelInExternalPackage IsData)
  693. -- mkForeignLabel because these are only used
  694. -- for CHARLIKE and INTLIKE closures in the RTS.
  695. dontCareCCS (map getLit lits) [] [] []
  696. ) `HappyStk` happyRest}}
  697. happyReduce_17 = happySpecReduce_0 6# happyReduction_17
  698. happyReduction_17 = happyIn10
  699. ([]
  700. )
  701. happyReduce_18 = happySpecReduce_3 6# happyReduction_18
  702. happyReduction_18 happy_x_3
  703. happy_x_2
  704. happy_x_1
  705. = case happyOut32 happy_x_2 of { happy_var_2 ->
  706. case happyOut10 happy_x_3 of { happy_var_3 ->
  707. happyIn10
  708. (happy_var_2 : happy_var

Large files files are truncated, but you can click here to view the full file