{-# OPTIONS_GHC -w #-}
{-# LANGUAGE CPP #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE PatternGuards #-}
{-# LANGUAGE NoStrictData #-}
{-# LANGUAGE UnboxedTuples #-}
{-# LANGUAGE PartialTypeSignatures #-}
#if __GLASGOW_HASKELL__ >= 710
{-# LANGUAGE PartialTypeSignatures #-}
#endif
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE ViewPatterns               #-}
module Language.Cimple.TreeParser (parseTranslationUnit) where

import           Data.Fix                      (Fix (..))
import           Data.Maybe                    (maybeToList)
import           Data.Text                     (Text)
import qualified Data.Text                     as Text
import           Language.Cimple.Ast           (CommentStyle (..), Node,
                                                NodeF (..))
import           Language.Cimple.CommentParser (parseComment)
import           Language.Cimple.DescribeAst   (describeNode, sloc)
import           Language.Cimple.Lexer         (Lexeme (..))
import           Language.Cimple.ParseResult   (ParseResult)
import           Language.Cimple.Tokens        (LexemeClass (..))
import qualified Data.Function as Happy_Prelude
import qualified Data.Bool as Happy_Prelude
import qualified Data.Function as Happy_Prelude
import qualified Data.Maybe as Happy_Prelude
import qualified Data.Int as Happy_Prelude
import qualified Data.String as Happy_Prelude
import qualified Data.List as Happy_Prelude
import qualified Control.Monad as Happy_Prelude
import qualified Text.Show as Happy_Prelude
import qualified GHC.Num as Happy_Prelude
import qualified GHC.Err as Happy_Prelude
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 2.1.3

newtype HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 = HappyAbsSyn HappyAny
#if __GLASGOW_HASKELL__ >= 607
type HappyAny = Happy_GHC_Exts.Any
#else
type HappyAny = forall a . a
#endif
newtype HappyWrap7 = HappyWrap7 ([NonTerm])
happyIn7 :: ([NonTerm]) -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn7 :: [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn7 [NonTerm]
x = HappyWrap7 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# ([NonTerm] -> HappyWrap7
HappyWrap7 [NonTerm]
x)
{-# INLINE happyIn7 #-}
happyOut7 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> HappyWrap7
happyOut7 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap7
happyOut7 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap7
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut7 #-}
newtype HappyWrap8 = HappyWrap8 (NonTerm)
happyIn8 :: (NonTerm) -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn8 :: NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn8 NonTerm
x = HappyWrap8 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# (NonTerm -> HappyWrap8
HappyWrap8 NonTerm
x)
{-# INLINE happyIn8 #-}
happyOut8 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> HappyWrap8
happyOut8 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap8
happyOut8 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap8
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut8 #-}
newtype HappyWrap9 = HappyWrap9 (Maybe NonTerm)
happyIn9 :: (Maybe NonTerm) -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn9 :: Maybe NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn9 Maybe NonTerm
x = HappyWrap9 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# (Maybe NonTerm -> HappyWrap9
HappyWrap9 Maybe NonTerm
x)
{-# INLINE happyIn9 #-}
happyOut9 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> HappyWrap9
happyOut9 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap9
happyOut9 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap9
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut9 #-}
newtype HappyWrap10 = HappyWrap10 ([NonTerm])
happyIn10 :: ([NonTerm]) -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn10 :: [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn10 [NonTerm]
x = HappyWrap10 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# ([NonTerm] -> HappyWrap10
HappyWrap10 [NonTerm]
x)
{-# INLINE happyIn10 #-}
happyOut10 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> HappyWrap10
happyOut10 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap10
happyOut10 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap10
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut10 #-}
newtype HappyWrap11 = HappyWrap11 ([NonTerm])
happyIn11 :: ([NonTerm]) -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn11 :: [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn11 [NonTerm]
x = HappyWrap11 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# ([NonTerm] -> HappyWrap11
HappyWrap11 [NonTerm]
x)
{-# INLINE happyIn11 #-}
happyOut11 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> HappyWrap11
happyOut11 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap11
happyOut11 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap11
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut11 #-}
newtype HappyWrap12 = HappyWrap12 (Maybe NonTerm)
happyIn12 :: (Maybe NonTerm) -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn12 :: Maybe NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn12 Maybe NonTerm
x = HappyWrap12 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# (Maybe NonTerm -> HappyWrap12
HappyWrap12 Maybe NonTerm
x)
{-# INLINE happyIn12 #-}
happyOut12 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> HappyWrap12
happyOut12 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap12
happyOut12 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap12
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut12 #-}
newtype HappyWrap13 = HappyWrap13 (NonTerm)
happyIn13 :: (NonTerm) -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn13 :: NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn13 NonTerm
x = HappyWrap13 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# (NonTerm -> HappyWrap13
HappyWrap13 NonTerm
x)
{-# INLINE happyIn13 #-}
happyOut13 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> HappyWrap13
happyOut13 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap13
happyOut13 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap13
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut13 #-}
newtype HappyWrap14 = HappyWrap14 ([NonTerm])
happyIn14 :: ([NonTerm]) -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn14 :: [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn14 [NonTerm]
x = HappyWrap14 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# ([NonTerm] -> HappyWrap14
HappyWrap14 [NonTerm]
x)
{-# INLINE happyIn14 #-}
happyOut14 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> HappyWrap14
happyOut14 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap14
happyOut14 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap14
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut14 #-}
newtype HappyWrap15 = HappyWrap15 (NonTerm)
happyIn15 :: (NonTerm) -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn15 :: NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn15 NonTerm
x = HappyWrap15 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# (NonTerm -> HappyWrap15
HappyWrap15 NonTerm
x)
{-# INLINE happyIn15 #-}
happyOut15 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> HappyWrap15
happyOut15 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap15
happyOut15 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap15
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut15 #-}
newtype HappyWrap16 = HappyWrap16 (NonTerm)
happyIn16 :: (NonTerm) -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn16 :: NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn16 NonTerm
x = HappyWrap16 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# (NonTerm -> HappyWrap16
HappyWrap16 NonTerm
x)
{-# INLINE happyIn16 #-}
happyOut16 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> HappyWrap16
happyOut16 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap16
happyOut16 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap16
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut16 #-}
newtype HappyWrap17 = HappyWrap17 ([NonTerm])
happyIn17 :: ([NonTerm]) -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn17 :: [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn17 [NonTerm]
x = HappyWrap17 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# ([NonTerm] -> HappyWrap17
HappyWrap17 [NonTerm]
x)
{-# INLINE happyIn17 #-}
happyOut17 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> HappyWrap17
happyOut17 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap17
happyOut17 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap17
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut17 #-}
newtype HappyWrap18 = HappyWrap18 (NonTerm)
happyIn18 :: (NonTerm) -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn18 :: NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn18 NonTerm
x = HappyWrap18 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# (NonTerm -> HappyWrap18
HappyWrap18 NonTerm
x)
{-# INLINE happyIn18 #-}
happyOut18 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> HappyWrap18
happyOut18 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap18
happyOut18 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap18
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut18 #-}
newtype HappyWrap19 = HappyWrap19 (NonTerm)
happyIn19 :: (NonTerm) -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn19 :: NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19 NonTerm
x = HappyWrap19 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# (NonTerm -> HappyWrap19
HappyWrap19 NonTerm
x)
{-# INLINE happyIn19 #-}
happyOut19 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> HappyWrap19
happyOut19 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap19
happyOut19 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap19
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut19 #-}
happyIn20 :: t20 -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn20 :: t20 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn20 t20
x = t20 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# t20
x
{-# INLINE happyIn20 #-}
happyOut20 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> t20
happyOut20 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t20
happyOut20 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t20
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut20 #-}
happyIn21 :: t21 -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn21 :: t21 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn21 t21
x = t21 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# t21
x
{-# INLINE happyIn21 #-}
happyOut21 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> t21
happyOut21 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t21
happyOut21 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t21
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut21 #-}
happyIn22 :: t22 -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn22 :: t22 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn22 t22
x = t22 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# t22
x
{-# INLINE happyIn22 #-}
happyOut22 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> t22
happyOut22 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t22
happyOut22 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t22
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut22 #-}
happyIn23 :: t23 -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn23 :: t23 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn23 t23
x = t23 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# t23
x
{-# INLINE happyIn23 #-}
happyOut23 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> t23
happyOut23 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t23
happyOut23 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t23
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut23 #-}
happyIn24 :: t24 -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn24 :: t24 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn24 t24
x = t24 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# t24
x
{-# INLINE happyIn24 #-}
happyOut24 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> t24
happyOut24 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t24
happyOut24 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t24
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut24 #-}
happyIn25 :: t25 -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn25 :: t25 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn25 t25
x = t25 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# t25
x
{-# INLINE happyIn25 #-}
happyOut25 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> t25
happyOut25 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t25
happyOut25 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t25
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut25 #-}
happyIn26 :: t26 -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn26 :: t26 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn26 t26
x = t26 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# t26
x
{-# INLINE happyIn26 #-}
happyOut26 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> t26
happyOut26 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t26
happyOut26 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t26
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut26 #-}
happyIn27 :: t27 -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn27 :: t27 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn27 t27
x = t27 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# t27
x
{-# INLINE happyIn27 #-}
happyOut27 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> t27
happyOut27 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t27
happyOut27 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t27
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut27 #-}
happyIn28 :: t28 -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyIn28 :: t28 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn28 t28
x = t28 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# t28
x
{-# INLINE happyIn28 #-}
happyOut28 :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> t28
happyOut28 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t28
happyOut28 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t28
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOut28 #-}
happyInTok :: (NonTerm) -> (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyInTok :: NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyInTok NonTerm
x = NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
Happy_GHC_Exts.unsafeCoerce# NonTerm
x
{-# INLINE happyInTok #-}
happyOutTok :: (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28) -> (NonTerm)
happyOutTok :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x = HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
x
{-# INLINE happyOutTok #-}


{-# NOINLINE happyTokenStrings #-}
happyTokenStrings :: [[Char]]
happyTokenStrings = [[Char]
"ifndefDefine",[Char]
"ifdefDefine",[Char]
"ifDefine",[Char]
"docComment",[Char]
"localIncludeBlock",[Char]
"sysIncludeBlock",[Char]
"localInclude",[Char]
"sysInclude",[Char]
"preprocDefine",[Char]
"preprocDefineConst",[Char]
"preprocDefineMacro",[Char]
"preprocIf",[Char]
"preprocIfdef",[Char]
"preprocIfndef",[Char]
"preprocElse",[Char]
"preprocElif",[Char]
"preprocUndef",[Char]
"preprocDefined",[Char]
"preprocScopedDefine",[Char]
"macroBodyStmt",[Char]
"macroBodyFunCall",[Char]
"macroParam",[Char]
"staticAssert",[Char]
"licenseDecl",[Char]
"copyrightDecl",[Char]
"commentSectionStart",[Char]
"commentSectionEnd",[Char]
"comment",[Char]
"commented",[Char]
"externC",[Char]
"compoundStmt",[Char]
"break",[Char]
"goto",[Char]
"continue",[Char]
"return",[Char]
"switchStmt",[Char]
"ifStmt",[Char]
"forStmt",[Char]
"whileStmt",[Char]
"doWhileStmt",[Char]
"case",[Char]
"default",[Char]
"label",[Char]
"exprStmt",[Char]
"vLA",[Char]
"varDeclStmt",[Char]
"varDecl",[Char]
"declSpecArray",[Char]
"initialiserList",[Char]
"unaryExpr",[Char]
"binaryExpr",[Char]
"ternaryExpr",[Char]
"assignExpr",[Char]
"parenExpr",[Char]
"castExpr",[Char]
"compoundLiteral",[Char]
"sizeofExpr",[Char]
"sizeofType",[Char]
"literalExpr",[Char]
"varExpr",[Char]
"memberAccess",[Char]
"pointerAccess",[Char]
"arrayAccess",[Char]
"functionCall",[Char]
"commentExpr",[Char]
"enumConsts",[Char]
"enumDecl",[Char]
"enumerator",[Char]
"aggregateDecl",[Char]
"typedef",[Char]
"typedefFunction",[Char]
"struct",[Char]
"union",[Char]
"memberDecl",[Char]
"tyConst",[Char]
"tyPointer",[Char]
"tyStruct",[Char]
"tyFunc",[Char]
"tyStd",[Char]
"tyUserDefined",[Char]
"functionDecl",[Char]
"functionDefn",[Char]
"functionPrototype",[Char]
"ellipsis",[Char]
"nonNull",[Char]
"constDecl",[Char]
"constDefn",[Char]
"%eof"]

happyActOffsets :: HappyAddr
happyActOffsets :: HappyAddr
happyActOffsets = Addr# -> HappyAddr
HappyA# Addr#
"\x04\x00\x00\x00\xff\xff\xff\xff\x0e\x00\x00\x00\x0c\x00\x00\x00\x21\x00\x00\x00\xd5\xff\xff\xff\x96\x00\x00\x00\x00\x00\x00\x00\xd5\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd5\xff\xff\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x20\x00\x00\x00\x17\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x0b\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00"#

happyGotoOffsets :: HappyAddr
happyGotoOffsets :: HappyAddr
happyGotoOffsets = Addr# -> HappyAddr
HappyA# Addr#
"\x3f\x00\x00\x00\x43\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x00\x00\x32\x00\x00\x00\x59\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x54\x00\x00\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#

happyDefActions :: HappyAddr
happyDefActions :: HappyAddr
happyDefActions = Addr# -> HappyAddr
HappyA# Addr#
"\x00\x00\x00\x00\xcd\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\xff\xff\xff\xce\xff\xff\xff\x00\x00\x00\x00\xc1\xff\xff\xff\xe3\xff\xff\xff\xe6\xff\xff\xff\xcc\xff\xff\xff\xc8\xff\xff\xff\xf1\xff\xff\xff\xf0\xff\xff\xff\xef\xff\xff\xff\x00\x00\x00\x00\xd6\xff\xff\xff\xd5\xff\xff\xff\xd4\xff\xff\xff\xd3\xff\xff\xff\xd2\xff\xff\xff\xd1\xff\xff\xff\xd0\xff\xff\xff\xcd\xff\xff\xff\xe5\xff\xff\xff\xd7\xff\xff\xff\xd9\xff\xff\xff\xd8\xff\xff\xff\xde\xff\xff\xff\xdc\xff\xff\xff\xcf\xff\xff\xff\xdd\xff\xff\xff\xe1\xff\xff\xff\xe0\xff\xff\xff\xdf\xff\xff\xff\xdb\xff\xff\xff\xda\xff\xff\xff\x00\x00\x00\x00\xf3\xff\xff\xff\xfa\xff\xff\xff\xf9\xff\xff\xff\x00\x00\x00\x00\xc7\xff\xff\xff\xf2\xff\xff\xff\xcb\xff\xff\xff\xf3\xff\xff\xff\xf7\xff\xff\xff\x00\x00\x00\x00\xe2\xff\xff\xff\xc0\xff\xff\xff\xcd\xff\xff\xff\xc5\xff\xff\xff\xc3\xff\xff\xff\xec\xff\xff\xff\xed\xff\xff\xff\xca\xff\xff\xff\xc9\xff\xff\xff\xe9\xff\xff\xff\xe7\xff\xff\xff\xea\xff\xff\xff\xe8\xff\xff\xff\x00\x00\x00\x00\xfc\xff\xff\xff\xc2\xff\xff\xff\xc4\xff\xff\xff\xeb\xff\xff\xff\xf5\xff\xff\xff\xe4\xff\xff\xff\xf8\xff\xff\xff\xf6\xff\xff\xff\xfb\xff\xff\xff\xc6\xff\xff\xff\xee\xff\xff\xff\xcd\xff\xff\xff\xf4\xff\xff\xff"#

happyCheck :: HappyAddr
happyCheck :: HappyAddr
happyCheck = Addr# -> HappyAddr
HappyA# Addr#
"\xff\xff\xff\xff\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x0a\x00\x00\x00\x0b\x00\x00\x00\x0c\x00\x00\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x0f\x00\x00\x00\x06\x00\x00\x00\x06\x00\x00\x00\x06\x00\x00\x00\x0f\x00\x00\x00\x08\x00\x00\x00\x0b\x00\x00\x00\x0c\x00\x00\x00\x0c\x00\x00\x00\x18\x00\x00\x00\x0a\x00\x00\x00\x07\x00\x00\x00\x1b\x00\x00\x00\x09\x00\x00\x00\x1d\x00\x00\x00\x19\x00\x00\x00\x1f\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x19\x00\x00\x00\x05\x00\x00\x00\x0a\x00\x00\x00\x0b\x00\x00\x00\x0c\x00\x00\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x0f\x00\x00\x00\x01\x00\x00\x00\x59\x00\x00\x00\x0f\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x01\x00\x00\x00\x1d\x00\x00\x00\x18\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x08\x00\x00\x00\x0e\x00\x00\x00\x1c\x00\x00\x00\x1f\x00\x00\x00\x0f\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x03\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x12\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x0a\x00\x00\x00\x0b\x00\x00\x00\x0c\x00\x00\x00\x0d\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x08\x00\x00\x00\x11\x00\x00\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x15\x00\x00\x00\x06\x00\x00\x00\x0f\x00\x00\x00\x02\x00\x00\x00\x08\x00\x00\x00\x01\x00\x00\x00\x13\x00\x00\x00\x09\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\xff\xff\xff\xff\x46\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x06\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x00\x00\x0b\x00\x00\x00\x0c\x00\x00\x00\x0d\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\xff\xff\xff\xff\x11\x00\x00\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x15\x00\x00\x00\x06\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x00\x00\x0b\x00\x00\x00\x0c\x00\x00\x00\x0d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x00\x00\x06\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x15\x00\x00\x00\x0a\x00\x00\x00\x0b\x00\x00\x00\x0c\x00\x00\x00\x0d\x00\x00\x00\x07\x00\x00\x00\x08\x00\x00\x00\x09\x00\x00\x00\x11\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x15\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x13\x00\x00\x00\x14\x00\x00\x00\x07\x00\x00\x00\x08\x00\x00\x00\x09\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x00\x00\x09\x00\x00\x00\xff\xff\xff\xff\x0f\x00\x00\x00\x10\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x13\x00\x00\x00\x14\x00\x00\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\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\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\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x11\x00\x00\x00\x12\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x11\x00\x00\x00\x30\x00\x00\x00\x13\x00\x00\x00\x14\x00\x00\x00\x15\x00\x00\x00\x16\x00\x00\x00\x17\x00\x00\x00\x18\x00\x00\x00\x07\x00\x00\x00\x07\x00\x00\x00\x3c\x00\x00\x00\x31\x00\x00\x00\x3e\x00\x00\x00\x33\x00\x00\x00\x0a\x00\x00\x00\x32\x00\x00\x00\x19\x00\x00\x00\x07\x00\x00\x00\x3d\x00\x00\x00\x1a\x00\x00\x00\x3f\x00\x00\x00\x1b\x00\x00\x00\x29\x00\x00\x00\x1c\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x11\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x11\x00\x00\x00\x05\x00\x00\x00\x40\x00\x00\x00\x13\x00\x00\x00\x14\x00\x00\x00\x15\x00\x00\x00\x16\x00\x00\x00\x17\x00\x00\x00\x18\x00\x00\x00\x29\x00\x00\x00\xff\xff\xff\xff\x31\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x40\x00\x00\x00\x48\x00\x00\x00\x19\x00\x00\x00\x48\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x4b\x00\x00\x00\x2d\x00\x00\x00\x46\x00\x00\x00\x1c\x00\x00\x00\x31\x00\x00\x00\x2e\x00\x00\x00\x27\x00\x00\x00\x2d\x00\x00\x00\x05\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x2e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x07\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x11\x00\x00\x00\x08\x00\x00\x00\x09\x00\x00\x00\x0a\x00\x00\x00\x0b\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x35\x00\x00\x00\x0c\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x0d\x00\x00\x00\x49\x00\x00\x00\x43\x00\x00\x00\x46\x00\x00\x00\x42\x00\x00\x00\x40\x00\x00\x00\x39\x00\x00\x00\x41\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x09\x00\x00\x00\x0a\x00\x00\x00\x0b\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x0d\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x09\x00\x00\x00\x0a\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x4c\x00\x00\x00\x09\x00\x00\x00\x0a\x00\x00\x00\x0b\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x4b\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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#
   -> NonTerm
   -> Int#
   -> Happy_IntList
   -> HappyStk
        (HappyAbsSyn
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm])
   -> [NonTerm]
   -> ParseResult
        (HappyAbsSyn
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]))
happyReduceArr = (Int, Int)
-> [(Int,
     Int#
     -> NonTerm
     -> Int#
     -> Happy_IntList
     -> HappyStk
          (HappyAbsSyn
             [NonTerm]
             [NonTerm]
             [NonTerm]
             [NonTerm]
             [NonTerm]
             [NonTerm]
             [NonTerm]
             [NonTerm]
             [NonTerm])
     -> [NonTerm]
     -> ParseResult
          (HappyAbsSyn
             [NonTerm]
             [NonTerm]
             [NonTerm]
             [NonTerm]
             [NonTerm]
             [NonTerm]
             [NonTerm]
             [NonTerm]
             [NonTerm]))]
-> Array
     Int
     (Int#
      -> NonTerm
      -> Int#
      -> Happy_IntList
      -> HappyStk
           (HappyAbsSyn
              [NonTerm]
              [NonTerm]
              [NonTerm]
              [NonTerm]
              [NonTerm]
              [NonTerm]
              [NonTerm]
              [NonTerm]
              [NonTerm])
      -> [NonTerm]
      -> ParseResult
           (HappyAbsSyn
              [NonTerm]
              [NonTerm]
              [NonTerm]
              [NonTerm]
              [NonTerm]
              [NonTerm]
              [NonTerm]
              [NonTerm]
              [NonTerm]))
forall i e. Ix i => (i, i) -> [(i, e)] -> Array i e
Happy_Data_Array.array (Int
3, Int
63) [
        (Int
3 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_3),
        (Int
4 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_4),
        (Int
5 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_5),
        (Int
6 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_6),
        (Int
7 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_7),
        (Int
8 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_8),
        (Int
9 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_9),
        (Int
10 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_10),
        (Int
11 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_11),
        (Int
12 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_12),
        (Int
13 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_13),
        (Int
14 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_14),
        (Int
15 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_15),
        (Int
16 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_16),
        (Int
17 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_17),
        (Int
18 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_18),
        (Int
19 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_19),
        (Int
20 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_20),
        (Int
21 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_21),
        (Int
22 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_22),
        (Int
23 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_23),
        (Int
24 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_24),
        (Int
25 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_25),
        (Int
26 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_26),
        (Int
27 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_27),
        (Int
28 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_28),
        (Int
29 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_29),
        (Int
30 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_30),
        (Int
31 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_31),
        (Int
32 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_32),
        (Int
33 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_33),
        (Int
34 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_34),
        (Int
35 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_35),
        (Int
36 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_36),
        (Int
37 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_37),
        (Int
38 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_38),
        (Int
39 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_39),
        (Int
40 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_40),
        (Int
41 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_41),
        (Int
42 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_42),
        (Int
43 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_43),
        (Int
44 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_44),
        (Int
45 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_45),
        (Int
46 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_46),
        (Int
47 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_47),
        (Int
48 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_48),
        (Int
49 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_49),
        (Int
50 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_50),
        (Int
51 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_51),
        (Int
52 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_52),
        (Int
53 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_53),
        (Int
54 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_54),
        (Int
55 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_55),
        (Int
56 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_56),
        (Int
57 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_57),
        (Int
58 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_58),
        (Int
59 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_59),
        (Int
60 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_60),
        (Int
61 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_61),
        (Int
62 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_62),
        (Int
63 , Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_63)
        ]

happyRuleArr :: HappyAddr
happyRuleArr :: HappyAddr
happyRuleArr = Addr# -> HappyAddr
HappyA# Addr#
"\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x01\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x01\x00\x00\x00\x07\x00\x00\x00\x01\x00\x00\x00\x07\x00\x00\x00\x02\x00\x00\x00\x08\x00\x00\x00\x01\x00\x00\x00\x08\x00\x00\x00\x01\x00\x00\x00\x09\x00\x00\x00\x01\x00\x00\x00\x09\x00\x00\x00\x01\x00\x00\x00\x0a\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x03\x00\x00\x00\x0b\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x01\x00\x00\x00\x0e\x00\x00\x00\x01\x00\x00\x00\x0f\x00\x00\x00\x01\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x11\x00\x00\x00\x01\x00\x00\x00\x12\x00\x00\x00\x01\x00\x00\x00\x12\x00\x00\x00\x02\x00\x00\x00\x13\x00\x00\x00\x01\x00\x00\x00\x13\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x01\x00\x00\x00\x14\x00\x00\x00\x02\x00\x00\x00\x15\x00\x00\x00\x01\x00\x00\x00\x15\x00\x00\x00\x02\x00\x00\x00"#

happyCatchStates :: [Happy_Prelude.Int]
happyCatchStates :: [Int]
happyCatchStates = []

happy_n_terms :: Int
happy_n_terms = Int
90 :: Happy_Prelude.Int
happy_n_nonterms :: Int
happy_n_nonterms = Int
22 :: Happy_Prelude.Int

happy_n_starts :: Int
happy_n_starts = Int
3 :: Happy_Prelude.Int

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_3 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_3 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_3  Int#
0# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28 t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24
       t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_3
happyReduction_3 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_3 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_3
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2 of { NonTerm
happy_var_2 -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap8
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap8
happyOut8 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_3 of { (HappyWrap8 NonTerm
happy_var_3) -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
[NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn7
                 ([NonTerm
happy_var_1, NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> NodeF TextLexeme NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ NonTerm -> NonTerm -> NodeF TextLexeme NonTerm
forall lexeme a. a -> a -> NodeF lexeme a
Commented NonTerm
happy_var_2 NonTerm
happy_var_3]
        )}}}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_4 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_4 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_3  Int#
0# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28 t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24
       t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_4
happyReduction_4 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_4 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_3
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2 of { NonTerm
happy_var_2 -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap11
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap11
happyOut11 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_3 of { (HappyWrap11 [NonTerm]
happy_var_3) -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
[NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn7
                 (NonTerm
happy_var_1 NonTerm -> [NonTerm] -> [NonTerm]
forall k1. k1 -> [k1] -> [k1]
: (NonTerm -> NonTerm) -> [NonTerm] -> [NonTerm]
forall a. (a -> a) -> [a] -> [a]
mapHead (NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> (NonTerm -> NodeF TextLexeme NonTerm) -> NonTerm -> NonTerm
forall b c a. (b -> c) -> (a -> b) -> a -> c
. NonTerm -> NonTerm -> NodeF TextLexeme NonTerm
forall lexeme a. a -> a -> NodeF lexeme a
Commented NonTerm
happy_var_2) [NonTerm]
happy_var_3
        )}}}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_5 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_5 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_2  Int#
0# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28 t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_5
happyReduction_5 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_5 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap8
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap8
happyOut8 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2 of { (HappyWrap8 NonTerm
happy_var_2) -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
[NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn7
                 ([NonTerm
happy_var_1, NonTerm
happy_var_2]
        )}}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_6 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_6 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_2  Int#
0# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28 t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_6
happyReduction_6 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_6 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap11
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap11
happyOut11 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2 of { (HappyWrap11 [NonTerm]
happy_var_2) -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
[NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn7
                 (NonTerm
happy_var_1 NonTerm -> [NonTerm] -> [NonTerm]
forall k1. k1 -> [k1] -> [k1]
: [NonTerm]
happy_var_2
        )}}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_7 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_7 = Int#
-> Int#
-> (HappyStk
      (HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
    -> NonTerm
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyMonadReduce Int#
2# Int#
1# HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> NonTerm
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduction_7
happyReduction_7 :: HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> NonTerm
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduction_7 (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
happy_x_2 `HappyStk`
        HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
happy_x_1 `HappyStk`
        HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
happyRest) NonTerm
tk
         = ParseResult NonTerm
-> (NonTerm
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a b. ParseResult a -> (a -> ParseResult b) -> ParseResult b
happyThen ((case HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
happy_x_1 of { NonTerm
happy_var_1 -> 
        ( ([NonTerm] -> ParseResult [NonTerm])
-> NonTerm -> ParseResult NonTerm
recurse [NonTerm] -> ParseResult [NonTerm]
parseHeaderBody NonTerm
happy_var_1)})
        ) (\NonTerm
r -> HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. a -> ParseResult a
happyReturn (NonTerm
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn8 NonTerm
r))

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_8 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_8 = Int#
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_0  Int#
2# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_8
happyReduction_8 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_8  =  Maybe NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
Maybe NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn9
                 (Maybe NonTerm
forall k1. Maybe k1
Nothing
        )

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_9 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_9 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
2# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_9
happyReduction_9 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_9 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        Maybe NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
Maybe NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn9
                 (NonTerm -> Maybe NonTerm
forall k1. k1 -> Maybe k1
Just NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_10 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_10 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_3  Int#
3# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28 t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24
       t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_10
happyReduction_10 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_10 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_3
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap14
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap14
happyOut14 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2 of { (HappyWrap14 [NonTerm]
happy_var_2) -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap17
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap17
happyOut17 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_3 of { (HappyWrap17 [NonTerm]
happy_var_3) -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
[NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn10
                 (NonTerm
happy_var_1 NonTerm -> [NonTerm] -> [NonTerm]
forall k1. k1 -> [k1] -> [k1]
: [NonTerm]
happy_var_2 [NonTerm] -> [NonTerm] -> [NonTerm]
forall a. [a] -> [a] -> [a]
++ [NonTerm]
happy_var_3
        )}}}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_11 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_11 = Int#
-> Int#
-> (HappyStk
      (HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
    -> HappyStk
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce Int#
4# Int#
4# HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyStk (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
-> HappyStk (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyReduction_11
happyReduction_11 :: HappyStk (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
-> HappyStk (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyReduction_11 (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_4 `HappyStk`
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_3 `HappyStk`
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2 `HappyStk`
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 `HappyStk`
        HappyStk (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyRest)
         = case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap12
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap12
happyOut12 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { (HappyWrap12 Maybe NonTerm
happy_var_1) -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2 of { NonTerm
happy_var_2 -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap14
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap14
happyOut14 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_3 of { (HappyWrap14 [NonTerm]
happy_var_3) -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap17
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap17
happyOut17 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_4 of { (HappyWrap17 [NonTerm]
happy_var_4) -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
[NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn11
                 (Maybe NonTerm -> [NonTerm]
forall a. Maybe a -> [a]
maybeToList Maybe NonTerm
happy_var_1 [NonTerm] -> [NonTerm] -> [NonTerm]
forall a. [a] -> [a] -> [a]
++ [NonTerm
happy_var_2] [NonTerm] -> [NonTerm] -> [NonTerm]
forall a. [a] -> [a] -> [a]
++ [NonTerm]
happy_var_3 [NonTerm] -> [NonTerm] -> [NonTerm]
forall a. [a] -> [a] -> [a]
++ [NonTerm]
happy_var_4
        ) HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyStk (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
-> HappyStk (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyRest}}}}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_12 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_12 = Int#
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_0  Int#
5# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_12
happyReduction_12 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_12  =  Maybe NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
Maybe NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn12
                 (Maybe NonTerm
forall k1. Maybe k1
Nothing
        )

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_13 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_13 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
5# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25 t26
       t27 t28.
HappyAbsSyn t20 [NonTerm] t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_13
happyReduction_13 :: HappyAbsSyn t20 [NonTerm] t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_13 HappyAbsSyn t20 [NonTerm] t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 [NonTerm] t22 t23 t24 t25 t26 t27 t28 -> [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t21
happyOut21 HappyAbsSyn t20 [NonTerm] t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { [NonTerm]
happy_var_1 -> 
        Maybe NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
Maybe NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn12
                 (NonTerm -> Maybe NonTerm
forall k1. k1 -> Maybe k1
Just (NonTerm -> Maybe NonTerm) -> NonTerm -> Maybe NonTerm
forall a b. (a -> b) -> a -> b
$ NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> NodeF TextLexeme NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ [NonTerm] -> NodeF TextLexeme NonTerm
forall lexeme a. [a] -> NodeF lexeme a
Group [NonTerm]
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_14 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_14 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
6# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_14
happyReduction_14 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_14 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn13
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_15 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_15 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
6# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_15
happyReduction_15 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_15 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn13
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_16 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_16 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
6# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_16
happyReduction_16 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_16 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn13
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_17 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_17 = Int#
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_0  Int#
7# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_17
happyReduction_17 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_17  =  [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
[NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn14
                 ([]
        )

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_18 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_18 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
7# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25 t26
       t27 t28.
HappyAbsSyn t20 t21 t22 [NonTerm] t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_18
happyReduction_18 :: HappyAbsSyn t20 t21 t22 [NonTerm] t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_18 HappyAbsSyn t20 t21 t22 [NonTerm] t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 [NonTerm] t24 t25 t26 t27 t28 -> [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t23
happyOut23 HappyAbsSyn t20 t21 t22 [NonTerm] t24 t25 t26 t27 t28
happy_x_1 of { [NonTerm]
happy_var_1 -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
[NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn14
                 ([NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> NodeF TextLexeme NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ [NonTerm] -> NodeF TextLexeme NonTerm
forall lexeme a. [a] -> NodeF lexeme a
Group [NonTerm]
happy_var_1]
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_19 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_19 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
7# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25 t26
       t27 t28.
HappyAbsSyn t20 t21 [NonTerm] t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_19
happyReduction_19 :: HappyAbsSyn t20 t21 [NonTerm] t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_19 HappyAbsSyn t20 t21 [NonTerm] t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 [NonTerm] t23 t24 t25 t26 t27 t28 -> [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t22
happyOut22 HappyAbsSyn t20 t21 [NonTerm] t23 t24 t25 t26 t27 t28
happy_x_1 of { [NonTerm]
happy_var_1 -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
[NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn14
                 ([NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> NodeF TextLexeme NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ [NonTerm] -> NodeF TextLexeme NonTerm
forall lexeme a. [a] -> NodeF lexeme a
Group [NonTerm]
happy_var_1]
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_20 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_20 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_2  Int#
7# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t23 t24 t25 t26 t27 t28 t20 t21 t22 t24 t25 t26 t27
       t28 t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 [NonTerm] t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 [NonTerm] t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_20
happyReduction_20 :: HappyAbsSyn t20 t21 [NonTerm] t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 [NonTerm] t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_20 HappyAbsSyn t20 t21 [NonTerm] t23 t24 t25 t26 t27 t28
happy_x_2
        HappyAbsSyn t20 t21 t22 [NonTerm] t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 [NonTerm] t24 t25 t26 t27 t28 -> [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t23
happyOut23 HappyAbsSyn t20 t21 t22 [NonTerm] t24 t25 t26 t27 t28
happy_x_1 of { [NonTerm]
happy_var_1 -> 
        case HappyAbsSyn t20 t21 [NonTerm] t23 t24 t25 t26 t27 t28 -> [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t22
happyOut22 HappyAbsSyn t20 t21 [NonTerm] t23 t24 t25 t26 t27 t28
happy_x_2 of { [NonTerm]
happy_var_2 -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
[NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn14
                 ([NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> NodeF TextLexeme NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ [NonTerm] -> NodeF TextLexeme NonTerm
forall lexeme a. [a] -> NodeF lexeme a
Group [NonTerm]
happy_var_1, NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> NodeF TextLexeme NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ [NonTerm] -> NodeF TextLexeme NonTerm
forall lexeme a. [a] -> NodeF lexeme a
Group [NonTerm]
happy_var_2]
        )}}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_21 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_21 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
8# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_21
happyReduction_21 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_21 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn15
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_22 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_22 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
8# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_22
happyReduction_22 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_22 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn15
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_23 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_23 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
9# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_23
happyReduction_23 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_23 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn16
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_24 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_24 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
9# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_24
happyReduction_24 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_24 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn16
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_25 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_25 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
10# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25 t26
       t27 t28.
HappyAbsSyn [NonTerm] t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_25
happyReduction_25 :: HappyAbsSyn [NonTerm] t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_25 HappyAbsSyn [NonTerm] t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn [NonTerm] t21 t22 t23 t24 t25 t26 t27 t28 -> [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t20
happyOut20 HappyAbsSyn [NonTerm] t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { [NonTerm]
happy_var_1 -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
[NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn17
                 ([NonTerm]
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_26 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_26 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
11# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_26
happyReduction_26 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_26 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn18
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_27 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_27 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_3  Int#
11# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28 t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24
       t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_27
happyReduction_27 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_27 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_3
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap17
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap17
happyOut17 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2 of { (HappyWrap17 [NonTerm]
happy_var_2) -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_3 of { NonTerm
happy_var_3 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn18
                 (NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> NodeF TextLexeme NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ NonTerm -> [NonTerm] -> NonTerm -> NodeF TextLexeme NonTerm
forall lexeme a. a -> [a] -> a -> NodeF lexeme a
CommentSection NonTerm
happy_var_1 [NonTerm]
happy_var_2 NonTerm
happy_var_3
        )}}}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_28 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_28 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
11# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_28
happyReduction_28 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_28 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap19
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap19
happyOut19 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { (HappyWrap19 NonTerm
happy_var_1) -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn18
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_29 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_29 = Int#
-> Int#
-> (HappyStk
      (HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
    -> NonTerm
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyMonadReduce Int#
2# Int#
11# HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> NonTerm
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 p t20 t21 t22 t23 t24
       t25 t26 t27 t28.
HappyStk (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
-> p
-> ParseResult (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyReduction_29
happyReduction_29 :: HappyStk (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
-> p
-> ParseResult (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyReduction_29 (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2 `HappyStk`
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 `HappyStk`
        HappyStk (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
happyRest) p
tk
         = ParseResult NonTerm
-> (NonTerm
    -> ParseResult (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28))
-> ParseResult (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
forall a b. ParseResult a -> (a -> ParseResult b) -> ParseResult b
happyThen ((case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap19
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap19
happyOut19 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2 of { (HappyWrap19 NonTerm
happy_var_2) -> 
        ( (NonTerm -> NonTerm) -> ParseResult NonTerm -> ParseResult NonTerm
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\NonTerm
c -> NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> NodeF TextLexeme NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ NonTerm -> NonTerm -> NodeF TextLexeme NonTerm
forall lexeme a. a -> a -> NodeF lexeme a
Commented NonTerm
c NonTerm
happy_var_2) (ParseResult NonTerm -> ParseResult NonTerm)
-> ParseResult NonTerm -> ParseResult NonTerm
forall a b. (a -> b) -> a -> b
$ NonTerm -> ParseResult NonTerm
parseDocComment NonTerm
happy_var_1)}})
        ) (\NonTerm
r -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> ParseResult (HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28)
forall a. a -> ParseResult a
happyReturn (NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn18 NonTerm
r))

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_30 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_30 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_30
happyReduction_30 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_30 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_31 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_31 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_31
happyReduction_31 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_31 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_32 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_32 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_32
happyReduction_32 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_32 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_33 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_33 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_33
happyReduction_33 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_33 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_34 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_34 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_34
happyReduction_34 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_34 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_35 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_35 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_35
happyReduction_35 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_35 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_36 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_36 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_36
happyReduction_36 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_36 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_37 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_37 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_37
happyReduction_37 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_37 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_38 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_38 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_38
happyReduction_38 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_38 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_39 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_39 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_39
happyReduction_39 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_39 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_40 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_40 = Int#
-> Int#
-> (HappyStk
      (HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
    -> NonTerm
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyMonadReduce Int#
1# Int#
12# HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> NonTerm
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduction_40
happyReduction_40 :: HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> NonTerm
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduction_40 (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
happy_x_1 `HappyStk`
        HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
happyRest) NonTerm
tk
         = ParseResult NonTerm
-> (NonTerm
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a b. ParseResult a -> (a -> ParseResult b) -> ParseResult b
happyThen ((case HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
happy_x_1 of { NonTerm
happy_var_1 -> 
        ( ([NonTerm] -> ParseResult [NonTerm])
-> NonTerm -> ParseResult NonTerm
recurse [NonTerm] -> ParseResult [NonTerm]
parseDecls NonTerm
happy_var_1)})
        ) (\NonTerm
r -> HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. a -> ParseResult a
happyReturn (NonTerm
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19 NonTerm
r))

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_41 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_41 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_41
happyReduction_41 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_41 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_42 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_42 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_42
happyReduction_42 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_42 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_43 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_43 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_43
happyReduction_43 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_43 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_44 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_44 = Int#
-> Int#
-> (HappyStk
      (HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
    -> NonTerm
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyMonadReduce Int#
1# Int#
12# HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> NonTerm
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduction_44
happyReduction_44 :: HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> NonTerm
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduction_44 (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
happy_x_1 `HappyStk`
        HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
happyRest) NonTerm
tk
         = ParseResult NonTerm
-> (NonTerm
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a b. ParseResult a -> (a -> ParseResult b) -> ParseResult b
happyThen ((case HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
happy_x_1 of { NonTerm
happy_var_1 -> 
        ( ([NonTerm] -> ParseResult [NonTerm])
-> NonTerm -> ParseResult NonTerm
recurse [NonTerm] -> ParseResult [NonTerm]
parseDecls NonTerm
happy_var_1)})
        ) (\NonTerm
r -> HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. a -> ParseResult a
happyReturn (NonTerm
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19 NonTerm
r))

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_45 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_45 = Int#
-> Int#
-> (HappyStk
      (HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
    -> NonTerm
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyMonadReduce Int#
1# Int#
12# HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> NonTerm
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduction_45
happyReduction_45 :: HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> NonTerm
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduction_45 (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
happy_x_1 `HappyStk`
        HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
happyRest) NonTerm
tk
         = ParseResult NonTerm
-> (NonTerm
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a b. ParseResult a -> (a -> ParseResult b) -> ParseResult b
happyThen ((case HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
happy_x_1 of { NonTerm
happy_var_1 -> 
        ( ([NonTerm] -> ParseResult [NonTerm])
-> NonTerm -> ParseResult NonTerm
recurse [NonTerm] -> ParseResult [NonTerm]
parseDecls NonTerm
happy_var_1)})
        ) (\NonTerm
r -> HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. a -> ParseResult a
happyReturn (NonTerm
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19 NonTerm
r))

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_46 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_46 = Int#
-> Int#
-> (HappyStk
      (HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
    -> NonTerm
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyMonadReduce Int#
1# Int#
12# HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> NonTerm
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduction_46
happyReduction_46 :: HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> NonTerm
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduction_46 (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
happy_x_1 `HappyStk`
        HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
happyRest) NonTerm
tk
         = ParseResult NonTerm
-> (NonTerm
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a b. ParseResult a -> (a -> ParseResult b) -> ParseResult b
happyThen ((case HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
happy_x_1 of { NonTerm
happy_var_1 -> 
        ( ([NonTerm] -> ParseResult [NonTerm])
-> NonTerm -> ParseResult NonTerm
recurse [NonTerm] -> ParseResult [NonTerm]
parseDecls NonTerm
happy_var_1)})
        ) (\NonTerm
r -> HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. a -> ParseResult a
happyReturn (NonTerm
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19 NonTerm
r))

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_47 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_47 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_47
happyReduction_47 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_47 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_48 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_48 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_48
happyReduction_48 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_48 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> NonTerm
happyOutTok HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { NonTerm
happy_var_1 -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_49 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_49 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
12# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_49
happyReduction_49 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_49 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap13
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap13
happyOut13 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { (HappyWrap13 NonTerm
happy_var_1) -> 
        NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
NonTerm -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn19
                 (NonTerm
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_50 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_50 = Int#
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_0  Int#
13# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
forall a t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn [a] t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_50
happyReduction_50 :: HappyAbsSyn [a] t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_50  =  [a] -> HappyAbsSyn [a] t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
t20 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn20
                 ([]
        )

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_51 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_51 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
13# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t20 t25 t26 t27 t28 t21 t22 t23 t24 t25 t26
       t27 t28.
HappyAbsSyn t20 t21 t22 t23 t20 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_51
happyReduction_51 :: HappyAbsSyn t20 t21 t22 t23 t20 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyReduction_51 HappyAbsSyn t20 t21 t22 t23 t20 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t20 t25 t26 t27 t28 -> t20
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t24
happyOut24 HappyAbsSyn t20 t21 t22 t23 t20 t25 t26 t27 t28
happy_x_1 of { t20
happy_var_1 -> 
        t20 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
t20 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn20
                 (t20
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_52 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_52 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
14# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 a t26 t27 t28 t20 t22 t23 t24 t25 t26
       t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 [a] t26 t27 t28
-> HappyAbsSyn t20 [a] t22 t23 t24 t25 t26 t27 t28
happyReduction_52
happyReduction_52 :: HappyAbsSyn t20 t21 t22 t23 t24 [a] t26 t27 t28
-> HappyAbsSyn t20 [a] t22 t23 t24 t25 t26 t27 t28
happyReduction_52 HappyAbsSyn t20 t21 t22 t23 t24 [a] t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 [a] t26 t27 t28 -> [a]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t25
happyOut25 HappyAbsSyn t20 t21 t22 t23 t24 [a] t26 t27 t28
happy_x_1 of { [a]
happy_var_1 -> 
        [a] -> HappyAbsSyn t20 [a] t22 t23 t24 t25 t26 t27 t28
forall t21 t20 t22 t23 t24 t25 t26 t27 t28.
t21 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn21
                 ([a] -> [a]
forall a. [a] -> [a]
reverse [a]
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_53 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_53 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
15# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 a t27 t28 t20 t21 t23 t24 t25 t26
       t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 [a] t27 t28
-> HappyAbsSyn t20 t21 [a] t23 t24 t25 t26 t27 t28
happyReduction_53
happyReduction_53 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 [a] t27 t28
-> HappyAbsSyn t20 t21 [a] t23 t24 t25 t26 t27 t28
happyReduction_53 HappyAbsSyn t20 t21 t22 t23 t24 t25 [a] t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 [a] t27 t28 -> [a]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t26
happyOut26 HappyAbsSyn t20 t21 t22 t23 t24 t25 [a] t27 t28
happy_x_1 of { [a]
happy_var_1 -> 
        [a] -> HappyAbsSyn t20 t21 [a] t23 t24 t25 t26 t27 t28
forall t22 t20 t21 t23 t24 t25 t26 t27 t28.
t22 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn22
                 ([a] -> [a]
forall a. [a] -> [a]
reverse [a]
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_54 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_54 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
16# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 a t28 t20 t21 t22 t24 t25 t26
       t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [a] t28
-> HappyAbsSyn t20 t21 t22 [a] t24 t25 t26 t27 t28
happyReduction_54
happyReduction_54 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [a] t28
-> HappyAbsSyn t20 t21 t22 [a] t24 t25 t26 t27 t28
happyReduction_54 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [a] t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [a] t28 -> [a]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t27
happyOut27 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [a] t28
happy_x_1 of { [a]
happy_var_1 -> 
        [a] -> HappyAbsSyn t20 t21 t22 [a] t24 t25 t26 t27 t28
forall t23 t20 t21 t22 t24 t25 t26 t27 t28.
t23 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn23
                 ([a] -> [a]
forall a. [a] -> [a]
reverse [a]
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_55 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_55 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
17# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 a t20 t21 t22 t23 t25 t26
       t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [a]
-> HappyAbsSyn t20 t21 t22 t23 [a] t25 t26 t27 t28
happyReduction_55
happyReduction_55 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [a]
-> HappyAbsSyn t20 t21 t22 t23 [a] t25 t26 t27 t28
happyReduction_55 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [a]
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [a] -> [a]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t28
happyOut28 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [a]
happy_x_1 of { [a]
happy_var_1 -> 
        [a] -> HappyAbsSyn t20 t21 t22 t23 [a] t25 t26 t27 t28
forall t24 t20 t21 t22 t23 t25 t26 t27 t28.
t24 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn24
                 ([a] -> [a]
forall a. [a] -> [a]
reverse [a]
happy_var_1
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_56 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_56 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
18# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t26
       t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 [NonTerm] t26 t27 t28
happyReduction_56
happyReduction_56 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 [NonTerm] t26 t27 t28
happyReduction_56 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap13
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap13
happyOut13 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { (HappyWrap13 NonTerm
happy_var_1) -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 [NonTerm] t26 t27 t28
forall t25 t20 t21 t22 t23 t24 t26 t27 t28.
t25 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn25
                 ([NonTerm
happy_var_1]
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_57 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_57 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_2  Int#
18# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t26
       t27 t28 t20 t21 t22 t23 t24 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 [NonTerm] t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 [NonTerm] t26 t27 t28
happyReduction_57
happyReduction_57 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 [NonTerm] t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 [NonTerm] t26 t27 t28
happyReduction_57 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2
        HappyAbsSyn t20 t21 t22 t23 t24 [NonTerm] t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 [NonTerm] t26 t27 t28 -> [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t25
happyOut25 HappyAbsSyn t20 t21 t22 t23 t24 [NonTerm] t26 t27 t28
happy_x_1 of { [NonTerm]
happy_var_1 -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap13
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap13
happyOut13 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2 of { (HappyWrap13 NonTerm
happy_var_2) -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 [NonTerm] t26 t27 t28
forall t25 t20 t21 t22 t23 t24 t26 t27 t28.
t25 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn25
                 (NonTerm
happy_var_2 NonTerm -> [NonTerm] -> [NonTerm]
forall k1. k1 -> [k1] -> [k1]
: [NonTerm]
happy_var_1
        )}}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_58 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_58 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
19# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 [NonTerm] t27 t28
happyReduction_58
happyReduction_58 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 [NonTerm] t27 t28
happyReduction_58 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap15
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap15
happyOut15 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { (HappyWrap15 NonTerm
happy_var_1) -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 [NonTerm] t27 t28
forall t26 t20 t21 t22 t23 t24 t25 t27 t28.
t26 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn26
                 ([NonTerm
happy_var_1]
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_59 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_59 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_2  Int#
19# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t27 t28 t20 t21 t22 t23 t24 t25 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 [NonTerm] t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 [NonTerm] t27 t28
happyReduction_59
happyReduction_59 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 [NonTerm] t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 [NonTerm] t27 t28
happyReduction_59 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2
        HappyAbsSyn t20 t21 t22 t23 t24 t25 [NonTerm] t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 [NonTerm] t27 t28 -> [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t26
happyOut26 HappyAbsSyn t20 t21 t22 t23 t24 t25 [NonTerm] t27 t28
happy_x_1 of { [NonTerm]
happy_var_1 -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap15
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap15
happyOut15 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2 of { (HappyWrap15 NonTerm
happy_var_2) -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 [NonTerm] t27 t28
forall t26 t20 t21 t22 t23 t24 t25 t27 t28.
t26 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn26
                 (NonTerm
happy_var_2 NonTerm -> [NonTerm] -> [NonTerm]
forall k1. k1 -> [k1] -> [k1]
: [NonTerm]
happy_var_1
        )}}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_60 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_60 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
20# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [NonTerm] t28
happyReduction_60
happyReduction_60 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [NonTerm] t28
happyReduction_60 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap16
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap16
happyOut16 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { (HappyWrap16 NonTerm
happy_var_1) -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [NonTerm] t28
forall t27 t20 t21 t22 t23 t24 t25 t26 t28.
t27 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn27
                 ([NonTerm
happy_var_1]
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_61 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_61 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_2  Int#
20# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t28 t20 t21 t22 t23 t24 t25 t26 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [NonTerm] t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [NonTerm] t28
happyReduction_61
happyReduction_61 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [NonTerm] t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [NonTerm] t28
happyReduction_61 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [NonTerm] t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [NonTerm] t28 -> [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t27
happyOut27 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [NonTerm] t28
happy_x_1 of { [NonTerm]
happy_var_1 -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap16
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap16
happyOut16 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2 of { (HappyWrap16 NonTerm
happy_var_2) -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 [NonTerm] t28
forall t27 t20 t21 t22 t23 t24 t25 t26 t28.
t27 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn27
                 (NonTerm
happy_var_2 NonTerm -> [NonTerm] -> [NonTerm]
forall k1. k1 -> [k1] -> [k1]
: [NonTerm]
happy_var_1
        )}}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_62 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_62 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1  Int#
21# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [NonTerm]
happyReduction_62
happyReduction_62 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [NonTerm]
happyReduction_62 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap18
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap18
happyOut18 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_1 of { (HappyWrap18 NonTerm
happy_var_1) -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [NonTerm]
forall t28 t20 t21 t22 t23 t24 t25 t26 t27.
t28 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn28
                 ([NonTerm
happy_var_1]
        )}

#if __GLASGOW_HASKELL__ >= 710
#endif
happyReduce_63 :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce_63 = Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_2  Int#
21# HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28 t20 t21 t22 t23 t24 t25
       t26 t27 t20 t21 t22 t23 t24 t25 t26 t27.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [NonTerm]
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [NonTerm]
happyReduction_63
happyReduction_63 :: HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [NonTerm]
-> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [NonTerm]
happyReduction_63 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2
        HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [NonTerm]
happy_x_1
         =  case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [NonTerm] -> [NonTerm]
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> t28
happyOut28 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [NonTerm]
happy_x_1 of { [NonTerm]
happy_var_1 -> 
        case HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap18
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap18
happyOut18 HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happy_x_2 of { (HappyWrap18 NonTerm
happy_var_2) -> 
        [NonTerm] -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 [NonTerm]
forall t28 t20 t21 t22 t23 t24 t25 t26 t27.
t28 -> HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28
happyIn28
                 (NonTerm
happy_var_2 NonTerm -> [NonTerm] -> [NonTerm]
forall k1. k1 -> [k1] -> [k1]
: [NonTerm]
happy_var_1
        )}}

happyTerminalToTok :: NonTerm -> Int#
happyTerminalToTok NonTerm
term = case NonTerm
term of {
        Fix (PreprocIfndef TextLexeme
_ ([NonTerm] -> Bool
isDefine -> Bool
True) (Fix (PreprocElse []))) -> Int#
2#;
        Fix (PreprocIfdef TextLexeme
_ ([NonTerm] -> Bool
isDefine -> Bool
True) (Fix (PreprocElse []))) -> Int#
3#;
        Fix (PreprocIf NonTerm
_ ([NonTerm] -> Bool
isDefine -> Bool
True) (Fix (PreprocElse []))) -> Int#
4#;
        Fix (Comment CommentStyle
Doxygen TextLexeme
_ [TextLexeme]
_ TextLexeme
_) -> Int#
5#;
        (LexemeClass -> NonTerm -> Bool
isIncludeBlock LexemeClass
LitString -> Bool
True) -> Int#
6#;
        (LexemeClass -> NonTerm -> Bool
isIncludeBlock LexemeClass
LitSysInclude -> Bool
True) -> Int#
7#;
        Fix (PreprocInclude (L AlexPosn
_ LexemeClass
LitString Text
_)) -> Int#
8#;
        Fix (PreprocInclude (L AlexPosn
_ LexemeClass
LitSysInclude Text
_)) -> Int#
9#;
        Fix (PreprocDefine{}) -> Int#
10#;
        Fix (PreprocDefineConst{}) -> Int#
11#;
        Fix (PreprocDefineMacro{}) -> Int#
12#;
        Fix (PreprocIf{}) -> Int#
13#;
        Fix (PreprocIfdef{}) -> Int#
14#;
        Fix (PreprocIfndef{}) -> Int#
15#;
        Fix (PreprocElse{}) -> Int#
16#;
        Fix (PreprocElif{}) -> Int#
17#;
        Fix (PreprocUndef{}) -> Int#
18#;
        Fix (PreprocDefined{}) -> Int#
19#;
        Fix (PreprocScopedDefine{}) -> Int#
20#;
        Fix (MacroBodyStmt{}) -> Int#
21#;
        Fix (MacroBodyFunCall{}) -> Int#
22#;
        Fix (MacroParam{}) -> Int#
23#;
        Fix (StaticAssert{}) -> Int#
24#;
        Fix (LicenseDecl{}) -> Int#
25#;
        Fix (CopyrightDecl{}) -> Int#
26#;
        Fix (Comment CommentStyle
Section TextLexeme
_ [TextLexeme]
_ TextLexeme
_) -> Int#
27#;
        Fix (CommentSectionEnd{}) -> Int#
28#;
        Fix (Comment{}) -> Int#
29#;
        Fix (Commented{}) -> Int#
30#;
        Fix (ExternC{}) -> Int#
31#;
        Fix (CompoundStmt{}) -> Int#
32#;
        Fix (NodeF TextLexeme NonTerm
Break) -> Int#
33#;
        Fix (Goto{}) -> Int#
34#;
        Fix (NodeF TextLexeme NonTerm
Continue) -> Int#
35#;
        Fix (Return{}) -> Int#
36#;
        Fix (SwitchStmt{}) -> Int#
37#;
        Fix (IfStmt{}) -> Int#
38#;
        Fix (ForStmt{}) -> Int#
39#;
        Fix (WhileStmt{}) -> Int#
40#;
        Fix (DoWhileStmt{}) -> Int#
41#;
        Fix (Case{}) -> Int#
42#;
        Fix (Default{}) -> Int#
43#;
        Fix (Label{}) -> Int#
44#;
        Fix (ExprStmt{}) -> Int#
45#;
        Fix (VLA{}) -> Int#
46#;
        Fix (VarDecl{}) -> Int#
47#;
        Fix (VarDecl{}) -> Int#
48#;
        Fix (DeclSpecArray{}) -> Int#
49#;
        Fix (InitialiserList{}) -> Int#
50#;
        Fix (UnaryExpr{}) -> Int#
51#;
        Fix (BinaryExpr{}) -> Int#
52#;
        Fix (TernaryExpr{}) -> Int#
53#;
        Fix (AssignExpr{}) -> Int#
54#;
        Fix (ParenExpr{}) -> Int#
55#;
        Fix (CastExpr{}) -> Int#
56#;
        Fix (CompoundLiteral{}) -> Int#
57#;
        Fix (SizeofExpr{}) -> Int#
58#;
        Fix (SizeofType{}) -> Int#
59#;
        Fix (LiteralExpr{}) -> Int#
60#;
        Fix (VarExpr{}) -> Int#
61#;
        Fix (MemberAccess{}) -> Int#
62#;
        Fix (PointerAccess{}) -> Int#
63#;
        Fix (ArrayAccess{}) -> Int#
64#;
        Fix (FunctionCall{}) -> Int#
65#;
        Fix (CommentExpr{}) -> Int#
66#;
        Fix (EnumConsts{}) -> Int#
67#;
        Fix (EnumDecl{}) -> Int#
68#;
        Fix (Enumerator{}) -> Int#
69#;
        Fix (AggregateDecl{}) -> Int#
70#;
        Fix (Typedef{}) -> Int#
71#;
        Fix (TypedefFunction{}) -> Int#
72#;
        Fix (Struct{}) -> Int#
73#;
        Fix (Union{}) -> Int#
74#;
        Fix (MemberDecl{}) -> Int#
75#;
        Fix (TyConst{}) -> Int#
76#;
        Fix (TyPointer{}) -> Int#
77#;
        Fix (TyStruct{}) -> Int#
78#;
        Fix (TyFunc{}) -> Int#
79#;
        Fix (TyStd{}) -> Int#
80#;
        Fix (TyUserDefined{}) -> Int#
81#;
        Fix (FunctionDecl{}) -> Int#
82#;
        Fix (FunctionDefn{}) -> Int#
83#;
        Fix (FunctionPrototype{}) -> Int#
84#;
        Fix (NodeF TextLexeme NonTerm
Ellipsis) -> Int#
85#;
        Fix (NonNull{}) -> Int#
86#;
        Fix (ConstDecl{}) -> Int#
87#;
        Fix (ConstDefn{}) -> Int#
88#;
        NonTerm
_ -> Int#
-1#;
        }
{-# NOINLINE happyTerminalToTok #-}

happyLex :: (t -> [a] -> p)
-> (Int# -> NonTerm -> [NonTerm] -> p) -> [NonTerm] -> p
happyLex t -> [a] -> p
kend  Int# -> NonTerm -> [NonTerm] -> p
_kmore []       = t -> [a] -> p
kend t
forall a. a
notHappyAtAll []
happyLex t -> [a] -> p
_kend Int# -> NonTerm -> [NonTerm] -> p
kmore  (NonTerm
tk:[NonTerm]
tks) = Int# -> NonTerm -> [NonTerm] -> p
kmore (NonTerm -> Int#
happyTerminalToTok NonTerm
tk) NonTerm
tk [NonTerm]
tks
{-# INLINE happyLex #-}

happyNewToken :: Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyNewToken Int#
action Happy_IntList
sts HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk = (Any
 -> [NonTerm]
 -> ParseResult
      (HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]))
-> (Int#
    -> NonTerm
    -> [NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall t a p.
(t -> [a] -> p)
-> (Int# -> NonTerm -> [NonTerm] -> p) -> [NonTerm] -> p
happyLex (\Any
tk -> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyDoAction Int#
89# NonTerm
forall a. a
notHappyAtAll Int#
action Happy_IntList
sts HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk) (\Int#
i NonTerm
tk -> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyDoAction Int#
i NonTerm
tk Int#
action Happy_IntList
sts HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk)

happyReport :: Int#
-> NonTerm
-> [[Char]]
-> ([NonTerm] -> ParseResult a)
-> [NonTerm]
-> ParseResult a
happyReport Int#
89# NonTerm
tk [[Char]]
explist [NonTerm] -> ParseResult a
resume [NonTerm]
tks = [NonTerm]
-> [[Char]] -> ([NonTerm] -> ParseResult a) -> ParseResult a
forall a.
[NonTerm]
-> [[Char]] -> ([NonTerm] -> ParseResult a) -> ParseResult a
happyReport' [NonTerm]
tks [[Char]]
explist [NonTerm] -> ParseResult a
resume
happyReport Int#
_ NonTerm
tk [[Char]]
explist [NonTerm] -> ParseResult a
resume [NonTerm]
tks = [NonTerm]
-> [[Char]] -> ([NonTerm] -> ParseResult a) -> ParseResult a
forall a.
[NonTerm]
-> [[Char]] -> ([NonTerm] -> ParseResult a) -> ParseResult a
happyReport' (NonTerm
tkNonTerm -> [NonTerm] -> [NonTerm]
forall k1. k1 -> [k1] -> [k1]
:[NonTerm]
tks) [[Char]]
explist (\[NonTerm]
tks -> [NonTerm] -> ParseResult a
resume ([NonTerm] -> [NonTerm]
forall a. [a] -> [a]
Happy_Prelude.tail [NonTerm]
tks))


happyThen :: () => (ParseResult a) -> (a -> (ParseResult b)) -> (ParseResult b)
happyThen :: ParseResult a -> (a -> ParseResult b) -> ParseResult b
happyThen = ParseResult a -> (a -> ParseResult b) -> ParseResult b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
(Happy_Prelude.>>=)
happyReturn :: () => a -> (ParseResult a)
happyReturn :: a -> ParseResult a
happyReturn = (a -> ParseResult a
forall (m :: * -> *) a. Monad m => a -> m a
Happy_Prelude.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
(Happy_Prelude.>>=) m t
m (\t
a -> t -> t -> m b
k t
a t
tks)
happyFmap1 :: (t -> b) -> (t -> ParseResult t) -> t -> ParseResult b
happyFmap1 t -> b
f t -> ParseResult t
m t
tks = ParseResult t -> (t -> ParseResult b) -> ParseResult b
forall a b. ParseResult a -> (a -> ParseResult b) -> ParseResult b
happyThen (t -> ParseResult t
m t
tks) (\t
a -> b -> ParseResult b
forall a. a -> ParseResult a
happyReturn (t -> b
f t
a))
happyReturn1 :: () => a -> b -> (ParseResult a)
happyReturn1 :: a -> b -> ParseResult a
happyReturn1 = \a
a b
tks -> (a -> ParseResult a
forall (m :: * -> *) a. Monad m => a -> m a
Happy_Prelude.return) a
a
happyReport' :: () => [(NonTerm)] -> [Happy_Prelude.String] -> ([(NonTerm)] -> (ParseResult a)) -> (ParseResult a)
happyReport' :: [NonTerm]
-> [[Char]] -> ([NonTerm] -> ParseResult a) -> ParseResult a
happyReport' = (\[NonTerm]
tokens [[Char]]
expected [NonTerm] -> ParseResult a
resume -> (([NonTerm], [[Char]]) -> ParseResult a
forall a. ([NonTerm], [[Char]]) -> ParseResult a
parseError) ([NonTerm]
tokens, [[Char]]
expected))

happyAbort :: () => [(NonTerm)] -> (ParseResult a)
happyAbort :: [NonTerm] -> ParseResult a
happyAbort = [Char] -> [NonTerm] -> ParseResult a
forall a. HasCallStack => [Char] -> a
Happy_Prelude.error [Char]
"Called abort handler in non-resumptive parser"

parseTranslationUnit :: [NonTerm] -> ParseResult [NonTerm]
parseTranslationUnit [NonTerm]
tks = ParseResult [NonTerm]
happySomeParser where
 happySomeParser :: ParseResult [NonTerm]
happySomeParser = ParseResult
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> ParseResult [NonTerm])
-> ParseResult [NonTerm]
forall a b. ParseResult a -> (a -> ParseResult b) -> ParseResult b
happyThen (Int#
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyParse Int#
0# [NonTerm]
tks) (\HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
x -> [NonTerm] -> ParseResult [NonTerm]
forall a. a -> ParseResult a
happyReturn (let {(HappyWrap7 [NonTerm]
x') = HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyWrap7
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap7
happyOut7 HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
x} in [NonTerm]
x'))

parseDecls :: [NonTerm] -> ParseResult [NonTerm]
parseDecls [NonTerm]
tks = ParseResult [NonTerm]
happySomeParser where
 happySomeParser :: ParseResult [NonTerm]
happySomeParser = ParseResult
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> ParseResult [NonTerm])
-> ParseResult [NonTerm]
forall a b. ParseResult a -> (a -> ParseResult b) -> ParseResult b
happyThen (Int#
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyParse Int#
1# [NonTerm]
tks) (\HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
x -> [NonTerm] -> ParseResult [NonTerm]
forall a. a -> ParseResult a
happyReturn (let {(HappyWrap17 [NonTerm]
x') = HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyWrap17
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap17
happyOut17 HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
x} in [NonTerm]
x'))

parseHeaderBody :: [NonTerm] -> ParseResult [NonTerm]
parseHeaderBody [NonTerm]
tks = ParseResult [NonTerm]
happySomeParser where
 happySomeParser :: ParseResult [NonTerm]
happySomeParser = ParseResult
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> ParseResult [NonTerm])
-> ParseResult [NonTerm]
forall a b. ParseResult a -> (a -> ParseResult b) -> ParseResult b
happyThen (Int#
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyParse Int#
2# [NonTerm]
tks) (\HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
x -> [NonTerm] -> ParseResult [NonTerm]
forall a. a -> ParseResult a
happyReturn (let {(HappyWrap10 [NonTerm]
x') = HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyWrap10
forall t20 t21 t22 t23 t24 t25 t26 t27 t28.
HappyAbsSyn t20 t21 t22 t23 t24 t25 t26 t27 t28 -> HappyWrap10
happyOut10 HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
x} in [NonTerm]
x'))

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


type TextLexeme = Lexeme Text
type NonTerm = Node TextLexeme


mapHead :: (a -> a) -> [a] -> [a]
mapHead :: (a -> a) -> [a] -> [a]
mapHead a -> a
_ [] = []
mapHead a -> a
f (a
x:[a]
xs) = a -> a
f a
x a -> [a] -> [a]
forall k1. k1 -> [k1] -> [k1]
: [a]
xs


isDefine :: [NonTerm] -> Bool
isDefine :: [NonTerm] -> Bool
isDefine (Fix PreprocUndef{}:[NonTerm]
d)     = [NonTerm] -> Bool
isDefine [NonTerm]
d
isDefine [Fix PreprocDefine{}]      = Bool
True
isDefine [Fix PreprocDefineConst{}] = Bool
True
isDefine [NonTerm]
_                          = Bool
False

isIncludeBlock :: LexemeClass -> NonTerm -> Bool
isIncludeBlock :: LexemeClass -> NonTerm -> Bool
isIncludeBlock LexemeClass
style tk :: NonTerm
tk@(Fix PreprocIfndef{}) = NonTerm -> Bool
isPreproc NonTerm
tk Bool -> Bool -> Bool
&& LexemeClass -> NonTerm -> Bool
hasInclude LexemeClass
style NonTerm
tk
isIncludeBlock LexemeClass
style tk :: NonTerm
tk@(Fix PreprocIfdef{})  = NonTerm -> Bool
isPreproc NonTerm
tk Bool -> Bool -> Bool
&& LexemeClass -> NonTerm -> Bool
hasInclude LexemeClass
style NonTerm
tk
isIncludeBlock LexemeClass
style tk :: NonTerm
tk@(Fix PreprocIf{})     = NonTerm -> Bool
isPreproc NonTerm
tk Bool -> Bool -> Bool
&& LexemeClass -> NonTerm -> Bool
hasInclude LexemeClass
style NonTerm
tk
isIncludeBlock LexemeClass
_ NonTerm
_                            = Bool
False

isPreproc :: NonTerm -> Bool
isPreproc :: NonTerm -> Bool
isPreproc (Fix PreprocInclude{})        = Bool
True
isPreproc (Fix PreprocUndef{})          = Bool
True
isPreproc (Fix PreprocDefine{})         = Bool
True
isPreproc (Fix PreprocDefineConst{})    = Bool
True
isPreproc (Fix (PreprocIf NonTerm
_ [NonTerm]
td NonTerm
ed))     = (NonTerm -> Bool) -> [NonTerm] -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
all NonTerm -> Bool
isPreproc [NonTerm]
td Bool -> Bool -> Bool
&& NonTerm -> Bool
isPreproc NonTerm
ed
isPreproc (Fix (PreprocIfdef TextLexeme
_ [NonTerm]
td NonTerm
ed))  = (NonTerm -> Bool) -> [NonTerm] -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
all NonTerm -> Bool
isPreproc [NonTerm]
td Bool -> Bool -> Bool
&& NonTerm -> Bool
isPreproc NonTerm
ed
isPreproc (Fix (PreprocIfndef TextLexeme
_ [NonTerm]
td NonTerm
ed)) = (NonTerm -> Bool) -> [NonTerm] -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
all NonTerm -> Bool
isPreproc [NonTerm]
td Bool -> Bool -> Bool
&& NonTerm -> Bool
isPreproc NonTerm
ed
isPreproc (Fix (PreprocElse [NonTerm]
ed))        = (NonTerm -> Bool) -> [NonTerm] -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
all NonTerm -> Bool
isPreproc [NonTerm]
ed
isPreproc NonTerm
_                             = Bool
False

hasInclude :: LexemeClass -> NonTerm -> Bool
hasInclude :: LexemeClass -> NonTerm -> Bool
hasInclude LexemeClass
style (Fix (PreprocInclude (L AlexPosn
_ LexemeClass
c Text
_))) = LexemeClass
c LexemeClass -> LexemeClass -> Bool
forall a. Eq a => a -> a -> Bool
== LexemeClass
style
hasInclude LexemeClass
style (Fix (PreprocIf NonTerm
_ [NonTerm]
td NonTerm
ed))        = (NonTerm -> Bool) -> [NonTerm] -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
any (LexemeClass -> NonTerm -> Bool
hasInclude LexemeClass
style) [NonTerm]
td Bool -> Bool -> Bool
|| (LexemeClass -> NonTerm -> Bool
hasInclude LexemeClass
style) NonTerm
ed
hasInclude LexemeClass
style (Fix (PreprocIfdef TextLexeme
_ [NonTerm]
td NonTerm
ed))     = (NonTerm -> Bool) -> [NonTerm] -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
any (LexemeClass -> NonTerm -> Bool
hasInclude LexemeClass
style) [NonTerm]
td Bool -> Bool -> Bool
|| (LexemeClass -> NonTerm -> Bool
hasInclude LexemeClass
style) NonTerm
ed
hasInclude LexemeClass
style (Fix (PreprocIfndef TextLexeme
_ [NonTerm]
td NonTerm
ed))    = (NonTerm -> Bool) -> [NonTerm] -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
any (LexemeClass -> NonTerm -> Bool
hasInclude LexemeClass
style) [NonTerm]
td Bool -> Bool -> Bool
|| (LexemeClass -> NonTerm -> Bool
hasInclude LexemeClass
style) NonTerm
ed
hasInclude LexemeClass
style (Fix (PreprocElse [NonTerm]
ed))           = (NonTerm -> Bool) -> [NonTerm] -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
any (LexemeClass -> NonTerm -> Bool
hasInclude LexemeClass
style) [NonTerm]
ed
hasInclude LexemeClass
_ NonTerm
_                                    = Bool
False


recurse :: ([NonTerm] -> ParseResult [NonTerm]) -> NonTerm -> ParseResult NonTerm
recurse :: ([NonTerm] -> ParseResult [NonTerm])
-> NonTerm -> ParseResult NonTerm
recurse [NonTerm] -> ParseResult [NonTerm]
f (Fix (ExternC [NonTerm]
ds))          = NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> ParseResult (NodeF TextLexeme NonTerm) -> ParseResult NonTerm
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ([NonTerm] -> NodeF TextLexeme NonTerm
forall lexeme a. [a] -> NodeF lexeme a
ExternC ([NonTerm] -> NodeF TextLexeme NonTerm)
-> ParseResult [NonTerm] -> ParseResult (NodeF TextLexeme NonTerm)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [NonTerm] -> ParseResult [NonTerm]
f [NonTerm]
ds)
recurse [NonTerm] -> ParseResult [NonTerm]
f (Fix (PreprocIf     NonTerm
c [NonTerm]
t NonTerm
e)) = NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> ParseResult (NodeF TextLexeme NonTerm) -> ParseResult NonTerm
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (NonTerm -> [NonTerm] -> NonTerm -> NodeF TextLexeme NonTerm
forall lexeme a. a -> [a] -> a -> NodeF lexeme a
PreprocIf     NonTerm
c ([NonTerm] -> NonTerm -> NodeF TextLexeme NonTerm)
-> ParseResult [NonTerm]
-> ParseResult (NonTerm -> NodeF TextLexeme NonTerm)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [NonTerm] -> ParseResult [NonTerm]
f [NonTerm]
t ParseResult (NonTerm -> NodeF TextLexeme NonTerm)
-> ParseResult NonTerm -> ParseResult (NodeF TextLexeme NonTerm)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> ([NonTerm] -> ParseResult [NonTerm])
-> NonTerm -> ParseResult NonTerm
recurse [NonTerm] -> ParseResult [NonTerm]
f NonTerm
e)
recurse [NonTerm] -> ParseResult [NonTerm]
f (Fix (PreprocIfdef  TextLexeme
c [NonTerm]
t NonTerm
e)) = NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> ParseResult (NodeF TextLexeme NonTerm) -> ParseResult NonTerm
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (TextLexeme -> [NonTerm] -> NonTerm -> NodeF TextLexeme NonTerm
forall lexeme a. lexeme -> [a] -> a -> NodeF lexeme a
PreprocIfdef  TextLexeme
c ([NonTerm] -> NonTerm -> NodeF TextLexeme NonTerm)
-> ParseResult [NonTerm]
-> ParseResult (NonTerm -> NodeF TextLexeme NonTerm)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [NonTerm] -> ParseResult [NonTerm]
f [NonTerm]
t ParseResult (NonTerm -> NodeF TextLexeme NonTerm)
-> ParseResult NonTerm -> ParseResult (NodeF TextLexeme NonTerm)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> ([NonTerm] -> ParseResult [NonTerm])
-> NonTerm -> ParseResult NonTerm
recurse [NonTerm] -> ParseResult [NonTerm]
f NonTerm
e)
recurse [NonTerm] -> ParseResult [NonTerm]
f (Fix (PreprocIfndef TextLexeme
c [NonTerm]
t NonTerm
e)) = NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> ParseResult (NodeF TextLexeme NonTerm) -> ParseResult NonTerm
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (TextLexeme -> [NonTerm] -> NonTerm -> NodeF TextLexeme NonTerm
forall lexeme a. lexeme -> [a] -> a -> NodeF lexeme a
PreprocIfndef TextLexeme
c ([NonTerm] -> NonTerm -> NodeF TextLexeme NonTerm)
-> ParseResult [NonTerm]
-> ParseResult (NonTerm -> NodeF TextLexeme NonTerm)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [NonTerm] -> ParseResult [NonTerm]
f [NonTerm]
t ParseResult (NonTerm -> NodeF TextLexeme NonTerm)
-> ParseResult NonTerm -> ParseResult (NodeF TextLexeme NonTerm)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> ([NonTerm] -> ParseResult [NonTerm])
-> NonTerm -> ParseResult NonTerm
recurse [NonTerm] -> ParseResult [NonTerm]
f NonTerm
e)
recurse [NonTerm] -> ParseResult [NonTerm]
f (Fix (PreprocIfndef TextLexeme
c [NonTerm]
t NonTerm
e)) = NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> ParseResult (NodeF TextLexeme NonTerm) -> ParseResult NonTerm
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (TextLexeme -> [NonTerm] -> NonTerm -> NodeF TextLexeme NonTerm
forall lexeme a. lexeme -> [a] -> a -> NodeF lexeme a
PreprocIfndef TextLexeme
c ([NonTerm] -> NonTerm -> NodeF TextLexeme NonTerm)
-> ParseResult [NonTerm]
-> ParseResult (NonTerm -> NodeF TextLexeme NonTerm)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [NonTerm] -> ParseResult [NonTerm]
f [NonTerm]
t ParseResult (NonTerm -> NodeF TextLexeme NonTerm)
-> ParseResult NonTerm -> ParseResult (NodeF TextLexeme NonTerm)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> ([NonTerm] -> ParseResult [NonTerm])
-> NonTerm -> ParseResult NonTerm
recurse [NonTerm] -> ParseResult [NonTerm]
f NonTerm
e)
recurse [NonTerm] -> ParseResult [NonTerm]
f (Fix (PreprocElif   NonTerm
c [NonTerm]
t NonTerm
e)) = NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> ParseResult (NodeF TextLexeme NonTerm) -> ParseResult NonTerm
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (NonTerm -> [NonTerm] -> NonTerm -> NodeF TextLexeme NonTerm
forall lexeme a. a -> [a] -> a -> NodeF lexeme a
PreprocElif   NonTerm
c ([NonTerm] -> NonTerm -> NodeF TextLexeme NonTerm)
-> ParseResult [NonTerm]
-> ParseResult (NonTerm -> NodeF TextLexeme NonTerm)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [NonTerm] -> ParseResult [NonTerm]
f [NonTerm]
t ParseResult (NonTerm -> NodeF TextLexeme NonTerm)
-> ParseResult NonTerm -> ParseResult (NodeF TextLexeme NonTerm)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> ([NonTerm] -> ParseResult [NonTerm])
-> NonTerm -> ParseResult NonTerm
recurse [NonTerm] -> ParseResult [NonTerm]
f NonTerm
e)
recurse [NonTerm] -> ParseResult [NonTerm]
f (Fix (PreprocElse      [])) = NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> ParseResult (NodeF TextLexeme NonTerm) -> ParseResult NonTerm
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> NodeF TextLexeme NonTerm -> ParseResult (NodeF TextLexeme NonTerm)
forall (f :: * -> *) a. Applicative f => a -> f a
pure ([NonTerm] -> NodeF TextLexeme NonTerm
forall lexeme a. [a] -> NodeF lexeme a
PreprocElse [])
recurse [NonTerm] -> ParseResult [NonTerm]
f (Fix (PreprocElse       [NonTerm]
e)) = NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> ParseResult (NodeF TextLexeme NonTerm) -> ParseResult NonTerm
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ([NonTerm] -> NodeF TextLexeme NonTerm
forall lexeme a. [a] -> NodeF lexeme a
PreprocElse     ([NonTerm] -> NodeF TextLexeme NonTerm)
-> ParseResult [NonTerm] -> ParseResult (NodeF TextLexeme NonTerm)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>                 [NonTerm] -> ParseResult [NonTerm]
f [NonTerm]
e)
recurse [NonTerm] -> ParseResult [NonTerm]
_ NonTerm
ns                          = [Char] -> ParseResult NonTerm
forall (m :: * -> *) a. MonadFail m => [Char] -> m a
fail ([Char] -> ParseResult NonTerm) -> [Char] -> ParseResult NonTerm
forall a b. (a -> b) -> a -> b
$ [Char]
"TreeParser.recurse: " [Char] -> [Char] -> [Char]
forall a. Semigroup a => a -> a -> a
<> NonTerm -> [Char]
forall a. Show a => a -> [Char]
show NonTerm
ns

parseDocComment :: NonTerm -> ParseResult NonTerm
parseDocComment :: NonTerm -> ParseResult NonTerm
parseDocComment (Fix (Comment CommentStyle
Doxygen TextLexeme
start [TextLexeme]
body TextLexeme
end)) =
    NodeF TextLexeme NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF TextLexeme NonTerm -> NonTerm)
-> (Comment TextLexeme -> NodeF TextLexeme NonTerm)
-> Comment TextLexeme
-> NonTerm
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Comment TextLexeme -> NodeF TextLexeme NonTerm
forall lexeme a. Comment lexeme -> NodeF lexeme a
CommentInfo (Comment TextLexeme -> NonTerm)
-> ParseResult (Comment TextLexeme) -> ParseResult NonTerm
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [TextLexeme] -> ParseResult (Comment TextLexeme)
parseComment (TextLexeme
start TextLexeme -> [TextLexeme] -> [TextLexeme]
forall k1. k1 -> [k1] -> [k1]
: [TextLexeme]
body [TextLexeme] -> [TextLexeme] -> [TextLexeme]
forall a. [a] -> [a] -> [a]
++ [TextLexeme
end])
parseDocComment NonTerm
n = NonTerm -> ParseResult NonTerm
forall (m :: * -> *) a. Monad m => a -> m a
return NonTerm
n

failAt :: NonTerm -> String -> ParseResult a
failAt :: NonTerm -> [Char] -> ParseResult a
failAt NonTerm
n [Char]
msg =
    [Char] -> ParseResult a
forall (m :: * -> *) a. MonadFail m => [Char] -> m a
fail ([Char] -> ParseResult a) -> [Char] -> ParseResult a
forall a b. (a -> b) -> a -> b
$ Text -> [Char]
Text.unpack ([Char] -> NonTerm -> Text
forall a. HasLocation a => [Char] -> a -> Text
sloc [Char]
"" NonTerm
n) [Char] -> [Char] -> [Char]
forall a. Semigroup a => a -> a -> a
<> [Char]
": unexpected " [Char] -> [Char] -> [Char]
forall a. Semigroup a => a -> a -> a
<> NonTerm -> [Char]
forall a. Show a => Node a -> [Char]
describeNode NonTerm
n [Char] -> [Char] -> [Char]
forall a. Semigroup a => a -> a -> a
<> [Char]
msg

parseError :: ([NonTerm], [String]) -> ParseResult a
parseError :: ([NonTerm], [[Char]]) -> ParseResult a
parseError ([], [[Char]]
options)  = [Char] -> ParseResult a
forall (m :: * -> *) a. MonadFail m => [Char] -> m a
fail ([Char] -> ParseResult a) -> [Char] -> ParseResult a
forall a b. (a -> b) -> a -> b
$ [Char]
" end of file; expected one of " [Char] -> [Char] -> [Char]
forall a. Semigroup a => a -> a -> a
<> [[Char]] -> [Char]
forall a. Show a => a -> [Char]
show [[Char]]
options
parseError (NonTerm
n:[NonTerm]
_, [])      = NonTerm -> [Char] -> ParseResult a
forall a. NonTerm -> [Char] -> ParseResult a
failAt NonTerm
n [Char]
"; expected end of file"
parseError (NonTerm
n:[NonTerm]
_, [[Char]]
options) = NonTerm -> [Char] -> ParseResult a
forall a. NonTerm -> [Char] -> ParseResult a
failAt NonTerm
n ([Char] -> ParseResult a) -> [Char] -> ParseResult a
forall a b. (a -> b) -> a -> b
$ [Char]
"; expected one of " [Char] -> [Char] -> [Char]
forall a. Semigroup a => a -> a -> a
<> [[Char]] -> [Char]
forall a. Show a => a -> [Char]
show [[Char]]
options
#define HAPPY_COERCE 1
-- $Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp $

#if !defined(__GLASGOW_HASKELL__)
#  error This code isn't being built with GHC.
#endif

-- Get WORDS_BIGENDIAN (if defined)
#include "MachDeps.h"

-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.
#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Happy_Prelude.Bool)
#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Happy_Prelude.Bool)
#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Happy_Prelude.Bool)
#define PLUS(n,m) (n Happy_GHC_Exts.+# m)
#define MINUS(n,m) (n Happy_GHC_Exts.-# m)
#define TIMES(n,m) (n Happy_GHC_Exts.*# m)
#define NEGATE(n) (Happy_GHC_Exts.negateInt# (n))

type Happy_Int = Happy_GHC_Exts.Int#
data Happy_IntList = HappyCons Happy_Int Happy_IntList

#define INVALID_TOK -1#
#define ERROR_TOK 0#
#define CATCH_TOK 1#

#if defined(HAPPY_COERCE)
#  define GET_ERROR_TOKEN(x)  (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# i) -> i })
#  define MK_ERROR_TOKEN(i)   (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# i))
#  define MK_TOKEN(x)         (happyInTok (x))
#else
#  define GET_ERROR_TOKEN(x)  (case x of { HappyErrorToken (Happy_GHC_Exts.I# i) -> i })
#  define MK_ERROR_TOKEN(i)   (HappyErrorToken (Happy_GHC_Exts.I# i))
#  define MK_TOKEN(x)         (HappyTerminal (x))
#endif

#if defined(HAPPY_DEBUG)
#  define DEBUG_TRACE(s)    (happyTrace (s)) Happy_Prelude.$
happyTrace string expr = Happy_System_IO_Unsafe.unsafePerformIO Happy_Prelude.$ do
    Happy_System_IO.hPutStr Happy_System_IO.stderr string
    Happy_Prelude.return expr
#else
#  define DEBUG_TRACE(s)    {- nothing -}
#endif

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

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

happyParse :: Int#
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyParse Int#
start_state = Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyNewToken Int#
start_state Happy_IntList
forall a. a
notHappyAtAll HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
forall a. a
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 :: Int# -> p -> Int# -> p -> HappyStk a -> b -> ParseResult a
happyAccept ERROR_TOK tk st sts (_ `HappyStk` ans `HappyStk` _) =
        happyReturn1 ans
happyAccept Int#
j p
tk Int#
st p
sts (HappyStk a
ans HappyStk a
_) =
        (Int#
-> ((b -> ParseResult a) -> b -> ParseResult a)
-> (b -> ParseResult a)
-> b
-> ParseResult a
forall a. Int# -> a -> a
happyTcHack Int#
j (Int# -> (b -> ParseResult a) -> b -> ParseResult a
forall a. Int# -> a -> a
happyTcHack Int#
st)) (a -> b -> ParseResult a
forall a b. a -> b -> ParseResult a
happyReturn1 a
ans)

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

happyDoAction :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyDoAction Int#
i NonTerm
tk Int#
st =
  DEBUG_TRACE("state: " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# st) Happy_Prelude.++
              ",\ttoken: " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# i) Happy_Prelude.++
              ",\taction: ")
  case Int# -> HappyAction
happyDecodeAction (Int# -> Int# -> Int#
happyNextAction Int#
i Int#
st) of
    HappyAction
HappyFail             -> DEBUG_TRACE("failing.\n")
                             Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyFail Int#
i NonTerm
tk Int#
st
    HappyAction
HappyAccept           -> DEBUG_TRACE("accept.\n")
                             Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall p p a b.
Int# -> p -> Int# -> p -> HappyStk a -> b -> ParseResult a
happyAccept Int#
i NonTerm
tk Int#
st
    HappyReduce Int#
rule      -> DEBUG_TRACE("reduce (rule " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# rule) Happy_Prelude.++ ")")
                             (Array
  Int
  (Int#
   -> NonTerm
   -> Int#
   -> Happy_IntList
   -> HappyStk
        (HappyAbsSyn
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm])
   -> [NonTerm]
   -> ParseResult
        (HappyAbsSyn
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]))
happyReduceArr Array
  Int
  (Int#
   -> NonTerm
   -> Int#
   -> Happy_IntList
   -> HappyStk
        (HappyAbsSyn
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm])
   -> [NonTerm]
   -> ParseResult
        (HappyAbsSyn
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]))
-> Int
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall i e. Ix i => Array i e -> i -> e
Happy_Data_Array.! (Int# -> Int
Happy_GHC_Exts.I# Int#
rule)) Int#
i NonTerm
tk Int#
st
    HappyShift  Int#
new_state -> DEBUG_TRACE("shift, enter state " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# new_state) Happy_Prelude.++ "\n")
                             Int#
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyShift Int#
new_state Int#
i NonTerm
tk Int#
st

{-# INLINE happyNextAction #-}
happyNextAction :: Int# -> Int# -> Int#
happyNextAction Int#
i Int#
st = case Int# -> Int# -> Maybe Int
happyIndexActionTable Int#
i Int#
st of
  Happy_Prelude.Just (Happy_GHC_Exts.I# Int#
act) -> Int#
act
  Maybe Int
Happy_Prelude.Nothing                      -> HappyAddr -> Int# -> Int#
happyIndexOffAddr HappyAddr
happyDefActions Int#
st

{-# INLINE happyIndexActionTable #-}
happyIndexActionTable :: Int# -> Int# -> Maybe Int
happyIndexActionTable Int#
i Int#
st
  | GTE(i, 0#), GTE(off, 0#), EQ(happyIndexOffAddr happyCheck off, i)
  -- i >= 0:   Guard against INVALID_TOK (do the default action, which ultimately errors)
  -- off >= 0: Otherwise it's a default action
  -- equality check: Ensure that the entry in the compressed array is owned by st
  = Int -> Maybe Int
forall k1. k1 -> Maybe k1
Happy_Prelude.Just (Int# -> Int
Happy_GHC_Exts.I# (HappyAddr -> Int# -> Int#
happyIndexOffAddr HappyAddr
happyTable Int#
off))
  | Bool
Happy_Prelude.otherwise
  = Maybe Int
forall k1. Maybe k1
Happy_Prelude.Nothing
  where
    off :: Int#
off = PLUS(happyIndexOffAddr happyActOffsets st, i)

data HappyAction
  = HappyFail
  | HappyAccept
  | HappyReduce Happy_Int -- rule number
  | HappyShift Happy_Int  -- new state
  deriving Int -> HappyAction -> [Char] -> [Char]
[HappyAction] -> [Char] -> [Char]
HappyAction -> [Char]
(Int -> HappyAction -> [Char] -> [Char])
-> (HappyAction -> [Char])
-> ([HappyAction] -> [Char] -> [Char])
-> Show HappyAction
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
showList :: [HappyAction] -> [Char] -> [Char]
$cshowList :: [HappyAction] -> [Char] -> [Char]
show :: HappyAction -> [Char]
$cshow :: HappyAction -> [Char]
showsPrec :: Int -> HappyAction -> [Char] -> [Char]
$cshowsPrec :: Int -> HappyAction -> [Char] -> [Char]
Happy_Prelude.Show

{-# INLINE happyDecodeAction #-}
happyDecodeAction :: Happy_Int -> HappyAction
happyDecodeAction :: Int# -> HappyAction
happyDecodeAction  Int#
0#                        = HappyAction
HappyFail
happyDecodeAction Int#
-1#                        = HappyAction
HappyAccept
happyDecodeAction Int#
action | LT(action, 0#)    = HappyReduce NEGATE(PLUS(action, 1#))
                         | Bool
Happy_Prelude.otherwise = Int# -> HappyAction
HappyShift MINUS(action, 1#)

{-# INLINE happyIndexGotoTable #-}
happyIndexGotoTable :: Int# -> Int# -> Int#
happyIndexGotoTable Int#
nt Int#
st = HappyAddr -> Int# -> Int#
happyIndexOffAddr HappyAddr
happyTable Int#
off
  where
    off :: Int#
off = PLUS(happyIndexOffAddr happyGotoOffsets st, nt)

{-# INLINE happyIndexOffAddr #-}
happyIndexOffAddr :: HappyAddr -> Happy_Int -> Happy_Int
happyIndexOffAddr :: HappyAddr -> Int# -> Int#
happyIndexOffAddr (HappyA# Addr#
arr) Int#
off =
#if __GLASGOW_HASKELL__ >= 901
  Happy_GHC_Exts.int32ToInt# -- qualified import because it doesn't exist on older GHC's
#endif
#ifdef WORDS_BIGENDIAN
  -- The CI of `alex` tests this code path
  (Happy_GHC_Exts.word32ToInt32# (Happy_GHC_Exts.wordToWord32# (Happy_GHC_Exts.byteSwap32# (Happy_GHC_Exts.word32ToWord# (Happy_GHC_Exts.int32ToWord32#
#endif
  (Addr# -> Int# -> Int#
Happy_GHC_Exts.indexInt32OffAddr# Addr#
arr Int#
off)
#ifdef WORDS_BIGENDIAN
  )))))
#endif

happyIndexRuleArr :: Happy_Int -> (# Happy_Int, Happy_Int #)
happyIndexRuleArr :: Int# -> (# Int#, Int# #)
happyIndexRuleArr Int#
r = (# Int#
nt, Int#
len #)
  where
    !(Happy_GHC_Exts.I# Int#
n_starts) = Int
happy_n_starts
    offs :: Int#
offs = TIMES(MINUS(r,n_starts),2#)
    nt :: Int#
nt = HappyAddr -> Int# -> Int#
happyIndexOffAddr HappyAddr
happyRuleArr Int#
offs
    len :: Int#
len = HappyAddr -> Int# -> Int#
happyIndexOffAddr HappyAddr
happyRuleArr PLUS(offs,1#)

data HappyAddr = HappyA# Happy_GHC_Exts.Addr#

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

happyShift :: Int#
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyShift Int#
new_state ERROR_TOK tk st sts stk@(x `HappyStk` _) =
     -- See "Error Fixup" below
     let i = GET_ERROR_TOKEN(x) in
     DEBUG_TRACE("shifting the error token")
     happyDoAction i tk new_state (HappyCons st sts) stk

happyShift Int#
new_state Int#
i NonTerm
tk Int#
st Happy_IntList
sts HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk =
     Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyNewToken Int#
new_state (Int# -> Happy_IntList -> Happy_IntList
HappyCons Int#
st Happy_IntList
sts) (MK_TOKEN(tk) `HappyStk` stk)

-- happyReduce is specialised for the common cases.

happySpecReduce_0 :: Int#
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_0 Int#
nt HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
fn Int#
j NonTerm
tk Int#
st Happy_IntList
sts HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk
     = HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> ([NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a b. a -> b -> b
happySeq HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
fn (Int#
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyGoto Int#
nt Int#
j NonTerm
tk Int#
st (Int# -> Happy_IntList -> Happy_IntList
HappyCons Int#
st Happy_IntList
sts) (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
fn HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk))

happySpecReduce_1 :: Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_1 Int#
nt HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
fn Int#
j NonTerm
tk Int#
old_st sts :: Happy_IntList
sts@(HappyCons Int#
st Happy_IntList
_) (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
v1 `HappyStk` HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk')
     = let r :: HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
r = HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
fn HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
v1 in
       Int#
-> ([NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. Int# -> a -> a
happyTcHack Int#
old_st (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> ([NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a b. a -> b -> b
happySeq HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
r (Int#
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyGoto Int#
nt Int#
j NonTerm
tk Int#
st Happy_IntList
sts (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
r HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk')))

happySpecReduce_2 :: Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_2 Int#
nt HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
fn Int#
j NonTerm
tk Int#
old_st
  (HappyCons Int#
_ sts :: Happy_IntList
sts@(HappyCons Int#
st Happy_IntList
_))
  (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
v1 `HappyStk` HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
v2 `HappyStk` HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk')
     = let r :: HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
r = HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
fn HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
v1 HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
v2 in
       Int#
-> ([NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. Int# -> a -> a
happyTcHack Int#
old_st (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> ([NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a b. a -> b -> b
happySeq HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
r (Int#
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyGoto Int#
nt Int#
j NonTerm
tk Int#
st Happy_IntList
sts (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
r HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk')))

happySpecReduce_3 :: Int#
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
    -> HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happySpecReduce_3 Int#
nt HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
fn Int#
j NonTerm
tk Int#
old_st
  (HappyCons Int#
_ (HappyCons Int#
_ sts :: Happy_IntList
sts@(HappyCons Int#
st Happy_IntList
_)))
  (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
v1 `HappyStk` HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
v2 `HappyStk` HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
v3 `HappyStk` HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk')
     = let r :: HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
r = HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
-> HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
fn HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
v1 HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
v2 HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
v3 in
       Int#
-> ([NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. Int# -> a -> a
happyTcHack Int#
old_st (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> ([NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a b. a -> b -> b
happySeq HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
r (Int#
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyGoto Int#
nt Int#
j NonTerm
tk Int#
st Happy_IntList
sts (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
r HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk')))

happyReduce :: Int#
-> Int#
-> (HappyStk
      (HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
    -> HappyStk
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyReduce Int#
k Int#
nt HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
fn Int#
j NonTerm
tk Int#
st Happy_IntList
sts HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk
     = case Int# -> Happy_IntList -> Happy_IntList
happyDrop MINUS(k,(1# :: Happy_Int)) sts of
         sts1 :: Happy_IntList
sts1@(HappyCons Int#
st1 Happy_IntList
_) ->
                let r :: HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
r = HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
fn HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk in -- it doesn't hurt to always seq here...
                Int#
st Int#
-> ([NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. Int# -> a -> a
`happyTcHack` HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> ([NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a b. a -> b -> b
happyDoSeq HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
r (Int#
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyGoto Int#
nt Int#
j NonTerm
tk Int#
st1 Happy_IntList
sts1 HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
r)

happyMonadReduce :: Int#
-> Int#
-> (HappyStk
      (HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
    -> NonTerm
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyMonadReduce Int#
k Int#
nt HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> NonTerm
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
fn Int#
j NonTerm
tk Int#
st Happy_IntList
sts HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk =
      case Int# -> Happy_IntList -> Happy_IntList
happyDrop Int#
k (Int# -> Happy_IntList -> Happy_IntList
HappyCons Int#
st Happy_IntList
sts) of
        sts1 :: Happy_IntList
sts1@(HappyCons Int#
st1 Happy_IntList
_) ->
          let drop_stk :: HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
drop_stk = Int#
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. Int# -> HappyStk a -> HappyStk a
happyDropStk Int#
k HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk in
          Int#
j Int#
-> ([NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. Int# -> a -> a
`happyTcHack` ParseResult
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> [NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall (m :: * -> *) t t b.
Monad m =>
m t -> (t -> t -> m b) -> t -> m b
happyThen1 (HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> NonTerm
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
fn HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk NonTerm
tk)
                                     (\HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
r -> Int#
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyGoto Int#
nt Int#
j NonTerm
tk Int#
st1 Happy_IntList
sts1 (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
r HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
drop_stk))

happyMonad2Reduce :: Int#
-> Int#
-> (HappyStk
      (HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm])
    -> t
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> Int#
-> t
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyMonad2Reduce Int#
k Int#
nt HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> t
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
fn Int#
j t
tk Int#
st Happy_IntList
sts HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk =
      case Int# -> Happy_IntList -> Happy_IntList
happyDrop Int#
k (Int# -> Happy_IntList -> Happy_IntList
HappyCons Int#
st Happy_IntList
sts) of
        sts1 :: Happy_IntList
sts1@(HappyCons Int#
st1 Happy_IntList
_) ->
          let drop_stk :: HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
drop_stk = Int#
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. Int# -> HappyStk a -> HappyStk a
happyDropStk Int#
k HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk
              off :: Int#
off = HappyAddr -> Int# -> Int#
happyIndexOffAddr HappyAddr
happyGotoOffsets Int#
st1
              off_i :: Int#
off_i = PLUS(off, nt)
              new_state :: Int#
new_state = HappyAddr -> Int# -> Int#
happyIndexOffAddr HappyAddr
happyTable Int#
off_i
          in
            Int#
j Int#
-> ([NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. Int# -> a -> a
`happyTcHack` ParseResult
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> (HappyAbsSyn
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
      [NonTerm]
    -> [NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall (m :: * -> *) t t b.
Monad m =>
m t -> (t -> t -> m b) -> t -> m b
happyThen1 (HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
-> t
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
fn HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk t
tk)
                                       (\HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
r -> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyNewToken Int#
new_state Happy_IntList
sts1 (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
r HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
drop_stk))

happyDrop :: Int# -> Happy_IntList -> Happy_IntList
happyDrop Int#
0# Happy_IntList
l               = Happy_IntList
l
happyDrop Int#
n  (HappyCons Int#
_ Happy_IntList
t) = Int# -> Happy_IntList -> Happy_IntList
happyDrop MINUS(n,(1# :: Happy_Int)) t

happyDropStk :: Int# -> HappyStk a -> HappyStk a
happyDropStk Int#
0# HappyStk a
l                 = HappyStk a
l
happyDropStk Int#
n  (a
x `HappyStk` HappyStk a
xs) = Int# -> HappyStk a -> HappyStk a
happyDropStk MINUS(n,(1#::Happy_Int)) xs

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

happyGoto :: Int#
-> Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyGoto Int#
nt Int#
j NonTerm
tk Int#
st =
   DEBUG_TRACE(", goto state " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# new_state) Happy_Prelude.++ "\n")
   Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyDoAction Int#
j NonTerm
tk Int#
new_state
  where new_state :: Int#
new_state = Int# -> Int# -> Int#
happyIndexGotoTable Int#
nt Int#
st

{- Note [Error recovery]
~~~~~~~~~~~~~~~~~~~~~~~~
When there is no applicable action for the current lookahead token `tk`,
happy enters error recovery mode. Depending on whether the grammar file
declares the two action form `%error { abort } { report }` for
    Resumptive Error Handling,
it works in one (not resumptive) or two phases (resumptive):

 1. Fixup mode:
    Try to see if there is an action for the error token ERROR_TOK. If there
    is, do *not* emit an error and pretend instead that an `error` token was
    inserted.
    When there is no ERROR_TOK action, report an error.

    In non-resumptive error handling, calling the single error handler
    (e.g. `happyError`) will throw an exception and abort the parser.
    However, in resumptive error handling we enter *error resumption mode*.

 2. Error resumption mode:
    After reporting the error (with `report`), happy will attempt to find
    a good state stack to resume parsing in.
    For each candidate stack, it discards input until one of the candidates
    resumes (i.e. shifts the current input).
    If no candidate resumes before the end of input, resumption failed and
    calls the `abort` function, to much the same effect as in non-resumptive
    error handling.

    Candidate stacks are declared by the grammar author using the special
    `catch` terminal and called "catch frames".
    This mechanism is described in detail in Note [happyResume].

The `catch` resumption mechanism (2) is what usually is associated with
`error` in `bison` or `menhir`. Since `error` is used for the Fixup mechanism
(1) above, we call the corresponding token `catch`.
Furthermore, in constrast to `bison`, our implementation of `catch`
non-deterministically considers multiple catch frames on the stack for
resumption (See Note [Multiple catch frames]).

Note [happyResume]
~~~~~~~~~~~~~~~~~~
`happyResume` implements the resumption mechanism from Note [Error recovery].
It is best understood by example. Consider

Exp :: { String }
Exp : '1'                { "1" }
    | catch              { "catch" }
    | Exp '+' Exp %shift { $1 Happy_Prelude.++ " + " Happy_Prelude.++ $3 } -- %shift: associate 1 + 1 + 1 to the right
    | '(' Exp ')'        { "(" Happy_Prelude.++ $2 Happy_Prelude.++ ")" }

The idea of the use of `catch` here is that upon encountering a parse error
during expression parsing, we can gracefully degrade using the `catch` rule,
still producing a partial syntax tree and keep on parsing to find further
syntax errors.

Let's trace the parser state for input 11+1, which will error out after shifting 1.
After shifting, we have the following item stack (growing downwards and omitting
transitive closure items):

  State 0: %start_parseExp -> . Exp
  State 5: Exp -> '1' .

(Stack as a list of state numbers: [5,0].)
As Note [Error recovery] describes, we will first try Fixup mode.
That fails because no production can shift the `error` token.
Next we try Error resumption mode. This works as follows:

  1. Pop off the item stack until we find an item that can shift the `catch`
     token. (Implemented in `pop_items`.)
       * State 5 cannot shift catch. Pop.
       * State 0 can shift catch, which would transition into
          State 4: Exp -> catch .
     So record the *stack* `[4,0]` after doing the shift transition.
     We call this a *catch frame*, where the top is a *catch state*,
     corresponding to an item in which we just shifted a `catch` token.
     There can be multiple such catch stacks, see Note [Multiple catch frames].

  2. Discard tokens from the input until the lookahead can be shifted in one
     of the catch stacks. (Implemented in `discard_input_until_exp` and
     `some_catch_state_shifts`.)
       * We cannot shift the current lookahead '1' in state 4, so we discard
       * We *can* shift the next lookahead '+' in state 4, but only after
         reducing, which pops State 4 and goes to State 3:
           State 3: %start_parseExp -> Exp .
                    Exp -> Exp . '+' Exp
         Here we can shift '+'.
     As you can see, to implement this machinery we need to simulate
     the operation of the LALR automaton, especially reduction
     (`happySimulateReduce`).

Note [Multiple catch frames]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For fewer spurious error messages, it can be beneficial to trace multiple catch
items. Consider

Exp : '1'
    | catch
    | Exp '+' Exp %shift
    | '(' Exp ')'

Let's trace the parser state for input (;+1, which will error out after shifting (.
After shifting, we have the following item stack (growing downwards):

  State 0: %start_parseExp -> . Exp
  State 6: Exp -> '(' . Exp ')'

Upon error, we want to find items in the stack which can shift a catch token.
Note that both State 0 and State 6 can shift a catch token, transitioning into
  State 4: Exp -> catch .
Hence we record the catch frames `[4,6,0]` and `[4,0]` for possible resumption.

Which catch frame do we pick for resumption?
Note that resuming catch frame `[4,0]` will parse as "catch+1", whereas
resuming the innermost frame `[4,6,0]` corresponds to parsing "(catch+1".
The latter would keep discarding input until the closing ')' is found.
So we will discard + and 1, leading to a spurious syntax error at the end of
input, aborting the parse and never producing a partial syntax tree. Bad!

It is far preferable to resume with catch frame `[4,0]`, where we can resume
successfully on input +, so that is what we do.

In general, we pick the catch frame for resumption that discards the least
amount of input for a successful shift, preferring the topmost such catch frame.
-}

-- happyFail :: Happy_Int -> Token -> Happy_Int -> _
-- This function triggers Note [Error recovery].
-- If the current token is ERROR_TOK, phase (1) has failed and we might try
-- phase (2).
happyFail :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyFail ERROR_TOK = happyFixupFailed
happyFail Int#
i         = Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyTryFixup Int#
i

-- Enter Error Fixup (see Note [Error recovery]):
-- generate an error token, save the old token and carry on.
-- When a `happyShift` accepts the error token, we will pop off the error token
-- to resume parsing with the current lookahead `i`.
happyTryFixup :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyTryFixup Int#
i NonTerm
tk Int#
action Happy_IntList
sts HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk =
  DEBUG_TRACE("entering `error` fixup.\n")
  Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyDoAction ERROR_TOK tk action sts (MK_ERROR_TOKEN(i) `HappyStk` stk)
  -- NB: `happyShift` will simply pop the error token and carry on with
  --     `tk`. Hence we don't change `tk` in the call here

-- See Note [Error recovery], phase (2).
-- Enter resumption mode after reporting the error by calling `happyResume`.
happyFixupFailed :: NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyFixupFailed NonTerm
tk Int#
st Happy_IntList
sts (HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
x `HappyStk` HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk) =
  let i :: Int#
i = GET_ERROR_TOKEN(x) in
  DEBUG_TRACE("`error` fixup failed.\n")
  let resume :: [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
resume   = Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyResume Int#
i NonTerm
tk Int#
st Happy_IntList
sts HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk
      expected :: [[Char]]
expected = Int# -> Happy_IntList -> [[Char]]
happyExpectedTokens Int#
st Happy_IntList
sts in
  Int#
-> NonTerm
-> [[Char]]
-> ([NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a.
Int#
-> NonTerm
-> [[Char]]
-> ([NonTerm] -> ParseResult a)
-> [NonTerm]
-> ParseResult a
happyReport Int#
i NonTerm
tk [[Char]]
expected [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
resume

-- happyResume :: Happy_Int -> Token -> Happy_Int -> _
-- See Note [happyResume]
happyResume :: Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyResume Int#
i NonTerm
tk Int#
st Happy_IntList
sts HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk = [(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
pop_items [] Int#
st Happy_IntList
sts HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk
  where
    !(Happy_GHC_Exts.I# Int#
n_starts) = Int
happy_n_starts   -- this is to test whether we have a start token
    !(Happy_GHC_Exts.I# Int#
eof_i) = Int
happy_n_terms Int -> Int -> Int
forall a. Num a => a -> a -> a
Happy_Prelude.- Int
1   -- this is the token number of the EOF token
    happy_list_to_list :: Happy_IntList -> [Happy_Prelude.Int]
    happy_list_to_list :: Happy_IntList -> [Int]
happy_list_to_list (HappyCons Int#
st Happy_IntList
sts)
      | LT(st, n_starts)
      = [(Int# -> Int
Happy_GHC_Exts.I# Int#
st)]
      | Bool
Happy_Prelude.otherwise
      = (Int# -> Int
Happy_GHC_Exts.I# Int#
st) Int -> [Int] -> [Int]
forall k1. k1 -> [k1] -> [k1]
: Happy_IntList -> [Int]
happy_list_to_list Happy_IntList
sts

    -- See (1) of Note [happyResume]
    pop_items :: [(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
pop_items [(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
catch_frames Int#
st Happy_IntList
sts HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk
      | LT(st, n_starts)
      = DEBUG_TRACE("reached start state " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# st) Happy_Prelude.++ ", ")
        if [(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
-> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
Happy_Prelude.null [(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
catch_frames_new
          then DEBUG_TRACE("no resumption.\n")
               [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. [NonTerm] -> ParseResult a
happyAbort
          else DEBUG_TRACE("now discard input, trying to anchor in states " Happy_Prelude.++ Happy_Prelude.show (Happy_Prelude.map (happy_list_to_list . Happy_Prelude.fst) (Happy_Prelude.reverse catch_frames_new)) Happy_Prelude.++ ".\n")
               Int#
-> NonTerm
-> [(Happy_IntList,
     HappyStk
       (HappyAbsSyn
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]))]
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
discard_input_until_exp Int#
i NonTerm
tk ([(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
-> [(Happy_IntList,
     HappyStk
       (HappyAbsSyn
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]))]
forall a. [a] -> [a]
Happy_Prelude.reverse [(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
catch_frames_new)
      | (HappyCons Int#
st1 Happy_IntList
sts1) <- Happy_IntList
sts, HappyAbsSyn
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
  [NonTerm]
_ `HappyStk` HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk1 <- HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk
      = [(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
pop_items [(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
catch_frames_new Int#
st1 Happy_IntList
sts1 HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
stk1
      where
        !catch_frames_new :: [(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
catch_frames_new
          | HappyShift Int#
new_state <- Int# -> HappyAction
happyDecodeAction (Int# -> Int# -> Int#
happyNextAction CATCH_TOK st)
          , DEBUG_TRACE("can shift catch token in state " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# st) Happy_Prelude.++ ", into state " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# new_state) Happy_Prelude.++ "\n")
            [(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
-> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
Happy_Prelude.null (((Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))
 -> Bool)
-> [(Happy_IntList,
     HappyStk
       (HappyAbsSyn
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]))]
-> [(Happy_IntList,
     HappyStk
       (HappyAbsSyn
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]))]
forall a. (a -> Bool) -> [a] -> [a]
Happy_Prelude.filter (\(HappyCons Int#
_ (HappyCons Int#
h Happy_IntList
_),HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
_) -> EQ(st,h)) catch_frames)
          = (Int# -> Happy_IntList -> Happy_IntList
HappyCons Int#
new_state (Int# -> Happy_IntList -> Happy_IntList
HappyCons Int#
st Happy_IntList
sts), MK_ERROR_TOKEN(i) `HappyStk` stk):catch_frames -- MK_ERROR_TOKEN(i) is just some dummy that should not be accessed by user code
          | Bool
Happy_Prelude.otherwise
          = DEBUG_TRACE("already shifted or can't shift catch in " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# st) Happy_Prelude.++ "\n")
            [(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
catch_frames

    -- See (2) of Note [happyResume]
    discard_input_until_exp :: Int#
-> NonTerm
-> [(Happy_IntList,
     HappyStk
       (HappyAbsSyn
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]))]
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
discard_input_until_exp Int#
i NonTerm
tk [(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
catch_frames
      | Happy_Prelude.Just (HappyCons Int#
st (HappyCons Int#
catch_st Happy_IntList
sts), HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
catch_frame) <- Int#
-> [(Happy_IntList,
     HappyStk
       (HappyAbsSyn
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]))]
-> Maybe
     (Happy_IntList,
      HappyStk
        (HappyAbsSyn
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]
           [NonTerm]))
forall b. Int# -> [(Happy_IntList, b)] -> Maybe (Happy_IntList, b)
some_catch_state_shifts Int#
i [(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
catch_frames
      = DEBUG_TRACE("found expected token in state " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# st) Happy_Prelude.++ " after shifting from " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# catch_st) Happy_Prelude.++ ": " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# i) Happy_Prelude.++ "\n")
        Int#
-> NonTerm
-> Int#
-> Happy_IntList
-> HappyStk
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
happyDoAction Int#
i NonTerm
tk Int#
st (Int# -> Happy_IntList -> Happy_IntList
HappyCons Int#
catch_st Happy_IntList
sts) HappyStk
  (HappyAbsSyn
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm]
     [NonTerm])
catch_frame
      | EQ(i,eof_i) -- is i EOF?
      = DEBUG_TRACE("reached EOF, cannot resume. abort parse :(\n")
        [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall a. [NonTerm] -> ParseResult a
happyAbort
      | Bool
Happy_Prelude.otherwise
      = DEBUG_TRACE("discard token " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# i) Happy_Prelude.++ "\n")
        (NonTerm
 -> [NonTerm]
 -> ParseResult
      (HappyAbsSyn
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]
         [NonTerm]))
-> (Int#
    -> NonTerm
    -> [NonTerm]
    -> ParseResult
         (HappyAbsSyn
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]
            [NonTerm]))
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
forall t a p.
(t -> [a] -> p)
-> (Int# -> NonTerm -> [NonTerm] -> p) -> [NonTerm] -> p
happyLex (\NonTerm
eof_tk -> Int#
-> NonTerm
-> [(Happy_IntList,
     HappyStk
       (HappyAbsSyn
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]))]
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
discard_input_until_exp Int#
eof_i NonTerm
eof_tk [(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
catch_frames) -- eof
                 (\Int#
i NonTerm
tk   -> Int#
-> NonTerm
-> [(Happy_IntList,
     HappyStk
       (HappyAbsSyn
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]
          [NonTerm]))]
-> [NonTerm]
-> ParseResult
     (HappyAbsSyn
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm]
        [NonTerm])
discard_input_until_exp Int#
i NonTerm
tk [(Happy_IntList,
  HappyStk
    (HappyAbsSyn
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]
       [NonTerm]))]
catch_frames)         -- not eof

    some_catch_state_shifts :: Int# -> [(Happy_IntList, b)] -> Maybe (Happy_IntList, b)
some_catch_state_shifts Int#
_ [] = DEBUG_TRACE("no catch state could shift.\n") Happy_Prelude.Nothing
    some_catch_state_shifts Int#
i catch_frames :: [(Happy_IntList, b)]
catch_frames@(((HappyCons Int#
st Happy_IntList
sts),b
_):[(Happy_IntList, b)]
_) = Int#
-> Int#
-> Happy_IntList
-> [(Happy_IntList, b)]
-> Maybe (Happy_IntList, b)
try_head Int#
i Int#
st Happy_IntList
sts [(Happy_IntList, b)]
catch_frames
      where
        try_head :: Int#
-> Int#
-> Happy_IntList
-> [(Happy_IntList, b)]
-> Maybe (Happy_IntList, b)
try_head Int#
i Int#
st Happy_IntList
sts [(Happy_IntList, b)]
catch_frames = -- PRECONDITION: head catch_frames = (HappyCons st sts)
          DEBUG_TRACE("trying token " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# i) Happy_Prelude.++ " in state " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# st) Happy_Prelude.++ ": ")
          case Int# -> HappyAction
happyDecodeAction (Int# -> Int# -> Int#
happyNextAction Int#
i Int#
st) of
            HappyAction
HappyFail     -> DEBUG_TRACE("fail.\n")   some_catch_state_shifts i (Happy_Prelude.tail catch_frames)
            HappyAction
HappyAccept   -> DEBUG_TRACE("accept.\n") Happy_Prelude.Just (Happy_Prelude.head catch_frames)
            HappyShift Int#
_  -> DEBUG_TRACE("shift.\n")  Happy_Prelude.Just (Happy_Prelude.head catch_frames)
            HappyReduce Int#
r -> case Int# -> Int# -> Happy_IntList -> Happy_IntList
happySimulateReduce Int#
r Int#
st Happy_IntList
sts of
              (HappyCons Int#
st1 Happy_IntList
sts1) -> Int#
-> Int#
-> Happy_IntList
-> [(Happy_IntList, b)]
-> Maybe (Happy_IntList, b)
try_head Int#
i Int#
st1 Happy_IntList
sts1 [(Happy_IntList, b)]
catch_frames

happySimulateReduce :: Int# -> Int# -> Happy_IntList -> Happy_IntList
happySimulateReduce Int#
r Int#
st Happy_IntList
sts =
  DEBUG_TRACE("simulate reduction of rule " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# r) Happy_Prelude.++ ", ")
  let (# Int#
nt, Int#
len #) = Int# -> (# Int#, Int# #)
happyIndexRuleArr Int#
r in
  DEBUG_TRACE("nt " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# nt) Happy_Prelude.++ ", len: " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# len) Happy_Prelude.++ ", new_st ")
  let !(sts1 :: Happy_IntList
sts1@(HappyCons Int#
st1 Happy_IntList
_)) = Int# -> Happy_IntList -> Happy_IntList
happyDrop Int#
len (Int# -> Happy_IntList -> Happy_IntList
HappyCons Int#
st Happy_IntList
sts)
      new_st :: Int#
new_st = Int# -> Int# -> Int#
happyIndexGotoTable Int#
nt Int#
st1 in
  DEBUG_TRACE(Happy_Prelude.show (Happy_GHC_Exts.I# new_st) Happy_Prelude.++ ".\n")
  (Int# -> Happy_IntList -> Happy_IntList
HappyCons Int#
new_st Happy_IntList
sts1)

happyTokenToString :: Happy_Prelude.Int -> Happy_Prelude.String
happyTokenToString :: Int -> [Char]
happyTokenToString Int
i = [[Char]]
happyTokenStrings [[Char]] -> Int -> [Char]
forall a. [a] -> Int -> a
Happy_Prelude.!! (Int
i Int -> Int -> Int
forall a. Num a => a -> a -> a
Happy_Prelude.- Int
2) -- 2: errorTok, catchTok

happyExpectedTokens :: Happy_Int -> Happy_IntList -> [Happy_Prelude.String]
-- Upon a parse error, we want to suggest tokens that are expected in that
-- situation. This function computes such tokens.
-- It works by examining the top of the state stack.
-- For every token number that does a shift transition, record that token number.
-- For every token number that does a reduce transition, simulate that reduction
-- on the state state stack and repeat.
-- The recorded token numbers are then formatted with 'happyTokenToString' and
-- returned.
happyExpectedTokens :: Int# -> Happy_IntList -> [[Char]]
happyExpectedTokens Int#
st Happy_IntList
sts =
  DEBUG_TRACE("constructing expected tokens.\n")
  (Int -> [Char]) -> [Int] -> [[Char]]
forall a b. (a -> b) -> [a] -> [b]
Happy_Prelude.map Int -> [Char]
happyTokenToString (Int# -> Happy_IntList -> [Int] -> [Int]
search_shifts Int#
st Happy_IntList
sts [])
  where
    search_shifts :: Int# -> Happy_IntList -> [Int] -> [Int]
search_shifts Int#
st Happy_IntList
sts [Int]
shifts = ((Int, Int) -> [Int] -> [Int]) -> [Int] -> [(Int, Int)] -> [Int]
forall (t :: * -> *) a b.
Foldable t =>
(a -> b -> b) -> b -> t a -> b
Happy_Prelude.foldr (Int# -> Happy_IntList -> (Int, Int) -> [Int] -> [Int]
add_action Int#
st Happy_IntList
sts) [Int]
shifts (Int# -> [(Int, Int)]
distinct_actions Int#
st)
    add_action :: Int# -> Happy_IntList -> (Int, Int) -> [Int] -> [Int]
add_action Int#
st Happy_IntList
sts (Happy_GHC_Exts.I# Int#
i, Happy_GHC_Exts.I# Int#
act) [Int]
shifts =
      DEBUG_TRACE("found action in state " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# st) Happy_Prelude.++ ", input " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# i) Happy_Prelude.++ ", " Happy_Prelude.++ Happy_Prelude.show (happyDecodeAction act) Happy_Prelude.++ "\n")
      case Int# -> HappyAction
happyDecodeAction Int#
act of
        HappyAction
HappyFail     -> [Int]
shifts
        HappyAction
HappyAccept   -> [Int]
shifts -- This would always be %eof or error... Not helpful
        HappyShift Int#
_  -> Int -> [Int] -> [Int]
forall a. Ord a => a -> [a] -> [a]
Happy_Prelude.insert (Int# -> Int
Happy_GHC_Exts.I# Int#
i) [Int]
shifts
        HappyReduce Int#
r -> case Int# -> Int# -> Happy_IntList -> Happy_IntList
happySimulateReduce Int#
r Int#
st Happy_IntList
sts of
          (HappyCons Int#
st1 Happy_IntList
sts1) -> Int# -> Happy_IntList -> [Int] -> [Int]
search_shifts Int#
st1 Happy_IntList
sts1 [Int]
shifts
    distinct_actions :: Int# -> [(Int, Int)]
distinct_actions Int#
st
      -- The (token number, action) pairs of all actions in the given state
      = ((-Int
1), (Int# -> Int
Happy_GHC_Exts.I# (HappyAddr -> Int# -> Int#
happyIndexOffAddr HappyAddr
happyDefActions Int#
st)))
      (Int, Int) -> [(Int, Int)] -> [(Int, Int)]
forall k1. k1 -> [k1] -> [k1]
: [ (Int
i, Int
act) | Int
i <- [Int
begin_i..Int
happy_n_terms], Int
act <- Int# -> Int -> [Int]
get_act Int#
row_off Int
i ]
      where
        row_off :: Int#
row_off = HappyAddr -> Int# -> Int#
happyIndexOffAddr HappyAddr
happyActOffsets Int#
st
        begin_i :: Int
begin_i = Int
2 -- +2: errorTok,catchTok
    get_act :: Int# -> Int -> [Int]
get_act Int#
off (Happy_GHC_Exts.I# Int#
i) -- happyIndexActionTable with cached row offset
      | let off_i :: Int#
off_i = PLUS(off,i)
      , GTE(off_i,0#)
      , EQ(happyIndexOffAddr happyCheck off_i,i)
      = [(Int# -> Int
Happy_GHC_Exts.I# (HappyAddr -> Int# -> Int#
happyIndexOffAddr HappyAddr
happyTable Int#
off_i))]
      | Bool
Happy_Prelude.otherwise
      = []

-- Internal happy errors:

notHappyAtAll :: a
notHappyAtAll :: a
notHappyAtAll = [Char] -> a
forall a. HasCallStack => [Char] -> a
Happy_Prelude.error [Char]
"Internal Happy parser panic. This is not supposed to happen! Please open a bug report at https://github.com/haskell/happy/issues.\n"

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

happyTcHack :: Happy_Int -> a -> a
happyTcHack :: Int# -> a -> a
happyTcHack Int#
x a
y = a
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 -> b
happyDoSeq   a
a b
b = a
a a -> b -> b
`Happy_GHC_Exts.seq` b
b
happyDontSeq :: a -> b -> b
happyDontSeq a
a b
b = 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.