packages feed

eo-phi-normalizer-3.0.0: src/Language/EO/Phi/Syntax/Par.hs

{-# OPTIONS_GHC -w #-}
{-# OPTIONS_GHC -fno-warn-incomplete-patterns -fno-warn-overlapping-patterns #-}
{-# LANGUAGE PatternSynonyms #-}

module Language.EO.Phi.Syntax.Par
  ( happyError
  , myLexer
  , pProgram
  , pMetaId
  , pObject
  , pBinding
  , pListBinding
  , pAttribute
  , pListLabelId
  , pRuleAttribute
  , pPeeledObject
  , pObjectHead
  , pObjectAction
  , pListObjectAction
  ) where

import Prelude

import qualified Language.EO.Phi.Syntax.Abs
import Language.EO.Phi.Syntax.Lex
import qualified Data.Array as Happy_Data_Array
import qualified Data.Bits as Bits
import Control.Applicative(Applicative(..))
import Control.Monad (ap)

-- parser produced by Happy Version 1.20.1.1

data HappyAbsSyn 
	= HappyTerminal (Token)
	| HappyErrorToken Prelude.Int
	| HappyAbsSyn15 (Double)
	| HappyAbsSyn16 (Integer)
	| HappyAbsSyn17 (String)
	| HappyAbsSyn18 (Language.EO.Phi.Syntax.Abs.Bytes)
	| HappyAbsSyn19 (Language.EO.Phi.Syntax.Abs.Function)
	| HappyAbsSyn20 (Language.EO.Phi.Syntax.Abs.LabelId)
	| HappyAbsSyn21 (Language.EO.Phi.Syntax.Abs.AlphaIndex)
	| HappyAbsSyn22 (Language.EO.Phi.Syntax.Abs.LabelMetaId)
	| HappyAbsSyn23 (Language.EO.Phi.Syntax.Abs.TailMetaId)
	| HappyAbsSyn24 (Language.EO.Phi.Syntax.Abs.BindingsMetaId)
	| HappyAbsSyn25 (Language.EO.Phi.Syntax.Abs.ObjectMetaId)
	| HappyAbsSyn26 (Language.EO.Phi.Syntax.Abs.BytesMetaId)
	| HappyAbsSyn27 (Language.EO.Phi.Syntax.Abs.MetaFunctionName)
	| HappyAbsSyn28 (Language.EO.Phi.Syntax.Abs.IntegerSigned)
	| HappyAbsSyn29 (Language.EO.Phi.Syntax.Abs.DoubleSigned)
	| HappyAbsSyn30 (Language.EO.Phi.Syntax.Abs.StringRaw)
	| HappyAbsSyn31 (Language.EO.Phi.Syntax.Abs.Program)
	| HappyAbsSyn32 (Language.EO.Phi.Syntax.Abs.MetaId)
	| HappyAbsSyn33 (Language.EO.Phi.Syntax.Abs.Object)
	| HappyAbsSyn34 (Language.EO.Phi.Syntax.Abs.Binding)
	| HappyAbsSyn35 ([Language.EO.Phi.Syntax.Abs.Binding])
	| HappyAbsSyn36 (Language.EO.Phi.Syntax.Abs.Attribute)
	| HappyAbsSyn37 ([Language.EO.Phi.Syntax.Abs.LabelId])
	| HappyAbsSyn38 (Language.EO.Phi.Syntax.Abs.RuleAttribute)
	| HappyAbsSyn39 (Language.EO.Phi.Syntax.Abs.PeeledObject)
	| HappyAbsSyn40 (Language.EO.Phi.Syntax.Abs.ObjectHead)
	| HappyAbsSyn41 (Language.EO.Phi.Syntax.Abs.ObjectAction)
	| HappyAbsSyn42 ([Language.EO.Phi.Syntax.Abs.ObjectAction])

{- to allow type-synonyms as our monads (likely
 - with explicitly-specified bind and return)
 - in Haskell98, it seems that with
 - /type M a = .../, then /(HappyReduction M)/
 - is not allowed.  But Happy is a
 - code-generator that can just substitute it.
type HappyReduction m = 
	   Prelude.Int 
	-> (Token)
	-> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)
	-> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)] 
	-> HappyStk HappyAbsSyn 
	-> [(Token)] -> m HappyAbsSyn
-}

action_0,
 action_1,
 action_2,
 action_3,
 action_4,
 action_5,
 action_6,
 action_7,
 action_8,
 action_9,
 action_10,
 action_11,
 action_12,
 action_13,
 action_14,
 action_15,
 action_16,
 action_17,
 action_18,
 action_19,
 action_20,
 action_21,
 action_22,
 action_23,
 action_24,
 action_25,
 action_26,
 action_27,
 action_28,
 action_29,
 action_30,
 action_31,
 action_32,
 action_33,
 action_34,
 action_35,
 action_36,
 action_37,
 action_38,
 action_39,
 action_40,
 action_41,
 action_42,
 action_43,
 action_44,
 action_45,
 action_46,
 action_47,
 action_48,
 action_49,
 action_50,
 action_51,
 action_52,
 action_53,
 action_54,
 action_55,
 action_56,
 action_57,
 action_58,
 action_59,
 action_60,
 action_61,
 action_62,
 action_63,
 action_64,
 action_65,
 action_66,
 action_67,
 action_68,
 action_69,
 action_70,
 action_71,
 action_72,
 action_73,
 action_74,
 action_75,
 action_76,
 action_77,
 action_78,
 action_79,
 action_80,
 action_81,
 action_82,
 action_83,
 action_84,
 action_85,
 action_86,
 action_87,
 action_88,
 action_89,
 action_90,
 action_91,
 action_92,
 action_93,
 action_94,
 action_95,
 action_96,
 action_97,
 action_98,
 action_99,
 action_100,
 action_101,
 action_102,
 action_103,
 action_104,
 action_105,
 action_106,
 action_107,
 action_108,
 action_109,
 action_110,
 action_111,
 action_112,
 action_113,
 action_114,
 action_115,
 action_116,
 action_117,
 action_118,
 action_119,
 action_120,
 action_121,
 action_122,
 action_123,
 action_124,
 action_125,
 action_126,
 action_127,
 action_128,
 action_129,
 action_130,
 action_131,
 action_132 :: () => Prelude.Int -> ({-HappyReduction (Err) = -}
	   Prelude.Int 
	-> (Token)
	-> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)
	-> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)] 
	-> HappyStk HappyAbsSyn 
	-> [(Token)] -> (Err) HappyAbsSyn)

happyReduce_12,
 happyReduce_13,
 happyReduce_14,
 happyReduce_15,
 happyReduce_16,
 happyReduce_17,
 happyReduce_18,
 happyReduce_19,
 happyReduce_20,
 happyReduce_21,
 happyReduce_22,
 happyReduce_23,
 happyReduce_24,
 happyReduce_25,
 happyReduce_26,
 happyReduce_27,
 happyReduce_28,
 happyReduce_29,
 happyReduce_30,
 happyReduce_31,
 happyReduce_32,
 happyReduce_33,
 happyReduce_34,
 happyReduce_35,
 happyReduce_36,
 happyReduce_37,
 happyReduce_38,
 happyReduce_39,
 happyReduce_40,
 happyReduce_41,
 happyReduce_42,
 happyReduce_43,
 happyReduce_44,
 happyReduce_45,
 happyReduce_46,
 happyReduce_47,
 happyReduce_48,
 happyReduce_49,
 happyReduce_50,
 happyReduce_51,
 happyReduce_52,
 happyReduce_53,
 happyReduce_54,
 happyReduce_55,
 happyReduce_56,
 happyReduce_57,
 happyReduce_58,
 happyReduce_59,
 happyReduce_60,
 happyReduce_61,
 happyReduce_62,
 happyReduce_63,
 happyReduce_64,
 happyReduce_65,
 happyReduce_66,
 happyReduce_67,
 happyReduce_68,
 happyReduce_69,
 happyReduce_70,
 happyReduce_71,
 happyReduce_72,
 happyReduce_73,
 happyReduce_74,
 happyReduce_75,
 happyReduce_76,
 happyReduce_77,
 happyReduce_78,
 happyReduce_79,
 happyReduce_80,
 happyReduce_81 :: () => ({-HappyReduction (Err) = -}
	   Prelude.Int 
	-> (Token)
	-> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)
	-> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)] 
	-> HappyStk HappyAbsSyn 
	-> [(Token)] -> (Err) HappyAbsSyn)

