{-# 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 CPP #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
module Language.Happy.Parser
( parseGrammar
, source
) where
import qualified Data.ByteString as BS
import Data.FileEmbed (embedFile)
import Data.Fix (Fix (..))
import Data.Text (Text)
import qualified Data.Text as Text
import Language.Happy.Ast (Node, NodeF (..))
import Language.Happy.Lexer (Alex, AlexPosn (..), Lexeme (..),
alexError, alexMonadScan)
import Language.Happy.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)
newtype HappyAbsSyn = HappyAbsSyn HappyAny
#if __GLASGOW_HASKELL__ >= 607
type HappyAny = Happy_GHC_Exts.Any
#else
type HappyAny = forall a . a
#endif
newtype HappyWrap5 = HappyWrap5 (NonTerm)
happyIn5 :: (NonTerm) -> (HappyAbsSyn )
happyIn5 :: NonTerm -> HappyAbsSyn
happyIn5 NonTerm
x = HappyWrap5 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (NonTerm -> HappyWrap5
HappyWrap5 NonTerm
x)
{-# INLINE happyIn5 #-}
happyOut5 :: (HappyAbsSyn ) -> HappyWrap5
happyOut5 :: HappyAbsSyn -> HappyWrap5
happyOut5 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap5
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut5 #-}
newtype HappyWrap6 = HappyWrap6 ([Term])
happyIn6 :: ([Term]) -> (HappyAbsSyn )
happyIn6 :: [Term] -> HappyAbsSyn
happyIn6 [Term]
x = HappyWrap6 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Term] -> HappyWrap6
HappyWrap6 [Term]
x)
{-# INLINE happyIn6 #-}
happyOut6 :: (HappyAbsSyn ) -> HappyWrap6
happyOut6 :: HappyAbsSyn -> HappyWrap6
happyOut6 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap6
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut6 #-}
newtype HappyWrap7 = HappyWrap7 ([NonTerm])
happyIn7 :: ([NonTerm]) -> (HappyAbsSyn )
happyIn7 :: [NonTerm] -> HappyAbsSyn
happyIn7 [NonTerm]
x = HappyWrap7 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([NonTerm] -> HappyWrap7
HappyWrap7 [NonTerm]
x)
{-# INLINE happyIn7 #-}
happyOut7 :: (HappyAbsSyn ) -> HappyWrap7
happyOut7 :: HappyAbsSyn -> HappyWrap7
happyOut7 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap7
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut7 #-}
newtype HappyWrap8 = HappyWrap8 (NonTerm)
happyIn8 :: (NonTerm) -> (HappyAbsSyn )
happyIn8 :: NonTerm -> HappyAbsSyn
happyIn8 NonTerm
x = HappyWrap8 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (NonTerm -> HappyWrap8
HappyWrap8 NonTerm
x)
{-# INLINE happyIn8 #-}
happyOut8 :: (HappyAbsSyn ) -> HappyWrap8
happyOut8 :: HappyAbsSyn -> HappyWrap8
happyOut8 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap8
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut8 #-}
newtype HappyWrap9 = HappyWrap9 ([Term])
happyIn9 :: ([Term]) -> (HappyAbsSyn )
happyIn9 :: [Term] -> HappyAbsSyn
happyIn9 [Term]
x = HappyWrap9 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Term] -> HappyWrap9
HappyWrap9 [Term]
x)
{-# INLINE happyIn9 #-}
happyOut9 :: (HappyAbsSyn ) -> HappyWrap9
happyOut9 :: HappyAbsSyn -> HappyWrap9
happyOut9 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap9
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut9 #-}
newtype HappyWrap10 = HappyWrap10 ([NonTerm])
happyIn10 :: ([NonTerm]) -> (HappyAbsSyn )
happyIn10 :: [NonTerm] -> HappyAbsSyn
happyIn10 [NonTerm]
x = HappyWrap10 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([NonTerm] -> HappyWrap10
HappyWrap10 [NonTerm]
x)
{-# INLINE happyIn10 #-}
happyOut10 :: (HappyAbsSyn ) -> HappyWrap10
happyOut10 :: HappyAbsSyn -> HappyWrap10
happyOut10 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap10
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut10 #-}
newtype HappyWrap11 = HappyWrap11 (NonTerm)
happyIn11 :: (NonTerm) -> (HappyAbsSyn )
happyIn11 :: NonTerm -> HappyAbsSyn
happyIn11 NonTerm
x = HappyWrap11 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (NonTerm -> HappyWrap11
HappyWrap11 NonTerm
x)
{-# INLINE happyIn11 #-}
happyOut11 :: (HappyAbsSyn ) -> HappyWrap11
happyOut11 :: HappyAbsSyn -> HappyWrap11
happyOut11 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap11
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut11 #-}
newtype HappyWrap12 = HappyWrap12 (Term)
happyIn12 :: (Term) -> (HappyAbsSyn )
happyIn12 :: Term -> HappyAbsSyn
happyIn12 Term
x = HappyWrap12 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Term -> HappyWrap12
HappyWrap12 Term
x)
{-# INLINE happyIn12 #-}
happyOut12 :: (HappyAbsSyn ) -> HappyWrap12
happyOut12 :: HappyAbsSyn -> HappyWrap12
happyOut12 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap12
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut12 #-}
newtype HappyWrap13 = HappyWrap13 ([NonTerm])
happyIn13 :: ([NonTerm]) -> (HappyAbsSyn )
happyIn13 :: [NonTerm] -> HappyAbsSyn
happyIn13 [NonTerm]
x = HappyWrap13 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([NonTerm] -> HappyWrap13
HappyWrap13 [NonTerm]
x)
{-# INLINE happyIn13 #-}
happyOut13 :: (HappyAbsSyn ) -> HappyWrap13
happyOut13 :: HappyAbsSyn -> HappyWrap13
happyOut13 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap13
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut13 #-}
newtype HappyWrap14 = HappyWrap14 (NonTerm)
happyIn14 :: (NonTerm) -> (HappyAbsSyn )
happyIn14 :: NonTerm -> HappyAbsSyn
happyIn14 NonTerm
x = HappyWrap14 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (NonTerm -> HappyWrap14
HappyWrap14 NonTerm
x)
{-# INLINE happyIn14 #-}
happyOut14 :: (HappyAbsSyn ) -> HappyWrap14
happyOut14 :: HappyAbsSyn -> HappyWrap14
happyOut14 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap14
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut14 #-}
newtype HappyWrap15 = HappyWrap15 (NonTerm)
happyIn15 :: (NonTerm) -> (HappyAbsSyn )
happyIn15 :: NonTerm -> HappyAbsSyn
happyIn15 NonTerm
x = HappyWrap15 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (NonTerm -> HappyWrap15
HappyWrap15 NonTerm
x)
{-# INLINE happyIn15 #-}
happyOut15 :: (HappyAbsSyn ) -> HappyWrap15
happyOut15 :: HappyAbsSyn -> HappyWrap15
happyOut15 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap15
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut15 #-}
newtype HappyWrap16 = HappyWrap16 (NonTerm)
happyIn16 :: (NonTerm) -> (HappyAbsSyn )
happyIn16 :: NonTerm -> HappyAbsSyn
happyIn16 NonTerm
x = HappyWrap16 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (NonTerm -> HappyWrap16
HappyWrap16 NonTerm
x)
{-# INLINE happyIn16 #-}
happyOut16 :: (HappyAbsSyn ) -> HappyWrap16
happyOut16 :: HappyAbsSyn -> HappyWrap16
happyOut16 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap16
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut16 #-}
newtype HappyWrap17 = HappyWrap17 ([NonTerm])
happyIn17 :: ([NonTerm]) -> (HappyAbsSyn )
happyIn17 :: [NonTerm] -> HappyAbsSyn
happyIn17 [NonTerm]
x = HappyWrap17 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([NonTerm] -> HappyWrap17
HappyWrap17 [NonTerm]
x)
{-# INLINE happyIn17 #-}
happyOut17 :: (HappyAbsSyn ) -> HappyWrap17
happyOut17 :: HappyAbsSyn -> HappyWrap17
happyOut17 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap17
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut17 #-}
newtype HappyWrap18 = HappyWrap18 (NonTerm)
happyIn18 :: (NonTerm) -> (HappyAbsSyn )
happyIn18 :: NonTerm -> HappyAbsSyn
happyIn18 NonTerm
x = HappyWrap18 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (NonTerm -> HappyWrap18
HappyWrap18 NonTerm
x)
{-# INLINE happyIn18 #-}
happyOut18 :: (HappyAbsSyn ) -> HappyWrap18
happyOut18 :: HappyAbsSyn -> HappyWrap18
happyOut18 HappyAbsSyn
x = HappyAbsSyn -> HappyWrap18
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut18 #-}
happyInTok :: (Term) -> (HappyAbsSyn )
happyInTok :: Term -> HappyAbsSyn
happyInTok Term
x = Term -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Term
x
{-# INLINE happyInTok #-}
happyOutTok :: (HappyAbsSyn ) -> (Term)
happyOutTok :: HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
x = HappyAbsSyn -> Term
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOutTok #-}
{-# NOINLINE happyTokenStrings #-}
happyTokenStrings :: [String]
happyTokenStrings = [String
"ID_NAME",String
"'{code}'",String
"'%errorhandlertype'",String
"'%error'",String
"'%expect'",String
"'%left'",String
"'%lexer'",String
"'%monad'",String
"'%name'",String
"'%prec'",String
"'%right'",String
"'%token'",String
"'%tokentype'",String
"'%%'",String
"'::'",String
"':'",String
"'|'",String
"LIT_STRING",String
"LIT_INTEGER",String
"%eof"]
happyActOffsets :: HappyAddr
happyActOffsets :: HappyAddr
happyActOffsets = Addr# -> HappyAddr
HappyA# Addr#
"\x04\x00\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\xfe\xff\xff\xff\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x00\x00\x1c\x00\x00\x00\x16\x00\x00\x00\x03\x00\x00\x00\x34\x00\x00\x00\x40\x00\x00\x00\x42\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x4a\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\x4b\x00\x00\x00\x00\x00\x00\x00\x38\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x4f\x00\x00\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
happyGotoOffsets :: HappyAddr
happyGotoOffsets :: HappyAddr
happyGotoOffsets = Addr# -> HappyAddr
HappyA# Addr#
"\x3c\x00\x00\x00\x51\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\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\x2d\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x07\x00\x00\x00\x00\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\x02\x00\x00\x00\x00\x00\x00\x00\x53\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
happyDefActions :: HappyAddr
happyDefActions :: HappyAddr
happyDefActions = Addr# -> HappyAddr
HappyA# Addr#
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xff\xff\xfc\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\xf3\xff\xff\xff\xf2\xff\xff\xff\xed\xff\xff\xff\x00\x00\x00\x00\xe9\xff\xff\xff\xea\xff\xff\xff\xf0\xff\xff\xff\xef\xff\xff\xff\x00\x00\x00\x00\xf4\xff\xff\xff\x00\x00\x00\x00\xf1\xff\xff\xff\xf9\xff\xff\xff\xf6\xff\xff\xff\xf7\xff\xff\xff\xfa\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xe8\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xee\xff\xff\xff\xf5\xff\xff\xff\xf8\xff\xff\xff\xeb\xff\xff\xff\xec\xff\xff\xff\x00\x00\x00\x00\xe6\xff\xff\xff\x00\x00\x00\x00\xfe\xff\xff\xff\xe7\xff\xff\xff\x00\x00\x00\x00\xe5\xff\xff\xff\x00\x00\x00\x00\xe4\xff\xff\xff\xe3\xff\xff\xff\xe1\xff\xff\xff\x00\x00\x00\x00\xe0\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xe2\xff\xff\xff\xdf\xff\xff\xff"#
happyCheck :: HappyAddr
happyCheck :: HappyAddr
happyCheck = Addr# -> HappyAddr
HappyA# Addr#
"\xff\xff\xff\xff\x02\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x03\x00\x00\x00\x01\x00\x00\x00\x07\x00\x00\x00\x0b\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x0c\x00\x00\x00\x0d\x00\x00\x00\x09\x00\x00\x00\x0a\x00\x00\x00\x13\x00\x00\x00\x15\x00\x00\x00\x13\x00\x00\x00\x02\x00\x00\x00\x13\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x00\x00\x09\x00\x00\x00\x0a\x00\x00\x00\x03\x00\x00\x00\x0c\x00\x00\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x00\x00\x09\x00\x00\x00\x0a\x00\x00\x00\x14\x00\x00\x00\x0c\x00\x00\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x0f\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x07\x00\x00\x00\x07\x00\x00\x00\x07\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x0d\x00\x00\x00\x08\x00\x00\x00\x09\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x10\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x0b\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x11\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x03\x00\x00\x00\x03\x00\x00\x00\x12\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x03\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\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"#
happyTable :: HappyAddr
happyTable :: HappyAddr
happyTable = Addr# -> HappyAddr
HappyA# Addr#
"\x00\x00\x00\x00\x17\x00\x00\x00\x39\x00\x00\x00\x17\x00\x00\x00\x37\x00\x00\x00\x17\x00\x00\x00\x33\x00\x00\x00\x04\x00\x00\x00\x2f\x00\x00\x00\x19\x00\x00\x00\x3a\x00\x00\x00\x13\x00\x00\x00\x14\x00\x00\x00\x15\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x30\x00\x00\x00\x25\x00\x00\x00\x18\x00\x00\x00\xff\xff\xff\xff\x18\x00\x00\x00\x21\x00\x00\x00\x18\x00\x00\x00\x08\x00\x00\x00\x09\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\x20\x00\x00\x00\x10\x00\x00\x00\x11\x00\x00\x00\x12\x00\x00\x00\x09\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\x1f\x00\x00\x00\x10\x00\x00\x00\x11\x00\x00\x00\x12\x00\x00\x00\x23\x00\x00\x00\x33\x00\x00\x00\x1d\x00\x00\x00\x18\x00\x00\x00\x19\x00\x00\x00\x19\x00\x00\x00\x19\x00\x00\x00\x27\x00\x00\x00\x04\x00\x00\x00\x1d\x00\x00\x00\x3b\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x02\x00\x00\x00\x2d\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x2b\x00\x00\x00\x15\x00\x00\x00\x1c\x00\x00\x00\x1b\x00\x00\x00\x2d\x00\x00\x00\x13\x00\x00\x00\x2b\x00\x00\x00\x2a\x00\x00\x00\x32\x00\x00\x00\x29\x00\x00\x00\x27\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x08\x00\x00\x00\x38\x00\x00\x00\x3b\x00\x00\x00\x02\x00\x00\x00\x3d\x00\x00\x00\x27\x00\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn)
happyReduceArr = (Int, Int)
-> [(Int,
Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn)]
-> Array
Int
(Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn)
forall i e. Ix i => (i, i) -> [(i, e)] -> Array i e
Happy_Data_Array.array (Int
1, Int
32) [
(Int
1 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_1),
(Int
2 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_2),
(Int
3 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_3),
(Int
4 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_4),
(Int
5 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_5),
(Int
6 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_6),
(Int
7 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_7),
(Int
8 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_8),
(Int
9 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_9),
(Int
10 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_10),
(Int
11 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_11),
(Int
12 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_12),
(Int
13 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_13),
(Int
14 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_14),
(Int
15 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_15),
(Int
16 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_16),
(Int
17 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_17),
(Int
18 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_18),
(Int
19 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_19),
(Int
20 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_20),
(Int
21 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_21),
(Int
22 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_22),
(Int
23 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_23),
(Int
24 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_24),
(Int
25 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_25),
(Int
26 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_26),
(Int
27 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_27),
(Int
28 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_28),
(Int
29 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_29),
(Int
30 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_30),
(Int
31 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_31),
(Int
32 , Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_32)
]
happyRuleArr :: HappyAddr
happyRuleArr :: HappyAddr
happyRuleArr = Addr# -> HappyAddr
HappyA# Addr#
"\x00\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x02\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\x00\x00\x00\x07\x00\x00\x00\x01\x00\x00\x00\x08\x00\x00\x00\x01\x00\x00\x00\x08\x00\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x02\x00\x00\x00\x0a\x00\x00\x00\x03\x00\x00\x00\x0b\x00\x00\x00\x03\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x03\x00\x00\x00\x0d\x00\x00\x00\x01\x00\x00\x00\x0d\x00\x00\x00\x02\x00\x00\x00\x0d\x00\x00\x00\x04\x00\x00\x00"#
happyCatchStates :: [Happy_Prelude.Int]
happyCatchStates :: [Int]
happyCatchStates = []
happy_n_terms :: Int
happy_n_terms = Int
22 :: Happy_Prelude.Int
happy_n_nonterms :: Int
happy_n_nonterms = Int
14 :: Happy_Prelude.Int
happy_n_starts :: Int
happy_n_starts = Int
1 :: Happy_Prelude.Int
happyReduce_1 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_1 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_1 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
forall p.
Int#
-> Int#
-> (p -> HappyStk HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> p
-> Alex HappyAbsSyn
happyReduce Int#
5# Int#
0# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_1
happyReduction_1 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_1 (HappyAbsSyn
happy_x_5 `HappyStk`
HappyAbsSyn
happy_x_4 `HappyStk`
HappyAbsSyn
happy_x_3 `HappyStk`
HappyAbsSyn
happy_x_2 `HappyStk`
HappyAbsSyn
happy_x_1 `HappyStk`
HappyStk HappyAbsSyn
happyRest)
= case HappyAbsSyn -> HappyWrap6
happyOut6 HappyAbsSyn
happy_x_1 of { (HappyWrap6 [Term]
happy_var_1) ->
case HappyAbsSyn -> HappyWrap7
happyOut7 HappyAbsSyn
happy_x_2 of { (HappyWrap7 [NonTerm]
happy_var_2) ->
case HappyAbsSyn -> HappyWrap13
happyOut13 HappyAbsSyn
happy_x_4 of { (HappyWrap13 [NonTerm]
happy_var_4) ->
case HappyAbsSyn -> HappyWrap6
happyOut6 HappyAbsSyn
happy_x_5 of { (HappyWrap6 [Term]
happy_var_5) ->
NonTerm -> HappyAbsSyn
happyIn5
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ [Term] -> [NonTerm] -> [NonTerm] -> [Term] -> NodeF Term NonTerm
forall lexeme a.
[lexeme] -> [a] -> [a] -> [lexeme] -> NodeF lexeme a
Grammar [Term]
happy_var_1 [NonTerm]
happy_var_2 [NonTerm]
happy_var_4 [Term]
happy_var_5
) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}
happyReduce_2 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_2 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_2 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_1 Int#
1# HappyAbsSyn -> HappyAbsSyn
happyReduction_2
happyReduction_2 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_2 HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_1 of { Term
happy_var_1 ->
[Term] -> HappyAbsSyn
happyIn6
([Term
happy_var_1]
)}
happyReduce_3 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_3 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_3 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
1# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_3
happyReduction_3 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_3 HappyAbsSyn
happy_x_2
HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> HappyWrap6
happyOut6 HappyAbsSyn
happy_x_1 of { (HappyWrap6 [Term]
happy_var_1) ->
case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_2 of { Term
happy_var_2 ->
[Term] -> HappyAbsSyn
happyIn6
([Term]
happy_var_1 [Term] -> [Term] -> [Term]
forall a. [a] -> [a] -> [a]
++ [Term
happy_var_2]
)}}
happyReduce_4 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_4 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_4 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_1 Int#
2# HappyAbsSyn -> HappyAbsSyn
happyReduction_4
happyReduction_4 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_4 HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> HappyWrap8
happyOut8 HappyAbsSyn
happy_x_1 of { (HappyWrap8 NonTerm
happy_var_1) ->
[NonTerm] -> HappyAbsSyn
happyIn7
([NonTerm
happy_var_1]
)}
happyReduce_5 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_5 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_5 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
2# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_5
happyReduction_5 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_5 HappyAbsSyn
happy_x_2
HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> HappyWrap7
happyOut7 HappyAbsSyn
happy_x_1 of { (HappyWrap7 [NonTerm]
happy_var_1) ->
case HappyAbsSyn -> HappyWrap8
happyOut8 HappyAbsSyn
happy_x_2 of { (HappyWrap8 NonTerm
happy_var_2) ->
[NonTerm] -> HappyAbsSyn
happyIn7
([NonTerm]
happy_var_1 [NonTerm] -> [NonTerm] -> [NonTerm]
forall a. [a] -> [a] -> [a]
++ [NonTerm
happy_var_2]
)}}
happyReduce_6 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_6 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_6 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
3# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_6
happyReduction_6 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_6 HappyAbsSyn
happy_x_2
p
happy_x_1
= case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_2 of { Term
happy_var_2 ->
NonTerm -> HappyAbsSyn
happyIn8
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ Term -> NodeF Term NonTerm
forall lexeme a. lexeme -> NodeF lexeme a
PragmaExpect Term
happy_var_2
)}
happyReduce_7 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_7 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_7 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_3 Int#
3# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_7
happyReduction_7 :: HappyAbsSyn -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_7 HappyAbsSyn
happy_x_3
HappyAbsSyn
happy_x_2
p
happy_x_1
= case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_2 of { Term
happy_var_2 ->
case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_3 of { Term
happy_var_3 ->
NonTerm -> HappyAbsSyn
happyIn8
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ Term -> Term -> NodeF Term NonTerm
forall lexeme a. lexeme -> lexeme -> NodeF lexeme a
PragmaName Term
happy_var_2 Term
happy_var_3
)}}
happyReduce_8 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_8 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_8 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
3# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_8
happyReduction_8 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_8 HappyAbsSyn
happy_x_2
p
happy_x_1
= case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_2 of { Term
happy_var_2 ->
NonTerm -> HappyAbsSyn
happyIn8
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ Term -> NodeF Term NonTerm
forall lexeme a. lexeme -> NodeF lexeme a
PragmaErrorHandlerType Term
happy_var_2
)}
happyReduce_9 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_9 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_9 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
3# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_9
happyReduction_9 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_9 HappyAbsSyn
happy_x_2
p
happy_x_1
= case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_2 of { Term
happy_var_2 ->
NonTerm -> HappyAbsSyn
happyIn8
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ Term -> NodeF Term NonTerm
forall lexeme a. lexeme -> NodeF lexeme a
PragmaError Term
happy_var_2
)}
happyReduce_10 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_10 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_10 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_3 Int#
3# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_10
happyReduction_10 :: HappyAbsSyn -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_10 HappyAbsSyn
happy_x_3
HappyAbsSyn
happy_x_2
p
happy_x_1
= case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_2 of { Term
happy_var_2 ->
case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_3 of { Term
happy_var_3 ->
NonTerm -> HappyAbsSyn
happyIn8
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ Term -> Term -> NodeF Term NonTerm
forall lexeme a. lexeme -> lexeme -> NodeF lexeme a
PragmaLexer Term
happy_var_2 Term
happy_var_3
)}}
happyReduce_11 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_11 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_11 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
3# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_11
happyReduction_11 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_11 HappyAbsSyn
happy_x_2
p
happy_x_1
= case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_2 of { Term
happy_var_2 ->
NonTerm -> HappyAbsSyn
happyIn8
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ Term -> NodeF Term NonTerm
forall lexeme a. lexeme -> NodeF lexeme a
PragmaMonad Term
happy_var_2
)}
happyReduce_12 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_12 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_12 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
3# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_12
happyReduction_12 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_12 HappyAbsSyn
happy_x_2
p
happy_x_1
= case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_2 of { Term
happy_var_2 ->
NonTerm -> HappyAbsSyn
happyIn8
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ Term -> NodeF Term NonTerm
forall lexeme a. lexeme -> NodeF lexeme a
PragmaTokenType Term
happy_var_2
)}
happyReduce_13 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_13 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_13 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
3# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_13
happyReduction_13 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_13 HappyAbsSyn
happy_x_2
p
happy_x_1
= case HappyAbsSyn -> HappyWrap10
happyOut10 HappyAbsSyn
happy_x_2 of { (HappyWrap10 [NonTerm]
happy_var_2) ->
NonTerm -> HappyAbsSyn
happyIn8
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ [NonTerm] -> NodeF Term NonTerm
forall lexeme a. [a] -> NodeF lexeme a
PragmaToken [NonTerm]
happy_var_2
)}
happyReduce_14 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_14 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_14 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
3# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_14
happyReduction_14 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_14 HappyAbsSyn
happy_x_2
p
happy_x_1
= case HappyAbsSyn -> HappyWrap9
happyOut9 HappyAbsSyn
happy_x_2 of { (HappyWrap9 [Term]
happy_var_2) ->
NonTerm -> HappyAbsSyn
happyIn8
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ [Term] -> NodeF Term NonTerm
forall lexeme a. [lexeme] -> NodeF lexeme a
PragmaLeft [Term]
happy_var_2
)}
happyReduce_15 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_15 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_15 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
3# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_15
happyReduction_15 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_15 HappyAbsSyn
happy_x_2
p
happy_x_1
= case HappyAbsSyn -> HappyWrap9
happyOut9 HappyAbsSyn
happy_x_2 of { (HappyWrap9 [Term]
happy_var_2) ->
NonTerm -> HappyAbsSyn
happyIn8
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ [Term] -> NodeF Term NonTerm
forall lexeme a. [lexeme] -> NodeF lexeme a
PragmaRight [Term]
happy_var_2
)}
happyReduce_16 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_16 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_16 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_1 Int#
4# HappyAbsSyn -> HappyAbsSyn
happyReduction_16
happyReduction_16 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_16 HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> HappyWrap12
happyOut12 HappyAbsSyn
happy_x_1 of { (HappyWrap12 Term
happy_var_1) ->
[Term] -> HappyAbsSyn
happyIn9
([Term
happy_var_1]
)}
happyReduce_17 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_17 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_17 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
4# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_17
happyReduction_17 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_17 HappyAbsSyn
happy_x_2
HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> HappyWrap9
happyOut9 HappyAbsSyn
happy_x_1 of { (HappyWrap9 [Term]
happy_var_1) ->
case HappyAbsSyn -> HappyWrap12
happyOut12 HappyAbsSyn
happy_x_2 of { (HappyWrap12 Term
happy_var_2) ->
[Term] -> HappyAbsSyn
happyIn9
([Term]
happy_var_1 [Term] -> [Term] -> [Term]
forall a. [a] -> [a] -> [a]
++ [Term
happy_var_2]
)}}
happyReduce_18 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_18 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_18 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_1 Int#
5# HappyAbsSyn -> HappyAbsSyn
happyReduction_18
happyReduction_18 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_18 HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> HappyWrap11
happyOut11 HappyAbsSyn
happy_x_1 of { (HappyWrap11 NonTerm
happy_var_1) ->
[NonTerm] -> HappyAbsSyn
happyIn10
([NonTerm
happy_var_1]
)}
happyReduce_19 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_19 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_19 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
5# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_19
happyReduction_19 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_19 HappyAbsSyn
happy_x_2
HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> HappyWrap10
happyOut10 HappyAbsSyn
happy_x_1 of { (HappyWrap10 [NonTerm]
happy_var_1) ->
case HappyAbsSyn -> HappyWrap11
happyOut11 HappyAbsSyn
happy_x_2 of { (HappyWrap11 NonTerm
happy_var_2) ->
[NonTerm] -> HappyAbsSyn
happyIn10
([NonTerm]
happy_var_1 [NonTerm] -> [NonTerm] -> [NonTerm]
forall a. [a] -> [a] -> [a]
++ [NonTerm
happy_var_2]
)}}
happyReduce_20 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_20 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_20 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
6# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_20
happyReduction_20 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_20 HappyAbsSyn
happy_x_2
HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> HappyWrap12
happyOut12 HappyAbsSyn
happy_x_1 of { (HappyWrap12 Term
happy_var_1) ->
case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_2 of { Term
happy_var_2 ->
NonTerm -> HappyAbsSyn
happyIn11
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ Term -> Term -> NodeF Term NonTerm
forall lexeme a. lexeme -> lexeme -> NodeF lexeme a
Token Term
happy_var_1 Term
happy_var_2
)}}
happyReduce_21 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_21 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_21 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_1 Int#
7# HappyAbsSyn -> HappyAbsSyn
happyReduction_21
happyReduction_21 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_21 HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_1 of { Term
happy_var_1 ->
Term -> HappyAbsSyn
happyIn12
(Term
happy_var_1
)}
happyReduce_22 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_22 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_22 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_1 Int#
7# HappyAbsSyn -> HappyAbsSyn
happyReduction_22
happyReduction_22 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_22 HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_1 of { Term
happy_var_1 ->
Term -> HappyAbsSyn
happyIn12
(Term
happy_var_1
)}
happyReduce_23 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_23 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_23 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_1 Int#
8# HappyAbsSyn -> HappyAbsSyn
happyReduction_23
happyReduction_23 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_23 HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> HappyWrap14
happyOut14 HappyAbsSyn
happy_x_1 of { (HappyWrap14 NonTerm
happy_var_1) ->
[NonTerm] -> HappyAbsSyn
happyIn13
([NonTerm
happy_var_1]
)}
happyReduce_24 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_24 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_24 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
8# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_24
happyReduction_24 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_24 HappyAbsSyn
happy_x_2
HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> HappyWrap13
happyOut13 HappyAbsSyn
happy_x_1 of { (HappyWrap13 [NonTerm]
happy_var_1) ->
case HappyAbsSyn -> HappyWrap14
happyOut14 HappyAbsSyn
happy_x_2 of { (HappyWrap14 NonTerm
happy_var_2) ->
[NonTerm] -> HappyAbsSyn
happyIn13
([NonTerm]
happy_var_1 [NonTerm] -> [NonTerm] -> [NonTerm]
forall a. [a] -> [a] -> [a]
++ [NonTerm
happy_var_2]
)}}
happyReduce_25 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_25 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_25 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
9# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_25
happyReduction_25 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_25 HappyAbsSyn
happy_x_2
HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> HappyWrap15
happyOut15 HappyAbsSyn
happy_x_1 of { (HappyWrap15 NonTerm
happy_var_1) ->
case HappyAbsSyn -> HappyWrap16
happyOut16 HappyAbsSyn
happy_x_2 of { (HappyWrap16 NonTerm
happy_var_2) ->
NonTerm -> HappyAbsSyn
happyIn14
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ NonTerm -> NonTerm -> NodeF Term NonTerm
forall lexeme a. a -> a -> NodeF lexeme a
Rule NonTerm
happy_var_1 NonTerm
happy_var_2
)}}
happyReduce_26 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_26 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_26 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_3 Int#
10# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_26
happyReduction_26 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_26 HappyAbsSyn
happy_x_3
p
happy_x_2
HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_1 of { Term
happy_var_1 ->
case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_3 of { Term
happy_var_3 ->
NonTerm -> HappyAbsSyn
happyIn15
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ Term -> Term -> NodeF Term NonTerm
forall lexeme a. lexeme -> lexeme -> NodeF lexeme a
RuleType Term
happy_var_1 Term
happy_var_3
)}}
happyReduce_27 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_27 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_27 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_3 Int#
11# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_27
happyReduction_27 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_27 HappyAbsSyn
happy_x_3
p
happy_x_2
HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_1 of { Term
happy_var_1 ->
case HappyAbsSyn -> HappyWrap17
happyOut17 HappyAbsSyn
happy_x_3 of { (HappyWrap17 [NonTerm]
happy_var_3) ->
NonTerm -> HappyAbsSyn
happyIn16
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ Term -> [NonTerm] -> NodeF Term NonTerm
forall lexeme a. lexeme -> [a] -> NodeF lexeme a
RuleDefn Term
happy_var_1 [NonTerm]
happy_var_3
)}}
happyReduce_28 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_28 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_28 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_1 Int#
12# HappyAbsSyn -> HappyAbsSyn
happyReduction_28
happyReduction_28 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_28 HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> HappyWrap18
happyOut18 HappyAbsSyn
happy_x_1 of { (HappyWrap18 NonTerm
happy_var_1) ->
[NonTerm] -> HappyAbsSyn
happyIn17
([NonTerm
happy_var_1]
)}
happyReduce_29 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_29 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_29 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_3 Int#
12# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_29
happyReduction_29 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_29 HappyAbsSyn
happy_x_3
p
happy_x_2
HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> HappyWrap17
happyOut17 HappyAbsSyn
happy_x_1 of { (HappyWrap17 [NonTerm]
happy_var_1) ->
case HappyAbsSyn -> HappyWrap18
happyOut18 HappyAbsSyn
happy_x_3 of { (HappyWrap18 NonTerm
happy_var_3) ->
[NonTerm] -> HappyAbsSyn
happyIn17
([NonTerm]
happy_var_1 [NonTerm] -> [NonTerm] -> [NonTerm]
forall a. [a] -> [a] -> [a]
++ [NonTerm
happy_var_3]
)}}
happyReduce_30 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_30 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_30 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_1 Int#
13# HappyAbsSyn -> HappyAbsSyn
happyReduction_30
happyReduction_30 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_30 HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_1 of { Term
happy_var_1 ->
NonTerm -> HappyAbsSyn
happyIn18
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ [Term] -> Term -> NodeF Term NonTerm
forall lexeme a. [lexeme] -> lexeme -> NodeF lexeme a
RuleLine [] Term
happy_var_1
)}
happyReduce_31 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_31 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_31 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
13# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_31
happyReduction_31 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_31 HappyAbsSyn
happy_x_2
HappyAbsSyn
happy_x_1
= case HappyAbsSyn -> HappyWrap9
happyOut9 HappyAbsSyn
happy_x_1 of { (HappyWrap9 [Term]
happy_var_1) ->
case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_2 of { Term
happy_var_2 ->
NonTerm -> HappyAbsSyn
happyIn18
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ [Term] -> Term -> NodeF Term NonTerm
forall lexeme a. [lexeme] -> lexeme -> NodeF lexeme a
RuleLine [Term]
happy_var_1 Term
happy_var_2
)}}
happyReduce_32 :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> Alex (HappyAbsSyn )
happyReduce_32 :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyReduce_32 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
forall p.
Int#
-> Int#
-> (p -> HappyStk HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> p
-> Alex HappyAbsSyn
happyReduce Int#
4# Int#
13# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_32
happyReduction_32 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_32 (HappyAbsSyn
happy_x_4 `HappyStk`
HappyAbsSyn
happy_x_3 `HappyStk`
HappyAbsSyn
happy_x_2 `HappyStk`
HappyAbsSyn
happy_x_1 `HappyStk`
HappyStk HappyAbsSyn
happyRest)
= case HappyAbsSyn -> HappyWrap9
happyOut9 HappyAbsSyn
happy_x_1 of { (HappyWrap9 [Term]
happy_var_1) ->
case HappyAbsSyn -> Term
happyOutTok HappyAbsSyn
happy_x_4 of { Term
happy_var_4 ->
NonTerm -> HappyAbsSyn
happyIn18
(NodeF Term NonTerm -> NonTerm
forall (f :: * -> *). f (Fix f) -> Fix f
Fix (NodeF Term NonTerm -> NonTerm) -> NodeF Term NonTerm -> NonTerm
forall a b. (a -> b) -> a -> b
$ [Term] -> Term -> NodeF Term NonTerm
forall lexeme a. [lexeme] -> lexeme -> NodeF lexeme a
RuleLine [Term]
happy_var_1 Term
happy_var_4
) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}
happyTerminalToTok :: Lexeme text -> Int#
happyTerminalToTok Lexeme text
term = case Lexeme text
term of {
L AlexPosn
_ LexemeClass
Eof text
_ -> Int#
21#;
L AlexPosn
_ LexemeClass
IdName text
_ -> Int#
2#;
L AlexPosn
_ LexemeClass
LitCode text
_ -> Int#
3#;
L AlexPosn
_ LexemeClass
KwErrorhandlertype text
_ -> Int#
4#;
L AlexPosn
_ LexemeClass
KwError text
_ -> Int#
5#;
L AlexPosn
_ LexemeClass
KwExpect text
_ -> Int#
6#;
L AlexPosn
_ LexemeClass
KwLeft text
_ -> Int#
7#;
L AlexPosn
_ LexemeClass
KwLexer text
_ -> Int#
8#;
L AlexPosn
_ LexemeClass
KwMonad text
_ -> Int#
9#;
L AlexPosn
_ LexemeClass
KwName text
_ -> Int#
10#;
L AlexPosn
_ LexemeClass
KwPrec text
_ -> Int#
11#;
L AlexPosn
_ LexemeClass
KwRight text
_ -> Int#
12#;
L AlexPosn
_ LexemeClass
KwToken text
_ -> Int#
13#;
L AlexPosn
_ LexemeClass
KwTokentype text
_ -> Int#
14#;
L AlexPosn
_ LexemeClass
PctPercentPercent text
_ -> Int#
15#;
L AlexPosn
_ LexemeClass
PctColonColon text
_ -> Int#
16#;
L AlexPosn
_ LexemeClass
PctColon text
_ -> Int#
17#;
L AlexPosn
_ LexemeClass
PctPipe text
_ -> Int#
18#;
L AlexPosn
_ LexemeClass
LitString text
_ -> Int#
19#;
L AlexPosn
_ LexemeClass
LitInteger text
_ -> Int#
20#;
Lexeme text
_ -> Int#
-1#;
}
{-# NOINLINE happyTerminalToTok #-}
happyLex :: (Term -> Alex a) -> (Int# -> Term -> Alex a) -> Alex a
happyLex Term -> Alex a
kend Int# -> Term -> Alex a
kmore = (Term -> Alex a) -> Alex a
forall a. (Term -> Alex a) -> Alex a
lexwrap (\Term
tk -> case Term
tk of {
L AlexPosn
_ LexemeClass
Eof Text
_ -> Term -> Alex a
kend Term
tk;
Term
_ -> Int# -> Term -> Alex a
kmore (Term -> Int#
forall text. Lexeme text -> Int#
happyTerminalToTok Term
tk) Term
tk })
{-# INLINE happyLex #-}
happyNewToken :: Int# -> Happy_IntList -> HappyStk HappyAbsSyn -> Alex HappyAbsSyn
happyNewToken Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk = (Term -> Alex HappyAbsSyn)
-> (Int# -> Term -> Alex HappyAbsSyn) -> Alex HappyAbsSyn
forall a. (Term -> Alex a) -> (Int# -> Term -> Alex a) -> Alex a
happyLex (\Term
tk -> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyDoAction Int#
21# Term
tk Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk) (\Int#
i Term
tk -> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyDoAction Int#
i Term
tk Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk)
happyReport :: Int# -> Term -> [String] -> Alex a -> Alex a
happyReport Int#
21# = Term -> [String] -> Alex a -> Alex a
forall a. Term -> [String] -> Alex a -> Alex a
happyReport'
happyReport Int#
_ = Term -> [String] -> Alex a -> Alex a
forall a. Term -> [String] -> Alex a -> Alex a
happyReport'
happyThen :: () => (Alex a) -> (a -> (Alex b)) -> (Alex b)
happyThen :: Alex a -> (a -> Alex b) -> Alex b
happyThen = Alex a -> (a -> Alex b) -> Alex b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
(Happy_Prelude.>>=)
happyReturn :: () => a -> (Alex a)
happyReturn :: a -> Alex a
happyReturn = (a -> Alex a
forall (m :: * -> *) a. Monad m => a -> m a
Happy_Prelude.return)
happyParse :: () => Happy_GHC_Exts.Int# -> Alex (HappyAbsSyn )
happyNewToken :: () => Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> (Alex (HappyAbsSyn ))
happyDoAction :: () => Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> (Alex (HappyAbsSyn ))
happyReduceArr :: () => Happy_Data_Array.Array Happy_Prelude.Int (Happy_GHC_Exts.Int# -> Term -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> (Alex (HappyAbsSyn )))
happyThen1 :: () => Alex a -> (a -> Alex b) -> Alex b
happyThen1 :: Alex a -> (a -> Alex b) -> Alex b
happyThen1 = Alex a -> (a -> Alex b) -> Alex b
forall a b. Alex a -> (a -> Alex b) -> Alex b
happyThen
happyFmap1 :: (t -> b) -> Alex t -> Alex b
happyFmap1 t -> b
f Alex t
m = Alex t -> (t -> Alex b) -> Alex b
forall a b. Alex a -> (a -> Alex b) -> Alex b
happyThen Alex t
m (\t
a -> b -> Alex b
forall a. a -> Alex a
happyReturn (t -> b
f t
a))
happyReturn1 :: () => a -> (Alex a)
happyReturn1 :: a -> Alex a
happyReturn1 = a -> Alex a
forall a. a -> Alex a
happyReturn
happyReport' :: () => (Term) -> [Happy_Prelude.String] -> (Alex a) -> (Alex a)
happyReport' :: Term -> [String] -> Alex a -> Alex a
happyReport' = (\Term
tokens [String]
expected Alex a
resume -> ((Term, [String]) -> Alex a
forall text a. Show text => (Lexeme text, [String]) -> Alex a
parseError) (Term
tokens, [String]
expected))
happyAbort :: () => (Alex a)
happyAbort :: Alex a
happyAbort = String -> Alex a
forall a. HasCallStack => String -> a
Happy_Prelude.error String
"Called abort handler in non-resumptive parser"
parseGrammar :: Alex NonTerm
parseGrammar = Alex NonTerm
happySomeParser where
happySomeParser :: Alex NonTerm
happySomeParser = Alex HappyAbsSyn -> (HappyAbsSyn -> Alex NonTerm) -> Alex NonTerm
forall a b. Alex a -> (a -> Alex b) -> Alex b
happyThen (Int# -> Alex HappyAbsSyn
happyParse Int#
0#) (\HappyAbsSyn
x -> NonTerm -> Alex NonTerm
forall a. a -> Alex a
happyReturn (let {(HappyWrap5 NonTerm
x') = HappyAbsSyn -> HappyWrap5
happyOut5 HappyAbsSyn
x} in NonTerm
x'))
happySeq :: a -> b -> b
happySeq = a -> b -> b
forall a b. a -> b -> b
happyDontSeq
type Term = Lexeme Text
type NonTerm = Node Term
parseError :: Show text => (Lexeme text, [String]) -> Alex a
parseError :: (Lexeme text, [String]) -> Alex a
parseError (L (AlexPn Int
_ Int
line Int
col) LexemeClass
c text
t, [String]
options) =
String -> Alex a
forall a. String -> Alex a
alexError (String -> Alex a) -> String -> Alex a
forall a b. (a -> b) -> a -> b
$ String
":" String -> String -> String
forall a. Semigroup a => a -> a -> a
<> Int -> String
forall a. Show a => a -> String
show Int
line String -> String -> String
forall a. Semigroup a => a -> a -> a
<> String
":" String -> String -> String
forall a. Semigroup a => a -> a -> a
<> Int -> String
forall a. Show a => a -> String
show Int
col String -> String -> String
forall a. Semigroup a => a -> a -> a
<> String
": Parse error near " String -> String -> String
forall a. Semigroup a => a -> a -> a
<> LexemeClass -> String
forall a. Show a => a -> String
show LexemeClass
c String -> String -> String
forall a. Semigroup a => a -> a -> a
<> String
": "
String -> String -> String
forall a. Semigroup a => a -> a -> a
<> text -> String
forall a. Show a => a -> String
show text
t String -> String -> String
forall a. Semigroup a => a -> a -> a
<> String
"; expected one of " String -> String -> String
forall a. Semigroup a => a -> a -> a
<> [String] -> String
forall a. Show a => a -> String
show [String]
options
lexwrap :: (Lexeme Text -> Alex a) -> Alex a
lexwrap :: (Term -> Alex a) -> Alex a
lexwrap = (Alex Term
alexMonadScan Alex Term -> (Term -> Alex a) -> Alex a
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=)
source :: BS.ByteString
#ifdef SOURCE
source = $(embedFile SOURCE)
#else
source :: ByteString
source = ByteString
BS.empty
#endif
#define HAPPY_COERCE 1
#if !defined(__GLASGOW_HASKELL__)
# error This code isn't being built with GHC.
#endif
#include "MachDeps.h"
#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)
happyParse :: Int# -> Alex HappyAbsSyn
happyParse Int#
start_state = Int# -> Happy_IntList -> HappyStk HappyAbsSyn -> Alex HappyAbsSyn
happyNewToken Int#
start_state Happy_IntList
forall a. a
notHappyAtAll HappyStk HappyAbsSyn
forall a. a
notHappyAtAll
happyAccept :: Int# -> p -> Int# -> p -> HappyStk a -> Alex 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# -> (Alex a -> Alex a) -> Alex a -> Alex a
forall a. Int# -> a -> a
happyTcHack Int#
j (Int# -> Alex a -> Alex a
forall a. Int# -> a -> a
happyTcHack Int#
st)) (a -> Alex a
forall a. a -> Alex a
happyReturn1 a
ans)
happyDoAction :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyDoAction Int#
i Term
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#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyFail Int#
i Term
tk Int#
st
HappyAction
HappyAccept -> DEBUG_TRACE("accept.\n")
Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
forall p p a. Int# -> p -> Int# -> p -> HappyStk a -> Alex a
happyAccept Int#
i Term
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#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn)
happyReduceArr Array
Int
(Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn)
-> Int
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
forall i e. Ix i => Array i e -> i -> e
Happy_Data_Array.! (Int# -> Int
Happy_GHC_Exts.I# Int#
rule)) Int#
i Term
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#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyShift Int#
new_state Int#
i Term
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)
= 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
| HappyShift Happy_Int
deriving Int -> HappyAction -> String -> String
[HappyAction] -> String -> String
HappyAction -> String
(Int -> HappyAction -> String -> String)
-> (HappyAction -> String)
-> ([HappyAction] -> String -> String)
-> Show HappyAction
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [HappyAction] -> String -> String
$cshowList :: [HappyAction] -> String -> String
show :: HappyAction -> String
$cshow :: HappyAction -> String
showsPrec :: Int -> HappyAction -> String -> String
$cshowsPrec :: Int -> HappyAction -> String -> String
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#
#endif
#ifdef WORDS_BIGENDIAN
(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#
happyShift :: Int#
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyShift Int#
new_state ERROR_TOK tk st sts stk@(x `HappyStk` _) =
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 Term
tk Int#
st Happy_IntList
sts HappyStk HappyAbsSyn
stk =
Int# -> Happy_IntList -> HappyStk HappyAbsSyn -> Alex HappyAbsSyn
happyNewToken Int#
new_state (Int# -> Happy_IntList -> Happy_IntList
HappyCons Int#
st Happy_IntList
sts) (MK_TOKEN(tk) `HappyStk` stk)
happySpecReduce_0 :: Int#
-> HappyAbsSyn
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_0 Int#
nt HappyAbsSyn
fn Int#
j Term
tk Int#
st Happy_IntList
sts HappyStk HappyAbsSyn
stk
= HappyAbsSyn -> Alex HappyAbsSyn -> Alex HappyAbsSyn
forall a b. a -> b -> b
happySeq HappyAbsSyn
fn (Int#
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyGoto Int#
nt Int#
j Term
tk Int#
st (Int# -> Happy_IntList -> Happy_IntList
HappyCons Int#
st Happy_IntList
sts) (HappyAbsSyn
fn HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
stk))
happySpecReduce_1 :: Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_1 Int#
nt HappyAbsSyn -> HappyAbsSyn
fn Int#
j Term
tk Int#
old_st sts :: Happy_IntList
sts@(HappyCons Int#
st Happy_IntList
_) (HappyAbsSyn
v1 `HappyStk` HappyStk HappyAbsSyn
stk')
= let r :: HappyAbsSyn
r = HappyAbsSyn -> HappyAbsSyn
fn HappyAbsSyn
v1 in
Int# -> Alex HappyAbsSyn -> Alex HappyAbsSyn
forall a. Int# -> a -> a
happyTcHack Int#
old_st (HappyAbsSyn -> Alex HappyAbsSyn -> Alex HappyAbsSyn
forall a b. a -> b -> b
happySeq HappyAbsSyn
r (Int#
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyGoto Int#
nt Int#
j Term
tk Int#
st Happy_IntList
sts (HappyAbsSyn
r HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
stk')))
happySpecReduce_2 :: Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_2 Int#
nt HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
fn Int#
j Term
tk Int#
old_st
(HappyCons Int#
_ sts :: Happy_IntList
sts@(HappyCons Int#
st Happy_IntList
_))
(HappyAbsSyn
v1 `HappyStk` HappyAbsSyn
v2 `HappyStk` HappyStk HappyAbsSyn
stk')
= let r :: HappyAbsSyn
r = HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
fn HappyAbsSyn
v1 HappyAbsSyn
v2 in
Int# -> Alex HappyAbsSyn -> Alex HappyAbsSyn
forall a. Int# -> a -> a
happyTcHack Int#
old_st (HappyAbsSyn -> Alex HappyAbsSyn -> Alex HappyAbsSyn
forall a b. a -> b -> b
happySeq HappyAbsSyn
r (Int#
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyGoto Int#
nt Int#
j Term
tk Int#
st Happy_IntList
sts (HappyAbsSyn
r HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
stk')))
happySpecReduce_3 :: Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happySpecReduce_3 Int#
nt HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
fn Int#
j Term
tk Int#
old_st
(HappyCons Int#
_ (HappyCons Int#
_ sts :: Happy_IntList
sts@(HappyCons Int#
st Happy_IntList
_)))
(HappyAbsSyn
v1 `HappyStk` HappyAbsSyn
v2 `HappyStk` HappyAbsSyn
v3 `HappyStk` HappyStk HappyAbsSyn
stk')
= let r :: HappyAbsSyn
r = HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
fn HappyAbsSyn
v1 HappyAbsSyn
v2 HappyAbsSyn
v3 in
Int# -> Alex HappyAbsSyn -> Alex HappyAbsSyn
forall a. Int# -> a -> a
happyTcHack Int#
old_st (HappyAbsSyn -> Alex HappyAbsSyn -> Alex HappyAbsSyn
forall a b. a -> b -> b
happySeq HappyAbsSyn
r (Int#
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyGoto Int#
nt Int#
j Term
tk Int#
st Happy_IntList
sts (HappyAbsSyn
r HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
stk')))
happyReduce :: Int#
-> Int#
-> (p -> HappyStk HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> p
-> Alex HappyAbsSyn
happyReduce Int#
k Int#
nt p -> HappyStk HappyAbsSyn
fn Int#
j Term
tk Int#
st Happy_IntList
sts p
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
r = p -> HappyStk HappyAbsSyn
fn p
stk in
Int#
st Int# -> Alex HappyAbsSyn -> Alex HappyAbsSyn
forall a. Int# -> a -> a
`happyTcHack` HappyStk HappyAbsSyn -> Alex HappyAbsSyn -> Alex HappyAbsSyn
forall a b. a -> b -> b
happyDoSeq HappyStk HappyAbsSyn
r (Int#
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyGoto Int#
nt Int#
j Term
tk Int#
st1 Happy_IntList
sts1 HappyStk HappyAbsSyn
r)
happyMonadReduce :: Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Term -> Alex HappyAbsSyn)
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyMonadReduce Int#
k Int#
nt HappyStk HappyAbsSyn -> Term -> Alex HappyAbsSyn
fn Int#
j Term
tk Int#
st Happy_IntList
sts HappyStk HappyAbsSyn
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
drop_stk = Int# -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. Int# -> HappyStk a -> HappyStk a
happyDropStk Int#
k HappyStk HappyAbsSyn
stk in
Int#
j Int# -> Alex HappyAbsSyn -> Alex HappyAbsSyn
forall a. Int# -> a -> a
`happyTcHack` Alex HappyAbsSyn
-> (HappyAbsSyn -> Alex HappyAbsSyn) -> Alex HappyAbsSyn
forall a b. Alex a -> (a -> Alex b) -> Alex b
happyThen1 (HappyStk HappyAbsSyn -> Term -> Alex HappyAbsSyn
fn HappyStk HappyAbsSyn
stk Term
tk)
(\HappyAbsSyn
r -> Int#
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyGoto Int#
nt Int#
j Term
tk Int#
st1 Happy_IntList
sts1 (HappyAbsSyn
r HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
drop_stk))
happyMonad2Reduce :: Int#
-> Int#
-> (HappyStk HappyAbsSyn -> t -> Alex HappyAbsSyn)
-> Int#
-> t
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyMonad2Reduce Int#
k Int#
nt HappyStk HappyAbsSyn -> t -> Alex HappyAbsSyn
fn Int#
j t
tk Int#
st Happy_IntList
sts HappyStk HappyAbsSyn
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
drop_stk = Int# -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. Int# -> HappyStk a -> HappyStk a
happyDropStk Int#
k HappyStk HappyAbsSyn
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# -> Alex HappyAbsSyn -> Alex HappyAbsSyn
forall a. Int# -> a -> a
`happyTcHack` Alex HappyAbsSyn
-> (HappyAbsSyn -> Alex HappyAbsSyn) -> Alex HappyAbsSyn
forall a b. Alex a -> (a -> Alex b) -> Alex b
happyThen1 (HappyStk HappyAbsSyn -> t -> Alex HappyAbsSyn
fn HappyStk HappyAbsSyn
stk t
tk)
(\HappyAbsSyn
r -> Int# -> Happy_IntList -> HappyStk HappyAbsSyn -> Alex HappyAbsSyn
happyNewToken Int#
new_state Happy_IntList
sts1 (HappyAbsSyn
r HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
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
happyGoto :: Int#
-> Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyGoto Int#
nt Int#
j Term
tk Int#
st =
DEBUG_TRACE(", goto state " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# new_state) Happy_Prelude.++ "\n")
Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyDoAction Int#
j Term
tk Int#
new_state
where new_state :: Int#
new_state = Int# -> Int# -> Int#
happyIndexGotoTable Int#
nt Int#
st
happyFail :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyFail ERROR_TOK = happyFixupFailed
happyFail Int#
i = Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyTryFixup Int#
i
happyTryFixup :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyTryFixup Int#
i Term
tk Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk =
DEBUG_TRACE("entering `error` fixup.\n")
Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyDoAction ERROR_TOK tk action sts (MK_ERROR_TOKEN(i) `HappyStk` stk)
happyFixupFailed :: Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyFixupFailed Term
tk Int#
st Happy_IntList
sts (HappyAbsSyn
x `HappyStk` HappyStk HappyAbsSyn
stk) =
let i :: Int#
i = GET_ERROR_TOKEN(x) in
DEBUG_TRACE("`error` fixup failed.\n")
let resume :: Alex HappyAbsSyn
resume = Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyResume Int#
i Term
tk Int#
st Happy_IntList
sts HappyStk HappyAbsSyn
stk
expected :: [String]
expected = Int# -> Happy_IntList -> [String]
happyExpectedTokens Int#
st Happy_IntList
sts in
Int# -> Term -> [String] -> Alex HappyAbsSyn -> Alex HappyAbsSyn
forall a. Int# -> Term -> [String] -> Alex a -> Alex a
happyReport Int#
i Term
tk [String]
expected Alex HappyAbsSyn
resume
happyResume :: Int#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyResume Int#
i Term
tk Int#
st Happy_IntList
sts HappyStk HappyAbsSyn
stk = [(Happy_IntList, HappyStk HappyAbsSyn)]
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
pop_items [] Int#
st Happy_IntList
sts HappyStk HappyAbsSyn
stk
where
!(Happy_GHC_Exts.I# Int#
n_starts) = Int
happy_n_starts
!(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
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
pop_items :: [(Happy_IntList, HappyStk HappyAbsSyn)]
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
pop_items [(Happy_IntList, HappyStk HappyAbsSyn)]
catch_frames Int#
st Happy_IntList
sts HappyStk HappyAbsSyn
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)] -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
Happy_Prelude.null [(Happy_IntList, HappyStk HappyAbsSyn)]
catch_frames_new
then DEBUG_TRACE("no resumption.\n")
Alex HappyAbsSyn
forall a. Alex 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#
-> Term
-> [(Happy_IntList, HappyStk HappyAbsSyn)]
-> Alex HappyAbsSyn
discard_input_until_exp Int#
i Term
tk ([(Happy_IntList, HappyStk HappyAbsSyn)]
-> [(Happy_IntList, HappyStk HappyAbsSyn)]
forall a. [a] -> [a]
Happy_Prelude.reverse [(Happy_IntList, HappyStk HappyAbsSyn)]
catch_frames_new)
| (HappyCons Int#
st1 Happy_IntList
sts1) <- Happy_IntList
sts, HappyAbsSyn
_ `HappyStk` HappyStk HappyAbsSyn
stk1 <- HappyStk HappyAbsSyn
stk
= [(Happy_IntList, HappyStk HappyAbsSyn)]
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
pop_items [(Happy_IntList, HappyStk HappyAbsSyn)]
catch_frames_new Int#
st1 Happy_IntList
sts1 HappyStk HappyAbsSyn
stk1
where
!catch_frames_new :: [(Happy_IntList, HappyStk HappyAbsSyn)]
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)] -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
Happy_Prelude.null (((Happy_IntList, HappyStk HappyAbsSyn) -> Bool)
-> [(Happy_IntList, HappyStk HappyAbsSyn)]
-> [(Happy_IntList, HappyStk HappyAbsSyn)]
forall a. (a -> Bool) -> [a] -> [a]
Happy_Prelude.filter (\(HappyCons Int#
_ (HappyCons Int#
h Happy_IntList
_),HappyStk HappyAbsSyn
_) -> 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
| 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)]
catch_frames
discard_input_until_exp :: Int#
-> Term
-> [(Happy_IntList, HappyStk HappyAbsSyn)]
-> Alex HappyAbsSyn
discard_input_until_exp Int#
i Term
tk [(Happy_IntList, HappyStk HappyAbsSyn)]
catch_frames
| Happy_Prelude.Just (HappyCons Int#
st (HappyCons Int#
catch_st Happy_IntList
sts), HappyStk HappyAbsSyn
catch_frame) <- Int#
-> [(Happy_IntList, HappyStk HappyAbsSyn)]
-> Maybe (Happy_IntList, HappyStk HappyAbsSyn)
forall b. Int# -> [(Happy_IntList, b)] -> Maybe (Happy_IntList, b)
some_catch_state_shifts Int#
i [(Happy_IntList, HappyStk HappyAbsSyn)]
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#
-> Term
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> Alex HappyAbsSyn
happyDoAction Int#
i Term
tk Int#
st (Int# -> Happy_IntList -> Happy_IntList
HappyCons Int#
catch_st Happy_IntList
sts) HappyStk HappyAbsSyn
catch_frame
| EQ(i,eof_i)
= DEBUG_TRACE("reached EOF, cannot resume. abort parse :(\n")
Alex HappyAbsSyn
forall a. Alex a
happyAbort
| Bool
Happy_Prelude.otherwise
= DEBUG_TRACE("discard token " Happy_Prelude.++ Happy_Prelude.show (Happy_GHC_Exts.I# i) Happy_Prelude.++ "\n")
(Term -> Alex HappyAbsSyn)
-> (Int# -> Term -> Alex HappyAbsSyn) -> Alex HappyAbsSyn
forall a. (Term -> Alex a) -> (Int# -> Term -> Alex a) -> Alex a
happyLex (\Term
eof_tk -> Int#
-> Term
-> [(Happy_IntList, HappyStk HappyAbsSyn)]
-> Alex HappyAbsSyn
discard_input_until_exp Int#
eof_i Term
eof_tk [(Happy_IntList, HappyStk HappyAbsSyn)]
catch_frames)
(\Int#
i Term
tk -> Int#
-> Term
-> [(Happy_IntList, HappyStk HappyAbsSyn)]
-> Alex HappyAbsSyn
discard_input_until_exp Int#
i Term
tk [(Happy_IntList, HappyStk HappyAbsSyn)]
catch_frames)
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 =
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 -> String
happyTokenToString Int
i = [String]
happyTokenStrings [String] -> Int -> String
forall a. [a] -> Int -> a
Happy_Prelude.!! (Int
i Int -> Int -> Int
forall a. Num a => a -> a -> a
Happy_Prelude.- Int
2)
happyExpectedTokens :: Happy_Int -> Happy_IntList -> [Happy_Prelude.String]
happyExpectedTokens :: Int# -> Happy_IntList -> [String]
happyExpectedTokens Int#
st Happy_IntList
sts =
DEBUG_TRACE("constructing expected tokens.\n")
(Int -> String) -> [Int] -> [String]
forall a b. (a -> b) -> [a] -> [b]
Happy_Prelude.map Int -> String
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
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
= ((-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
get_act :: Int# -> Int -> [Int]
get_act Int#
off (Happy_GHC_Exts.I# Int#
i)
| 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
= []
notHappyAtAll :: a
notHappyAtAll :: a
notHappyAtAll = String -> a
forall a. HasCallStack => String -> a
Happy_Prelude.error String
"Internal Happy parser panic. This is not supposed to happen! Please open a bug report at https://github.com/haskell/happy/issues.\n"
happyTcHack :: Happy_Int -> a -> a
happyTcHack :: Int# -> a -> a
happyTcHack Int#
x a
y = a
y
{-# INLINE happyTcHack #-}
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
{-# 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 #-}