PageRenderTime 57ms CodeModel.GetById 25ms 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

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

  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 happ

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