happyExpList :: Happy_Data_Array.Array Prelude.Int Prelude.Int
happyExpList = Happy_Data_Array.listArray (0,374) ([0,0,0,2,0,0,0,0,0,49152,7,0,0,24576,353,1952,0,0,32768,5759,31600,0,0,0,26616,46849,7,0,0,24704,28672,0,0,0,0,0,1,0,0,32768,105,112,0,0,0,8480,1,0,0,0,4608,18,0,0,0,68,0,0,0,0,1088,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,68,0,0,0,0,0,0,0,0,0,0,26616,46849,7,0,0,24704,28672,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32768,5759,31600,0,0,0,0,0,0,0,16384,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,512,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1024,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54272,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24576,353,1952,0,0,32768,5759,31600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3392,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,63488,359,1975,0,0,32768,5759,31600,0,0,0,0,2048,0,0,0,24704,28672,0,0,0,0,1,0,0,0,0,8192,0,0,0,62464,0,0,0,0,0,0,2048,0,0,0,0,16400,64,0,0,0,5910,31232,0,0,0,26616,46849,7,0,0,5632,22,122,0,0,0,0,1,0,0,64,0,0,0,0,1024,0,0,0,0,0,0,0,0,0,0,0,512,0,0,0,0,0,0,0,0,2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,256,0,0,0,0,4096,0,0,0,0,0,0,0,0,3520,0,0,0,0,0,0,0,0,0,16384,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5632,22,122,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,8192,0,0,0,0,4,0,0,0,0,0,0,0,0,0,24576,353,1952,0,0,3392,2048,0,0,0,0,0,0,0,0,32768,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	])

{-# NOINLINE happyExpListPerState #-}
happyExpListPerState st =
    token_strs_expected
  where token_strs = ["error","%dummy","%start_pProgram","%start_pMetaId","%start_pObject","%start_pBinding","%start_pListBinding","%start_pAttribute","%start_pListLabelId","%start_pRuleAttribute","%start_pPeeledObject","%start_pObjectHead","%start_pObjectAction","%start_pListObjectAction","Double","Integer","String","Bytes","Function","LabelId","AlphaIndex","LabelMetaId","TailMetaId","BindingsMetaId","ObjectMetaId","BytesMetaId","MetaFunctionName","IntegerSigned","DoubleSigned","StringRaw","Program","MetaId","Object","Binding","ListBinding","Attribute","ListLabelId","RuleAttribute","PeeledObject","ObjectHead","ObjectAction","ListObjectAction","'('","')'","'*'","','","'.'","'['","']'","'{'","'}'","'~'","'\916'","'\934'","'\934\775'","'\955'","'\958'","'\961'","'\966'","'\8614'","'\8709'","'\8869'","'\8968'","'\8969'","'\10214'","'\10215'","'\10509'","L_doubl","L_integ","L_quoted","L_Bytes","L_Function","L_LabelId","L_AlphaIndex","L_LabelMetaId","L_TailMetaId","L_BindingsMetaId","L_ObjectMetaId","L_BytesMetaId","L_MetaFunctionName","L_IntegerSigned","L_DoubleSigned","L_StringRaw","%eof"]
        bit_start = st Prelude.* 84
        bit_end = (st Prelude.+ 1) Prelude.* 84
        read_bit = readArrayBit happyExpList
        bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1]
        bits_indexed = Prelude.zip bits [0..83]
        token_strs_expected = Prelude.concatMap f bits_indexed
        f (Prelude.False, _) = []
        f (Prelude.True, nr) = [token_strs Prelude.!! nr]

action_0 (50) = happyShift action_77
action_0 (31) = happyGoto action_76
action_0 _ = happyFail (happyExpListPerState 0)

action_1 (75) = happyShift action_38
action_1 (76) = happyShift action_74
action_1 (77) = happyShift action_60
action_1 (78) = happyShift action_61
action_1 (79) = happyShift action_75
action_1 (22) = happyGoto action_68
action_1 (23) = happyGoto action_69
action_1 (24) = happyGoto action_70
action_1 (25) = happyGoto action_71
action_1 (26) = happyGoto action_72
action_1 (32) = happyGoto action_73
action_1 _ = happyFail (happyExpListPerState 1)

action_2 (54) = happyShift action_53
action_2 (55) = happyShift action_54
action_2 (57) = happyShift action_56
action_2 (62) = happyShift action_57
action_2 (63) = happyShift action_58
action_2 (65) = happyShift action_59
action_2 (78) = happyShift action_61
action_2 (80) = happyShift action_62
action_2 (81) = happyShift action_63
action_2 (82) = happyShift action_64
action_2 (83) = happyShift action_65
action_2 (25) = happyGoto action_43
action_2 (27) = happyGoto action_44
action_2 (28) = happyGoto action_45
action_2 (29) = happyGoto action_46
action_2 (30) = happyGoto action_47
action_2 (33) = happyGoto action_67
action_2 _ = happyFail (happyExpListPerState 2)

action_3 (52) = happyShift action_31
action_3 (53) = happyShift action_52
action_3 (54) = happyShift action_53
action_3 (55) = happyShift action_54
action_3 (56) = happyShift action_55
action_3 (57) = happyShift action_56
action_3 (58) = happyShift action_34
action_3 (59) = happyShift action_35
action_3 (62) = happyShift action_57
action_3 (63) = happyShift action_58
action_3 (65) = happyShift action_59
action_3 (73) = happyShift action_36
action_3 (74) = happyShift action_37
action_3 (75) = happyShift action_38
action_3 (77) = happyShift action_60
action_3 (78) = happyShift action_61
action_3 (80) = happyShift action_62
action_3 (81) = happyShift action_63
action_3 (82) = happyShift action_64
action_3 (83) = happyShift action_65
action_3 (20) = happyGoto action_26
action_3 (21) = happyGoto action_27
action_3 (22) = happyGoto action_28
action_3 (24) = happyGoto action_42
action_3 (25) = happyGoto action_43
action_3 (27) = happyGoto action_44
action_3 (28) = happyGoto action_45
action_3 (29) = happyGoto action_46
action_3 (30) = happyGoto action_47
action_3 (33) = happyGoto action_48
action_3 (34) = happyGoto action_66
action_3 (36) = happyGoto action_51
action_3 _ = happyFail (happyExpListPerState 3)

action_4 (52) = happyShift action_31
action_4 (53) = happyShift action_52
action_4 (54) = happyShift action_53
action_4 (55) = happyShift action_54
action_4 (56) = happyShift action_55
action_4 (57) = happyShift action_56
action_4 (58) = happyShift action_34
action_4 (59) = happyShift action_35
action_4 (62) = happyShift action_57
action_4 (63) = happyShift action_58
action_4 (65) = happyShift action_59
action_4 (73) = happyShift action_36
action_4 (74) = happyShift action_37
action_4 (75) = happyShift action_38
action_4 (77) = happyShift action_60
action_4 (78) = happyShift action_61
action_4 (80) = happyShift action_62
action_4 (81) = happyShift action_63
action_4 (82) = happyShift action_64
action_4 (83) = happyShift action_65
action_4 (20) = happyGoto action_26
action_4 (21) = happyGoto action_27
action_4 (22) = happyGoto action_28
action_4 (24) = happyGoto action_42
action_4 (25) = happyGoto action_43
action_4 (27) = happyGoto action_44
action_4 (28) = happyGoto action_45
action_4 (29) = happyGoto action_46
action_4 (30) = happyGoto action_47
action_4 (33) = happyGoto action_48
action_4 (34) = happyGoto action_49
action_4 (35) = happyGoto action_50
action_4 (36) = happyGoto action_51
action_4 _ = happyReduce_57

action_5 (52) = happyShift action_31
action_5 (58) = happyShift action_34
action_5 (59) = happyShift action_35
action_5 (73) = happyShift action_36
action_5 (74) = happyShift action_37
action_5 (75) = happyShift action_38
action_5 (20) = happyGoto action_26
action_5 (21) = happyGoto action_27
action_5 (22) = happyGoto action_28
action_5 (36) = happyGoto action_41
action_5 _ = happyFail (happyExpListPerState 5)

action_6 (73) = happyShift action_36
action_6 (20) = happyGoto action_39
action_6 (37) = happyGoto action_40
action_6 _ = happyReduce_67

action_7 (52) = happyShift action_31
action_7 (53) = happyShift action_32
action_7 (56) = happyShift action_33
action_7 (58) = happyShift action_34
action_7 (59) = happyShift action_35
action_7 (73) = happyShift action_36
action_7 (74) = happyShift action_37
action_7 (75) = happyShift action_38
action_7 (20) = happyGoto action_26
action_7 (21) = happyGoto action_27
action_7 (22) = happyGoto action_28
action_7 (36) = happyGoto action_29
action_7 (38) = happyGoto action_30
action_7 _ = happyFail (happyExpListPerState 7)

action_8 (54) = happyShift action_20
action_8 (57) = happyShift action_21
action_8 (62) = happyShift action_22
action_8 (65) = happyShift action_23
action_8 (39) = happyGoto action_24
action_8 (40) = happyGoto action_25
action_8 _ = happyFail (happyExpListPerState 8)

