{-# OPTIONS_GHC -w #-}
{-# OPTIONS -XMagicHash -XBangPatterns -XTypeSynonymInstances -XFlexibleInstances -cpp #-}
#if __GLASGOW_HASKELL__ >= 710
{-# OPTIONS_GHC -XPartialTypeSignatures #-}
#endif
{-# OPTIONS_GHC -fno-warn-incomplete-patterns -fno-warn-overlapping-patterns #-}
{-# LANGUAGE PatternSynonyms #-}

module BNFC.Par
  ( happyError
  , myLexer
  , pGrammar
  , pListDef
  , pDef
  , pItem
  , pListItem
  , pCat
  , pListCat
  , pLabel
  , pArg
  , pListArg
  , pSeparation
  , pListString
  , pExp
  , pExp1
  , pExp2
  , pListExp
  , pListExp2
  , pRHS
  , pListRHS
  , pMinimumSize
  , pReg
  , pReg1
  , pReg2
  , pReg3
  ) where

import Prelude

import qualified BNFC.Abs
import BNFC.Lex
import qualified Data.Array as Happy_Data_Array
import qualified Data.Bits as Bits
import qualified GHC.Exts as Happy_GHC_Exts
import Control.Applicative(Applicative(..))
import Control.Monad (ap)

-- parser produced by Happy Version 1.20.0

newtype HappyAbsSyn  = HappyAbsSyn HappyAny
#if __GLASGOW_HASKELL__ >= 607
type HappyAny = Happy_GHC_Exts.Any
#else
type HappyAny = forall a . a
#endif
newtype HappyWrap27 = HappyWrap27 ((BNFC.Abs.BNFC'Position, Char))
happyIn27 :: ((BNFC.Abs.BNFC'Position, Char)) -> (HappyAbsSyn )
happyIn27 :: (BNFC'Position, Char) -> HappyAbsSyn
happyIn27 (BNFC'Position, Char)
x = HappyWrap27 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Char) -> HappyWrap27
HappyWrap27 (BNFC'Position, Char)
x)
{-# INLINE happyIn27 #-}
happyOut27 :: (HappyAbsSyn ) -> HappyWrap27
happyOut27 :: HappyAbsSyn -> HappyWrap27
happyOut27 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap27
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut27 #-}
newtype HappyWrap28 = HappyWrap28 ((BNFC.Abs.BNFC'Position, Double))
happyIn28 :: ((BNFC.Abs.BNFC'Position, Double)) -> (HappyAbsSyn )
happyIn28 :: (BNFC'Position, Double) -> HappyAbsSyn
happyIn28 (BNFC'Position, Double)
x = HappyWrap28 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Double) -> HappyWrap28
HappyWrap28 (BNFC'Position, Double)
x)
{-# INLINE happyIn28 #-}
happyOut28 :: (HappyAbsSyn ) -> HappyWrap28
happyOut28 :: HappyAbsSyn -> HappyWrap28
happyOut28 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap28
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut28 #-}
newtype HappyWrap29 = HappyWrap29 ((BNFC.Abs.BNFC'Position, Integer))
happyIn29 :: ((BNFC.Abs.BNFC'Position, Integer)) -> (HappyAbsSyn )
happyIn29 :: (BNFC'Position, Integer) -> HappyAbsSyn
happyIn29 (BNFC'Position, Integer)
x = HappyWrap29 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Integer) -> HappyWrap29
HappyWrap29 (BNFC'Position, Integer)
x)
{-# INLINE happyIn29 #-}
happyOut29 :: (HappyAbsSyn ) -> HappyWrap29
happyOut29 :: HappyAbsSyn -> HappyWrap29
happyOut29 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap29
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut29 #-}
newtype HappyWrap30 = HappyWrap30 ((BNFC.Abs.BNFC'Position, String))
happyIn30 :: ((BNFC.Abs.BNFC'Position, String)) -> (HappyAbsSyn )
happyIn30 :: (BNFC'Position, String) -> HappyAbsSyn
happyIn30 (BNFC'Position, String)
x = HappyWrap30 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, String) -> HappyWrap30
HappyWrap30 (BNFC'Position, String)
x)
{-# INLINE happyIn30 #-}
happyOut30 :: (HappyAbsSyn ) -> HappyWrap30
happyOut30 :: HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap30
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut30 #-}
newtype HappyWrap31 = HappyWrap31 ((BNFC.Abs.BNFC'Position, BNFC.Abs.Identifier))
happyIn31 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.Identifier)) -> (HappyAbsSyn )
happyIn31 :: (BNFC'Position, Identifier) -> HappyAbsSyn
happyIn31 (BNFC'Position, Identifier)
x = HappyWrap31 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Identifier) -> HappyWrap31
HappyWrap31 (BNFC'Position, Identifier)
x)
{-# INLINE happyIn31 #-}
happyOut31 :: (HappyAbsSyn ) -> HappyWrap31
happyOut31 :: HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap31
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut31 #-}
newtype HappyWrap32 = HappyWrap32 ((BNFC.Abs.BNFC'Position, BNFC.Abs.Grammar))
happyIn32 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.Grammar)) -> (HappyAbsSyn )
happyIn32 :: (BNFC'Position, Grammar) -> HappyAbsSyn
happyIn32 (BNFC'Position, Grammar)
x = HappyWrap32 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Grammar) -> HappyWrap32
HappyWrap32 (BNFC'Position, Grammar)
x)
{-# INLINE happyIn32 #-}
happyOut32 :: (HappyAbsSyn ) -> HappyWrap32
happyOut32 :: HappyAbsSyn -> HappyWrap32
happyOut32 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap32
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut32 #-}
newtype HappyWrap33 = HappyWrap33 ((BNFC.Abs.BNFC'Position, [BNFC.Abs.Def]))
happyIn33 :: ((BNFC.Abs.BNFC'Position, [BNFC.Abs.Def])) -> (HappyAbsSyn )
happyIn33 :: (BNFC'Position, [Def]) -> HappyAbsSyn
happyIn33 (BNFC'Position, [Def])
x = HappyWrap33 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, [Def]) -> HappyWrap33
HappyWrap33 (BNFC'Position, [Def])
x)
{-# INLINE happyIn33 #-}
happyOut33 :: (HappyAbsSyn ) -> HappyWrap33
happyOut33 :: HappyAbsSyn -> HappyWrap33
happyOut33 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap33
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut33 #-}
newtype HappyWrap34 = HappyWrap34 ((BNFC.Abs.BNFC'Position, BNFC.Abs.Def))
happyIn34 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.Def)) -> (HappyAbsSyn )
happyIn34 :: (BNFC'Position, Def) -> HappyAbsSyn
happyIn34 (BNFC'Position, Def)
x = HappyWrap34 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Def) -> HappyWrap34
HappyWrap34 (BNFC'Position, Def)
x)
{-# INLINE happyIn34 #-}
happyOut34 :: (HappyAbsSyn ) -> HappyWrap34
happyOut34 :: HappyAbsSyn -> HappyWrap34
happyOut34 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap34
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut34 #-}
newtype HappyWrap35 = HappyWrap35 ((BNFC.Abs.BNFC'Position, BNFC.Abs.Item))
happyIn35 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.Item)) -> (HappyAbsSyn )
happyIn35 :: (BNFC'Position, Item) -> HappyAbsSyn
happyIn35 (BNFC'Position, Item)
x = HappyWrap35 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Item) -> HappyWrap35
HappyWrap35 (BNFC'Position, Item)
x)
{-# INLINE happyIn35 #-}
happyOut35 :: (HappyAbsSyn ) -> HappyWrap35
happyOut35 :: HappyAbsSyn -> HappyWrap35
happyOut35 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap35
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut35 #-}
newtype HappyWrap36 = HappyWrap36 ((BNFC.Abs.BNFC'Position, [BNFC.Abs.Item]))
happyIn36 :: ((BNFC.Abs.BNFC'Position, [BNFC.Abs.Item])) -> (HappyAbsSyn )
happyIn36 :: (BNFC'Position, [Item]) -> HappyAbsSyn
happyIn36 (BNFC'Position, [Item])
x = HappyWrap36 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, [Item]) -> HappyWrap36
HappyWrap36 (BNFC'Position, [Item])
x)
{-# INLINE happyIn36 #-}
happyOut36 :: (HappyAbsSyn ) -> HappyWrap36
happyOut36 :: HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap36
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut36 #-}
newtype HappyWrap37 = HappyWrap37 ((BNFC.Abs.BNFC'Position, BNFC.Abs.Cat))
happyIn37 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.Cat)) -> (HappyAbsSyn )
happyIn37 :: (BNFC'Position, Cat) -> HappyAbsSyn
happyIn37 (BNFC'Position, Cat)
x = HappyWrap37 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Cat) -> HappyWrap37
HappyWrap37 (BNFC'Position, Cat)
x)
{-# INLINE happyIn37 #-}
happyOut37 :: (HappyAbsSyn ) -> HappyWrap37
happyOut37 :: HappyAbsSyn -> HappyWrap37
happyOut37 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap37
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut37 #-}
newtype HappyWrap38 = HappyWrap38 ((BNFC.Abs.BNFC'Position, [BNFC.Abs.Cat]))
happyIn38 :: ((BNFC.Abs.BNFC'Position, [BNFC.Abs.Cat])) -> (HappyAbsSyn )
happyIn38 :: (BNFC'Position, [Cat]) -> HappyAbsSyn
happyIn38 (BNFC'Position, [Cat])
x = HappyWrap38 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, [Cat]) -> HappyWrap38
HappyWrap38 (BNFC'Position, [Cat])
x)
{-# INLINE happyIn38 #-}
happyOut38 :: (HappyAbsSyn ) -> HappyWrap38
happyOut38 :: HappyAbsSyn -> HappyWrap38
happyOut38 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap38
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut38 #-}
newtype HappyWrap39 = HappyWrap39 ((BNFC.Abs.BNFC'Position, BNFC.Abs.Label))
happyIn39 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.Label)) -> (HappyAbsSyn )
happyIn39 :: (BNFC'Position, Label) -> HappyAbsSyn
happyIn39 (BNFC'Position, Label)
x = HappyWrap39 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Label) -> HappyWrap39
HappyWrap39 (BNFC'Position, Label)
x)
{-# INLINE happyIn39 #-}
happyOut39 :: (HappyAbsSyn ) -> HappyWrap39
happyOut39 :: HappyAbsSyn -> HappyWrap39
happyOut39 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap39
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut39 #-}
newtype HappyWrap40 = HappyWrap40 ((BNFC.Abs.BNFC'Position, BNFC.Abs.Arg))
happyIn40 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.Arg)) -> (HappyAbsSyn )
happyIn40 :: (BNFC'Position, Arg) -> HappyAbsSyn
happyIn40 (BNFC'Position, Arg)
x = HappyWrap40 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Arg) -> HappyWrap40
HappyWrap40 (BNFC'Position, Arg)
x)
{-# INLINE happyIn40 #-}
happyOut40 :: (HappyAbsSyn ) -> HappyWrap40
happyOut40 :: HappyAbsSyn -> HappyWrap40
happyOut40 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap40
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut40 #-}
newtype HappyWrap41 = HappyWrap41 ((BNFC.Abs.BNFC'Position, [BNFC.Abs.Arg]))
happyIn41 :: ((BNFC.Abs.BNFC'Position, [BNFC.Abs.Arg])) -> (HappyAbsSyn )
happyIn41 :: (BNFC'Position, [Arg]) -> HappyAbsSyn
happyIn41 (BNFC'Position, [Arg])
x = HappyWrap41 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, [Arg]) -> HappyWrap41
HappyWrap41 (BNFC'Position, [Arg])
x)
{-# INLINE happyIn41 #-}
happyOut41 :: (HappyAbsSyn ) -> HappyWrap41
happyOut41 :: HappyAbsSyn -> HappyWrap41
happyOut41 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap41
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut41 #-}
newtype HappyWrap42 = HappyWrap42 ((BNFC.Abs.BNFC'Position, BNFC.Abs.Separation))
happyIn42 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.Separation)) -> (HappyAbsSyn )
happyIn42 :: (BNFC'Position, Separation) -> HappyAbsSyn
happyIn42 (BNFC'Position, Separation)
x = HappyWrap42 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Separation) -> HappyWrap42
HappyWrap42 (BNFC'Position, Separation)
x)
{-# INLINE happyIn42 #-}
happyOut42 :: (HappyAbsSyn ) -> HappyWrap42
happyOut42 :: HappyAbsSyn -> HappyWrap42
happyOut42 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap42
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut42 #-}
newtype HappyWrap43 = HappyWrap43 ((BNFC.Abs.BNFC'Position, [String]))
happyIn43 :: ((BNFC.Abs.BNFC'Position, [String])) -> (HappyAbsSyn )
happyIn43 :: (BNFC'Position, [String]) -> HappyAbsSyn
happyIn43 (BNFC'Position, [String])
x = HappyWrap43 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, [String]) -> HappyWrap43
HappyWrap43 (BNFC'Position, [String])
x)
{-# INLINE happyIn43 #-}
happyOut43 :: (HappyAbsSyn ) -> HappyWrap43
happyOut43 :: HappyAbsSyn -> HappyWrap43
happyOut43 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap43
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut43 #-}
newtype HappyWrap44 = HappyWrap44 ((BNFC.Abs.BNFC'Position, BNFC.Abs.Exp))
happyIn44 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.Exp)) -> (HappyAbsSyn )
happyIn44 :: (BNFC'Position, Exp) -> HappyAbsSyn
happyIn44 (BNFC'Position, Exp)
x = HappyWrap44 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Exp) -> HappyWrap44
HappyWrap44 (BNFC'Position, Exp)
x)
{-# INLINE happyIn44 #-}
happyOut44 :: (HappyAbsSyn ) -> HappyWrap44
happyOut44 :: HappyAbsSyn -> HappyWrap44
happyOut44 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap44
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut44 #-}
newtype HappyWrap45 = HappyWrap45 ((BNFC.Abs.BNFC'Position, BNFC.Abs.Exp))
happyIn45 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.Exp)) -> (HappyAbsSyn )
happyIn45 :: (BNFC'Position, Exp) -> HappyAbsSyn
happyIn45 (BNFC'Position, Exp)
x = HappyWrap45 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Exp) -> HappyWrap45
HappyWrap45 (BNFC'Position, Exp)
x)
{-# INLINE happyIn45 #-}
happyOut45 :: (HappyAbsSyn ) -> HappyWrap45
happyOut45 :: HappyAbsSyn -> HappyWrap45
happyOut45 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap45
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut45 #-}
newtype HappyWrap46 = HappyWrap46 ((BNFC.Abs.BNFC'Position, BNFC.Abs.Exp))
happyIn46 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.Exp)) -> (HappyAbsSyn )
happyIn46 :: (BNFC'Position, Exp) -> HappyAbsSyn
happyIn46 (BNFC'Position, Exp)
x = HappyWrap46 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Exp) -> HappyWrap46
HappyWrap46 (BNFC'Position, Exp)
x)
{-# INLINE happyIn46 #-}
happyOut46 :: (HappyAbsSyn ) -> HappyWrap46
happyOut46 :: HappyAbsSyn -> HappyWrap46
happyOut46 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap46
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut46 #-}
newtype HappyWrap47 = HappyWrap47 ((BNFC.Abs.BNFC'Position, [BNFC.Abs.Exp]))
happyIn47 :: ((BNFC.Abs.BNFC'Position, [BNFC.Abs.Exp])) -> (HappyAbsSyn )
happyIn47 :: (BNFC'Position, [Exp]) -> HappyAbsSyn
happyIn47 (BNFC'Position, [Exp])
x = HappyWrap47 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, [Exp]) -> HappyWrap47
HappyWrap47 (BNFC'Position, [Exp])
x)
{-# INLINE happyIn47 #-}
happyOut47 :: (HappyAbsSyn ) -> HappyWrap47
happyOut47 :: HappyAbsSyn -> HappyWrap47
happyOut47 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap47
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut47 #-}
newtype HappyWrap48 = HappyWrap48 ((BNFC.Abs.BNFC'Position, [BNFC.Abs.Exp]))
happyIn48 :: ((BNFC.Abs.BNFC'Position, [BNFC.Abs.Exp])) -> (HappyAbsSyn )
happyIn48 :: (BNFC'Position, [Exp]) -> HappyAbsSyn
happyIn48 (BNFC'Position, [Exp])
x = HappyWrap48 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, [Exp]) -> HappyWrap48
HappyWrap48 (BNFC'Position, [Exp])
x)
{-# INLINE happyIn48 #-}
happyOut48 :: (HappyAbsSyn ) -> HappyWrap48
happyOut48 :: HappyAbsSyn -> HappyWrap48
happyOut48 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap48
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut48 #-}
newtype HappyWrap49 = HappyWrap49 ((BNFC.Abs.BNFC'Position, BNFC.Abs.RHS))
happyIn49 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.RHS)) -> (HappyAbsSyn )
happyIn49 :: (BNFC'Position, RHS) -> HappyAbsSyn
happyIn49 (BNFC'Position, RHS)
x = HappyWrap49 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, RHS) -> HappyWrap49
HappyWrap49 (BNFC'Position, RHS)
x)
{-# INLINE happyIn49 #-}
happyOut49 :: (HappyAbsSyn ) -> HappyWrap49
happyOut49 :: HappyAbsSyn -> HappyWrap49
happyOut49 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap49
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut49 #-}
newtype HappyWrap50 = HappyWrap50 ((BNFC.Abs.BNFC'Position, [BNFC.Abs.RHS]))
happyIn50 :: ((BNFC.Abs.BNFC'Position, [BNFC.Abs.RHS])) -> (HappyAbsSyn )
happyIn50 :: (BNFC'Position, [RHS]) -> HappyAbsSyn
happyIn50 (BNFC'Position, [RHS])
x = HappyWrap50 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, [RHS]) -> HappyWrap50
HappyWrap50 (BNFC'Position, [RHS])
x)
{-# INLINE happyIn50 #-}
happyOut50 :: (HappyAbsSyn ) -> HappyWrap50
happyOut50 :: HappyAbsSyn -> HappyWrap50
happyOut50 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap50
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut50 #-}
newtype HappyWrap51 = HappyWrap51 ((BNFC.Abs.BNFC'Position, BNFC.Abs.MinimumSize))
happyIn51 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.MinimumSize)) -> (HappyAbsSyn )
happyIn51 :: (BNFC'Position, MinimumSize) -> HappyAbsSyn
happyIn51 (BNFC'Position, MinimumSize)
x = HappyWrap51 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, MinimumSize) -> HappyWrap51
HappyWrap51 (BNFC'Position, MinimumSize)
x)
{-# INLINE happyIn51 #-}
happyOut51 :: (HappyAbsSyn ) -> HappyWrap51
happyOut51 :: HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap51
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut51 #-}
newtype HappyWrap52 = HappyWrap52 ((BNFC.Abs.BNFC'Position, BNFC.Abs.Reg))
happyIn52 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.Reg)) -> (HappyAbsSyn )
happyIn52 :: (BNFC'Position, Reg) -> HappyAbsSyn
happyIn52 (BNFC'Position, Reg)
x = HappyWrap52 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Reg) -> HappyWrap52
HappyWrap52 (BNFC'Position, Reg)
x)
{-# INLINE happyIn52 #-}
happyOut52 :: (HappyAbsSyn ) -> HappyWrap52
happyOut52 :: HappyAbsSyn -> HappyWrap52
happyOut52 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap52
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut52 #-}
newtype HappyWrap53 = HappyWrap53 ((BNFC.Abs.BNFC'Position, BNFC.Abs.Reg))
happyIn53 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.Reg)) -> (HappyAbsSyn )
happyIn53 :: (BNFC'Position, Reg) -> HappyAbsSyn
happyIn53 (BNFC'Position, Reg)
x = HappyWrap53 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Reg) -> HappyWrap53
HappyWrap53 (BNFC'Position, Reg)
x)
{-# INLINE happyIn53 #-}
happyOut53 :: (HappyAbsSyn ) -> HappyWrap53
happyOut53 :: HappyAbsSyn -> HappyWrap53
happyOut53 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap53
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut53 #-}
newtype HappyWrap54 = HappyWrap54 ((BNFC.Abs.BNFC'Position, BNFC.Abs.Reg))
happyIn54 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.Reg)) -> (HappyAbsSyn )
happyIn54 :: (BNFC'Position, Reg) -> HappyAbsSyn
happyIn54 (BNFC'Position, Reg)
x = HappyWrap54 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Reg) -> HappyWrap54
HappyWrap54 (BNFC'Position, Reg)
x)
{-# INLINE happyIn54 #-}
happyOut54 :: (HappyAbsSyn ) -> HappyWrap54
happyOut54 :: HappyAbsSyn -> HappyWrap54
happyOut54 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap54
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut54 #-}
newtype HappyWrap55 = HappyWrap55 ((BNFC.Abs.BNFC'Position, BNFC.Abs.Reg))
happyIn55 :: ((BNFC.Abs.BNFC'Position, BNFC.Abs.Reg)) -> (HappyAbsSyn )
happyIn55 :: (BNFC'Position, Reg) -> HappyAbsSyn
happyIn55 (BNFC'Position, Reg)
x = HappyWrap55 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((BNFC'Position, Reg) -> HappyWrap55
HappyWrap55 (BNFC'Position, Reg)
x)
{-# INLINE happyIn55 #-}
happyOut55 :: (HappyAbsSyn ) -> HappyWrap55
happyOut55 :: HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap55
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut55 #-}
happyInTok :: (Token) -> (HappyAbsSyn )
happyInTok :: Token -> HappyAbsSyn
happyInTok Token
x = Token -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Token
x
{-# INLINE happyInTok #-}
happyOutTok :: (HappyAbsSyn ) -> (Token)
happyOutTok :: HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
x = HappyAbsSyn -> Token
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOutTok #-}


happyExpList :: HappyAddr
happyExpList :: HappyAddr
happyExpList = Addr# -> HappyAddr
HappyA# Addr#
"\x00\x00\x00\x00\x00\x00\x80\x00\xa9\xd7\xb8\x01\x04\x00\x00\x00\x00\x00\x00\x08\x90\x7a\x8d\x1b\x40\x00\x00\x00\x00\x00\x00\x80\x00\xa8\xd7\xb8\x01\x04\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x08\x80\x02\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x80\x00\x08\x00\x00\xc0\x07\x00\x00\x00\x00\x00\x00\x08\x80\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x80\x00\x08\x00\x00\xc0\x07\x00\x00\x00\x00\x00\x00\x08\x80\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x80\x00\x08\x00\x00\xc0\x07\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x48\x28\x03\x4c\x00\x00\x00\x00\x00\x00\x00\x08\x80\x84\x32\xc0\x04\x00\x00\x00\x00\x00\x00\x80\x00\x48\x28\x03\x4c\x00\x00\x00\x00\x00\x00\x00\x08\x80\x84\x32\xc0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x48\x28\x03\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x08\x80\x84\x32\xc0\x04\x00\x00\x00\x00\x00\x00\x00\x06\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x48\x28\x03\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x80\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x80\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x80\x00\x08\x00\x00\xc0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x80\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x08\x80\x02\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\xa9\xd7\xb8\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\xa9\xd7\xb8\x01\x04\x00\x00\x00\x00\x00\x00\x08\x80\x84\x32\xc0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x08\x80\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x80\x00\x08\x00\x00\xc0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x48\x28\x03\x4c\x00\x00\x00\x00\x00\x00\x00\x08\x80\x84\x32\xc0\x04\x00\x00\x00\x00\x00\x00\x00\x06\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x80\x84\x32\xc0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x80\x84\x32\xc0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x08\x80\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#

{-# NOINLINE happyExpListPerState #-}
happyExpListPerState :: Int -> [String]
happyExpListPerState Int
st =
    [String]
token_strs_expected
  where token_strs :: [String]
token_strs = [String
"error",String
"%dummy",String
"%start_pGrammar_internal",String
"%start_pListDef_internal",String
"%start_pDef_internal",String
"%start_pItem_internal",String
"%start_pListItem_internal",String
"%start_pCat_internal",String
"%start_pListCat_internal",String
"%start_pLabel_internal",String
"%start_pArg_internal",String
"%start_pListArg_internal",String
"%start_pSeparation_internal",String
"%start_pListString_internal",String
"%start_pExp_internal",String
"%start_pExp1_internal",String
"%start_pExp2_internal",String
"%start_pListExp_internal",String
"%start_pListExp2_internal",String
"%start_pRHS_internal",String
"%start_pListRHS_internal",String
"%start_pMinimumSize_internal",String
"%start_pReg_internal",String
"%start_pReg1_internal",String
"%start_pReg2_internal",String
"%start_pReg3_internal",String
"Char",String
"Double",String
"Integer",String
"String",String
"Identifier",String
"Grammar",String
"ListDef",String
"Def",String
"Item",String
"ListItem",String
"Cat",String
"ListCat",String
"Label",String
"Arg",String
"ListArg",String
"Separation",String
"ListString",String
"Exp",String
"Exp1",String
"Exp2",String
"ListExp",String
"ListExp2",String
"RHS",String
"ListRHS",String
"MinimumSize",String
"Reg",String
"Reg1",String
"Reg2",String
"Reg3",String
"'('",String
"')'",String
"'*'",String
"'+'",String
"','",String
"'-'",String
"'.'",String
"':'",String
"'::='",String
"';'",String
"'='",String
"'?'",String
"'['",String
"']'",String
"'_'",String
"'char'",String
"'coercions'",String
"'comment'",String
"'define'",String
"'delimiters'",String
"'digit'",String
"'entrypoints'",String
"'eps'",String
"'internal'",String
"'layout'",String
"'letter'",String
"'lower'",String
"'nonempty'",String
"'position'",String
"'rules'",String
"'separator'",String
"'stop'",String
"'terminator'",String
"'token'",String
"'toplevel'",String
"'upper'",String
"'{'",String
"'|'",String
"'}'",String
"L_charac",String
"L_doubl",String
"L_integ",String
"L_quoted",String
"L_Identifier",String
"%eof"]
        bit_start :: Int
bit_start = Int
st Int -> Int -> Int
forall a. Num a => a -> a -> a
Prelude.* Int
100
        bit_end :: Int
bit_end = (Int
st Int -> Int -> Int
forall a. Num a => a -> a -> a
Prelude.+ Int
1) Int -> Int -> Int
forall a. Num a => a -> a -> a
Prelude.* Int
100
        read_bit :: Int -> Bool
read_bit = HappyAddr -> Int -> Bool
readArrayBit HappyAddr
happyExpList
        bits :: [Bool]
bits = (Int -> Bool) -> [Int] -> [Bool]
forall a b. (a -> b) -> [a] -> [b]
Prelude.map Int -> Bool
read_bit [Int
bit_start..Int
bit_end Int -> Int -> Int
forall a. Num a => a -> a -> a
Prelude.- Int
1]
        bits_indexed :: [(Bool, Int)]
bits_indexed = [Bool] -> [Int] -> [(Bool, Int)]
forall a b. [a] -> [b] -> [(a, b)]
Prelude.zip [Bool]
bits [Int
0..Int
99]
        token_strs_expected :: [String]
token_strs_expected = ((Bool, Int) -> [String]) -> [(Bool, Int)] -> [String]
forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
Prelude.concatMap (Bool, Int) -> [String]
f [(Bool, Int)]
bits_indexed
        f :: (Bool, Int) -> [String]
f (Bool
Prelude.False, Int
_) = []
        f (Bool
Prelude.True, Int
nr) = [[String]
token_strs [String] -> Int -> String
forall a. [a] -> Int -> a
Prelude.!! Int
nr]

happyActOffsets :: HappyAddr
happyActOffsets :: HappyAddr
happyActOffsets = Addr# -> HappyAddr
HappyA# Addr#
"\x1e\x00\x1e\x00\x40\x00\xf6\xff\xf6\xff\xf4\xff\xf4\xff\x2b\x00\x18\x00\x18\x00\x2f\x00\xe0\xff\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\xf6\xff\xf6\xff\x4c\x00\x59\x00\x59\x00\x59\x00\x59\x00\x45\x00\x00\x00\x00\x00\x06\x00\x59\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x01\x00\xb6\x00\x11\x00\x59\x00\xdf\xff\x7a\x00\x55\x00\x00\x00\x00\x00\x00\x00\xf6\xff\x00\x00\x00\x00\x61\x00\x74\x00\xf4\xff\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x74\x00\x1d\x00\x1d\x00\x00\x00\x00\x00\x1d\x00\x9e\x00\xb0\x00\x00\x00\x79\x00\x79\x00\x79\x00\x79\x00\xba\x00\xa1\x00\xa1\x00\xac\x00\xac\x00\x00\x00\xb5\x00\xaf\x00\xaf\x00\x00\x00\xaf\x00\xd6\x00\xda\x00\x00\x00\xfb\x00\xe7\x00\xe7\x00\xe7\x00\xe7\x00\xe7\x00\xef\x00\xe9\x00\x00\x01\x08\x01\xf4\xff\xf4\xff\x2b\x00\x85\x00\x13\x01\x17\x01\x45\x01\x45\x01\x42\x01\x12\x01\x65\x01\x1e\x00\x47\x01\x00\x00\x00\x00\x1e\x00\x59\x00\xf4\xff\xf4\xff\x6c\x01\x4b\x01\x00\x00\x4e\x01\x00\x00\x6f\x01\x00\x00\x4f\x01\x4c\x01\x50\x01\x53\x01\xf4\xff\xf4\xff\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x51\x01\x1d\x00\x1d\x00\x00\x00\x70\x01\x7d\x01\x00\x00\x72\x01\xf6\xff\x00\x00\x59\x00\x59\x00\xb6\x00\x00\x00\x00\x00\x00\x00\x5b\x01\x73\x01\x13\x00\x00\x00\x00\x00\x00\x00\x7e\x01\x59\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x01\x00\x00\x7c\x01\x00\x00\x00\x00\x7b\x01\x5d\x01\xf4\xff\x00\x00\x59\x00\xf6\xff\x5d\x01\x5d\x01\x61\x01\x00\x00\x00\x00\x00\x00\x00\x00\x61\x01\x80\x01\x2f\x00\x1d\x00\xf6\xff\x88\x01\x00\x00\x00\x00\x00\x00\x71\x01\xf6\xff\x00\x00\x00\x00\x00\x00"#

happyGotoOffsets :: HappyAddr
happyGotoOffsets :: HappyAddr
happyGotoOffsets = Addr# -> HappyAddr
HappyA# Addr#
"\xf5\x00\x36\x01\x44\x01\x55\x01\x4a\x01\x4d\x01\x26\x01\x5f\x00\x48\x00\x57\x00\x7f\x01\x03\x00\xec\x00\x0f\x01\x23\x01\xaa\x00\x8f\x00\x16\x01\xc9\x00\x74\x01\x5c\x00\x72\x00\x08\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x00\x8c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8d\x01\x4b\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x00\x00\x00\xf1\x00\xb2\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x01\x8f\x01\x00\x00\xb3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x87\x01\x90\x01\x91\x01\x5f\x01\x5a\x01\x40\x01\x04\x00\x00\x00\x92\x01\x81\x01\x82\x01\x93\x01\x00\x00\x00\x00\x3a\x01\x00\x00\x00\x00\x00\x00\x43\x01\x6a\x00\x66\x01\x67\x01\x00\x00\x94\x01\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x98\x01\xd9\x00\x99\x01\x9b\x01\x68\x01\x5c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x00\x05\x01\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x00\x00\x00\x27\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\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\x01\x69\x01\x00\x00\x6f\x00\xe1\x00\x9d\x01\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x01\x0a\x01\x25\x01\x00\x00\x00\x00\x00\x00\x00\x00\x86\x01\x2f\x01\x00\x00\x00\x00\x00\x00"#

happyAdjustOffset :: Happy_GHC_Exts.Int# -> Happy_GHC_Exts.Int#
happyAdjustOffset :: Int# -> Int#
happyAdjustOffset Int#
off = Int#
off

happyDefActions :: HappyAddr
happyDefActions :: HappyAddr
happyDefActions = Addr# -> HappyAddr
HappyA# Addr#
"\xe1\xff\xe1\xff\x00\x00\x00\x00\xcb\xff\x00\x00\xc7\xff\x00\x00\x00\x00\xbe\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\xac\xff\x00\x00\xcb\xff\xcb\xff\xa3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\xff\x98\xff\x00\x00\x00\x00\x00\x00\x91\xff\x95\xff\x99\xff\x94\xff\x92\xff\x93\xff\x00\x00\x00\x00\x9d\xff\x00\x00\x9f\xff\x00\x00\xa1\xff\x00\x00\xa4\xff\xcd\xff\xc8\xff\xcb\xff\xa7\xff\xcc\xff\xa6\xff\x00\x00\x00\x00\xe4\xff\xe3\xff\x00\x00\xb1\xff\xaf\xff\xb2\xff\xb0\xff\xb3\xff\xa9\xff\x00\x00\x00\x00\xac\xff\xe6\xff\xe5\xff\xb3\xff\xab\xff\xb6\xff\xb4\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb9\xff\x00\x00\x00\x00\x00\x00\x00\x00\xbf\xff\xbe\xff\x00\x00\x00\x00\xc4\xff\x00\x00\x00\x00\x00\x00\xc3\xff\xc6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\xa3\xff\xa3\xff\x00\x00\x00\x00\xe0\xff\xe1\xff\x00\x00\xe2\xff\xde\xff\xe1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\xff\x00\x00\xce\xff\x00\x00\xd7\xff\x00\x00\xbe\xff\xdc\xff\x00\x00\x00\x00\xc7\xff\xc2\xff\x00\x00\xbd\xff\xbb\xff\xba\xff\x00\x00\x00\x00\xac\xff\xb5\xff\x00\x00\x00\x00\xa8\xff\x00\x00\xcb\xff\xca\xff\x00\x00\x00\x00\x9e\xff\x9c\xff\x9b\xff\x9a\xff\x00\x00\x00\x00\x00\x00\x90\xff\x97\xff\x96\xff\xa2\xff\xa0\xff\xa5\xff\xc9\xff\xad\xff\xae\xff\xaa\xff\xb7\xff\xb8\xff\xc1\xff\x00\x00\xc5\xff\x00\x00\xd3\xff\xdb\xff\x00\x00\x00\x00\x00\x00\xcf\xff\x00\x00\xcb\xff\x00\x00\x00\x00\xd9\xff\xdf\xff\xd5\xff\xd6\xff\xd2\xff\xd8\xff\x00\x00\xbc\xff\x00\x00\xcb\xff\x00\x00\xc0\xff\xdd\xff\xd1\xff\xa3\xff\xcb\xff\xda\xff\xd4\xff"#

happyCheck :: HappyAddr
happyCheck :: HappyAddr
happyCheck = Addr# -> HappyAddr
HappyA# Addr#
"\xff\xff\x0d\x00\x01\x00\x0d\x00\x02\x00\x26\x00\x03\x00\x03\x00\x00\x00\x03\x00\x04\x00\x2b\x00\x2d\x00\x03\x00\x0d\x00\x0d\x00\x03\x00\x10\x00\x0c\x00\x10\x00\x10\x00\x02\x00\x15\x00\x06\x00\x17\x00\x00\x00\x10\x00\x1a\x00\x1b\x00\x10\x00\x01\x00\x01\x00\x2c\x00\x2b\x00\x2c\x00\x1b\x00\x1c\x00\x24\x00\x25\x00\x00\x00\x0a\x00\x28\x00\x0d\x00\x0d\x00\x01\x00\x0f\x00\x2d\x00\x11\x00\x12\x00\x13\x00\x14\x00\x2d\x00\x16\x00\x1c\x00\x18\x00\x19\x00\x0d\x00\x26\x00\x0f\x00\x1d\x00\x1e\x00\x1f\x00\x2d\x00\x21\x00\x22\x00\x01\x00\x1b\x00\x1c\x00\x2c\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2c\x00\x00\x00\x04\x00\x0d\x00\x1f\x00\x0f\x00\x21\x00\x11\x00\x12\x00\x13\x00\x14\x00\x0d\x00\x16\x00\x2c\x00\x18\x00\x19\x00\x01\x00\x04\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x21\x00\x22\x00\x04\x00\x0d\x00\x0e\x00\x0d\x00\x1c\x00\x1c\x00\x10\x00\x00\x00\x0c\x00\x2c\x00\x28\x00\x15\x00\x00\x00\x17\x00\x2b\x00\x00\x00\x1a\x00\x1b\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x24\x00\x25\x00\x00\x00\x06\x00\x28\x00\x2d\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x26\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x2d\x00\x13\x00\x05\x00\x15\x00\x20\x00\x2d\x00\x13\x00\x23\x00\x15\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x13\x00\x2b\x00\x15\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x08\x00\x03\x00\x04\x00\x11\x00\x12\x00\x13\x00\x14\x00\x05\x00\x0d\x00\x0e\x00\x0c\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x03\x00\x04\x00\x2d\x00\x03\x00\x04\x00\x08\x00\x09\x00\x0a\x00\x08\x00\x09\x00\x0a\x00\x2b\x00\x11\x00\x12\x00\x13\x00\x14\x00\x2d\x00\x04\x00\x08\x00\x16\x00\x17\x00\x2c\x00\x16\x00\x17\x00\x03\x00\x04\x00\x0d\x00\x0e\x00\x0e\x00\x08\x00\x09\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x07\x00\x16\x00\x17\x00\x04\x00\x05\x00\x06\x00\x07\x00\x11\x00\x12\x00\x13\x00\x05\x00\x0c\x00\x11\x00\x12\x00\x13\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x2d\x00\x2c\x00\x11\x00\x12\x00\x13\x00\x03\x00\x04\x00\x11\x00\x12\x00\x13\x00\x08\x00\x09\x00\x0a\x00\x12\x00\x13\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x03\x00\x04\x00\x04\x00\x2b\x00\x16\x00\x08\x00\x09\x00\x0a\x00\x0a\x00\x0b\x00\x03\x00\x04\x00\x2c\x00\x22\x00\x13\x00\x08\x00\x09\x00\x0a\x00\x04\x00\x16\x00\x06\x00\x07\x00\x04\x00\x2d\x00\x06\x00\x07\x00\x0c\x00\x2c\x00\x04\x00\x16\x00\x0c\x00\x04\x00\x04\x00\x06\x00\x07\x00\x07\x00\x0c\x00\x03\x00\x04\x00\x0c\x00\x0c\x00\x04\x00\x08\x00\x09\x00\x0a\x00\x03\x00\x04\x00\x0a\x00\x03\x00\x04\x00\x08\x00\x09\x00\x0a\x00\x08\x00\x04\x00\x0a\x00\x04\x00\x1c\x00\x04\x00\x04\x00\x0a\x00\x0b\x00\x0a\x00\x0b\x00\x0a\x00\x0a\x00\x04\x00\x04\x00\x04\x00\x04\x00\x2c\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x2d\x00\x09\x00\x07\x00\x2c\x00\x2c\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2a\x00\x0e\x00\x02\x00\x0e\x00\x0e\x00\x27\x00\x0e\x00\x06\x00\x09\x00\x0b\x00\x26\x00\x2b\x00\x09\x00\x02\x00\x04\x00\x18\x00\x1c\x00\x0f\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x0f\x00\x04\x00\x04\x00\x04\x00\x04\x00\x18\x00\x18\x00\x03\x00\x03\x00\x02\x00\x18\x00\x03\x00\x03\x00\x03\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#

happyTable :: HappyAddr
happyTable :: HappyAddr
happyTable = Addr# -> HappyAddr
HappyA# Addr#
"\x00\x00\x35\x00\x1d\x00\x35\x00\xa8\x00\x94\x00\x4b\x00\x4b\x00\x1a\x00\x96\x00\x97\x00\x36\x00\xff\xff\x4b\x00\x1e\x00\xa9\x00\x4b\x00\x1f\x00\x98\x00\x4c\x00\x78\x00\x9c\x00\x20\x00\x93\x00\x21\x00\x1a\x00\xb0\x00\x22\x00\x23\x00\xa6\x00\x40\x00\x57\x00\x37\x00\x36\x00\x37\x00\x25\x00\x26\x00\x24\x00\x25\x00\x1a\x00\x6f\x00\x1a\x00\x41\x00\x58\x00\x57\x00\x59\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x65\x00\x1b\x00\x66\x00\x67\x00\x58\x00\x94\x00\x59\x00\x68\x00\x69\x00\x6a\x00\xff\xff\x6b\x00\x6c\x00\x57\x00\x9f\x00\x26\x00\x37\x00\x1a\x00\x42\x00\x43\x00\x36\x00\x37\x00\x37\x00\x1a\x00\x50\x00\x58\x00\x4f\x00\x59\x00\x50\x00\x61\x00\x62\x00\x63\x00\x64\x00\x53\x00\x65\x00\x37\x00\x66\x00\x67\x00\x1d\x00\x50\x00\x1a\x00\x68\x00\x69\x00\x6a\x00\x1a\x00\x6b\x00\x6c\x00\x54\x00\x51\x00\x52\x00\x1e\x00\x94\x00\x2d\x00\x1f\x00\x1a\x00\x55\x00\x37\x00\x1a\x00\x20\x00\x1a\x00\x21\x00\x36\x00\x1a\x00\x22\x00\x23\x00\x29\x00\x2a\x00\x28\x00\x26\x00\x9a\x00\x2a\x00\x28\x00\x26\x00\x24\x00\x25\x00\x1a\x00\x93\x00\x1a\x00\xff\xff\xb5\x00\x2a\x00\x28\x00\x26\x00\x91\x00\xba\x00\x2a\x00\x28\x00\x26\x00\x27\x00\x28\x00\x26\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x9e\x00\x28\x00\x26\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x3d\x00\x8b\x00\x3e\x00\x7a\x00\xff\xff\x3d\x00\x7b\x00\x8e\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x3d\x00\x36\x00\x8b\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x50\x00\x8a\x00\x96\x00\x97\x00\x44\x00\x45\x00\x46\x00\x47\x00\x89\x00\x51\x00\x85\x00\x98\x00\x44\x00\x45\x00\x46\x00\x8c\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x2d\x00\x2e\x00\xff\xff\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x2f\x00\x30\x00\x31\x00\x36\x00\x44\x00\x45\x00\x46\x00\xa4\x00\xff\xff\x50\x00\x85\x00\x32\x00\x33\x00\x37\x00\x32\x00\xa0\x00\x2d\x00\x2e\x00\x51\x00\xad\x00\x84\x00\x2f\x00\x30\x00\x31\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x82\x00\x32\x00\xb9\x00\x54\x00\x6f\x00\x70\x00\x6d\x00\x4a\x00\x45\x00\x46\x00\x83\x00\x5f\x00\x8d\x00\x45\x00\x46\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\xff\xff\x37\x00\xa5\x00\x45\x00\x46\x00\x2d\x00\x2e\x00\xc2\x00\x45\x00\x46\x00\x2f\x00\x30\x00\x31\x00\x49\x00\x46\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x2d\x00\x2e\x00\x2e\x00\x36\x00\x37\x00\x2f\x00\x30\x00\x31\x00\x59\x00\x5a\x00\x2d\x00\x2e\x00\x37\x00\x78\x00\x48\x00\x2f\x00\x30\x00\x31\x00\x54\x00\xc1\x00\x6c\x00\x6d\x00\x54\x00\xff\xff\x71\x00\x6d\x00\x5f\x00\x37\x00\x54\x00\xc5\x00\x5f\x00\x54\x00\x54\x00\xb6\x00\x6d\x00\x5e\x00\x7b\x00\x2d\x00\x2e\x00\x5f\x00\x5f\x00\x2e\x00\x2f\x00\x5c\x00\x31\x00\x2d\x00\x2e\x00\x5b\x00\x2d\x00\x2e\x00\x2f\x00\x91\x00\x31\x00\x5d\x00\x2e\x00\x31\x00\x2e\x00\x2d\x00\x2e\x00\x2e\x00\x59\x00\x7c\x00\x59\x00\xa9\x00\x8f\x00\x7d\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x37\x00\x73\x00\xb4\x00\xb3\x00\xaa\x00\xbb\x00\xff\xff\xb3\x00\xb0\x00\x37\x00\x37\x00\x36\x00\x36\x00\x36\x00\x36\x00\x43\x00\xa4\x00\xa3\x00\xa2\x00\x9d\x00\x9e\x00\xc0\x00\x93\x00\xbf\x00\xbe\x00\x94\x00\x36\x00\xc5\x00\xc1\x00\x80\x00\x2b\x00\x2d\x00\x4d\x00\x99\x00\x98\x00\x87\x00\x86\x00\x7f\x00\xc3\x00\x7e\x00\x76\x00\x73\x00\xb1\x00\x75\x00\x74\x00\xae\x00\xac\x00\xab\x00\xc6\x00\xbc\x00\xb8\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#

happyReduceArr :: Array
  Int
  (Int#
   -> Token
   -> Int#
   -> Happy_IntList
   -> HappyStk HappyAbsSyn
   -> [Token]
   -> Err HappyAbsSyn)
happyReduceArr = (Int, Int)
-> [(Int,
     Int#
     -> Token
     -> Int#
     -> Happy_IntList
     -> HappyStk HappyAbsSyn
     -> [Token]
     -> Err HappyAbsSyn)]
-> Array
     Int
     (Int#
      -> Token
      -> Int#
      -> Happy_IntList
      -> HappyStk HappyAbsSyn
      -> [Token]
      -> Err HappyAbsSyn)
forall i e. Ix i => (i, i) -> [(i, e)] -> Array i e
Happy_Data_Array.array (Int
24, Int
111) [
	(Int
24 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_24),
	(Int
25 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_25),
	(Int
26 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_26),
	(Int
27 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_27),
	(Int
28 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_28),
	(Int
29 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_29),
	(Int
30 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_30),
	(Int
31 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_31),
	(Int
32 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_32),
	(Int
33 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_33),
	(Int
34 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_34),
	(Int
35 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_35),
	(Int
36 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_36),
	(Int
37 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_37),
	(Int
38 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_38),
	(Int
39 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_39),
	(Int
40 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_40),
	(Int
41 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_41),
	(Int
42 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_42),
	(Int
43 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_43),
	(Int
44 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_44),
	(Int
45 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_45),
	(Int
46 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_46),
	(Int
47 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_47),
	(Int
48 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_48),
	(Int
49 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_49),
	(Int
50 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_50),
	(Int
51 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_51),
	(Int
52 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_52),
	(Int
53 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_53),
	(Int
54 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_54),
	(Int
55 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_55),
	(Int
56 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_56),
	(Int
57 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_57),
	(Int
58 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_58),
	(Int
59 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_59),
	(Int
60 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_60),
	(Int
61 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_61),
	(Int
62 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_62),
	(Int
63 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_63),
	(Int
64 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_64),
	(Int
65 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_65),
	(Int
66 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_66),
	(Int
67 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_67),
	(Int
68 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_68),
	(Int
69 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_69),
	(Int
70 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_70),
	(Int
71 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_71),
	(Int
72 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_72),
	(Int
73 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_73),
	(Int
74 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_74),
	(Int
75 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_75),
	(Int
76 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_76),
	(Int
77 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_77),
	(Int
78 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_78),
	(Int
79 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_79),
	(Int
80 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_80),
	(Int
81 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_81),
	(Int
82 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_82),
	(Int
83 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_83),
	(Int
84 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_84),
	(Int
85 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_85),
	(Int
86 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_86),
	(Int
87 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_87),
	(Int
88 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_88),
	(Int
89 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_89),
	(Int
90 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_90),
	(Int
91 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_91),
	(Int
92 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_92),
	(Int
93 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_93),
	(Int
94 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_94),
	(Int
95 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_95),
	(Int
96 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_96),
	(Int
97 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_97),
	(Int
98 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_98),
	(Int
99 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_99),
	(Int
100 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_100),
	(Int
101 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_101),
	(Int
102 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_102),
	(Int
103 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_103),
	(Int
104 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_104),
	(Int
105 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_105),
	(Int
106 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_106),
	(Int
107 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_107),
	(Int
108 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_108),
	(Int
109 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_109),
	(Int
110 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_110),
	(Int
111 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_111)
	]

happy_n_terms :: Int
happy_n_terms = Int
46 :: Prelude.Int
happy_n_nonterms :: Int
happy_n_nonterms = Int
29 :: Prelude.Int

happyReduce_24 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_24 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
0# HappyAbsSyn -> HappyAbsSyn
happyReduction_24
happyReduction_24 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_24 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, Char) -> HappyAbsSyn
happyIn27
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), (String -> Char
forall a. Read a => String -> a
read (Token -> String
tokenText Token
happy_var_1)) :: Char)
	)}

happyReduce_25 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_25 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
1# HappyAbsSyn -> HappyAbsSyn
happyReduction_25
happyReduction_25 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_25 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, Double) -> HappyAbsSyn
happyIn28
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), (String -> Double
forall a. Read a => String -> a
read (Token -> String
tokenText Token
happy_var_1)) :: Double)
	)}

happyReduce_26 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_26 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
2# HappyAbsSyn -> HappyAbsSyn
happyReduction_26
happyReduction_26 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_26 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, Integer) -> HappyAbsSyn
happyIn29
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), (String -> Integer
forall a. Read a => String -> a
read (Token -> String
tokenText Token
happy_var_1)) :: Integer)
	)}

happyReduce_27 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_27 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
3# HappyAbsSyn -> HappyAbsSyn
happyReduction_27
happyReduction_27 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_27 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, String) -> HappyAbsSyn
happyIn30
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), ((\(PT Posn
_ (TL String
s)) -> String
s) Token
happy_var_1))
	)}

happyReduce_28 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_28 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
4# HappyAbsSyn -> HappyAbsSyn
happyReduction_28
happyReduction_28 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_28 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, Identifier) -> HappyAbsSyn
happyIn31
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), ((Int, Int), String) -> Identifier
BNFC.Abs.Identifier (Token -> ((Int, Int), String)
mkPosToken Token
happy_var_1))
	)}

happyReduce_29 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_29 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
5# HappyAbsSyn -> HappyAbsSyn
happyReduction_29
happyReduction_29 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_29 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap33
happyOut33 HappyAbsSyn
happy_x_1 of { (HappyWrap33 (BNFC'Position, [Def])
happy_var_1) -> 
	(BNFC'Position, Grammar) -> HappyAbsSyn
happyIn32
		 (((BNFC'Position, [Def]) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, [Def])
happy_var_1, BNFC'Position -> [Def] -> Grammar
forall a. a -> [Def' a] -> Grammar' a
BNFC.Abs.Grammar ((BNFC'Position, [Def]) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, [Def])
happy_var_1) ((BNFC'Position, [Def]) -> [Def]
forall a b. (a, b) -> b
snd (BNFC'Position, [Def])
happy_var_1))
	)}

happyReduce_30 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_30 = Int#
-> HappyAbsSyn
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_0  Int#
6# HappyAbsSyn
happyReduction_30
happyReduction_30 :: HappyAbsSyn
happyReduction_30  =  (BNFC'Position, [Def]) -> HappyAbsSyn
happyIn33
		 ((BNFC'Position
BNFC.Abs.BNFC'NoPosition, [])
	)

happyReduce_31 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_31 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
6# HappyAbsSyn -> HappyAbsSyn
happyReduction_31
happyReduction_31 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_31 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap34
happyOut34 HappyAbsSyn
happy_x_1 of { (HappyWrap34 (BNFC'Position, Def)
happy_var_1) -> 
	(BNFC'Position, [Def]) -> HappyAbsSyn
happyIn33
		 (((BNFC'Position, Def) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Def)
happy_var_1, (Def -> [Def] -> [Def]
forall k1. k1 -> [k1] -> [k1]
:[]) ((BNFC'Position, Def) -> Def
forall a b. (a, b) -> b
snd (BNFC'Position, Def)
happy_var_1))
	)}

happyReduce_32 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_32 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
6# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_32
happyReduction_32 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_32 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap34
happyOut34 HappyAbsSyn
happy_x_1 of { (HappyWrap34 (BNFC'Position, Def)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap33
happyOut33 HappyAbsSyn
happy_x_3 of { (HappyWrap33 (BNFC'Position, [Def])
happy_var_3) -> 
	(BNFC'Position, [Def]) -> HappyAbsSyn
happyIn33
		 (((BNFC'Position, Def) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Def)
happy_var_1, (:) ((BNFC'Position, Def) -> Def
forall a b. (a, b) -> b
snd (BNFC'Position, Def)
happy_var_1) ((BNFC'Position, [Def]) -> [Def]
forall a b. (a, b) -> b
snd (BNFC'Position, [Def])
happy_var_3))
	)}}

happyReduce_33 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_33 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
6# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_33
happyReduction_33 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_33 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap33
happyOut33 HappyAbsSyn
happy_x_2 of { (HappyWrap33 (BNFC'Position, [Def])
happy_var_2) -> 
	(BNFC'Position, [Def]) -> HappyAbsSyn
happyIn33
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), ((BNFC'Position, [Def]) -> [Def]
forall a b. (a, b) -> b
snd (BNFC'Position, [Def])
happy_var_2))
	)}}

happyReduce_34 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_34 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce Int#
5# Int#
7# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_34
happyReduction_34 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_34 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap39
happyOut39 HappyAbsSyn
happy_x_1 of { (HappyWrap39 (BNFC'Position, Label)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap37
happyOut37 HappyAbsSyn
happy_x_3 of { (HappyWrap37 (BNFC'Position, Cat)
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap49
happyOut49 HappyAbsSyn
happy_x_5 of { (HappyWrap49 (BNFC'Position, RHS)
happy_var_5) -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((BNFC'Position, Label) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Label)
happy_var_1, BNFC'Position -> Label -> Cat -> RHS -> Def
forall a. a -> Label' a -> Cat' a -> RHS' a -> Def' a
BNFC.Abs.Rule ((BNFC'Position, Label) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Label)
happy_var_1) ((BNFC'Position, Label) -> Label
forall a b. (a, b) -> b
snd (BNFC'Position, Label)
happy_var_1) ((BNFC'Position, Cat) -> Cat
forall a b. (a, b) -> b
snd (BNFC'Position, Cat)
happy_var_3) ((BNFC'Position, RHS) -> RHS
forall a b. (a, b) -> b
snd (BNFC'Position, RHS)
happy_var_5))
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_35 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_35 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
7# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_35
happyReduction_35 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_35 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_2 of { (HappyWrap30 (BNFC'Position, String)
happy_var_2) -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> String -> Def
forall a. a -> String -> Def' a
BNFC.Abs.Comment ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, String) -> String
forall a b. (a, b) -> b
snd (BNFC'Position, String)
happy_var_2))
	)}}

happyReduce_36 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_36 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
7# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_36
happyReduction_36 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_36 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_2 of { (HappyWrap30 (BNFC'Position, String)
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_3 of { (HappyWrap30 (BNFC'Position, String)
happy_var_3) -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> String -> String -> Def
forall a. a -> String -> String -> Def' a
BNFC.Abs.Comments ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, String) -> String
forall a b. (a, b) -> b
snd (BNFC'Position, String)
happy_var_2) ((BNFC'Position, String) -> String
forall a b. (a, b) -> b
snd (BNFC'Position, String)
happy_var_3))
	)}}}

happyReduce_37 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_37 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce Int#
6# Int#
7# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_37
happyReduction_37 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_37 (HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap39
happyOut39 HappyAbsSyn
happy_x_2 of { (HappyWrap39 (BNFC'Position, Label)
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap37
happyOut37 HappyAbsSyn
happy_x_4 of { (HappyWrap37 (BNFC'Position, Cat)
happy_var_4) -> 
	case HappyAbsSyn -> HappyWrap49
happyOut49 HappyAbsSyn
happy_x_6 of { (HappyWrap49 (BNFC'Position, RHS)
happy_var_6) -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Label -> Cat -> RHS -> Def
forall a. a -> Label' a -> Cat' a -> RHS' a -> Def' a
BNFC.Abs.Internal ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, Label) -> Label
forall a b. (a, b) -> b
snd (BNFC'Position, Label)
happy_var_2) ((BNFC'Position, Cat) -> Cat
forall a b. (a, b) -> b
snd (BNFC'Position, Cat)
happy_var_4) ((BNFC'Position, RHS) -> RHS
forall a b. (a, b) -> b
snd (BNFC'Position, RHS)
happy_var_6))
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_38 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_38 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
7# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_38
happyReduction_38 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_38 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
happy_x_2 of { (HappyWrap31 (BNFC'Position, Identifier)
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap52
happyOut52 HappyAbsSyn
happy_x_3 of { (HappyWrap52 (BNFC'Position, Reg)
happy_var_3) -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Identifier -> Reg -> Def
forall a. a -> Identifier -> Reg' a -> Def' a
BNFC.Abs.Token ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, Identifier) -> Identifier
forall a b. (a, b) -> b
snd (BNFC'Position, Identifier)
happy_var_2) ((BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (BNFC'Position, Reg)
happy_var_3))
	)}}}

happyReduce_39 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_39 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce Int#
4# Int#
7# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_39
happyReduction_39 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_39 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
happy_x_3 of { (HappyWrap31 (BNFC'Position, Identifier)
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap52
happyOut52 HappyAbsSyn
happy_x_4 of { (HappyWrap52 (BNFC'Position, Reg)
happy_var_4) -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Identifier -> Reg -> Def
forall a. a -> Identifier -> Reg' a -> Def' a
BNFC.Abs.PosToken ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, Identifier) -> Identifier
forall a b. (a, b) -> b
snd (BNFC'Position, Identifier)
happy_var_3) ((BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (BNFC'Position, Reg)
happy_var_4))
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_40 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_40 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
7# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_40
happyReduction_40 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_40 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap38
happyOut38 HappyAbsSyn
happy_x_2 of { (HappyWrap38 (BNFC'Position, [Cat])
happy_var_2) -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> [Cat] -> Def
forall a. a -> [Cat' a] -> Def' a
BNFC.Abs.Entryp ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, [Cat]) -> [Cat]
forall a b. (a, b) -> b
snd (BNFC'Position, [Cat])
happy_var_2))
	)}}

happyReduce_41 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_41 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce Int#
4# Int#
7# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_41
happyReduction_41 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_41 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
happy_x_2 of { (HappyWrap51 (BNFC'Position, MinimumSize)
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap37
happyOut37 HappyAbsSyn
happy_x_3 of { (HappyWrap37 (BNFC'Position, Cat)
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_4 of { (HappyWrap30 (BNFC'Position, String)
happy_var_4) -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> MinimumSize -> Cat -> String -> Def
forall a. a -> MinimumSize' a -> Cat' a -> String -> Def' a
BNFC.Abs.Separator ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, MinimumSize) -> MinimumSize
forall a b. (a, b) -> b
snd (BNFC'Position, MinimumSize)
happy_var_2) ((BNFC'Position, Cat) -> Cat
forall a b. (a, b) -> b
snd (BNFC'Position, Cat)
happy_var_3) ((BNFC'Position, String) -> String
forall a b. (a, b) -> b
snd (BNFC'Position, String)
happy_var_4))
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_42 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_42 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce Int#
4# Int#
7# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_42
happyReduction_42 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_42 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
happy_x_2 of { (HappyWrap51 (BNFC'Position, MinimumSize)
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap37
happyOut37 HappyAbsSyn
happy_x_3 of { (HappyWrap37 (BNFC'Position, Cat)
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_4 of { (HappyWrap30 (BNFC'Position, String)
happy_var_4) -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> MinimumSize -> Cat -> String -> Def
forall a. a -> MinimumSize' a -> Cat' a -> String -> Def' a
BNFC.Abs.Terminator ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, MinimumSize) -> MinimumSize
forall a b. (a, b) -> b
snd (BNFC'Position, MinimumSize)
happy_var_2) ((BNFC'Position, Cat) -> Cat
forall a b. (a, b) -> b
snd (BNFC'Position, Cat)
happy_var_3) ((BNFC'Position, String) -> String
forall a b. (a, b) -> b
snd (BNFC'Position, String)
happy_var_4))
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_43 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_43 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce Int#
6# Int#
7# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_43
happyReduction_43 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_43 (HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap37
happyOut37 HappyAbsSyn
happy_x_2 of { (HappyWrap37 (BNFC'Position, Cat)
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_3 of { (HappyWrap30 (BNFC'Position, String)
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_4 of { (HappyWrap30 (BNFC'Position, String)
happy_var_4) -> 
	case HappyAbsSyn -> HappyWrap42
happyOut42 HappyAbsSyn
happy_x_5 of { (HappyWrap42 (BNFC'Position, Separation)
happy_var_5) -> 
	case HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
happy_x_6 of { (HappyWrap51 (BNFC'Position, MinimumSize)
happy_var_6) -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position
-> Cat -> String -> String -> Separation -> MinimumSize -> Def
forall a.
a
-> Cat' a
-> String
-> String
-> Separation' a
-> MinimumSize' a
-> Def' a
BNFC.Abs.Delimiters ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, Cat) -> Cat
forall a b. (a, b) -> b
snd (BNFC'Position, Cat)
happy_var_2) ((BNFC'Position, String) -> String
forall a b. (a, b) -> b
snd (BNFC'Position, String)
happy_var_3) ((BNFC'Position, String) -> String
forall a b. (a, b) -> b
snd (BNFC'Position, String)
happy_var_4) ((BNFC'Position, Separation) -> Separation
forall a b. (a, b) -> b
snd (BNFC'Position, Separation)
happy_var_5) ((BNFC'Position, MinimumSize) -> MinimumSize
forall a b. (a, b) -> b
snd (BNFC'Position, MinimumSize)
happy_var_6))
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}}}

happyReduce_44 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_44 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
7# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_44
happyReduction_44 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_44 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
happy_x_2 of { (HappyWrap31 (BNFC'Position, Identifier)
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap29
happyOut29 HappyAbsSyn
happy_x_3 of { (HappyWrap29 (BNFC'Position, Integer)
happy_var_3) -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Identifier -> Integer -> Def
forall a. a -> Identifier -> Integer -> Def' a
BNFC.Abs.Coercions ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, Identifier) -> Identifier
forall a b. (a, b) -> b
snd (BNFC'Position, Identifier)
happy_var_2) ((BNFC'Position, Integer) -> Integer
forall a b. (a, b) -> b
snd (BNFC'Position, Integer)
happy_var_3))
	)}}}

happyReduce_45 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_45 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce Int#
4# Int#
7# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_45
happyReduction_45 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_45 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
happy_x_2 of { (HappyWrap31 (BNFC'Position, Identifier)
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap50
happyOut50 HappyAbsSyn
happy_x_4 of { (HappyWrap50 (BNFC'Position, [RHS])
happy_var_4) -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Identifier -> [RHS] -> Def
forall a. a -> Identifier -> [RHS' a] -> Def' a
BNFC.Abs.Rules ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, Identifier) -> Identifier
forall a b. (a, b) -> b
snd (BNFC'Position, Identifier)
happy_var_2) ((BNFC'Position, [RHS]) -> [RHS]
forall a b. (a, b) -> b
snd (BNFC'Position, [RHS])
happy_var_4))
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_46 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_46 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce Int#
5# Int#
7# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_46
happyReduction_46 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_46 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
happy_x_2 of { (HappyWrap31 (BNFC'Position, Identifier)
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap41
happyOut41 HappyAbsSyn
happy_x_3 of { (HappyWrap41 (BNFC'Position, [Arg])
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap44
happyOut44 HappyAbsSyn
happy_x_5 of { (HappyWrap44 (BNFC'Position, Exp)
happy_var_5) -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Identifier -> [Arg] -> Exp -> Def
forall a. a -> Identifier -> [Arg' a] -> Exp' a -> Def' a
BNFC.Abs.Function ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, Identifier) -> Identifier
forall a b. (a, b) -> b
snd (BNFC'Position, Identifier)
happy_var_2) ((BNFC'Position, [Arg]) -> [Arg]
forall a b. (a, b) -> b
snd (BNFC'Position, [Arg])
happy_var_3) ((BNFC'Position, Exp) -> Exp
forall a b. (a, b) -> b
snd (BNFC'Position, Exp)
happy_var_5))
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_47 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_47 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
7# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_47
happyReduction_47 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_47 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap43
happyOut43 HappyAbsSyn
happy_x_2 of { (HappyWrap43 (BNFC'Position, [String])
happy_var_2) -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> [String] -> Def
forall a. a -> [String] -> Def' a
BNFC.Abs.Layout ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, [String]) -> [String]
forall a b. (a, b) -> b
snd (BNFC'Position, [String])
happy_var_2))
	)}}

happyReduce_48 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_48 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
7# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_48
happyReduction_48 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_48 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap43
happyOut43 HappyAbsSyn
happy_x_3 of { (HappyWrap43 (BNFC'Position, [String])
happy_var_3) -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> [String] -> Def
forall a. a -> [String] -> Def' a
BNFC.Abs.LayoutStop ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, [String]) -> [String]
forall a b. (a, b) -> b
snd (BNFC'Position, [String])
happy_var_3))
	)}}

happyReduce_49 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_49 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
7# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_49
happyReduction_49 :: p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_49 p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, Def) -> HappyAbsSyn
happyIn34
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Def
forall a. a -> Def' a
BNFC.Abs.LayoutTop ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)))
	)}

happyReduce_50 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_50 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
8# HappyAbsSyn -> HappyAbsSyn
happyReduction_50
happyReduction_50 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_50 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_1 of { (HappyWrap30 (BNFC'Position, String)
happy_var_1) -> 
	(BNFC'Position, Item) -> HappyAbsSyn
happyIn35
		 (((BNFC'Position, String) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, String)
happy_var_1, BNFC'Position -> String -> Item
forall a. a -> String -> Item' a
BNFC.Abs.Terminal ((BNFC'Position, String) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, String)
happy_var_1) ((BNFC'Position, String) -> String
forall a b. (a, b) -> b
snd (BNFC'Position, String)
happy_var_1))
	)}

happyReduce_51 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_51 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
8# HappyAbsSyn -> HappyAbsSyn
happyReduction_51
happyReduction_51 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_51 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap37
happyOut37 HappyAbsSyn
happy_x_1 of { (HappyWrap37 (BNFC'Position, Cat)
happy_var_1) -> 
	(BNFC'Position, Item) -> HappyAbsSyn
happyIn35
		 (((BNFC'Position, Cat) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Cat)
happy_var_1, BNFC'Position -> Cat -> Item
forall a. a -> Cat' a -> Item' a
BNFC.Abs.NTerminal ((BNFC'Position, Cat) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Cat)
happy_var_1) ((BNFC'Position, Cat) -> Cat
forall a b. (a, b) -> b
snd (BNFC'Position, Cat)
happy_var_1))
	)}

happyReduce_52 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_52 = Int#
-> HappyAbsSyn
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_0  Int#
9# HappyAbsSyn
happyReduction_52
happyReduction_52 :: HappyAbsSyn
happyReduction_52  =  (BNFC'Position, [Item]) -> HappyAbsSyn
happyIn36
		 ((BNFC'Position
BNFC.Abs.BNFC'NoPosition, [])
	)

happyReduce_53 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_53 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
9# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_53
happyReduction_53 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_53 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap35
happyOut35 HappyAbsSyn
happy_x_1 of { (HappyWrap35 (BNFC'Position, Item)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
happy_x_2 of { (HappyWrap36 (BNFC'Position, [Item])
happy_var_2) -> 
	(BNFC'Position, [Item]) -> HappyAbsSyn
happyIn36
		 (((BNFC'Position, Item) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Item)
happy_var_1, (:) ((BNFC'Position, Item) -> Item
forall a b. (a, b) -> b
snd (BNFC'Position, Item)
happy_var_1) ((BNFC'Position, [Item]) -> [Item]
forall a b. (a, b) -> b
snd (BNFC'Position, [Item])
happy_var_2))
	)}}

happyReduce_54 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_54 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
10# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_54
happyReduction_54 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_54 p
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap37
happyOut37 HappyAbsSyn
happy_x_2 of { (HappyWrap37 (BNFC'Position, Cat)
happy_var_2) -> 
	(BNFC'Position, Cat) -> HappyAbsSyn
happyIn37
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Cat -> Cat
forall a. a -> Cat' a -> Cat' a
BNFC.Abs.ListCat ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, Cat) -> Cat
forall a b. (a, b) -> b
snd (BNFC'Position, Cat)
happy_var_2))
	)}}

happyReduce_55 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_55 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
10# HappyAbsSyn -> HappyAbsSyn
happyReduction_55
happyReduction_55 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_55 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
happy_x_1 of { (HappyWrap31 (BNFC'Position, Identifier)
happy_var_1) -> 
	(BNFC'Position, Cat) -> HappyAbsSyn
happyIn37
		 (((BNFC'Position, Identifier) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Identifier)
happy_var_1, BNFC'Position -> Identifier -> Cat
forall a. a -> Identifier -> Cat' a
BNFC.Abs.IdCat ((BNFC'Position, Identifier) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Identifier)
happy_var_1) ((BNFC'Position, Identifier) -> Identifier
forall a b. (a, b) -> b
snd (BNFC'Position, Identifier)
happy_var_1))
	)}

happyReduce_56 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_56 = Int#
-> HappyAbsSyn
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_0  Int#
11# HappyAbsSyn
happyReduction_56
happyReduction_56 :: HappyAbsSyn
happyReduction_56  =  (BNFC'Position, [Cat]) -> HappyAbsSyn
happyIn38
		 ((BNFC'Position
BNFC.Abs.BNFC'NoPosition, [])
	)

happyReduce_57 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_57 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
11# HappyAbsSyn -> HappyAbsSyn
happyReduction_57
happyReduction_57 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_57 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap37
happyOut37 HappyAbsSyn
happy_x_1 of { (HappyWrap37 (BNFC'Position, Cat)
happy_var_1) -> 
	(BNFC'Position, [Cat]) -> HappyAbsSyn
happyIn38
		 (((BNFC'Position, Cat) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Cat)
happy_var_1, (Cat -> [Cat] -> [Cat]
forall k1. k1 -> [k1] -> [k1]
:[]) ((BNFC'Position, Cat) -> Cat
forall a b. (a, b) -> b
snd (BNFC'Position, Cat)
happy_var_1))
	)}

happyReduce_58 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_58 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
11# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_58
happyReduction_58 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_58 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap37
happyOut37 HappyAbsSyn
happy_x_1 of { (HappyWrap37 (BNFC'Position, Cat)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap38
happyOut38 HappyAbsSyn
happy_x_3 of { (HappyWrap38 (BNFC'Position, [Cat])
happy_var_3) -> 
	(BNFC'Position, [Cat]) -> HappyAbsSyn
happyIn38
		 (((BNFC'Position, Cat) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Cat)
happy_var_1, (:) ((BNFC'Position, Cat) -> Cat
forall a b. (a, b) -> b
snd (BNFC'Position, Cat)
happy_var_1) ((BNFC'Position, [Cat]) -> [Cat]
forall a b. (a, b) -> b
snd (BNFC'Position, [Cat])
happy_var_3))
	)}}

happyReduce_59 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_59 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
12# HappyAbsSyn -> HappyAbsSyn
happyReduction_59
happyReduction_59 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_59 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
happy_x_1 of { (HappyWrap31 (BNFC'Position, Identifier)
happy_var_1) -> 
	(BNFC'Position, Label) -> HappyAbsSyn
happyIn39
		 (((BNFC'Position, Identifier) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Identifier)
happy_var_1, BNFC'Position -> Identifier -> Label
forall a. a -> Identifier -> Label' a
BNFC.Abs.Id ((BNFC'Position, Identifier) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Identifier)
happy_var_1) ((BNFC'Position, Identifier) -> Identifier
forall a b. (a, b) -> b
snd (BNFC'Position, Identifier)
happy_var_1))
	)}

happyReduce_60 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_60 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
12# HappyAbsSyn -> HappyAbsSyn
happyReduction_60
happyReduction_60 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_60 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, Label) -> HappyAbsSyn
happyIn39
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Label
forall a. a -> Label' a
BNFC.Abs.Wild ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)))
	)}

happyReduce_61 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_61 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
12# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_61
happyReduction_61 :: p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_61 p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, Label) -> HappyAbsSyn
happyIn39
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Label
forall a. a -> Label' a
BNFC.Abs.ListEmpty ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)))
	)}

happyReduce_62 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_62 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
12# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_62
happyReduction_62 :: p -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_62 p
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, Label) -> HappyAbsSyn
happyIn39
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Label
forall a. a -> Label' a
BNFC.Abs.ListCons ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)))
	)}

happyReduce_63 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_63 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce Int#
5# Int#
12# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_63
happyReduction_63 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_63 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, Label) -> HappyAbsSyn
happyIn39
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Label
forall a. a -> Label' a
BNFC.Abs.ListOne ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)))
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}

happyReduce_64 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_64 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
13# HappyAbsSyn -> HappyAbsSyn
happyReduction_64
happyReduction_64 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_64 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
happy_x_1 of { (HappyWrap31 (BNFC'Position, Identifier)
happy_var_1) -> 
	(BNFC'Position, Arg) -> HappyAbsSyn
happyIn40
		 (((BNFC'Position, Identifier) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Identifier)
happy_var_1, BNFC'Position -> Identifier -> Arg
forall a. a -> Identifier -> Arg' a
BNFC.Abs.Arg ((BNFC'Position, Identifier) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Identifier)
happy_var_1) ((BNFC'Position, Identifier) -> Identifier
forall a b. (a, b) -> b
snd (BNFC'Position, Identifier)
happy_var_1))
	)}

happyReduce_65 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_65 = Int#
-> HappyAbsSyn
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_0  Int#
14# HappyAbsSyn
happyReduction_65
happyReduction_65 :: HappyAbsSyn
happyReduction_65  =  (BNFC'Position, [Arg]) -> HappyAbsSyn
happyIn41
		 ((BNFC'Position
BNFC.Abs.BNFC'NoPosition, [])
	)

happyReduce_66 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_66 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
14# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_66
happyReduction_66 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_66 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap40
happyOut40 HappyAbsSyn
happy_x_1 of { (HappyWrap40 (BNFC'Position, Arg)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap41
happyOut41 HappyAbsSyn
happy_x_2 of { (HappyWrap41 (BNFC'Position, [Arg])
happy_var_2) -> 
	(BNFC'Position, [Arg]) -> HappyAbsSyn
happyIn41
		 (((BNFC'Position, Arg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Arg)
happy_var_1, (:) ((BNFC'Position, Arg) -> Arg
forall a b. (a, b) -> b
snd (BNFC'Position, Arg)
happy_var_1) ((BNFC'Position, [Arg]) -> [Arg]
forall a b. (a, b) -> b
snd (BNFC'Position, [Arg])
happy_var_2))
	)}}

happyReduce_67 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_67 = Int#
-> HappyAbsSyn
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_0  Int#
15# HappyAbsSyn
happyReduction_67
happyReduction_67 :: HappyAbsSyn
happyReduction_67  =  (BNFC'Position, Separation) -> HappyAbsSyn
happyIn42
		 ((BNFC'Position
BNFC.Abs.BNFC'NoPosition, BNFC'Position -> Separation
forall a. a -> Separation' a
BNFC.Abs.SepNone BNFC'Position
BNFC.Abs.BNFC'NoPosition)
	)

happyReduce_68 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_68 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
15# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_68
happyReduction_68 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_68 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_2 of { (HappyWrap30 (BNFC'Position, String)
happy_var_2) -> 
	(BNFC'Position, Separation) -> HappyAbsSyn
happyIn42
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> String -> Separation
forall a. a -> String -> Separation' a
BNFC.Abs.SepTerm ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, String) -> String
forall a b. (a, b) -> b
snd (BNFC'Position, String)
happy_var_2))
	)}}

happyReduce_69 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_69 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
15# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_69
happyReduction_69 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_69 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_2 of { (HappyWrap30 (BNFC'Position, String)
happy_var_2) -> 
	(BNFC'Position, Separation) -> HappyAbsSyn
happyIn42
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> String -> Separation
forall a. a -> String -> Separation' a
BNFC.Abs.SepSepar ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, String) -> String
forall a b. (a, b) -> b
snd (BNFC'Position, String)
happy_var_2))
	)}}

happyReduce_70 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_70 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
16# HappyAbsSyn -> HappyAbsSyn
happyReduction_70
happyReduction_70 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_70 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_1 of { (HappyWrap30 (BNFC'Position, String)
happy_var_1) -> 
	(BNFC'Position, [String]) -> HappyAbsSyn
happyIn43
		 (((BNFC'Position, String) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, String)
happy_var_1, (String -> [String] -> [String]
forall k1. k1 -> [k1] -> [k1]
:[]) ((BNFC'Position, String) -> String
forall a b. (a, b) -> b
snd (BNFC'Position, String)
happy_var_1))
	)}

happyReduce_71 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_71 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
16# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_71
happyReduction_71 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_71 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_1 of { (HappyWrap30 (BNFC'Position, String)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap43
happyOut43 HappyAbsSyn
happy_x_3 of { (HappyWrap43 (BNFC'Position, [String])
happy_var_3) -> 
	(BNFC'Position, [String]) -> HappyAbsSyn
happyIn43
		 (((BNFC'Position, String) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, String)
happy_var_1, (:) ((BNFC'Position, String) -> String
forall a b. (a, b) -> b
snd (BNFC'Position, String)
happy_var_1) ((BNFC'Position, [String]) -> [String]
forall a b. (a, b) -> b
snd (BNFC'Position, [String])
happy_var_3))
	)}}

happyReduce_72 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_72 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
17# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_72
happyReduction_72 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_72 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap45
happyOut45 HappyAbsSyn
happy_x_1 of { (HappyWrap45 (BNFC'Position, Exp)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap44
happyOut44 HappyAbsSyn
happy_x_3 of { (HappyWrap44 (BNFC'Position, Exp)
happy_var_3) -> 
	(BNFC'Position, Exp) -> HappyAbsSyn
happyIn44
		 (((BNFC'Position, Exp) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Exp)
happy_var_1, BNFC'Position -> Exp -> Exp -> Exp
forall a. a -> Exp' a -> Exp' a -> Exp' a
BNFC.Abs.Cons ((BNFC'Position, Exp) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Exp)
happy_var_1) ((BNFC'Position, Exp) -> Exp
forall a b. (a, b) -> b
snd (BNFC'Position, Exp)
happy_var_1) ((BNFC'Position, Exp) -> Exp
forall a b. (a, b) -> b
snd (BNFC'Position, Exp)
happy_var_3))
	)}}

happyReduce_73 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_73 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
17# HappyAbsSyn -> HappyAbsSyn
happyReduction_73
happyReduction_73 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_73 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap45
happyOut45 HappyAbsSyn
happy_x_1 of { (HappyWrap45 (BNFC'Position, Exp)
happy_var_1) -> 
	(BNFC'Position, Exp) -> HappyAbsSyn
happyIn44
		 (((BNFC'Position, Exp) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Exp)
happy_var_1, ((BNFC'Position, Exp) -> Exp
forall a b. (a, b) -> b
snd (BNFC'Position, Exp)
happy_var_1))
	)}

happyReduce_74 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_74 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
18# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_74
happyReduction_74 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_74 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
happy_x_1 of { (HappyWrap31 (BNFC'Position, Identifier)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap48
happyOut48 HappyAbsSyn
happy_x_2 of { (HappyWrap48 (BNFC'Position, [Exp])
happy_var_2) -> 
	(BNFC'Position, Exp) -> HappyAbsSyn
happyIn45
		 (((BNFC'Position, Identifier) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Identifier)
happy_var_1, BNFC'Position -> Identifier -> [Exp] -> Exp
forall a. a -> Identifier -> [Exp' a] -> Exp' a
BNFC.Abs.App ((BNFC'Position, Identifier) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Identifier)
happy_var_1) ((BNFC'Position, Identifier) -> Identifier
forall a b. (a, b) -> b
snd (BNFC'Position, Identifier)
happy_var_1) ((BNFC'Position, [Exp]) -> [Exp]
forall a b. (a, b) -> b
snd (BNFC'Position, [Exp])
happy_var_2))
	)}}

happyReduce_75 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_75 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
18# HappyAbsSyn -> HappyAbsSyn
happyReduction_75
happyReduction_75 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_75 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap46
happyOut46 HappyAbsSyn
happy_x_1 of { (HappyWrap46 (BNFC'Position, Exp)
happy_var_1) -> 
	(BNFC'Position, Exp) -> HappyAbsSyn
happyIn45
		 (((BNFC'Position, Exp) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Exp)
happy_var_1, ((BNFC'Position, Exp) -> Exp
forall a b. (a, b) -> b
snd (BNFC'Position, Exp)
happy_var_1))
	)}

happyReduce_76 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_76 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
19# HappyAbsSyn -> HappyAbsSyn
happyReduction_76
happyReduction_76 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_76 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
happy_x_1 of { (HappyWrap31 (BNFC'Position, Identifier)
happy_var_1) -> 
	(BNFC'Position, Exp) -> HappyAbsSyn
happyIn46
		 (((BNFC'Position, Identifier) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Identifier)
happy_var_1, BNFC'Position -> Identifier -> Exp
forall a. a -> Identifier -> Exp' a
BNFC.Abs.Var ((BNFC'Position, Identifier) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Identifier)
happy_var_1) ((BNFC'Position, Identifier) -> Identifier
forall a b. (a, b) -> b
snd (BNFC'Position, Identifier)
happy_var_1))
	)}

happyReduce_77 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_77 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
19# HappyAbsSyn -> HappyAbsSyn
happyReduction_77
happyReduction_77 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_77 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap29
happyOut29 HappyAbsSyn
happy_x_1 of { (HappyWrap29 (BNFC'Position, Integer)
happy_var_1) -> 
	(BNFC'Position, Exp) -> HappyAbsSyn
happyIn46
		 (((BNFC'Position, Integer) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Integer)
happy_var_1, BNFC'Position -> Integer -> Exp
forall a. a -> Integer -> Exp' a
BNFC.Abs.LitInteger ((BNFC'Position, Integer) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Integer)
happy_var_1) ((BNFC'Position, Integer) -> Integer
forall a b. (a, b) -> b
snd (BNFC'Position, Integer)
happy_var_1))
	)}

happyReduce_78 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_78 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
19# HappyAbsSyn -> HappyAbsSyn
happyReduction_78
happyReduction_78 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_78 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap27
happyOut27 HappyAbsSyn
happy_x_1 of { (HappyWrap27 (BNFC'Position, Char)
happy_var_1) -> 
	(BNFC'Position, Exp) -> HappyAbsSyn
happyIn46
		 (((BNFC'Position, Char) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Char)
happy_var_1, BNFC'Position -> Char -> Exp
forall a. a -> Char -> Exp' a
BNFC.Abs.LitChar ((BNFC'Position, Char) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Char)
happy_var_1) ((BNFC'Position, Char) -> Char
forall a b. (a, b) -> b
snd (BNFC'Position, Char)
happy_var_1))
	)}

happyReduce_79 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_79 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
19# HappyAbsSyn -> HappyAbsSyn
happyReduction_79
happyReduction_79 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_79 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_1 of { (HappyWrap30 (BNFC'Position, String)
happy_var_1) -> 
	(BNFC'Position, Exp) -> HappyAbsSyn
happyIn46
		 (((BNFC'Position, String) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, String)
happy_var_1, BNFC'Position -> String -> Exp
forall a. a -> String -> Exp' a
BNFC.Abs.LitString ((BNFC'Position, String) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, String)
happy_var_1) ((BNFC'Position, String) -> String
forall a b. (a, b) -> b
snd (BNFC'Position, String)
happy_var_1))
	)}

happyReduce_80 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_80 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
19# HappyAbsSyn -> HappyAbsSyn
happyReduction_80
happyReduction_80 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_80 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap28
happyOut28 HappyAbsSyn
happy_x_1 of { (HappyWrap28 (BNFC'Position, Double)
happy_var_1) -> 
	(BNFC'Position, Exp) -> HappyAbsSyn
happyIn46
		 (((BNFC'Position, Double) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Double)
happy_var_1, BNFC'Position -> Double -> Exp
forall a. a -> Double -> Exp' a
BNFC.Abs.LitDouble ((BNFC'Position, Double) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Double)
happy_var_1) ((BNFC'Position, Double) -> Double
forall a b. (a, b) -> b
snd (BNFC'Position, Double)
happy_var_1))
	)}

happyReduce_81 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_81 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
19# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_81
happyReduction_81 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_81 p
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap47
happyOut47 HappyAbsSyn
happy_x_2 of { (HappyWrap47 (BNFC'Position, [Exp])
happy_var_2) -> 
	(BNFC'Position, Exp) -> HappyAbsSyn
happyIn46
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> [Exp] -> Exp
forall a. a -> [Exp' a] -> Exp' a
BNFC.Abs.List ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, [Exp]) -> [Exp]
forall a b. (a, b) -> b
snd (BNFC'Position, [Exp])
happy_var_2))
	)}}

happyReduce_82 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_82 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
19# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_82
happyReduction_82 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_82 p
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap44
happyOut44 HappyAbsSyn
happy_x_2 of { (HappyWrap44 (BNFC'Position, Exp)
happy_var_2) -> 
	(BNFC'Position, Exp) -> HappyAbsSyn
happyIn46
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), ((BNFC'Position, Exp) -> Exp
forall a b. (a, b) -> b
snd (BNFC'Position, Exp)
happy_var_2))
	)}}

happyReduce_83 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_83 = Int#
-> HappyAbsSyn
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_0  Int#
20# HappyAbsSyn
happyReduction_83
happyReduction_83 :: HappyAbsSyn
happyReduction_83  =  (BNFC'Position, [Exp]) -> HappyAbsSyn
happyIn47
		 ((BNFC'Position
BNFC.Abs.BNFC'NoPosition, [])
	)

happyReduce_84 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_84 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
20# HappyAbsSyn -> HappyAbsSyn
happyReduction_84
happyReduction_84 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_84 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap44
happyOut44 HappyAbsSyn
happy_x_1 of { (HappyWrap44 (BNFC'Position, Exp)
happy_var_1) -> 
	(BNFC'Position, [Exp]) -> HappyAbsSyn
happyIn47
		 (((BNFC'Position, Exp) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Exp)
happy_var_1, (Exp -> [Exp] -> [Exp]
forall k1. k1 -> [k1] -> [k1]
:[]) ((BNFC'Position, Exp) -> Exp
forall a b. (a, b) -> b
snd (BNFC'Position, Exp)
happy_var_1))
	)}

happyReduce_85 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_85 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
20# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_85
happyReduction_85 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_85 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap44
happyOut44 HappyAbsSyn
happy_x_1 of { (HappyWrap44 (BNFC'Position, Exp)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap47
happyOut47 HappyAbsSyn
happy_x_3 of { (HappyWrap47 (BNFC'Position, [Exp])
happy_var_3) -> 
	(BNFC'Position, [Exp]) -> HappyAbsSyn
happyIn47
		 (((BNFC'Position, Exp) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Exp)
happy_var_1, (:) ((BNFC'Position, Exp) -> Exp
forall a b. (a, b) -> b
snd (BNFC'Position, Exp)
happy_var_1) ((BNFC'Position, [Exp]) -> [Exp]
forall a b. (a, b) -> b
snd (BNFC'Position, [Exp])
happy_var_3))
	)}}

happyReduce_86 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_86 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
21# HappyAbsSyn -> HappyAbsSyn
happyReduction_86
happyReduction_86 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_86 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap46
happyOut46 HappyAbsSyn
happy_x_1 of { (HappyWrap46 (BNFC'Position, Exp)
happy_var_1) -> 
	(BNFC'Position, [Exp]) -> HappyAbsSyn
happyIn48
		 (((BNFC'Position, Exp) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Exp)
happy_var_1, (Exp -> [Exp] -> [Exp]
forall k1. k1 -> [k1] -> [k1]
:[]) ((BNFC'Position, Exp) -> Exp
forall a b. (a, b) -> b
snd (BNFC'Position, Exp)
happy_var_1))
	)}

happyReduce_87 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_87 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
21# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_87
happyReduction_87 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_87 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap46
happyOut46 HappyAbsSyn
happy_x_1 of { (HappyWrap46 (BNFC'Position, Exp)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap48
happyOut48 HappyAbsSyn
happy_x_2 of { (HappyWrap48 (BNFC'Position, [Exp])
happy_var_2) -> 
	(BNFC'Position, [Exp]) -> HappyAbsSyn
happyIn48
		 (((BNFC'Position, Exp) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Exp)
happy_var_1, (:) ((BNFC'Position, Exp) -> Exp
forall a b. (a, b) -> b
snd (BNFC'Position, Exp)
happy_var_1) ((BNFC'Position, [Exp]) -> [Exp]
forall a b. (a, b) -> b
snd (BNFC'Position, [Exp])
happy_var_2))
	)}}

happyReduce_88 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_88 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
22# HappyAbsSyn -> HappyAbsSyn
happyReduction_88
happyReduction_88 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_88 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
happy_x_1 of { (HappyWrap36 (BNFC'Position, [Item])
happy_var_1) -> 
	(BNFC'Position, RHS) -> HappyAbsSyn
happyIn49
		 (((BNFC'Position, [Item]) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, [Item])
happy_var_1, BNFC'Position -> [Item] -> RHS
forall a. a -> [Item' a] -> RHS' a
BNFC.Abs.RHS ((BNFC'Position, [Item]) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, [Item])
happy_var_1) ((BNFC'Position, [Item]) -> [Item]
forall a b. (a, b) -> b
snd (BNFC'Position, [Item])
happy_var_1))
	)}

happyReduce_89 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_89 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
23# HappyAbsSyn -> HappyAbsSyn
happyReduction_89
happyReduction_89 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_89 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap49
happyOut49 HappyAbsSyn
happy_x_1 of { (HappyWrap49 (BNFC'Position, RHS)
happy_var_1) -> 
	(BNFC'Position, [RHS]) -> HappyAbsSyn
happyIn50
		 (((BNFC'Position, RHS) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, RHS)
happy_var_1, (RHS -> [RHS] -> [RHS]
forall k1. k1 -> [k1] -> [k1]
:[]) ((BNFC'Position, RHS) -> RHS
forall a b. (a, b) -> b
snd (BNFC'Position, RHS)
happy_var_1))
	)}

happyReduce_90 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_90 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
23# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_90
happyReduction_90 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_90 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap49
happyOut49 HappyAbsSyn
happy_x_1 of { (HappyWrap49 (BNFC'Position, RHS)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap50
happyOut50 HappyAbsSyn
happy_x_3 of { (HappyWrap50 (BNFC'Position, [RHS])
happy_var_3) -> 
	(BNFC'Position, [RHS]) -> HappyAbsSyn
happyIn50
		 (((BNFC'Position, RHS) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, RHS)
happy_var_1, (:) ((BNFC'Position, RHS) -> RHS
forall a b. (a, b) -> b
snd (BNFC'Position, RHS)
happy_var_1) ((BNFC'Position, [RHS]) -> [RHS]
forall a b. (a, b) -> b
snd (BNFC'Position, [RHS])
happy_var_3))
	)}}

happyReduce_91 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_91 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
24# HappyAbsSyn -> HappyAbsSyn
happyReduction_91
happyReduction_91 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_91 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, MinimumSize) -> HappyAbsSyn
happyIn51
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> MinimumSize
forall a. a -> MinimumSize' a
BNFC.Abs.MNonEmpty ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)))
	)}

happyReduce_92 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_92 = Int#
-> HappyAbsSyn
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_0  Int#
24# HappyAbsSyn
happyReduction_92
happyReduction_92 :: HappyAbsSyn
happyReduction_92  =  (BNFC'Position, MinimumSize) -> HappyAbsSyn
happyIn51
		 ((BNFC'Position
BNFC.Abs.BNFC'NoPosition, BNFC'Position -> MinimumSize
forall a. a -> MinimumSize' a
BNFC.Abs.MEmpty BNFC'Position
BNFC.Abs.BNFC'NoPosition)
	)

happyReduce_93 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_93 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
25# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_93
happyReduction_93 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_93 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap52
happyOut52 HappyAbsSyn
happy_x_1 of { (HappyWrap52 (BNFC'Position, Reg)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap53
happyOut53 HappyAbsSyn
happy_x_3 of { (HappyWrap53 (BNFC'Position, Reg)
happy_var_3) -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn52
		 (((BNFC'Position, Reg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Reg)
happy_var_1, BNFC'Position -> Reg -> Reg -> Reg
forall a. a -> Reg' a -> Reg' a -> Reg' a
BNFC.Abs.RAlt ((BNFC'Position, Reg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Reg)
happy_var_1) ((BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (BNFC'Position, Reg)
happy_var_1) ((BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (BNFC'Position, Reg)
happy_var_3))
	)}}

happyReduce_94 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_94 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
25# HappyAbsSyn -> HappyAbsSyn
happyReduction_94
happyReduction_94 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_94 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap53
happyOut53 HappyAbsSyn
happy_x_1 of { (HappyWrap53 (BNFC'Position, Reg)
happy_var_1) -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn52
		 (((BNFC'Position, Reg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Reg)
happy_var_1, ((BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (BNFC'Position, Reg)
happy_var_1))
	)}

happyReduce_95 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_95 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
26# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_95
happyReduction_95 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_95 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap53
happyOut53 HappyAbsSyn
happy_x_1 of { (HappyWrap53 (BNFC'Position, Reg)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap54
happyOut54 HappyAbsSyn
happy_x_3 of { (HappyWrap54 (BNFC'Position, Reg)
happy_var_3) -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn53
		 (((BNFC'Position, Reg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Reg)
happy_var_1, BNFC'Position -> Reg -> Reg -> Reg
forall a. a -> Reg' a -> Reg' a -> Reg' a
BNFC.Abs.RMinus ((BNFC'Position, Reg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Reg)
happy_var_1) ((BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (BNFC'Position, Reg)
happy_var_1) ((BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (BNFC'Position, Reg)
happy_var_3))
	)}}

happyReduce_96 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_96 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
26# HappyAbsSyn -> HappyAbsSyn
happyReduction_96
happyReduction_96 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_96 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap54
happyOut54 HappyAbsSyn
happy_x_1 of { (HappyWrap54 (BNFC'Position, Reg)
happy_var_1) -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn53
		 (((BNFC'Position, Reg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Reg)
happy_var_1, ((BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (BNFC'Position, Reg)
happy_var_1))
	)}

happyReduce_97 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_97 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
27# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_97
happyReduction_97 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_97 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap54
happyOut54 HappyAbsSyn
happy_x_1 of { (HappyWrap54 (BNFC'Position, Reg)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_2 of { (HappyWrap55 (BNFC'Position, Reg)
happy_var_2) -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn54
		 (((BNFC'Position, Reg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Reg)
happy_var_1, BNFC'Position -> Reg -> Reg -> Reg
forall a. a -> Reg' a -> Reg' a -> Reg' a
BNFC.Abs.RSeq ((BNFC'Position, Reg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Reg)
happy_var_1) ((BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (BNFC'Position, Reg)
happy_var_1) ((BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (BNFC'Position, Reg)
happy_var_2))
	)}}

happyReduce_98 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_98 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
27# HappyAbsSyn -> HappyAbsSyn
happyReduction_98
happyReduction_98 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_98 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_1 of { (HappyWrap55 (BNFC'Position, Reg)
happy_var_1) -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn54
		 (((BNFC'Position, Reg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Reg)
happy_var_1, ((BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (BNFC'Position, Reg)
happy_var_1))
	)}

happyReduce_99 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_99 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
28# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_99
happyReduction_99 :: p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_99 p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_1 of { (HappyWrap55 (BNFC'Position, Reg)
happy_var_1) -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn55
		 (((BNFC'Position, Reg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Reg)
happy_var_1, BNFC'Position -> Reg -> Reg
forall a. a -> Reg' a -> Reg' a
BNFC.Abs.RStar ((BNFC'Position, Reg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Reg)
happy_var_1) ((BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (BNFC'Position, Reg)
happy_var_1))
	)}

happyReduce_100 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_100 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
28# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_100
happyReduction_100 :: p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_100 p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_1 of { (HappyWrap55 (BNFC'Position, Reg)
happy_var_1) -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn55
		 (((BNFC'Position, Reg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Reg)
happy_var_1, BNFC'Position -> Reg -> Reg
forall a. a -> Reg' a -> Reg' a
BNFC.Abs.RPlus ((BNFC'Position, Reg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Reg)
happy_var_1) ((BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (BNFC'Position, Reg)
happy_var_1))
	)}

happyReduce_101 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_101 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_2  Int#
28# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_101
happyReduction_101 :: p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_101 p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_1 of { (HappyWrap55 (BNFC'Position, Reg)
happy_var_1) -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn55
		 (((BNFC'Position, Reg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Reg)
happy_var_1, BNFC'Position -> Reg -> Reg
forall a. a -> Reg' a -> Reg' a
BNFC.Abs.ROpt ((BNFC'Position, Reg) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Reg)
happy_var_1) ((BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (BNFC'Position, Reg)
happy_var_1))
	)}

happyReduce_102 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_102 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
28# HappyAbsSyn -> HappyAbsSyn
happyReduction_102
happyReduction_102 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_102 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn55
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Reg
forall a. a -> Reg' a
BNFC.Abs.REps ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)))
	)}

happyReduce_103 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_103 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
28# HappyAbsSyn -> HappyAbsSyn
happyReduction_103
happyReduction_103 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_103 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap27
happyOut27 HappyAbsSyn
happy_x_1 of { (HappyWrap27 (BNFC'Position, Char)
happy_var_1) -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn55
		 (((BNFC'Position, Char) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Char)
happy_var_1, BNFC'Position -> Char -> Reg
forall a. a -> Char -> Reg' a
BNFC.Abs.RChar ((BNFC'Position, Char) -> BNFC'Position
forall a b. (a, b) -> a
fst (BNFC'Position, Char)
happy_var_1) ((BNFC'Position, Char) -> Char
forall a b. (a, b) -> b
snd (BNFC'Position, Char)
happy_var_1))
	)}

happyReduce_104 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_104 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
28# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_104
happyReduction_104 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_104 p
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_2 of { (HappyWrap30 (BNFC'Position, String)
happy_var_2) -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn55
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> String -> Reg
forall a. a -> String -> Reg' a
BNFC.Abs.RAlts ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, String) -> String
forall a b. (a, b) -> b
snd (BNFC'Position, String)
happy_var_2))
	)}}

happyReduce_105 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_105 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
28# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_105
happyReduction_105 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_105 p
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_2 of { (HappyWrap30 (BNFC'Position, String)
happy_var_2) -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn55
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> String -> Reg
forall a. a -> String -> Reg' a
BNFC.Abs.RSeqs ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)) ((BNFC'Position, String) -> String
forall a b. (a, b) -> b
snd (BNFC'Position, String)
happy_var_2))
	)}}

happyReduce_106 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_106 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
28# HappyAbsSyn -> HappyAbsSyn
happyReduction_106
happyReduction_106 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_106 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn55
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Reg
forall a. a -> Reg' a
BNFC.Abs.RDigit ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)))
	)}

happyReduce_107 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_107 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
28# HappyAbsSyn -> HappyAbsSyn
happyReduction_107
happyReduction_107 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_107 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn55
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Reg
forall a. a -> Reg' a
BNFC.Abs.RLetter ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)))
	)}

happyReduce_108 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_108 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
28# HappyAbsSyn -> HappyAbsSyn
happyReduction_108
happyReduction_108 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_108 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn55
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Reg
forall a. a -> Reg' a
BNFC.Abs.RUpper ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)))
	)}

happyReduce_109 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_109 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
28# HappyAbsSyn -> HappyAbsSyn
happyReduction_109
happyReduction_109 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_109 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn55
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Reg
forall a. a -> Reg' a
BNFC.Abs.RLower ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)))
	)}

happyReduce_110 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_110 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_1  Int#
28# HappyAbsSyn -> HappyAbsSyn
happyReduction_110
happyReduction_110 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_110 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn55
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), BNFC'Position -> Reg
forall a. a -> Reg' a
BNFC.Abs.RAny ((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1)))
	)}

happyReduce_111 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyReduce_111 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happySpecReduce_3  Int#
28# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_111
happyReduction_111 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_111 p
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { Token
happy_var_1 -> 
	case HappyAbsSyn -> HappyWrap52
happyOut52 HappyAbsSyn
happy_x_2 of { (HappyWrap52 (BNFC'Position, Reg)
happy_var_2) -> 
	(BNFC'Position, Reg) -> HappyAbsSyn
happyIn55
		 (((Int -> Int -> BNFC'Position) -> (Int, Int) -> BNFC'Position
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Int -> Int -> BNFC'Position
BNFC.Abs.BNFC'Position (Token -> (Int, Int)
tokenLineCol Token
happy_var_1), ((BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (BNFC'Position, Reg)
happy_var_2))
	)}}

happyNewToken :: Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyNewToken Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk [] =
	Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyDoAction Int#
45# Token
forall a. a
notHappyAtAll Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk []

happyNewToken Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk (Token
tk:[Token]
tks) =
	let cont :: Int# -> Err HappyAbsSyn
cont Int#
i = Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> Err HappyAbsSyn
happyDoAction Int#
i Token
tk Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk [Token]
tks in
	case Token
tk of {
	PT Posn
_ (TS String
_ Int
1) -> Int# -> Err HappyAbsSyn
cont Int#
1#;
	PT Posn
_ (TS String
_ Int
2) -> Int# -> Err HappyAbsSyn
cont Int#
2#;
	PT Posn
_ (TS String
_ Int
3) -> Int# -> Err HappyAbsSyn
cont Int#
3#;
	PT Posn
_ (TS String
_ Int
4) -> Int# -> Err HappyAbsSyn
cont Int#
4#;
	PT Posn
_ (TS String
_ Int
5) -> Int# -> Err HappyAbsSyn
cont Int#
5#;
	PT Posn
_ (TS String
_ Int
6) -> Int# -> Err HappyAbsSyn
cont Int#
6#;
	PT Posn
_ (TS String
_ Int
7) -> Int# -> Err HappyAbsSyn
cont Int#
7#;
	PT Posn
_ (TS String
_ Int
8) -> Int# -> Err HappyAbsSyn
cont Int#
8#;
	PT Posn
_ (TS String
_ Int
9) -> Int# -> Err HappyAbsSyn
cont Int#
9#;
	PT Posn
_ (TS String
_ Int
10) -> Int# -> Err HappyAbsSyn
cont Int#
10#;
	PT Posn
_ (TS String
_ Int
11) -> Int# -> Err HappyAbsSyn
cont Int#
11#;
	PT Posn
_ (TS String
_ Int
12) -> Int# -> Err HappyAbsSyn
cont Int#
12#;
	PT Posn
_ (TS String
_ Int
13) -> Int# -> Err HappyAbsSyn
cont Int#
13#;
	PT Posn
_ (TS String
_ Int
14) -> Int# -> Err HappyAbsSyn
cont Int#
14#;
	PT Posn
_ (TS String
_ Int
15) -> Int# -> Err HappyAbsSyn
cont Int#
15#;
	PT Posn
_ (TS String
_ Int
16) -> Int# -> Err HappyAbsSyn
cont Int#
16#;
	PT Posn
_ (TS String
_ Int
17) -> Int# -> Err HappyAbsSyn
cont Int#
17#;
	PT Posn
_ (TS String
_ Int
18) -> Int# -> Err HappyAbsSyn
cont Int#
18#;
	PT Posn
_ (TS String
_ Int
19) -> Int# -> Err HappyAbsSyn
cont Int#
19#;
	PT Posn
_ (TS String
_ Int
20) -> Int# -> Err HappyAbsSyn
cont Int#
20#;
	PT Posn
_ (TS String
_ Int
21) -> Int# -> Err HappyAbsSyn
cont Int#
21#;
	PT Posn
_ (TS String
_ Int
22) -> Int# -> Err HappyAbsSyn
cont Int#
22#;
	PT Posn
_ (TS String
_ Int
23) -> Int# -> Err HappyAbsSyn
cont Int#
23#;
	PT Posn
_ (TS String
_ Int
24) -> Int# -> Err HappyAbsSyn
cont Int#
24#;
	PT Posn
_ (TS String
_ Int
25) -> Int# -> Err HappyAbsSyn
cont Int#
25#;
	PT Posn
_ (TS String
_ Int
26) -> Int# -> Err HappyAbsSyn
cont Int#
26#;
	PT Posn
_ (TS String
_ Int
27) -> Int# -> Err HappyAbsSyn
cont Int#
27#;
	PT Posn
_ (TS String
_ Int
28) -> Int# -> Err HappyAbsSyn
cont Int#
28#;
	PT Posn
_ (TS String
_ Int
29) -> Int# -> Err HappyAbsSyn
cont Int#
29#;
	PT Posn
_ (TS String
_ Int
30) -> Int# -> Err HappyAbsSyn
cont Int#
30#;
	PT Posn
_ (TS String
_ Int
31) -> Int# -> Err HappyAbsSyn
cont Int#
31#;
	PT Posn
_ (TS String
_ Int
32) -> Int# -> Err HappyAbsSyn
cont Int#
32#;
	PT Posn
_ (TS String
_ Int
33) -> Int# -> Err HappyAbsSyn
cont Int#
33#;
	PT Posn
_ (TS String
_ Int
34) -> Int# -> Err HappyAbsSyn
cont Int#
34#;
	PT Posn
_ (TS String
_ Int
35) -> Int# -> Err HappyAbsSyn
cont Int#
35#;
	PT Posn
_ (TS String
_ Int
36) -> Int# -> Err HappyAbsSyn
cont Int#
36#;
	PT Posn
_ (TS String
_ Int
37) -> Int# -> Err HappyAbsSyn
cont Int#
37#;
	PT Posn
_ (TS String
_ Int
38) -> Int# -> Err HappyAbsSyn
cont Int#
38#;
	PT Posn
_ (TS String
_ Int
39) -> Int# -> Err HappyAbsSyn
cont Int#
39#;
	PT Posn
_ (TC String
_) -> Int# -> Err HappyAbsSyn
cont Int#
40#;
	PT Posn
_ (TD String
_) -> Int# -> Err HappyAbsSyn
cont Int#
41#;
	PT Posn
_ (TI String
_) -> Int# -> Err HappyAbsSyn
cont Int#
42#;
	PT Posn
_ (TL String
_) -> Int# -> Err HappyAbsSyn
cont Int#
43#;
	PT Posn
_ (T_Identifier String
_) -> Int# -> Err HappyAbsSyn
cont Int#
44#;
	Token
_ -> ([Token], [String]) -> Err HappyAbsSyn
forall a. ([Token], [String]) -> Err a
happyError' ((Token
tkToken -> [Token] -> [Token]
forall k1. k1 -> [k1] -> [k1]
:[Token]
tks), [])
	}

happyError_ :: [String] -> Int# -> Token -> [Token] -> Err a
happyError_ [String]
explist Int#
45# Token
tk [Token]
tks = ([Token], [String]) -> Err a
forall a. ([Token], [String]) -> Err a
happyError' ([Token]
tks, [String]
explist)
happyError_ [String]
explist Int#
_ Token
tk [Token]
tks = ([Token], [String]) -> Err a
forall a. ([Token], [String]) -> Err a
happyError' ((Token
tkToken -> [Token] -> [Token]
forall k1. k1 -> [k1] -> [k1]
:[Token]
tks), [String]
explist)

happyThen :: () => Err a -> (a -> Err b) -> Err b
happyThen :: Err a -> (a -> Err b) -> Err b
happyThen = (Err a -> (a -> Err b) -> Err b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
(>>=))
happyReturn :: () => a -> Err a
happyReturn :: a -> Err a
happyReturn = (a -> Err a
forall (m :: * -> *) a. Monad m => a -> m a
return)
happyThen1 :: m t -> (t -> t -> m b) -> t -> m b
happyThen1 m t
m t -> t -> m b
k t
tks = (m t -> (t -> m b) -> m b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
(>>=)) m t
m (\t
a -> t -> t -> m b
k t
a t
tks)
happyReturn1 :: () => a -> b -> Err a
happyReturn1 :: a -> b -> Err a
happyReturn1 = \a
a b
tks -> (a -> Err a
forall (m :: * -> *) a. Monad m => a -> m a
return) a
a
happyError' :: () => ([(Token)], [Prelude.String]) -> Err a
happyError' :: ([Token], [String]) -> Err a
happyError' = (\([Token]
tokens, [String]
_) -> [Token] -> Err a
forall a. [Token] -> Err a
happyError [Token]
tokens)
pGrammar_internal :: [Token] -> Err (BNFC'Position, Grammar)
pGrammar_internal [Token]
tks = Err (BNFC'Position, Grammar)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, Grammar)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, Grammar))
-> Err (BNFC'Position, Grammar)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
0# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, Grammar) -> Err (BNFC'Position, Grammar)
forall a. a -> Err a
happyReturn (let {(HappyWrap32 (BNFC'Position, Grammar)
x') = HappyAbsSyn -> HappyWrap32
happyOut32 HappyAbsSyn
x} in (BNFC'Position, Grammar)
x'))

pListDef_internal :: [Token] -> Err (BNFC'Position, [Def])
pListDef_internal [Token]
tks = Err (BNFC'Position, [Def])
happySomeParser where
 happySomeParser :: Err (BNFC'Position, [Def])
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, [Def]))
-> Err (BNFC'Position, [Def])
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
1# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, [Def]) -> Err (BNFC'Position, [Def])
forall a. a -> Err a
happyReturn (let {(HappyWrap33 (BNFC'Position, [Def])
x') = HappyAbsSyn -> HappyWrap33
happyOut33 HappyAbsSyn
x} in (BNFC'Position, [Def])
x'))

pDef_internal :: [Token] -> Err (BNFC'Position, Def)
pDef_internal [Token]
tks = Err (BNFC'Position, Def)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, Def)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, Def))
-> Err (BNFC'Position, Def)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
2# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, Def) -> Err (BNFC'Position, Def)
forall a. a -> Err a
happyReturn (let {(HappyWrap34 (BNFC'Position, Def)
x') = HappyAbsSyn -> HappyWrap34
happyOut34 HappyAbsSyn
x} in (BNFC'Position, Def)
x'))

pItem_internal :: [Token] -> Err (BNFC'Position, Item)
pItem_internal [Token]
tks = Err (BNFC'Position, Item)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, Item)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, Item))
-> Err (BNFC'Position, Item)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
3# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, Item) -> Err (BNFC'Position, Item)
forall a. a -> Err a
happyReturn (let {(HappyWrap35 (BNFC'Position, Item)
x') = HappyAbsSyn -> HappyWrap35
happyOut35 HappyAbsSyn
x} in (BNFC'Position, Item)
x'))

pListItem_internal :: [Token] -> Err (BNFC'Position, [Item])
pListItem_internal [Token]
tks = Err (BNFC'Position, [Item])
happySomeParser where
 happySomeParser :: Err (BNFC'Position, [Item])
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, [Item]))
-> Err (BNFC'Position, [Item])
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
4# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, [Item]) -> Err (BNFC'Position, [Item])
forall a. a -> Err a
happyReturn (let {(HappyWrap36 (BNFC'Position, [Item])
x') = HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
x} in (BNFC'Position, [Item])
x'))

pCat_internal :: [Token] -> Err (BNFC'Position, Cat)
pCat_internal [Token]
tks = Err (BNFC'Position, Cat)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, Cat)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, Cat))
-> Err (BNFC'Position, Cat)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
5# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, Cat) -> Err (BNFC'Position, Cat)
forall a. a -> Err a
happyReturn (let {(HappyWrap37 (BNFC'Position, Cat)
x') = HappyAbsSyn -> HappyWrap37
happyOut37 HappyAbsSyn
x} in (BNFC'Position, Cat)
x'))

pListCat_internal :: [Token] -> Err (BNFC'Position, [Cat])
pListCat_internal [Token]
tks = Err (BNFC'Position, [Cat])
happySomeParser where
 happySomeParser :: Err (BNFC'Position, [Cat])
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, [Cat]))
-> Err (BNFC'Position, [Cat])
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
6# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, [Cat]) -> Err (BNFC'Position, [Cat])
forall a. a -> Err a
happyReturn (let {(HappyWrap38 (BNFC'Position, [Cat])
x') = HappyAbsSyn -> HappyWrap38
happyOut38 HappyAbsSyn
x} in (BNFC'Position, [Cat])
x'))

pLabel_internal :: [Token] -> Err (BNFC'Position, Label)
pLabel_internal [Token]
tks = Err (BNFC'Position, Label)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, Label)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, Label))
-> Err (BNFC'Position, Label)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
7# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, Label) -> Err (BNFC'Position, Label)
forall a. a -> Err a
happyReturn (let {(HappyWrap39 (BNFC'Position, Label)
x') = HappyAbsSyn -> HappyWrap39
happyOut39 HappyAbsSyn
x} in (BNFC'Position, Label)
x'))

pArg_internal :: [Token] -> Err (BNFC'Position, Arg)
pArg_internal [Token]
tks = Err (BNFC'Position, Arg)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, Arg)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, Arg))
-> Err (BNFC'Position, Arg)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
8# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, Arg) -> Err (BNFC'Position, Arg)
forall a. a -> Err a
happyReturn (let {(HappyWrap40 (BNFC'Position, Arg)
x') = HappyAbsSyn -> HappyWrap40
happyOut40 HappyAbsSyn
x} in (BNFC'Position, Arg)
x'))

pListArg_internal :: [Token] -> Err (BNFC'Position, [Arg])
pListArg_internal [Token]
tks = Err (BNFC'Position, [Arg])
happySomeParser where
 happySomeParser :: Err (BNFC'Position, [Arg])
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, [Arg]))
-> Err (BNFC'Position, [Arg])
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
9# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, [Arg]) -> Err (BNFC'Position, [Arg])
forall a. a -> Err a
happyReturn (let {(HappyWrap41 (BNFC'Position, [Arg])
x') = HappyAbsSyn -> HappyWrap41
happyOut41 HappyAbsSyn
x} in (BNFC'Position, [Arg])
x'))

pSeparation_internal :: [Token] -> Err (BNFC'Position, Separation)
pSeparation_internal [Token]
tks = Err (BNFC'Position, Separation)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, Separation)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, Separation))
-> Err (BNFC'Position, Separation)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
10# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, Separation) -> Err (BNFC'Position, Separation)
forall a. a -> Err a
happyReturn (let {(HappyWrap42 (BNFC'Position, Separation)
x') = HappyAbsSyn -> HappyWrap42
happyOut42 HappyAbsSyn
x} in (BNFC'Position, Separation)
x'))

pListString_internal :: [Token] -> Err (BNFC'Position, [String])
pListString_internal [Token]
tks = Err (BNFC'Position, [String])
happySomeParser where
 happySomeParser :: Err (BNFC'Position, [String])
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, [String]))
-> Err (BNFC'Position, [String])
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
11# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, [String]) -> Err (BNFC'Position, [String])
forall a. a -> Err a
happyReturn (let {(HappyWrap43 (BNFC'Position, [String])
x') = HappyAbsSyn -> HappyWrap43
happyOut43 HappyAbsSyn
x} in (BNFC'Position, [String])
x'))

pExp_internal :: [Token] -> Err (BNFC'Position, Exp)
pExp_internal [Token]
tks = Err (BNFC'Position, Exp)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, Exp)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, Exp))
-> Err (BNFC'Position, Exp)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
12# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, Exp) -> Err (BNFC'Position, Exp)
forall a. a -> Err a
happyReturn (let {(HappyWrap44 (BNFC'Position, Exp)
x') = HappyAbsSyn -> HappyWrap44
happyOut44 HappyAbsSyn
x} in (BNFC'Position, Exp)
x'))

pExp1_internal :: [Token] -> Err (BNFC'Position, Exp)
pExp1_internal [Token]
tks = Err (BNFC'Position, Exp)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, Exp)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, Exp))
-> Err (BNFC'Position, Exp)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
13# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, Exp) -> Err (BNFC'Position, Exp)
forall a. a -> Err a
happyReturn (let {(HappyWrap45 (BNFC'Position, Exp)
x') = HappyAbsSyn -> HappyWrap45
happyOut45 HappyAbsSyn
x} in (BNFC'Position, Exp)
x'))

pExp2_internal :: [Token] -> Err (BNFC'Position, Exp)
pExp2_internal [Token]
tks = Err (BNFC'Position, Exp)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, Exp)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, Exp))
-> Err (BNFC'Position, Exp)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
14# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, Exp) -> Err (BNFC'Position, Exp)
forall a. a -> Err a
happyReturn (let {(HappyWrap46 (BNFC'Position, Exp)
x') = HappyAbsSyn -> HappyWrap46
happyOut46 HappyAbsSyn
x} in (BNFC'Position, Exp)
x'))

pListExp_internal :: [Token] -> Err (BNFC'Position, [Exp])
pListExp_internal [Token]
tks = Err (BNFC'Position, [Exp])
happySomeParser where
 happySomeParser :: Err (BNFC'Position, [Exp])
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, [Exp]))
-> Err (BNFC'Position, [Exp])
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
15# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, [Exp]) -> Err (BNFC'Position, [Exp])
forall a. a -> Err a
happyReturn (let {(HappyWrap47 (BNFC'Position, [Exp])
x') = HappyAbsSyn -> HappyWrap47
happyOut47 HappyAbsSyn
x} in (BNFC'Position, [Exp])
x'))

pListExp2_internal :: [Token] -> Err (BNFC'Position, [Exp])
pListExp2_internal [Token]
tks = Err (BNFC'Position, [Exp])
happySomeParser where
 happySomeParser :: Err (BNFC'Position, [Exp])
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, [Exp]))
-> Err (BNFC'Position, [Exp])
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
16# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, [Exp]) -> Err (BNFC'Position, [Exp])
forall a. a -> Err a
happyReturn (let {(HappyWrap48 (BNFC'Position, [Exp])
x') = HappyAbsSyn -> HappyWrap48
happyOut48 HappyAbsSyn
x} in (BNFC'Position, [Exp])
x'))

pRHS_internal :: [Token] -> Err (BNFC'Position, RHS)
pRHS_internal [Token]
tks = Err (BNFC'Position, RHS)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, RHS)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, RHS))
-> Err (BNFC'Position, RHS)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
17# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, RHS) -> Err (BNFC'Position, RHS)
forall a. a -> Err a
happyReturn (let {(HappyWrap49 (BNFC'Position, RHS)
x') = HappyAbsSyn -> HappyWrap49
happyOut49 HappyAbsSyn
x} in (BNFC'Position, RHS)
x'))

pListRHS_internal :: [Token] -> Err (BNFC'Position, [RHS])
pListRHS_internal [Token]
tks = Err (BNFC'Position, [RHS])
happySomeParser where
 happySomeParser :: Err (BNFC'Position, [RHS])
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, [RHS]))
-> Err (BNFC'Position, [RHS])
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
18# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, [RHS]) -> Err (BNFC'Position, [RHS])
forall a. a -> Err a
happyReturn (let {(HappyWrap50 (BNFC'Position, [RHS])
x') = HappyAbsSyn -> HappyWrap50
happyOut50 HappyAbsSyn
x} in (BNFC'Position, [RHS])
x'))

pMinimumSize_internal :: [Token] -> Err (BNFC'Position, MinimumSize)
pMinimumSize_internal [Token]
tks = Err (BNFC'Position, MinimumSize)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, MinimumSize)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, MinimumSize))
-> Err (BNFC'Position, MinimumSize)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
19# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, MinimumSize) -> Err (BNFC'Position, MinimumSize)
forall a. a -> Err a
happyReturn (let {(HappyWrap51 (BNFC'Position, MinimumSize)
x') = HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
x} in (BNFC'Position, MinimumSize)
x'))

pReg_internal :: [Token] -> Err (BNFC'Position, Reg)
pReg_internal [Token]
tks = Err (BNFC'Position, Reg)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, Reg)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, Reg))
-> Err (BNFC'Position, Reg)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
20# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, Reg) -> Err (BNFC'Position, Reg)
forall a. a -> Err a
happyReturn (let {(HappyWrap52 (BNFC'Position, Reg)
x') = HappyAbsSyn -> HappyWrap52
happyOut52 HappyAbsSyn
x} in (BNFC'Position, Reg)
x'))

pReg1_internal :: [Token] -> Err (BNFC'Position, Reg)
pReg1_internal [Token]
tks = Err (BNFC'Position, Reg)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, Reg)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, Reg))
-> Err (BNFC'Position, Reg)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
21# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, Reg) -> Err (BNFC'Position, Reg)
forall a. a -> Err a
happyReturn (let {(HappyWrap53 (BNFC'Position, Reg)
x') = HappyAbsSyn -> HappyWrap53
happyOut53 HappyAbsSyn
x} in (BNFC'Position, Reg)
x'))

pReg2_internal :: [Token] -> Err (BNFC'Position, Reg)
pReg2_internal [Token]
tks = Err (BNFC'Position, Reg)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, Reg)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, Reg))
-> Err (BNFC'Position, Reg)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
22# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, Reg) -> Err (BNFC'Position, Reg)
forall a. a -> Err a
happyReturn (let {(HappyWrap54 (BNFC'Position, Reg)
x') = HappyAbsSyn -> HappyWrap54
happyOut54 HappyAbsSyn
x} in (BNFC'Position, Reg)
x'))

pReg3_internal :: [Token] -> Err (BNFC'Position, Reg)
pReg3_internal [Token]
tks = Err (BNFC'Position, Reg)
happySomeParser where
 happySomeParser :: Err (BNFC'Position, Reg)
happySomeParser = Err HappyAbsSyn
-> (HappyAbsSyn -> Err (BNFC'Position, Reg))
-> Err (BNFC'Position, Reg)
forall a b. Err a -> (a -> Err b) -> Err b
happyThen (Int# -> [Token] -> Err HappyAbsSyn
happyParse Int#
23# [Token]
tks) (\HappyAbsSyn
x -> (BNFC'Position, Reg) -> Err (BNFC'Position, Reg)
forall a. a -> Err a
happyReturn (let {(HappyWrap55 (BNFC'Position, Reg)
x') = HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
x} in (BNFC'Position, Reg)
x'))

happySeq :: a -> b -> b
happySeq = a -> b -> b
forall a b. a -> b -> b
happyDontSeq


type Err = Either String

happyError :: [Token] -> Err a
happyError :: [Token] -> Err a
happyError [Token]
ts = String -> Err a
forall a b. a -> Either a b
Left (String -> Err a) -> String -> Err a
forall a b. (a -> b) -> a -> b
$
  String
"syntax error at " String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Token] -> String
tokenPos [Token]
ts String -> String -> String
forall a. [a] -> [a] -> [a]
++
  case [Token]
ts of
    []      -> []
    [Err Posn
_] -> String
" due to lexer error"
    Token
t:[Token]
_     -> String
" before `" String -> String -> String
forall a. [a] -> [a] -> [a]
++ (Token -> String
prToken Token
t) String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"'"

myLexer :: String -> [Token]
myLexer :: String -> [Token]
myLexer = String -> [Token]
tokens

-- Entrypoints

pGrammar :: [Token] -> Err BNFC.Abs.Grammar
pGrammar :: [Token] -> Err Grammar
pGrammar = ((BNFC'Position, Grammar) -> Grammar)
-> Err (BNFC'Position, Grammar) -> Err Grammar
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, Grammar) -> Grammar
forall a b. (a, b) -> b
snd (Err (BNFC'Position, Grammar) -> Err Grammar)
-> ([Token] -> Err (BNFC'Position, Grammar))
-> [Token]
-> Err Grammar
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, Grammar)
pGrammar_internal

pListDef :: [Token] -> Err [BNFC.Abs.Def]
pListDef :: [Token] -> Err [Def]
pListDef = ((BNFC'Position, [Def]) -> [Def])
-> Err (BNFC'Position, [Def]) -> Err [Def]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, [Def]) -> [Def]
forall a b. (a, b) -> b
snd (Err (BNFC'Position, [Def]) -> Err [Def])
-> ([Token] -> Err (BNFC'Position, [Def])) -> [Token] -> Err [Def]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, [Def])
pListDef_internal

pDef :: [Token] -> Err BNFC.Abs.Def
pDef :: [Token] -> Err Def
pDef = ((BNFC'Position, Def) -> Def)
-> Err (BNFC'Position, Def) -> Err Def
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, Def) -> Def
forall a b. (a, b) -> b
snd (Err (BNFC'Position, Def) -> Err Def)
-> ([Token] -> Err (BNFC'Position, Def)) -> [Token] -> Err Def
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, Def)
pDef_internal

pItem :: [Token] -> Err BNFC.Abs.Item
pItem :: [Token] -> Err Item
pItem = ((BNFC'Position, Item) -> Item)
-> Err (BNFC'Position, Item) -> Err Item
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, Item) -> Item
forall a b. (a, b) -> b
snd (Err (BNFC'Position, Item) -> Err Item)
-> ([Token] -> Err (BNFC'Position, Item)) -> [Token] -> Err Item
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, Item)
pItem_internal

pListItem :: [Token] -> Err [BNFC.Abs.Item]
pListItem :: [Token] -> Err [Item]
pListItem = ((BNFC'Position, [Item]) -> [Item])
-> Err (BNFC'Position, [Item]) -> Err [Item]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, [Item]) -> [Item]
forall a b. (a, b) -> b
snd (Err (BNFC'Position, [Item]) -> Err [Item])
-> ([Token] -> Err (BNFC'Position, [Item]))
-> [Token]
-> Err [Item]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, [Item])
pListItem_internal

pCat :: [Token] -> Err BNFC.Abs.Cat
pCat :: [Token] -> Err Cat
pCat = ((BNFC'Position, Cat) -> Cat)
-> Err (BNFC'Position, Cat) -> Err Cat
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, Cat) -> Cat
forall a b. (a, b) -> b
snd (Err (BNFC'Position, Cat) -> Err Cat)
-> ([Token] -> Err (BNFC'Position, Cat)) -> [Token] -> Err Cat
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, Cat)
pCat_internal

pListCat :: [Token] -> Err [BNFC.Abs.Cat]
pListCat :: [Token] -> Err [Cat]
pListCat = ((BNFC'Position, [Cat]) -> [Cat])
-> Err (BNFC'Position, [Cat]) -> Err [Cat]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, [Cat]) -> [Cat]
forall a b. (a, b) -> b
snd (Err (BNFC'Position, [Cat]) -> Err [Cat])
-> ([Token] -> Err (BNFC'Position, [Cat])) -> [Token] -> Err [Cat]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, [Cat])
pListCat_internal

pLabel :: [Token] -> Err BNFC.Abs.Label
pLabel :: [Token] -> Err Label
pLabel = ((BNFC'Position, Label) -> Label)
-> Err (BNFC'Position, Label) -> Err Label
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, Label) -> Label
forall a b. (a, b) -> b
snd (Err (BNFC'Position, Label) -> Err Label)
-> ([Token] -> Err (BNFC'Position, Label)) -> [Token] -> Err Label
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, Label)
pLabel_internal

pArg :: [Token] -> Err BNFC.Abs.Arg
pArg :: [Token] -> Err Arg
pArg = ((BNFC'Position, Arg) -> Arg)
-> Err (BNFC'Position, Arg) -> Err Arg
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, Arg) -> Arg
forall a b. (a, b) -> b
snd (Err (BNFC'Position, Arg) -> Err Arg)
-> ([Token] -> Err (BNFC'Position, Arg)) -> [Token] -> Err Arg
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, Arg)
pArg_internal

pListArg :: [Token] -> Err [BNFC.Abs.Arg]
pListArg :: [Token] -> Err [Arg]
pListArg = ((BNFC'Position, [Arg]) -> [Arg])
-> Err (BNFC'Position, [Arg]) -> Err [Arg]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, [Arg]) -> [Arg]
forall a b. (a, b) -> b
snd (Err (BNFC'Position, [Arg]) -> Err [Arg])
-> ([Token] -> Err (BNFC'Position, [Arg])) -> [Token] -> Err [Arg]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, [Arg])
pListArg_internal

pSeparation :: [Token] -> Err BNFC.Abs.Separation
pSeparation :: [Token] -> Err Separation
pSeparation = ((BNFC'Position, Separation) -> Separation)
-> Err (BNFC'Position, Separation) -> Err Separation
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, Separation) -> Separation
forall a b. (a, b) -> b
snd (Err (BNFC'Position, Separation) -> Err Separation)
-> ([Token] -> Err (BNFC'Position, Separation))
-> [Token]
-> Err Separation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, Separation)
pSeparation_internal

pListString :: [Token] -> Err [String]
pListString :: [Token] -> Err [String]
pListString = ((BNFC'Position, [String]) -> [String])
-> Err (BNFC'Position, [String]) -> Err [String]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, [String]) -> [String]
forall a b. (a, b) -> b
snd (Err (BNFC'Position, [String]) -> Err [String])
-> ([Token] -> Err (BNFC'Position, [String]))
-> [Token]
-> Err [String]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, [String])
pListString_internal

pExp :: [Token] -> Err BNFC.Abs.Exp
pExp :: [Token] -> Err Exp
pExp = ((BNFC'Position, Exp) -> Exp)
-> Err (BNFC'Position, Exp) -> Err Exp
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, Exp) -> Exp
forall a b. (a, b) -> b
snd (Err (BNFC'Position, Exp) -> Err Exp)
-> ([Token] -> Err (BNFC'Position, Exp)) -> [Token] -> Err Exp
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, Exp)
pExp_internal

pExp1 :: [Token] -> Err BNFC.Abs.Exp
pExp1 :: [Token] -> Err Exp
pExp1 = ((BNFC'Position, Exp) -> Exp)
-> Err (BNFC'Position, Exp) -> Err Exp
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, Exp) -> Exp
forall a b. (a, b) -> b
snd (Err (BNFC'Position, Exp) -> Err Exp)
-> ([Token] -> Err (BNFC'Position, Exp)) -> [Token] -> Err Exp
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, Exp)
pExp1_internal

pExp2 :: [Token] -> Err BNFC.Abs.Exp
pExp2 :: [Token] -> Err Exp
pExp2 = ((BNFC'Position, Exp) -> Exp)
-> Err (BNFC'Position, Exp) -> Err Exp
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, Exp) -> Exp
forall a b. (a, b) -> b
snd (Err (BNFC'Position, Exp) -> Err Exp)
-> ([Token] -> Err (BNFC'Position, Exp)) -> [Token] -> Err Exp
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, Exp)
pExp2_internal

pListExp :: [Token] -> Err [BNFC.Abs.Exp]
pListExp :: [Token] -> Err [Exp]
pListExp = ((BNFC'Position, [Exp]) -> [Exp])
-> Err (BNFC'Position, [Exp]) -> Err [Exp]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, [Exp]) -> [Exp]
forall a b. (a, b) -> b
snd (Err (BNFC'Position, [Exp]) -> Err [Exp])
-> ([Token] -> Err (BNFC'Position, [Exp])) -> [Token] -> Err [Exp]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, [Exp])
pListExp_internal

pListExp2 :: [Token] -> Err [BNFC.Abs.Exp]
pListExp2 :: [Token] -> Err [Exp]
pListExp2 = ((BNFC'Position, [Exp]) -> [Exp])
-> Err (BNFC'Position, [Exp]) -> Err [Exp]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, [Exp]) -> [Exp]
forall a b. (a, b) -> b
snd (Err (BNFC'Position, [Exp]) -> Err [Exp])
-> ([Token] -> Err (BNFC'Position, [Exp])) -> [Token] -> Err [Exp]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, [Exp])
pListExp2_internal

pRHS :: [Token] -> Err BNFC.Abs.RHS
pRHS :: [Token] -> Err RHS
pRHS = ((BNFC'Position, RHS) -> RHS)
-> Err (BNFC'Position, RHS) -> Err RHS
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, RHS) -> RHS
forall a b. (a, b) -> b
snd (Err (BNFC'Position, RHS) -> Err RHS)
-> ([Token] -> Err (BNFC'Position, RHS)) -> [Token] -> Err RHS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, RHS)
pRHS_internal

pListRHS :: [Token] -> Err [BNFC.Abs.RHS]
pListRHS :: [Token] -> Err [RHS]
pListRHS = ((BNFC'Position, [RHS]) -> [RHS])
-> Err (BNFC'Position, [RHS]) -> Err [RHS]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, [RHS]) -> [RHS]
forall a b. (a, b) -> b
snd (Err (BNFC'Position, [RHS]) -> Err [RHS])
-> ([Token] -> Err (BNFC'Position, [RHS])) -> [Token] -> Err [RHS]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, [RHS])
pListRHS_internal

pMinimumSize :: [Token] -> Err BNFC.Abs.MinimumSize
pMinimumSize :: [Token] -> Err MinimumSize
pMinimumSize = ((BNFC'Position, MinimumSize) -> MinimumSize)
-> Err (BNFC'Position, MinimumSize) -> Err MinimumSize
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, MinimumSize) -> MinimumSize
forall a b. (a, b) -> b
snd (Err (BNFC'Position, MinimumSize) -> Err MinimumSize)
-> ([Token] -> Err (BNFC'Position, MinimumSize))
-> [Token]
-> Err MinimumSize
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, MinimumSize)
pMinimumSize_internal

pReg :: [Token] -> Err BNFC.Abs.Reg
pReg :: [Token] -> Err Reg
pReg = ((BNFC'Position, Reg) -> Reg)
-> Err (BNFC'Position, Reg) -> Err Reg
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (Err (BNFC'Position, Reg) -> Err Reg)
-> ([Token] -> Err (BNFC'Position, Reg)) -> [Token] -> Err Reg
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, Reg)
pReg_internal

pReg1 :: [Token] -> Err BNFC.Abs.Reg
pReg1 :: [Token] -> Err Reg
pReg1 = ((BNFC'Position, Reg) -> Reg)
-> Err (BNFC'Position, Reg) -> Err Reg
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (Err (BNFC'Position, Reg) -> Err Reg)
-> ([Token] -> Err (BNFC'Position, Reg)) -> [Token] -> Err Reg
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, Reg)
pReg1_internal

pReg2 :: [Token] -> Err BNFC.Abs.Reg
pReg2 :: [Token] -> Err Reg
pReg2 = ((BNFC'Position, Reg) -> Reg)
-> Err (BNFC'Position, Reg) -> Err Reg
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (Err (BNFC'Position, Reg) -> Err Reg)
-> ([Token] -> Err (BNFC'Position, Reg)) -> [Token] -> Err Reg
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, Reg)
pReg2_internal

pReg3 :: [Token] -> Err BNFC.Abs.Reg
pReg3 :: [Token] -> Err Reg
pReg3 = ((BNFC'Position, Reg) -> Reg)
-> Err (BNFC'Position, Reg) -> Err Reg
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (BNFC'Position, Reg) -> Reg
forall a b. (a, b) -> b
snd (Err (BNFC'Position, Reg) -> Err Reg)
-> ([Token] -> Err (BNFC'Position, Reg)) -> [Token] -> Err Reg
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Token] -> Err (BNFC'Position, Reg)
pReg3_internal
{-# LINE 1 "templates/GenericTemplate.hs" #-}
-- $Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp $













-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.
#if __GLASGOW_HASKELL__ > 706
#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Prelude.Bool)
#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Prelude.Bool)
#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Prelude.Bool)
#else
#define LT(n,m) (n Happy_GHC_Exts.<# m)
#define GTE(n,m) (n Happy_GHC_Exts.>=# m)
#define EQ(n,m) (n Happy_GHC_Exts.==# m)
#endif



















data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList








































infixr 9 `HappyStk`
data HappyStk a = HappyStk a (HappyStk a)

-----------------------------------------------------------------------------
-- starting the parse

happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll

-----------------------------------------------------------------------------
-- Accepting the parse

-- If the current token is ERROR_TOK, it means we've just accepted a partial
-- parse (a %partial parser).  We must ignore the saved token on the top of
-- the stack in this case.
happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =
        happyReturn1 ans
happyAccept j tk st sts (HappyStk ans _) = 
        (happyTcHack j (happyTcHack st)) (happyReturn1 ans)

-----------------------------------------------------------------------------
-- Arrays only: do the next action



happyDoAction i tk st
        = {- nothing -}
          case action of
                0#           -> {- nothing -}
                                     happyFail (happyExpListPerState ((Happy_GHC_Exts.I# (st)) :: Prelude.Int)) i tk st
                -1#          -> {- nothing -}
                                     happyAccept i tk st
                n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}
                                                   (happyReduceArr Happy_Data_Array.! rule) i tk st
                                                   where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))
                n                 -> {- nothing -}
                                     happyShift new_state i tk st
                                     where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))
   where off    = happyAdjustOffset (indexShortOffAddr happyActOffsets st)
         off_i  = (off Happy_GHC_Exts.+# i)
         check  = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#))
                  then EQ(indexShortOffAddr happyCheck off_i, i)
                  else Prelude.False
         action
          | check     = indexShortOffAddr happyTable off_i
          | Prelude.otherwise = indexShortOffAddr happyDefActions st




indexShortOffAddr (HappyA# arr) off =
        Happy_GHC_Exts.narrow16Int# i
  where
        i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)
        high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))
        low  = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))
        off' = off Happy_GHC_Exts.*# 2#




{-# INLINE happyLt #-}
happyLt x y = LT(x,y)


readArrayBit arr bit =
    Bits.testBit (Happy_GHC_Exts.I# (indexShortOffAddr arr ((unbox_int bit) `Happy_GHC_Exts.iShiftRA#` 4#))) (bit `Prelude.mod` 16)
  where unbox_int (Happy_GHC_Exts.I# x) = x






data HappyAddr = HappyA# Happy_GHC_Exts.Addr#


-----------------------------------------------------------------------------
-- HappyState data type (not arrays)













-----------------------------------------------------------------------------
-- Shifting a token

happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =
     let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in
--     trace "shifting the error token" $
     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)

happyShift new_state i tk st sts stk =
     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)

-- happyReduce is specialised for the common cases.

happySpecReduce_0 i fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happySpecReduce_0 nt fn j tk st@((action)) sts stk
     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)

happySpecReduce_1 i fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')
     = let r = fn v1 in
       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))

happySpecReduce_2 i fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')
     = let r = fn v1 v2 in
       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))

happySpecReduce_3 i fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')
     = let r = fn v1 v2 v3 in
       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))

happyReduce k i fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happyReduce k nt fn j tk st sts stk
     = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of
         sts1@((HappyCons (st1@(action)) (_))) ->
                let r = fn stk in  -- it doesn't hurt to always seq here...
                happyDoSeq r (happyGoto nt j tk st1 sts1 r)

happyMonadReduce k nt fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happyMonadReduce k nt fn j tk st sts stk =
      case happyDrop k (HappyCons (st) (sts)) of
        sts1@((HappyCons (st1@(action)) (_))) ->
          let drop_stk = happyDropStk k stk in
          happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))

happyMonad2Reduce k nt fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happyMonad2Reduce k nt fn j tk st sts stk =
      case happyDrop k (HappyCons (st) (sts)) of
        sts1@((HappyCons (st1@(action)) (_))) ->
         let drop_stk = happyDropStk k stk

             off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st1)
             off_i = (off Happy_GHC_Exts.+# nt)
             new_state = indexShortOffAddr happyTable off_i




          in
          happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))

happyDrop 0# l = l
happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t

happyDropStk 0# l = l
happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs

-----------------------------------------------------------------------------
-- Moving to a new state after a reduction


happyGoto nt j tk st = 
   {- nothing -}
   happyDoAction j tk new_state
   where off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st)
         off_i = (off Happy_GHC_Exts.+# nt)
         new_state = indexShortOffAddr happyTable off_i




-----------------------------------------------------------------------------
-- Error recovery (ERROR_TOK is the error token)

-- parse error if we are in recovery and we fail again
happyFail explist 0# tk old_st _ stk@(x `HappyStk` _) =
     let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in
--      trace "failing" $ 
        happyError_ explist i tk

{-  We don't need state discarding for our restricted implementation of
    "error".  In fact, it can cause some bogus parses, so I've disabled it
    for now --SDM

-- discard a state
happyFail  ERROR_TOK tk old_st CONS(HAPPYSTATE(action),sts) 
                                                (saved_tok `HappyStk` _ `HappyStk` stk) =
--      trace ("discarding state, depth " ++ show (length stk))  $
        DO_ACTION(action,ERROR_TOK,tk,sts,(saved_tok`HappyStk`stk))
-}

-- Enter error recovery: generate an error token,
--                       save the old token and carry on.
happyFail explist i tk (action) sts stk =
--      trace "entering error recovery" $
        happyDoAction 0# tk action sts ((Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)

-- Internal happy errors:

notHappyAtAll :: a
notHappyAtAll = Prelude.error "Internal Happy error\n"

-----------------------------------------------------------------------------
-- Hack to get the typechecker to accept our action functions


happyTcHack :: Happy_GHC_Exts.Int# -> a -> a
happyTcHack x y = y
{-# INLINE happyTcHack #-}


-----------------------------------------------------------------------------
-- Seq-ing.  If the --strict flag is given, then Happy emits 
--      happySeq = happyDoSeq
-- otherwise it emits
--      happySeq = happyDontSeq

happyDoSeq, happyDontSeq :: a -> b -> b
happyDoSeq   a b = a `Prelude.seq` b
happyDontSeq a b = b

-----------------------------------------------------------------------------
-- Don't inline any functions from the template.  GHC has a nasty habit
-- of deciding to inline happyGoto everywhere, which increases the size of
-- the generated parser quite a bit.


{-# NOINLINE happyDoAction #-}
{-# NOINLINE happyTable #-}
{-# NOINLINE happyCheck #-}
{-# NOINLINE happyActOffsets #-}
{-# NOINLINE happyGotoOffsets #-}
{-# NOINLINE happyDefActions #-}

{-# NOINLINE happyShift #-}
{-# NOINLINE happySpecReduce_0 #-}
{-# NOINLINE happySpecReduce_1 #-}
{-# NOINLINE happySpecReduce_2 #-}
{-# NOINLINE happySpecReduce_3 #-}
{-# NOINLINE happyReduce #-}
{-# NOINLINE happyMonadReduce #-}
{-# NOINLINE happyGoto #-}
{-# NOINLINE happyFail #-}

-- end of Happy Template.