action_9 (54) = happyShift action_20
action_9 (57) = happyShift action_21
action_9 (62) = happyShift action_22
action_9 (65) = happyShift action_23
action_9 (40) = happyGoto action_19
action_9 _ = happyFail (happyExpListPerState 9)

action_10 (43) = happyShift action_16
action_10 (47) = happyShift action_17
action_10 (41) = happyGoto action_18
action_10 _ = happyFail (happyExpListPerState 10)

action_11 (43) = happyShift action_16
action_11 (47) = happyShift action_17
action_11 (41) = happyGoto action_14
action_11 (42) = happyGoto action_15
action_11 _ = happyReduce_80

action_12 (68) = happyShift action_13
action_12 _ = happyFail (happyExpListPerState 12)

action_13 _ = happyFail (happyExpListPerState 13)

action_14 (43) = happyShift action_16
action_14 (47) = happyShift action_17
action_14 (41) = happyGoto action_14
action_14 (42) = happyGoto action_97
action_14 _ = happyReduce_80

action_15 (84) = happyAccept
action_15 _ = happyFail (happyExpListPerState 15)

action_16 (52) = happyShift action_31
action_16 (53) = happyShift action_52
action_16 (54) = happyShift action_53
action_16 (55) = happyShift action_54
action_16 (56) = happyShift action_55
action_16 (57) = happyShift action_56
action_16 (58) = happyShift action_34
action_16 (59) = happyShift action_35
action_16 (62) = happyShift action_57
action_16 (63) = happyShift action_58
action_16 (65) = happyShift action_59
action_16 (73) = happyShift action_36
action_16 (74) = happyShift action_37
action_16 (75) = happyShift action_38
action_16 (77) = happyShift action_60
action_16 (78) = happyShift action_61
action_16 (80) = happyShift action_62
action_16 (81) = happyShift action_63
action_16 (82) = happyShift action_64
action_16 (83) = happyShift action_65
action_16 (20) = happyGoto action_26
action_16 (21) = happyGoto action_27
action_16 (22) = happyGoto action_28
action_16 (24) = happyGoto action_42
action_16 (25) = happyGoto action_43
action_16 (27) = happyGoto action_44
action_16 (28) = happyGoto action_45
action_16 (29) = happyGoto action_46
action_16 (30) = happyGoto action_47
action_16 (33) = happyGoto action_48
action_16 (34) = happyGoto action_49
action_16 (35) = happyGoto action_96
action_16 (36) = happyGoto action_51
action_16 _ = happyReduce_57

action_17 (52) = happyShift action_31
action_17 (58) = happyShift action_34
action_17 (59) = happyShift action_35
action_17 (73) = happyShift action_36
action_17 (74) = happyShift action_37
action_17 (75) = happyShift action_38
action_17 (20) = happyGoto action_26
action_17 (21) = happyGoto action_27
action_17 (22) = happyGoto action_28
action_17 (36) = happyGoto action_95
action_17 _ = happyFail (happyExpListPerState 17)

action_18 (84) = happyAccept
action_18 _ = happyFail (happyExpListPerState 18)

action_19 (84) = happyAccept
action_19 _ = happyFail (happyExpListPerState 19)

action_20 _ = happyReduce_75

action_21 _ = happyReduce_76

action_22 _ = happyReduce_77

action_23 (52) = happyShift action_31
action_23 (53) = happyShift action_52
action_23 (54) = happyShift action_53
action_23 (55) = happyShift action_54
action_23 (56) = happyShift action_55
action_23 (57) = happyShift action_56
action_23 (58) = happyShift action_34
action_23 (59) = happyShift action_35
action_23 (62) = happyShift action_57
action_23 (63) = happyShift action_58
action_23 (65) = happyShift action_59
action_23 (73) = happyShift action_36
action_23 (74) = happyShift action_37
action_23 (75) = happyShift action_38
action_23 (77) = happyShift action_60
action_23 (78) = happyShift action_61
action_23 (80) = happyShift action_62
action_23 (81) = happyShift action_63
action_23 (82) = happyShift action_64
action_23 (83) = happyShift action_65
action_23 (20) = happyGoto action_26
action_23 (21) = happyGoto action_27
action_23 (22) = happyGoto action_28
action_23 (24) = happyGoto action_42
action_23 (25) = happyGoto action_43
action_23 (27) = happyGoto action_44
action_23 (28) = happyGoto action_45
action_23 (29) = happyGoto action_46
action_23 (30) = happyGoto action_47
action_23 (33) = happyGoto action_48
action_23 (34) = happyGoto action_49
action_23 (35) = happyGoto action_94
action_23 (36) = happyGoto action_51
action_23 _ = happyReduce_57

action_24 (84) = happyAccept
action_24 _ = happyFail (happyExpListPerState 24)

action_25 (43) = happyShift action_16
action_25 (47) = happyShift action_17
action_25 (41) = happyGoto action_14
action_25 (42) = happyGoto action_93
action_25 _ = happyReduce_80

action_26 _ = happyReduce_63

action_27 _ = happyReduce_64

action_28 _ = happyReduce_65

action_29 _ = happyReduce_70

action_30 (84) = happyAccept
action_30 _ = happyFail (happyExpListPerState 30)

action_31 (59) = happyShift action_92
action_31 (73) = happyShift action_36
action_31 (20) = happyGoto action_91
action_31 _ = happyFail (happyExpListPerState 31)

action_32 _ = happyReduce_71

action_33 _ = happyReduce_72

action_34 _ = happyReduce_62

action_35 _ = happyReduce_60

action_36 _ = happyReduce_17

action_37 _ = happyReduce_18

action_38 _ = happyReduce_19

action_39 (46) = happyShift action_90
action_39 _ = happyReduce_68

action_40 (84) = happyAccept
action_40 _ = happyFail (happyExpListPerState 40)

action_41 (84) = happyAccept
action_41 _ = happyFail (happyExpListPerState 41)

action_42 _ = happyReduce_55

action_43 _ = happyReduce_46

action_44 (43) = happyShift action_89
action_44 _ = happyFail (happyExpListPerState 44)

action_45 _ = happyReduce_42

action_46 _ = happyReduce_43

action_47 _ = happyReduce_41

action_48 (43) = happyShift action_79
action_48 (45) = happyShift action_80
action_48 (47) = happyShift action_81
action_48 (48) = happyShift action_82
action_48 _ = happyReduce_50

action_49 (46) = happyShift action_88
action_49 _ = happyReduce_58

action_50 (84) = happyAccept
action_50 _ = happyFail (happyExpListPerState 50)

action_51 (60) = happyShift action_87
action_51 _ = happyFail (happyExpListPerState 51)

action_52 (67) = happyShift action_86
action_52 _ = happyFail (happyExpListPerState 52)

action_53 _ = happyReduce_37

action_54 _ = happyReduce_38

action_55 (67) = happyShift action_85
action_55 _ = happyFail (happyExpListPerState 55)

action_56 _ = happyReduce_39

action_57 _ = happyReduce_40

action_58 (54) = happyShift action_53
action_58 (55) = happyShift action_54
action_58 (57) = happyShift action_56
action_58 (62) = happyShift action_57
action_58 (63) = happyShift action_58
action_58 (65) = happyShift action_59
action_58 (78) = happyShift action_61
action_58 (80) = happyShift action_62
action_58 (81) = happyShift action_63
action_58 (82) = happyShift action_64
action_58 (83) = happyShift action_65
action_58 (25) = happyGoto action_43
action_58 (27) = happyGoto action_44
action_58 (28) = happyGoto action_45
action_58 (29) = happyGoto action_46
action_58 (30) = happyGoto action_47
action_58 (33) = happyGoto action_84
action_58 _ = happyFail (happyExpListPerState 58)

action_59 (52) = happyShift action_31
action_59 (53) = happyShift action_52
action_59 (54) = happyShift action_53
action_59 (55) = happyShift action_54
action_59 (56) = happyShift action_55
action_59 (57) = happyShift action_56
action_59 (58) = happyShift action_34
action_59 (59) = happyShift action_35
action_59 (62) = happyShift action_57
action_59 (63) = happyShift action_58
action_59 (65) = happyShift action_59
action_59 (73) = happyShift action_36
action_59 (74) = happyShift action_37
action_59 (75) = happyShift action_38
action_59 (77) = happyShift action_60
action_59 (78) = happyShift action_61
action_59 (80) = happyShift action_62
action_59 (81) = happyShift action_63
action_59 (82) = happyShift action_64
action_59 (83) = happyShift action_65
action_59 (20) = happyGoto action_26
action_59 (21) = happyGoto action_27
action_59 (22) = happyGoto action_28
action_59 (24) = happyGoto action_42
action_59 (25) = happyGoto action_43
action_59 (27) = happyGoto action_44
action_59 (28) = happyGoto action_45
action_59 (29) = happyGoto action_46
action_59 (30) = happyGoto action_47
action_59 (33) = happyGoto action_48
action_59 (34) = happyGoto action_49
action_59 (35) = happyGoto action_83
action_59 (36) = happyGoto action_51
action_59 _ = happyReduce_57

action_60 _ = happyReduce_21

action_61 _ = happyReduce_22

action_62 _ = happyReduce_24

action_63 _ = happyReduce_25

action_64 _ = happyReduce_26

action_65 _ = happyReduce_27

action_66 (84) = happyAccept
action_66 _ = happyFail (happyExpListPerState 66)

action_67 (43) = happyShift action_79
action_67 (45) = happyShift action_80
action_67 (47) = happyShift action_81
action_67 (48) = happyShift action_82
action_67 (84) = happyAccept
action_67 _ = happyFail (happyExpListPerState 67)

action_68 _ = happyReduce_29

action_69 _ = happyReduce_30

action_70 _ = happyReduce_31

action_71 _ = happyReduce_32

action_72 _ = happyReduce_33

action_73 (84) = happyAccept
action_73 _ = happyFail (happyExpListPerState 73)

action_74 _ = happyReduce_20

action_75 _ = happyReduce_23

action_76 (84) = happyAccept
action_76 _ = happyFail (happyExpListPerState 76)

action_77 (65) = happyShift action_78
action_77 _ = happyFail (happyExpListPerState 77)

action_78 (52) = happyShift action_31
action_78 (53) = happyShift action_52
action_78 (54) = happyShift action_53
action_78 (55) = happyShift action_54
action_78 (56) = happyShift action_55
action_78 (57) = happyShift action_56
action_78 (58) = happyShift action_34
action_78 (59) = happyShift action_35
action_78 (62) = happyShift action_57
action_78 (63) = happyShift action_58
action_78 (65) = happyShift action_59
action_78 (73) = happyShift action_36
action_78 (74) = happyShift action_37
action_78 (75) = happyShift action_38
action_78 (77) = happyShift action_60
action_78 (78) = happyShift action_61
action_78 (80) = happyShift action_62
action_78 (81) = happyShift action_63
action_78 (82) = happyShift action_64
action_78 (83) = happyShift action_65
action_78 (20) = happyGoto action_26
action_78 (21) = happyGoto action_27
action_78 (22) = happyGoto action_28
action_78 (24) = happyGoto action_42
action_78 (25) = happyGoto action_43
action_78 (27) = happyGoto action_44
action_78 (28) = happyGoto action_45
action_78 (29) = happyGoto action_46
action_78 (30) = happyGoto action_47
action_78 (33) = happyGoto action_48
action_78 (34) = happyGoto action_49
action_78 (35) = happyGoto action_119
action_78 (36) = happyGoto action_51
action_78 _ = happyReduce_57

action_79 (52) = happyShift action_31
action_79 (53) = happyShift action_52
action_79 (54) = happyShift action_53
action_79 (55) = happyShift action_54
action_79 (56) = happyShift action_55
action_79 (57) = happyShift action_56
action_79 (58) = happyShift action_34
action_79 (59) = happyShift action_35
action_79 (62) = happyShift action_57
action_79 (63) = happyShift action_58
action_79 (65) = happyShift action_59
action_79 (73) = happyShift action_36
action_79 (74) = happyShift action_37
action_79 (75) = happyShift action_38
action_79 (77) = happyShift action_60
action_79 (78) = happyShift action_61
action_79 (80) = happyShift action_62
action_79 (81) = happyShift action_63
action_79 (82) = happyShift action_64
action_79 (83) = happyShift action_65
action_79 (20) = happyGoto action_26
action_79 (21) = happyGoto action_27
action_79 (22) = happyGoto action_28
action_79 (24) = happyGoto action_42
action_79 (25) = happyGoto action_43
action_79 (27) = happyGoto action_44
action_79 (28) = happyGoto action_45
action_79 (29) = happyGoto action_46
action_79 (30) = happyGoto action_47
action_79 (33) = happyGoto action_48
action_79 (34) = happyGoto action_49
action_79 (35) = happyGoto action_118
action_79 (36) = happyGoto action_51
action_79 _ = happyReduce_57

action_80 (76) = happyShift action_74
action_80 (23) = happyGoto action_117
action_80 _ = happyFail (happyExpListPerState 80)

action_81 (52) = happyShift action_31
action_81 (58) = happyShift action_34
action_81 (59) = happyShift action_35
action_81 (73) = happyShift action_36
action_81 (74) = happyShift action_37
action_81 (75) = happyShift action_38
action_81 (20) = happyGoto action_26
action_81 (21) = happyGoto action_27
action_81 (22) = happyGoto action_28
action_81 (36) = happyGoto action_116
action_81 _ = happyFail (happyExpListPerState 81)

action_82 (57) = happyShift action_115
action_82 _ = happyFail (happyExpListPerState 82)

action_83 (66) = happyShift action_114
action_83 _ = happyFail (happyExpListPerState 83)

action_84 (43) = happyShift action_79
action_84 (45) = happyShift action_80
action_84 (46) = happyShift action_113
action_84 (47) = happyShift action_81
action_84 (48) = happyShift action_82
action_84 _ = happyFail (happyExpListPerState 84)

action_85 (72) = happyShift action_112
action_85 (19) = happyGoto action_111
action_85 _ = happyFail (happyExpListPerState 85)

action_86 (61) = happyShift action_109
action_86 (71) = happyShift action_110
action_86 (79) = happyShift action_75
action_86 (18) = happyGoto action_107
action_86 (26) = happyGoto action_108
action_86 _ = happyFail (happyExpListPerState 86)

action_87 (54) = happyShift action_53
action_87 (55) = happyShift action_54
action_87 (57) = happyShift action_56
action_87 (61) = happyShift action_106
action_87 (62) = happyShift action_57
action_87 (63) = happyShift action_58
action_87 (65) = happyShift action_59
action_87 (78) = happyShift action_61
action_87 (80) = happyShift action_62
action_87 (81) = happyShift action_63
action_87 (82) = happyShift action_64
action_87 (83) = happyShift action_65
action_87 (25) = happyGoto action_43
action_87 (27) = happyGoto action_44
action_87 (28) = happyGoto action_45
action_87 (29) = happyGoto action_46
action_87 (30) = happyGoto action_47
action_87 (33) = happyGoto action_105
action_87 _ = happyFail (happyExpListPerState 87)

action_88 (52) = happyShift action_31
action_88 (53) = happyShift action_52
action_88 (54) = happyShift action_53
action_88 (55) = happyShift action_54
action_88 (56) = happyShift action_55
action_88 (57) = happyShift action_56
action_88 (58) = happyShift action_34
action_88 (59) = happyShift action_35
action_88 (62) = happyShift action_57
action_88 (63) = happyShift action_58
action_88 (65) = happyShift action_59
action_88 (73) = happyShift action_36
action_88 (74) = happyShift action_37
action_88 (75) = happyShift action_38
action_88 (77) = happyShift action_60
action_88 (78) = happyShift action_61
action_88 (80) = happyShift action_62
action_88 (81) = happyShift action_63
action_88 (82) = happyShift action_64
action_88 (83) = happyShift action_65
action_88 (20) = happyGoto action_26
action_88 (21) = happyGoto action_27
action_88 (22) = happyGoto action_28
action_88 (24) = happyGoto action_42
action_88 (25) = happyGoto action_43
action_88 (27) = happyGoto action_44
action_88 (28) = happyGoto action_45
action_88 (29) = happyGoto action_46
action_88 (30) = happyGoto action_47
action_88 (33) = happyGoto action_48
action_88 (34) = happyGoto action_49
action_88 (35) = happyGoto action_104
action_88 (36) = happyGoto action_51
action_88 _ = happyReduce_57

action_89 (54) = happyShift action_53
action_89 (55) = happyShift action_54
action_89 (57) = happyShift action_56
action_89 (62) = happyShift action_57
action_89 (63) = happyShift action_58
action_89 (65) = happyShift action_59
action_89 (78) = happyShift action_61
action_89 (80) = happyShift action_62
action_89 (81) = happyShift action_63
action_89 (82) = happyShift action_64
action_89 (83) = happyShift action_65
action_89 (25) = happyGoto action_43
action_89 (27) = happyGoto action_44
action_89 (28) = happyGoto action_45
action_89 (29) = happyGoto action_46
action_89 (30) = happyGoto action_47
action_89 (33) = happyGoto action_103
action_89 _ = happyFail (happyExpListPerState 89)

action_90 (73) = happyShift action_36
action_90 (20) = happyGoto action_39
action_90 (37) = happyGoto action_102
action_90 _ = happyReduce_67

action_91 (43) = happyShift action_101
action_91 _ = happyFail (happyExpListPerState 91)

action_92 (43) = happyShift action_100
action_92 _ = happyFail (happyExpListPerState 92)

action_93 _ = happyReduce_73

action_94 (66) = happyShift action_99
action_94 _ = happyFail (happyExpListPerState 94)

action_95 _ = happyReduce_79

action_96 (44) = happyShift action_98
action_96 _ = happyFail (happyExpListPerState 96)

action_97 _ = happyReduce_81

action_98 _ = happyReduce_78

action_99 _ = happyReduce_74

action_100 (73) = happyShift action_36
action_100 (20) = happyGoto action_39
action_100 (37) = happyGoto action_126
action_100 _ = happyReduce_67

action_101 (73) = happyShift action_36
action_101 (20) = happyGoto action_39
action_101 (37) = happyGoto action_125
action_101 _ = happyReduce_67

action_102 _ = happyReduce_69

action_103 (43) = happyShift action_79
action_103 (44) = happyShift action_124
action_103 (45) = happyShift action_80
action_103 (47) = happyShift action_81
action_103 (48) = happyShift action_82
action_103 _ = happyFail (happyExpListPerState 103)

action_104 _ = happyReduce_59

action_105 (43) = happyShift action_79
action_105 (45) = happyShift action_80
action_105 (47) = happyShift action_81
action_105 (48) = happyShift action_82
action_105 _ = happyReduce_49

action_106 _ = happyReduce_51

action_107 _ = happyReduce_52

action_108 _ = happyReduce_56

action_109 _ = happyReduce_53

action_110 _ = happyReduce_15

action_111 _ = happyReduce_54

action_112 _ = happyReduce_16

action_113 (54) = happyShift action_53
action_113 (55) = happyShift action_54
action_113 (57) = happyShift action_56
action_113 (62) = happyShift action_57
action_113 (63) = happyShift action_58
action_113 (65) = happyShift action_59
action_113 (78) = happyShift action_61
action_113 (80) = happyShift action_62
action_113 (81) = happyShift action_63
action_113 (82) = happyShift action_64
action_113 (83) = happyShift action_65
action_113 (25) = happyGoto action_43
action_113 (27) = happyGoto action_44
action_113 (28) = happyGoto action_45
action_113 (29) = happyGoto action_46
action_113 (30) = happyGoto action_47
action_113 (33) = happyGoto action_123
action_113 _ = happyFail (happyExpListPerState 113)

action_114 _ = happyReduce_34

action_115 (60) = happyShift action_122
action_115 _ = happyFail (happyExpListPerState 115)

action_116 _ = happyReduce_36

action_117 _ = happyReduce_47

action_118 (44) = happyShift action_121
action_118 _ = happyFail (happyExpListPerState 118)

action_119 (66) = happyShift action_120
action_119 _ = happyFail (happyExpListPerState 119)

action_120 (51) = happyShift action_131
action_120 _ = happyFail (happyExpListPerState 120)

action_121 _ = happyReduce_35

action_122 (54) = happyShift action_53
action_122 (55) = happyShift action_54
action_122 (57) = happyShift action_56
action_122 (62) = happyShift action_57
action_122 (63) = happyShift action_58
action_122 (65) = happyShift action_59
action_122 (78) = happyShift action_61
action_122 (80) = happyShift action_62
action_122 (81) = happyShift action_63
action_122 (82) = happyShift action_64
action_122 (83) = happyShift action_65
action_122 (25) = happyGoto action_43
action_122 (27) = happyGoto action_44
action_122 (28) = happyGoto action_45
action_122 (29) = happyGoto action_46
action_122 (30) = happyGoto action_47
action_122 (33) = happyGoto action_130
action_122 _ = happyFail (happyExpListPerState 122)

action_123 (43) = happyShift action_79
action_123 (45) = happyShift action_80
action_123 (47) = happyShift action_81
action_123 (48) = happyShift action_82
action_123 (64) = happyShift action_129
action_123 _ = happyFail (happyExpListPerState 123)

action_124 _ = happyReduce_48

action_125 (44) = happyShift action_128
action_125 _ = happyFail (happyExpListPerState 125)

action_126 (44) = happyShift action_127
action_126 _ = happyFail (happyExpListPerState 126)

action_127 _ = happyReduce_61

action_128 _ = happyReduce_66

action_129 _ = happyReduce_45

action_130 (43) = happyShift action_79
action_130 (45) = happyShift action_80
action_130 (47) = happyShift action_81
action_130 (48) = happyShift action_82
action_130 (49) = happyShift action_132
action_130 _ = happyFail (happyExpListPerState 130)

action_131 _ = happyReduce_28

action_132 _ = happyReduce_44

happyReduce_12 = happySpecReduce_1  15 happyReduction_12
happyReduction_12 (HappyTerminal (PT _ (TD happy_var_1)))
	 =  HappyAbsSyn15
		 ((read happy_var_1) :: Double
	)
happyReduction_12 _  = notHappyAtAll 

happyReduce_13 = happySpecReduce_1  16 happyReduction_13
happyReduction_13 (HappyTerminal (PT _ (TI happy_var_1)))
	 =  HappyAbsSyn16
		 ((read happy_var_1) :: Integer
	)
happyReduction_13 _  = notHappyAtAll 

happyReduce_14 = happySpecReduce_1  17 happyReduction_14
happyReduction_14 (HappyTerminal (PT _ (TL happy_var_1)))
	 =  HappyAbsSyn17
		 (happy_var_1
	)
happyReduction_14 _  = notHappyAtAll 

happyReduce_15 = happySpecReduce_1  18 happyReduction_15
happyReduction_15 (HappyTerminal (PT _ (T_Bytes happy_var_1)))
	 =  HappyAbsSyn18
		 (Language.EO.Phi.Syntax.Abs.Bytes happy_var_1
	)
happyReduction_15 _  = notHappyAtAll 

happyReduce_16 = happySpecReduce_1  19 happyReduction_16
happyReduction_16 (HappyTerminal (PT _ (T_Function happy_var_1)))
	 =  HappyAbsSyn19
		 (Language.EO.Phi.Syntax.Abs.Function happy_var_1
	)
happyReduction_16 _  = notHappyAtAll 

happyReduce_17 = happySpecReduce_1  20 happyReduction_17
happyReduction_17 (HappyTerminal (PT _ (T_LabelId happy_var_1)))
	 =  HappyAbsSyn20
		 (Language.EO.Phi.Syntax.Abs.LabelId happy_var_1
	)
happyReduction_17 _  = notHappyAtAll 

happyReduce_18 = happySpecReduce_1  21 happyReduction_18
happyReduction_18 (HappyTerminal (PT _ (T_AlphaIndex happy_var_1)))
	 =  HappyAbsSyn21
		 (Language.EO.Phi.Syntax.Abs.AlphaIndex happy_var_1
	)
happyReduction_18 _  = notHappyAtAll 

happyReduce_19 = happySpecReduce_1  22 happyReduction_19
happyReduction_19 (HappyTerminal (PT _ (T_LabelMetaId happy_var_1)))
	 =  HappyAbsSyn22
		 (Language.EO.Phi.Syntax.Abs.LabelMetaId happy_var_1
	)
happyReduction_19 _  = notHappyAtAll 

happyReduce_20 = happySpecReduce_1  23 happyReduction_20
happyReduction_20 (HappyTerminal (PT _ (T_TailMetaId happy_var_1)))
	 =  HappyAbsSyn23
		 (Language.EO.Phi.Syntax.Abs.TailMetaId happy_var_1
	)
happyReduction_20 _  = notHappyAtAll 

happyReduce_21 = happySpecReduce_1  24 happyReduction_21
happyReduction_21 (HappyTerminal (PT _ (T_BindingsMetaId happy_var_1)))
	 =  HappyAbsSyn24
		 (Language.EO.Phi.Syntax.Abs.BindingsMetaId happy_var_1
	)
happyReduction_21 _  = notHappyAtAll 

happyReduce_22 = happySpecReduce_1  25 happyReduction_22
happyReduction_22 (HappyTerminal (PT _ (T_ObjectMetaId happy_var_1)))
	 =  HappyAbsSyn25
		 (Language.EO.Phi.Syntax.Abs.ObjectMetaId happy_var_1
	)
happyReduction_22 _  = notHappyAtAll 

happyReduce_23 = happySpecReduce_1  26 happyReduction_23
happyReduction_23 (HappyTerminal (PT _ (T_BytesMetaId happy_var_1)))
	 =  HappyAbsSyn26
		 (Language.EO.Phi.Syntax.Abs.BytesMetaId happy_var_1
	)
happyReduction_23 _  = notHappyAtAll 

happyReduce_24 = happySpecReduce_1  27 happyReduction_24
happyReduction_24 (HappyTerminal (PT _ (T_MetaFunctionName happy_var_1)))
	 =  HappyAbsSyn27
		 (Language.EO.Phi.Syntax.Abs.MetaFunctionName happy_var_1
	)
happyReduction_24 _  = notHappyAtAll 

happyReduce_25 = happySpecReduce_1  28 happyReduction_25
happyReduction_25 (HappyTerminal (PT _ (T_IntegerSigned happy_var_1)))
	 =  HappyAbsSyn28
		 (Language.EO.Phi.Syntax.Abs.IntegerSigned happy_var_1
	)
happyReduction_25 _  = notHappyAtAll 

happyReduce_26 = happySpecReduce_1  29 happyReduction_26
happyReduction_26 (HappyTerminal (PT _ (T_DoubleSigned happy_var_1)))
	 =  HappyAbsSyn29
		 (Language.EO.Phi.Syntax.Abs.DoubleSigned happy_var_1
	)
happyReduction_26 _  = notHappyAtAll 

happyReduce_27 = happySpecReduce_1  30 happyReduction_27
happyReduction_27 (HappyTerminal (PT _ (T_StringRaw happy_var_1)))
	 =  HappyAbsSyn30
		 (Language.EO.Phi.Syntax.Abs.StringRaw happy_var_1
	)
happyReduction_27 _  = notHappyAtAll 

happyReduce_28 = happyReduce 5 31 happyReduction_28
happyReduction_28 (_ `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn35  happy_var_3) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn31
		 (Language.EO.Phi.Syntax.Abs.Program happy_var_3
	) `HappyStk` happyRest

happyReduce_29 = happySpecReduce_1  32 happyReduction_29
happyReduction_29 (HappyAbsSyn22  happy_var_1)
	 =  HappyAbsSyn32
		 (Language.EO.Phi.Syntax.Abs.MetaIdLabel happy_var_1
	)
happyReduction_29 _  = notHappyAtAll 

happyReduce_30 = happySpecReduce_1  32 happyReduction_30
happyReduction_30 (HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn32
		 (Language.EO.Phi.Syntax.Abs.MetaIdTail happy_var_1
	)
happyReduction_30 _  = notHappyAtAll 

happyReduce_31 = happySpecReduce_1  32 happyReduction_31
happyReduction_31 (HappyAbsSyn24  happy_var_1)
	 =  HappyAbsSyn32
		 (Language.EO.Phi.Syntax.Abs.MetaIdBindings happy_var_1
	)
happyReduction_31 _  = notHappyAtAll 

happyReduce_32 = happySpecReduce_1  32 happyReduction_32
happyReduction_32 (HappyAbsSyn25  happy_var_1)
	 =  HappyAbsSyn32
		 (Language.EO.Phi.Syntax.Abs.MetaIdObject happy_var_1
	)
happyReduction_32 _  = notHappyAtAll 

happyReduce_33 = happySpecReduce_1  32 happyReduction_33
happyReduction_33 (HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn32
		 (Language.EO.Phi.Syntax.Abs.MetaIdBytes happy_var_1
	)
happyReduction_33 _  = notHappyAtAll 

happyReduce_34 = happySpecReduce_3  33 happyReduction_34
happyReduction_34 _
	(HappyAbsSyn35  happy_var_2)
	_
	 =  HappyAbsSyn33
		 (Language.EO.Phi.Syntax.Abs.Formation happy_var_2
	)
happyReduction_34 _ _ _  = notHappyAtAll 

happyReduce_35 = happyReduce 4 33 happyReduction_35
happyReduction_35 (_ `HappyStk`
	(HappyAbsSyn35  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn33  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn33
		 (Language.EO.Phi.Syntax.Abs.Application happy_var_1 happy_var_3
	) `HappyStk` happyRest

happyReduce_36 = happySpecReduce_3  33 happyReduction_36
happyReduction_36 (HappyAbsSyn36  happy_var_3)
	_
	(HappyAbsSyn33  happy_var_1)
	 =  HappyAbsSyn33
		 (Language.EO.Phi.Syntax.Abs.ObjectDispatch happy_var_1 happy_var_3
	)
happyReduction_36 _ _ _  = notHappyAtAll 

happyReduce_37 = happySpecReduce_1  33 happyReduction_37
happyReduction_37 _
	 =  HappyAbsSyn33
		 (Language.EO.Phi.Syntax.Abs.GlobalObject
	)

happyReduce_38 = happySpecReduce_1  33 happyReduction_38
happyReduction_38 _
	 =  HappyAbsSyn33
		 (Language.EO.Phi.Syntax.Abs.GlobalObjectPhiOrg
	)

happyReduce_39 = happySpecReduce_1  33 happyReduction_39
happyReduction_39 _
	 =  HappyAbsSyn33
		 (Language.EO.Phi.Syntax.Abs.ThisObject
	)

happyReduce_40 = happySpecReduce_1  33 happyReduction_40
happyReduction_40 _
	 =  HappyAbsSyn33
		 (Language.EO.Phi.Syntax.Abs.Termination
	)

happyReduce_41 = happySpecReduce_1  33 happyReduction_41
happyReduction_41 (HappyAbsSyn30  happy_var_1)
	 =  HappyAbsSyn33
		 (Language.EO.Phi.Syntax.Abs.ConstStringRaw happy_var_1
	)
happyReduction_41 _  = notHappyAtAll 

happyReduce_42 = happySpecReduce_1  33 happyReduction_42
happyReduction_42 (HappyAbsSyn28  happy_var_1)
	 =  HappyAbsSyn33
		 (Language.EO.Phi.Syntax.Abs.ConstIntRaw happy_var_1
	)
happyReduction_42 _  = notHappyAtAll 

happyReduce_43 = happySpecReduce_1  33 happyReduction_43
happyReduction_43 (HappyAbsSyn29  happy_var_1)
	 =  HappyAbsSyn33
		 (Language.EO.Phi.Syntax.Abs.ConstFloatRaw happy_var_1
	)
happyReduction_43 _  = notHappyAtAll 

happyReduce_44 = happyReduce 6 33 happyReduction_44
happyReduction_44 (_ `HappyStk`
	(HappyAbsSyn33  happy_var_5) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn33  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn33
		 (Language.EO.Phi.Syntax.Abs.MetaSubstThis happy_var_1 happy_var_5
	) `HappyStk` happyRest

happyReduce_45 = happyReduce 5 33 happyReduction_45
happyReduction_45 (_ `HappyStk`
	(HappyAbsSyn33  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn33  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn33
		 (Language.EO.Phi.Syntax.Abs.MetaContextualize happy_var_2 happy_var_4
	) `HappyStk` happyRest

happyReduce_46 = happySpecReduce_1  33 happyReduction_46
happyReduction_46 (HappyAbsSyn25  happy_var_1)
	 =  HappyAbsSyn33
		 (Language.EO.Phi.Syntax.Abs.MetaObject happy_var_1
	)
happyReduction_46 _  = notHappyAtAll 

happyReduce_47 = happySpecReduce_3  33 happyReduction_47
happyReduction_47 (HappyAbsSyn23  happy_var_3)
	_
	(HappyAbsSyn33  happy_var_1)
	 =  HappyAbsSyn33
		 (Language.EO.Phi.Syntax.Abs.MetaTailContext happy_var_1 happy_var_3
	)
happyReduction_47 _ _ _  = notHappyAtAll 

happyReduce_48 = happyReduce 4 33 happyReduction_48
happyReduction_48 (_ `HappyStk`
	(HappyAbsSyn33  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn27  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn33
		 (Language.EO.Phi.Syntax.Abs.MetaFunction happy_var_1 happy_var_3
	) `HappyStk` happyRest

happyReduce_49 = happySpecReduce_3  34 happyReduction_49
happyReduction_49 (HappyAbsSyn33  happy_var_3)
	_
	(HappyAbsSyn36  happy_var_1)
	 =  HappyAbsSyn34
		 (Language.EO.Phi.Syntax.Abs.AlphaBinding happy_var_1 happy_var_3
	)
happyReduction_49 _ _ _  = notHappyAtAll 

happyReduce_50 = happySpecReduce_1  34 happyReduction_50
happyReduction_50 (HappyAbsSyn33  happy_var_1)
	 =  HappyAbsSyn34
		 (Language.EO.Phi.Syntax.Abs.AlphaBindingSugar happy_var_1
	)
happyReduction_50 _  = notHappyAtAll 

happyReduce_51 = happySpecReduce_3  34 happyReduction_51
happyReduction_51 _
	_
	(HappyAbsSyn36  happy_var_1)
	 =  HappyAbsSyn34
		 (Language.EO.Phi.Syntax.Abs.EmptyBinding happy_var_1
	)
happyReduction_51 _ _ _  = notHappyAtAll 

happyReduce_52 = happySpecReduce_3  34 happyReduction_52
happyReduction_52 (HappyAbsSyn18  happy_var_3)
	_
	_
	 =  HappyAbsSyn34
		 (Language.EO.Phi.Syntax.Abs.DeltaBinding happy_var_3
	)
happyReduction_52 _ _ _  = notHappyAtAll 

happyReduce_53 = happySpecReduce_3  34 happyReduction_53
happyReduction_53 _
	_
	_
	 =  HappyAbsSyn34
		 (Language.EO.Phi.Syntax.Abs.DeltaEmptyBinding
	)

happyReduce_54 = happySpecReduce_3  34 happyReduction_54
happyReduction_54 (HappyAbsSyn19  happy_var_3)
	_
	_
	 =  HappyAbsSyn34
		 (Language.EO.Phi.Syntax.Abs.LambdaBinding happy_var_3
	)
happyReduction_54 _ _ _  = notHappyAtAll 

happyReduce_55 = happySpecReduce_1  34 happyReduction_55
happyReduction_55 (HappyAbsSyn24  happy_var_1)
	 =  HappyAbsSyn34
		 (Language.EO.Phi.Syntax.Abs.MetaBindings happy_var_1
	)
happyReduction_55 _  = notHappyAtAll 

happyReduce_56 = happySpecReduce_3  34 happyReduction_56
happyReduction_56 (HappyAbsSyn26  happy_var_3)
	_
	_
	 =  HappyAbsSyn34
		 (Language.EO.Phi.Syntax.Abs.MetaDeltaBinding happy_var_3
	)
happyReduction_56 _ _ _  = notHappyAtAll 

happyReduce_57 = happySpecReduce_0  35 happyReduction_57
happyReduction_57  =  HappyAbsSyn35
		 ([]
	)

happyReduce_58 = happySpecReduce_1  35 happyReduction_58
happyReduction_58 (HappyAbsSyn34  happy_var_1)
	 =  HappyAbsSyn35
		 ((:[]) happy_var_1
	)
happyReduction_58 _  = notHappyAtAll 

happyReduce_59 = happySpecReduce_3  35 happyReduction_59
happyReduction_59 (HappyAbsSyn35  happy_var_3)
	_
	(HappyAbsSyn34  happy_var_1)
	 =  HappyAbsSyn35
		 ((:) happy_var_1 happy_var_3
	)
happyReduction_59 _ _ _  = notHappyAtAll 

happyReduce_60 = happySpecReduce_1  36 happyReduction_60
happyReduction_60 _
	 =  HappyAbsSyn36
		 (Language.EO.Phi.Syntax.Abs.Phi
	)

happyReduce_61 = happyReduce 5 36 happyReduction_61
happyReduction_61 (_ `HappyStk`
	(HappyAbsSyn37  happy_var_4) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn36
		 (Language.EO.Phi.Syntax.Abs.PhiSugar happy_var_4
	) `HappyStk` happyRest

happyReduce_62 = happySpecReduce_1  36 happyReduction_62
happyReduction_62 _
	 =  HappyAbsSyn36
		 (Language.EO.Phi.Syntax.Abs.Rho
	)

happyReduce_63 = happySpecReduce_1  36 happyReduction_63
happyReduction_63 (HappyAbsSyn20  happy_var_1)
	 =  HappyAbsSyn36
		 (Language.EO.Phi.Syntax.Abs.Label happy_var_1
	)
happyReduction_63 _  = notHappyAtAll 

happyReduce_64 = happySpecReduce_1  36 happyReduction_64
happyReduction_64 (HappyAbsSyn21  happy_var_1)
	 =  HappyAbsSyn36
		 (Language.EO.Phi.Syntax.Abs.Alpha happy_var_1
	)
happyReduction_64 _  = notHappyAtAll 

happyReduce_65 = happySpecReduce_1  36 happyReduction_65
happyReduction_65 (HappyAbsSyn22  happy_var_1)
	 =  HappyAbsSyn36
		 (Language.EO.Phi.Syntax.Abs.MetaAttr happy_var_1
	)
happyReduction_65 _  = notHappyAtAll 

happyReduce_66 = happyReduce 5 36 happyReduction_66
happyReduction_66 (_ `HappyStk`
	(HappyAbsSyn37  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn20  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn36
		 (Language.EO.Phi.Syntax.Abs.AttrSugar happy_var_2 happy_var_4
	) `HappyStk` happyRest

happyReduce_67 = happySpecReduce_0  37 happyReduction_67
happyReduction_67  =  HappyAbsSyn37
		 ([]
	)

happyReduce_68 = happySpecReduce_1  37 happyReduction_68
happyReduction_68 (HappyAbsSyn20  happy_var_1)
	 =  HappyAbsSyn37
		 ((:[]) happy_var_1
	)
happyReduction_68 _  = notHappyAtAll 

happyReduce_69 = happySpecReduce_3  37 happyReduction_69
happyReduction_69 (HappyAbsSyn37  happy_var_3)
	_
	(HappyAbsSyn20  happy_var_1)
	 =  HappyAbsSyn37
		 ((:) happy_var_1 happy_var_3
	)
happyReduction_69 _ _ _  = notHappyAtAll 

happyReduce_70 = happySpecReduce_1  38 happyReduction_70
happyReduction_70 (HappyAbsSyn36  happy_var_1)
	 =  HappyAbsSyn38
		 (Language.EO.Phi.Syntax.Abs.ObjectAttr happy_var_1
	)
happyReduction_70 _  = notHappyAtAll 

happyReduce_71 = happySpecReduce_1  38 happyReduction_71
happyReduction_71 _
	 =  HappyAbsSyn38
		 (Language.EO.Phi.Syntax.Abs.DeltaAttr
	)

happyReduce_72 = happySpecReduce_1  38 happyReduction_72
happyReduction_72 _
	 =  HappyAbsSyn38
		 (Language.EO.Phi.Syntax.Abs.LambdaAttr
	)

happyReduce_73 = happySpecReduce_2  39 happyReduction_73
happyReduction_73 (HappyAbsSyn42  happy_var_2)
	(HappyAbsSyn40  happy_var_1)
	 =  HappyAbsSyn39
		 (Language.EO.Phi.Syntax.Abs.PeeledObject happy_var_1 happy_var_2
	)
happyReduction_73 _ _  = notHappyAtAll 

happyReduce_74 = happySpecReduce_3  40 happyReduction_74
happyReduction_74 _
	(HappyAbsSyn35  happy_var_2)
	_
	 =  HappyAbsSyn40
		 (Language.EO.Phi.Syntax.Abs.HeadFormation happy_var_2
	)
happyReduction_74 _ _ _  = notHappyAtAll 

happyReduce_75 = happySpecReduce_1  40 happyReduction_75
happyReduction_75 _
	 =  HappyAbsSyn40
		 (Language.EO.Phi.Syntax.Abs.HeadGlobal
	)

happyReduce_76 = happySpecReduce_1  40 happyReduction_76
happyReduction_76 _
	 =  HappyAbsSyn40
		 (Language.EO.Phi.Syntax.Abs.HeadThis
	)

happyReduce_77 = happySpecReduce_1  40 happyReduction_77
happyReduction_77 _
	 =  HappyAbsSyn40
		 (Language.EO.Phi.Syntax.Abs.HeadTermination
	)

happyReduce_78 = happySpecReduce_3  41 happyReduction_78
happyReduction_78 _
	(HappyAbsSyn35  happy_var_2)
	_
	 =  HappyAbsSyn41
		 (Language.EO.Phi.Syntax.Abs.ActionApplication happy_var_2
	)
happyReduction_78 _ _ _  = notHappyAtAll 

happyReduce_79 = happySpecReduce_2  41 happyReduction_79
happyReduction_79 (HappyAbsSyn36  happy_var_2)
	_
	 =  HappyAbsSyn41
		 (Language.EO.Phi.Syntax.Abs.ActionDispatch happy_var_2
	)
happyReduction_79 _ _  = notHappyAtAll 

happyReduce_80 = happySpecReduce_0  42 happyReduction_80
happyReduction_80  =  HappyAbsSyn42
		 ([]
	)

happyReduce_81 = happySpecReduce_2  42 happyReduction_81
happyReduction_81 (HappyAbsSyn42  happy_var_2)
	(HappyAbsSyn41  happy_var_1)
	 =  HappyAbsSyn42
		 ((:) happy_var_1 happy_var_2
	)
happyReduction_81 _ _  = notHappyAtAll 

happyNewToken action sts stk [] =
	action 84 84 notHappyAtAll (HappyState action) sts stk []

happyNewToken action sts stk (tk:tks) =
	let cont i = action i i tk (HappyState action) sts stk tks in
	case tk of {
	PT _ (TS _ 1) -> cont 43;
	PT _ (TS _ 2) -> cont 44;
	PT _ (TS _ 3) -> cont 45;
	PT _ (TS _ 4) -> cont 46;
	PT _ (TS _ 5) -> cont 47;
	PT _ (TS _ 6) -> cont 48;
	PT _ (TS _ 7) -> cont 49;
	PT _ (TS _ 8) -> cont 50;
	PT _ (TS _ 9) -> cont 51;
	PT _ (TS _ 10) -> cont 52;
	PT _ (TS _ 11) -> cont 53;
	PT _ (TS _ 12) -> cont 54;
	PT _ (TS _ 13) -> cont 55;
	PT _ (TS _ 14) -> cont 56;
	PT _ (TS _ 15) -> cont 57;
	PT _ (TS _ 16) -> cont 58;
	PT _ (TS _ 17) -> cont 59;
	PT _ (TS _ 18) -> cont 60;
	PT _ (TS _ 19) -> cont 61;
	PT _ (TS _ 20) -> cont 62;
	PT _ (TS _ 21) -> cont 63;
	PT _ (TS _ 22) -> cont 64;
	PT _ (TS _ 23) -> cont 65;
	PT _ (TS _ 24) -> cont 66;
	PT _ (TS _ 25) -> cont 67;
	PT _ (TD happy_dollar_dollar) -> cont 68;
	PT _ (TI happy_dollar_dollar) -> cont 69;
	PT _ (TL happy_dollar_dollar) -> cont 70;
	PT _ (T_Bytes happy_dollar_dollar) -> cont 71;
	PT _ (T_Function happy_dollar_dollar) -> cont 72;
	PT _ (T_LabelId happy_dollar_dollar) -> cont 73;
	PT _ (T_AlphaIndex happy_dollar_dollar) -> cont 74;
	PT _ (T_LabelMetaId happy_dollar_dollar) -> cont 75;
	PT _ (T_TailMetaId happy_dollar_dollar) -> cont 76;
	PT _ (T_BindingsMetaId happy_dollar_dollar) -> cont 77;
	PT _ (T_ObjectMetaId happy_dollar_dollar) -> cont 78;
	PT _ (T_BytesMetaId happy_dollar_dollar) -> cont 79;
	PT _ (T_MetaFunctionName happy_dollar_dollar) -> cont 80;
	PT _ (T_IntegerSigned happy_dollar_dollar) -> cont 81;
	PT _ (T_DoubleSigned happy_dollar_dollar) -> cont 82;
	PT _ (T_StringRaw happy_dollar_dollar) -> cont 83;
	_ -> happyError' ((tk:tks), [])
	}

happyError_ explist 84 tk tks = happyError' (tks, explist)
happyError_ explist _ tk tks = happyError' ((tk:tks), explist)

happyThen :: () => Err a -> (a -> Err b) -> Err b
happyThen = ((>>=))
happyReturn :: () => a -> Err a
happyReturn = (return)
happyThen1 m k tks = ((>>=)) m (\a -> k a tks)
happyReturn1 :: () => a -> b -> Err a
happyReturn1 = \a tks -> (return) a
happyError' :: () => ([(Token)], [Prelude.String]) -> Err a
happyError' = (\(tokens, _) -> happyError tokens)
pProgram tks = happySomeParser where
 happySomeParser = happyThen (happyParse action_0 tks) (\x -> case x of {HappyAbsSyn31 z -> happyReturn z; _other -> notHappyAtAll })

pMetaId tks = happySomeParser where
 happySomeParser = happyThen (happyParse action_1 tks) (\x -> case x of {HappyAbsSyn32 z -> happyReturn z; _other -> notHappyAtAll })

pObject tks = happySomeParser where
 happySomeParser = happyThen (happyParse action_2 tks) (\x -> case x of {HappyAbsSyn33 z -> happyReturn z; _other -> notHappyAtAll })

pBinding tks = happySomeParser where
 happySomeParser = happyThen (happyParse action_3 tks) (\x -> case x of {HappyAbsSyn34 z -> happyReturn z; _other -> notHappyAtAll })

pListBinding tks = happySomeParser where
 happySomeParser = happyThen (happyParse action_4 tks) (\x -> case x of {HappyAbsSyn35 z -> happyReturn z; _other -> notHappyAtAll })

pAttribute tks = happySomeParser where
 happySomeParser = happyThen (happyParse action_5 tks) (\x -> case x of {HappyAbsSyn36 z -> happyReturn z; _other -> notHappyAtAll })

pListLabelId tks = happySomeParser where
 happySomeParser = happyThen (happyParse action_6 tks) (\x -> case x of {HappyAbsSyn37 z -> happyReturn z; _other -> notHappyAtAll })

pRuleAttribute tks = happySomeParser where
 happySomeParser = happyThen (happyParse action_7 tks) (\x -> case x of {HappyAbsSyn38 z -> happyReturn z; _other -> notHappyAtAll })

pPeeledObject tks = happySomeParser where
 happySomeParser = happyThen (happyParse action_8 tks) (\x -> case x of {HappyAbsSyn39 z -> happyReturn z; _other -> notHappyAtAll })

pObjectHead tks = happySomeParser where
 happySomeParser = happyThen (happyParse action_9 tks) (\x -> case x of {HappyAbsSyn40 z -> happyReturn z; _other -> notHappyAtAll })

pObjectAction tks = happySomeParser where
 happySomeParser = happyThen (happyParse action_10 tks) (\x -> case x of {HappyAbsSyn41 z -> happyReturn z; _other -> notHappyAtAll })

pListObjectAction tks = happySomeParser where
 happySomeParser = happyThen (happyParse action_11 tks) (\x -> case x of {HappyAbsSyn42 z -> happyReturn z; _other -> notHappyAtAll })

happySeq = happyDontSeq


type Err = Either String

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

myLexer :: String -> [Token]
myLexer = tokens
{-# LINE 1 "templates/GenericTemplate.hs" #-}
-- $Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp $










































data Happy_IntList = HappyCons Prelude.Int Happy_IntList








































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

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

happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll

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

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

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









































indexShortOffAddr arr off = arr Happy_Data_Array.! off


{-# INLINE happyLt #-}
happyLt x y = (x Prelude.< y)






readArrayBit arr bit =
    Bits.testBit (indexShortOffAddr arr (bit `Prelude.div` 16)) (bit `Prelude.mod` 16)






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



newtype HappyState b c = HappyState
        (Prelude.Int ->                    -- token number
         Prelude.Int ->                    -- token number (yes, again)
         b ->                           -- token semantic value
         HappyState b c ->              -- current state
         [HappyState b c] ->            -- state stack
         c)



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

happyShift new_state (1) tk st sts stk@(x `HappyStk` _) =
     let i = (case x of { HappyErrorToken (i) -> i }) in
--     trace "shifting the error token" $
     new_state i i tk (HappyState (new_state)) ((st):(sts)) (stk)

happyShift new_state i tk st sts stk =
     happyNewToken new_state ((st):(sts)) ((HappyTerminal (tk))`HappyStk`stk)

-- happyReduce is specialised for the common cases.

happySpecReduce_0 i fn (1) tk st sts stk
     = happyFail [] (1) tk st sts stk
happySpecReduce_0 nt fn j tk st@((HappyState (action))) sts stk
     = action nt j tk st ((st):(sts)) (fn `HappyStk` stk)

happySpecReduce_1 i fn (1) tk st sts stk
     = happyFail [] (1) tk st sts stk
happySpecReduce_1 nt fn j tk _ sts@(((st@(HappyState (action))):(_))) (v1`HappyStk`stk')
     = let r = fn v1 in
       happySeq r (action nt j tk st sts (r `HappyStk` stk'))

happySpecReduce_2 i fn (1) tk st sts stk
     = happyFail [] (1) tk st sts stk
happySpecReduce_2 nt fn j tk _ ((_):(sts@(((st@(HappyState (action))):(_))))) (v1`HappyStk`v2`HappyStk`stk')
     = let r = fn v1 v2 in
       happySeq r (action nt j tk st sts (r `HappyStk` stk'))

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

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

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

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





             _ = nt :: Prelude.Int
             new_state = action

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

happyDrop (0) l = l
happyDrop n ((_):(t)) = happyDrop (n Prelude.- ((1) :: Prelude.Int)) t

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

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









happyGoto action j tk st = action j j tk (HappyState action)


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

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

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

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

-- Enter error recovery: generate an error token,
--                       save the old token and carry on.
happyFail explist i tk (HappyState (action)) sts stk =
--      trace "entering error recovery" $
        action (1) (1) tk (HappyState (action)) sts ((HappyErrorToken (i)) `HappyStk` stk)

-- Internal happy errors:

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

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







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

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

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









{-# NOINLINE 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.