packages feed

fregel-1.2.0: compiler/Parser.hs

{-# OPTIONS_GHC -w #-}
{-# LANGUAGE FlexibleContexts,FlexibleInstances,MultiParamTypeClasses,FunctionalDependencies #-}
module Parser where
import Lexer hiding (main)
import Spec
import Spec0
import Convert0
import Control.Monad.State
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.19.11

data HappyAbsSyn 
	= HappyTerminal (Lexeme)
	| HappyErrorToken Int
	| HappyAbsSyn5 ([DProgramSpec0 Pos])
	| HappyAbsSyn6 (DProgramSpec0 Pos)
	| HappyAbsSyn7 ([ DRecordSpec Pos])
	| HappyAbsSyn8 (DRecordSpec Pos)
	| HappyAbsSyn9 ([(DField Pos, DType Pos)])
	| HappyAbsSyn10 ((DField Pos, DType Pos))
	| HappyAbsSyn11 (DField Pos)
	| HappyAbsSyn12 (DType Pos)
	| HappyAbsSyn13 ([DType Pos])
	| HappyAbsSyn14 (())
	| HappyAbsSyn16 (([DSmplDef0 Pos], DExpr0 Pos))
	| HappyAbsSyn17 ([DSmplDef0 Pos])
	| HappyAbsSyn18 (DSmplDef0 Pos)
	| HappyAbsSyn23 (DVar Pos)
	| HappyAbsSyn24 ([DVar Pos])
	| HappyAbsSyn26 (DExpr0 Pos)
	| HappyAbsSyn32 (String)
	| HappyAbsSyn36 ([DField Pos])
	| HappyAbsSyn37 (DTableExpr Pos)
	| HappyAbsSyn39 (DTermination0 Pos)
	| HappyAbsSyn42 ([DExpr0 Pos])
	| HappyAbsSyn44 (DGen Pos)
	| HappyAbsSyn45 (DAgg0 Pos)
	| HappyAbsSyn46 (DConstructor Pos)
	| HappyAbsSyn47 (DConst Pos)

{- 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 = 
	   Int 
	-> (Lexeme)
	-> HappyState (Lexeme) (HappyStk HappyAbsSyn -> [(Lexeme)] -> m HappyAbsSyn)
	-> [HappyState (Lexeme) (HappyStk HappyAbsSyn -> [(Lexeme)] -> m HappyAbsSyn)] 
	-> HappyStk HappyAbsSyn 
	-> [(Lexeme)] -> 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,
 action_133,
 action_134,
 action_135,
 action_136,
 action_137,
 action_138,
 action_139,
 action_140,
 action_141,
 action_142,
 action_143,
 action_144,
 action_145,
 action_146,
 action_147,
 action_148,
 action_149,
 action_150,
 action_151,
 action_152,
 action_153,
 action_154,
 action_155,
 action_156,
 action_157,
 action_158,
 action_159,
 action_160,
 action_161,
 action_162,
 action_163,
 action_164,
 action_165,
 action_166,
 action_167,
 action_168,
 action_169,
 action_170,
 action_171,
 action_172,
 action_173,
 action_174,
 action_175,
 action_176,
 action_177,
 action_178,
 action_179,
 action_180,
 action_181,
 action_182,
 action_183,
 action_184,
 action_185,
 action_186,
 action_187,
 action_188,
 action_189,
 action_190,
 action_191,
 action_192,
 action_193,
 action_194,
 action_195,
 action_196,
 action_197,
 action_198,
 action_199,
 action_200,
 action_201,
 action_202,
 action_203,
 action_204,
 action_205,
 action_206,
 action_207,
 action_208,
 action_209,
 action_210,
 action_211,
 action_212,
 action_213,
 action_214,
 action_215,
 action_216,
 action_217,
 action_218,
 action_219,
 action_220,
 action_221,
 action_222,
 action_223,
 action_224,
 action_225,
 action_226,
 action_227,
 action_228,
 action_229,
 action_230,
 action_231 :: () => Int -> ({-HappyReduction (CM) = -}
	   Int 
	-> (Lexeme)
	-> HappyState (Lexeme) (HappyStk HappyAbsSyn -> [(Lexeme)] -> (CM) HappyAbsSyn)
	-> [HappyState (Lexeme) (HappyStk HappyAbsSyn -> [(Lexeme)] -> (CM) HappyAbsSyn)] 
	-> HappyStk HappyAbsSyn 
	-> [(Lexeme)] -> (CM) HappyAbsSyn)

happyReduce_2,
 happyReduce_3,
 happyReduce_4,
 happyReduce_5,
 happyReduce_6,
 happyReduce_7,
 happyReduce_8,
 happyReduce_9,
 happyReduce_10,
 happyReduce_11,
 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,
 happyReduce_82,
 happyReduce_83,
 happyReduce_84,
 happyReduce_85,
 happyReduce_86,
 happyReduce_87,
 happyReduce_88,
 happyReduce_89,
 happyReduce_90,
 happyReduce_91,
 happyReduce_92,
 happyReduce_93,
 happyReduce_94,
 happyReduce_95,
 happyReduce_96,
 happyReduce_97,
 happyReduce_98,
 happyReduce_99,
 happyReduce_100,
 happyReduce_101,
 happyReduce_102,
 happyReduce_103,
 happyReduce_104,
 happyReduce_105,
 happyReduce_106,
 happyReduce_107,
 happyReduce_108,
 happyReduce_109,
 happyReduce_110,
 happyReduce_111,
 happyReduce_112,
 happyReduce_113,
 happyReduce_114 :: () => ({-HappyReduction (CM) = -}
	   Int 
	-> (Lexeme)
	-> HappyState (Lexeme) (HappyStk HappyAbsSyn -> [(Lexeme)] -> (CM) HappyAbsSyn)
	-> [HappyState (Lexeme) (HappyStk HappyAbsSyn -> [(Lexeme)] -> (CM) HappyAbsSyn)] 
	-> HappyStk HappyAbsSyn 
	-> [(Lexeme)] -> (CM) HappyAbsSyn)

happyExpList :: Happy_Data_Array.Array Int Int
happyExpList = Happy_Data_Array.listArray (0,847) ([0,0,0,0,0,0,0,0,0,0,65408,58371,0,33312,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32768,0,0,4100,0,0,0,0,0,64,63520,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,61440,15,0,0,0,0,0,0,896,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,0,0,0,0,0,4096,124,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,8188,1824,0,64529,0,0,0,0,0,0,0,2,0,0,0,0,0,0,16,0,0,0,0,0,0,128,0,0,0,0,0,0,1024,0,0,0,4094,896,32768,32264,0,0,0,0,0,0,0,1,0,0,0,0,0,0,8,0,0,0,0,0,0,64,0,0,57344,255,56,32768,2016,0,0,0,2047,456,16384,16132,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,0,0,0,0,0,0,0,0,0,0,512,16384,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,16384,0,1,0,0,0,0,0,0,0,512,0,0,0,0,0,0,4096,0,0,0,0,0,0,32768,0,0,0,0,0,0,0,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,31760,0,0,0,65504,14592,0,57480,7,0,0,0,0,0,0,16,0,0,63488,63,14,8192,504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,65408,57347,0,33312,31,0,0,64512,31,7,4352,252,0,0,57344,255,56,34816,2016,0,0,0,2047,448,16384,16132,0,0,0,16376,3584,0,63522,1,0,0,65472,28673,0,49424,15,0,0,65024,32783,3,2176,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8188,1792,0,64529,0,0,0,65504,14336,0,57480,7,0,0,0,0,0,1024,31,0,0,0,0,0,0,128,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,4096,0,4096,0,0,0,0,0,0,0,1,0,0,0,0,0,0,4,0,0,0,0,128,0,0,0,0,0,0,1024,32768,0,0,0,0,0,2048,0,0,0,0,0,0,512,0,0,0,0,0,0,0,2,0,2,0,0,65280,51719,1,1088,63,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4096,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3072,0,0,0,0,0,0,24576,0,0,0,0,0,0,0,3,0,0,0,0,0,0,24,0,0,0,0,0,0,192,0,0,0,0,0,0,1536,0,0,0,0,0,0,49152,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,2048,0,0,0,0,0,0,32768,0,0,0,0,0,512,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,512,0,0,0,64512,31,7,4352,252,0,0,57344,255,57,34816,2016,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,16384,32768,0,0,0,0,0,0,0,0,256,0,0,0,0,0,0,0,0,0,0,57344,1,0,16,0,0,0,0,0,0,0,2,0,0,0,0,0,1024,16,0,0,0,0,0,0,128,0,0,49152,511,112,4096,4033,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,512,8,0,0,0,0,0,0,0,0,0,57344,16639,57,34816,2016,0,0,0,0,64,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,4,0,0,0,0,32,0,0,0,0,0,0,0,0,256,0,0,0,0,0,0,0,0,0,0,8188,1832,0,64529,0,0,0,0,0,0,0,0,0,0,0,0,0,4096,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,32768,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32768,0,0,0,0,0,0,0,0,0,0,0,0,0,4096,0,0,0,61440,32895,28,17408,1008,0,0,0,0,0,0,2,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,65280,49159,1,1088,63,0,0,0,0,512,16384,0,0,0,49152,511,114,4096,4033,0,0,0,0,0,0,0,0,0,0,0,0,1024,0,0,0,0,0,0,0,1024,0,0,0,0,0,1024,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,128,0,1,0,0,0,0,128,0,256,0,0,32768,1023,228,8192,8066,0,0,0,0,0,0,16400,0,0,0,65504,14656,0,57480,7,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,4096,0,8,0,0,0,0,0,0,0,0,0,0,0,0,2,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,32768,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,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,0,0,0,0,0,4096,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,32768,15,0,0,64,2,0,0,0,0,0,0,8,0,0,0,1024,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8196,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,31,0,0,128,4,0,0,248,0,0,1024,32,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,4094,912,32768,32264,0,0,0,0,0,0,128,0,0,0,0,0,3,0,0,0,0,0,0,256,8192,0,0,0,0,0,2048,0,1,0,0,63488,0,0,0,8196,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,128,4096,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57344,3,0,0,32784,0,0,0,0,0,0,0,0,0,0,248,0,0,1024,32,0,0,0,0,0,0,0,0,0,0,0,0,0,1024,0,0,0,0,0,0,8192,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,1,0,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_fregelparser","%start_exprparser","programSpecs","programSpec","recordSpecs","recordSpec","fieldSpecs","fieldSpec","field","type","types","opt_deriving","deriving_constructors","exprWithSmplDefs","smplDefs","smplDef","defFun","defVar","defTuple","defVertComp","var","vars","csVars","expr","expr8","expr7","expr6","expr5","expr4","op4","expr3","op3","expr2","dhsFields","tableExpr","expr1","termination","predExpr","expr0","expr0s","csExprs","gen","agg","constructor","constVal","T_INT","T_BOOL","T_DOUBLE","T_STRING","T_PAIR","A_SUM","A_PROD","A_MINIMUM","A_MAXIMUM","A_OR","A_AND","A_RANDOM","G_FREGEL","G_GMAP","G_GZIP","G_GITER","TC_FIX","TC_ITER","TC_UNTIL","TC_WHILE","DATA","DERIVING","LET","IN","IF","THEN","ELSE","CURR","PREV","VAL","IS","RS","GOF","EQUAL","DBLCOLON","COMMA","SEMICOLON","BACKSLASH","RARROW","LARROW","DOTHAT","PIPE","DBLAND","DBLOR","EQ","NE","LT","LE","GT","GE","PLUS","MINUS","AST","SLASH","BACKQUOTE","LPAREN","RPAREN","LBRACE","RBRACE","LBRACKET","RBRACKET","BOOL","INT","FLOAT","STRING","IDENT","CONSTRUCTOR","%eof"]
        bit_start = st * 115
        bit_end = (st + 1) * 115
        read_bit = readArrayBit happyExpList
        bits = map read_bit [bit_start..bit_end - 1]
        bits_indexed = zip bits [0..114]
        token_strs_expected = concatMap f bits_indexed
        f (False, _) = []
        f (True, nr) = [token_strs !! nr]

action_0 (5) = happyGoto action_43
action_0 (6) = happyGoto action_3
action_0 (7) = happyGoto action_4
action_0 _ = happyReduce_5

action_1 (53) = happyShift action_20
action_1 (54) = happyShift action_21
action_1 (55) = happyShift action_22
action_1 (56) = happyShift action_23
action_1 (57) = happyShift action_24
action_1 (58) = happyShift action_25
action_1 (59) = happyShift action_26
action_1 (60) = happyShift action_27
action_1 (61) = happyShift action_28
action_1 (62) = happyShift action_29
action_1 (63) = happyShift action_30
action_1 (72) = happyShift action_31
action_1 (75) = happyShift action_32
action_1 (76) = happyShift action_33
action_1 (77) = happyShift action_34
action_1 (99) = happyShift action_35
action_1 (103) = happyShift action_36
action_1 (109) = happyShift action_37
action_1 (110) = happyShift action_38
action_1 (111) = happyShift action_39
action_1 (112) = happyShift action_40
action_1 (113) = happyShift action_41
action_1 (114) = happyShift action_42
action_1 (23) = happyGoto action_5
action_1 (26) = happyGoto action_6
action_1 (27) = happyGoto action_7
action_1 (28) = happyGoto action_8
action_1 (29) = happyGoto action_9
action_1 (30) = happyGoto action_10
action_1 (31) = happyGoto action_11
action_1 (33) = happyGoto action_12
action_1 (35) = happyGoto action_13
action_1 (37) = happyGoto action_14
action_1 (38) = happyGoto action_15
action_1 (41) = happyGoto action_16
action_1 (45) = happyGoto action_17
action_1 (46) = happyGoto action_18
action_1 (47) = happyGoto action_19
action_1 _ = happyFail (happyExpListPerState 1)

action_2 (6) = happyGoto action_3
action_2 (7) = happyGoto action_4
action_2 _ = happyFail (happyExpListPerState 2)

action_3 _ = happyReduce_2

action_4 (68) = happyShift action_85
action_4 (103) = happyShift action_86
action_4 (113) = happyShift action_41
action_4 (8) = happyGoto action_78
action_4 (18) = happyGoto action_79
action_4 (19) = happyGoto action_80
action_4 (20) = happyGoto action_81
action_4 (21) = happyGoto action_82
action_4 (22) = happyGoto action_83
action_4 (23) = happyGoto action_84
action_4 _ = happyFail (happyExpListPerState 4)

action_5 (88) = happyShift action_77
action_5 (103) = happyShift action_36
action_5 (109) = happyShift action_37
action_5 (110) = happyShift action_38
action_5 (111) = happyShift action_39
action_5 (112) = happyShift action_40
action_5 (113) = happyShift action_41
action_5 (23) = happyGoto action_56
action_5 (41) = happyGoto action_57
action_5 (42) = happyGoto action_76
action_5 (47) = happyGoto action_19
action_5 _ = happyReduce_92

action_6 (1) = happyAccept
action_6 _ = happyFail (happyExpListPerState 6)

action_7 _ = happyReduce_44

action_8 (91) = happyShift action_75
action_8 _ = happyReduce_46

action_9 (90) = happyShift action_74
action_9 _ = happyReduce_48

action_10 _ = happyReduce_50

action_11 (92) = happyShift action_66
action_11 (93) = happyShift action_67
action_11 (94) = happyShift action_68
action_11 (95) = happyShift action_69
action_11 (96) = happyShift action_70
action_11 (97) = happyShift action_71
action_11 (98) = happyShift action_72
action_11 (99) = happyShift action_73
action_11 (32) = happyGoto action_65
action_11 _ = happyReduce_57

action_12 (100) = happyShift action_62
action_12 (101) = happyShift action_63
action_12 (102) = happyShift action_64
action_12 (34) = happyGoto action_61
action_12 _ = happyReduce_60

action_13 _ = happyReduce_65

action_14 (88) = happyShift action_60
action_14 _ = happyReduce_69

action_15 _ = happyReduce_71

action_16 _ = happyReduce_80

action_17 (107) = happyShift action_59
action_17 _ = happyFail (happyExpListPerState 17)

action_18 (103) = happyShift action_36
action_18 (109) = happyShift action_37
action_18 (110) = happyShift action_38
action_18 (111) = happyShift action_39
action_18 (112) = happyShift action_40
action_18 (113) = happyShift action_41
action_18 (23) = happyGoto action_56
action_18 (41) = happyGoto action_57
action_18 (42) = happyGoto action_58
action_18 (47) = happyGoto action_19
action_18 _ = happyFail (happyExpListPerState 18)

action_19 _ = happyReduce_91

action_20 _ = happyReduce_105

action_21 _ = happyReduce_106

action_22 _ = happyReduce_103

action_23 _ = happyReduce_104

action_24 _ = happyReduce_108

action_25 _ = happyReduce_107

action_26 (53) = happyShift action_20
action_26 (54) = happyShift action_21
action_26 (55) = happyShift action_22
action_26 (56) = happyShift action_23
action_26 (57) = happyShift action_24
action_26 (58) = happyShift action_25
action_26 (59) = happyShift action_26
action_26 (60) = happyShift action_27
action_26 (61) = happyShift action_28
action_26 (62) = happyShift action_29
action_26 (63) = happyShift action_30
action_26 (72) = happyShift action_31
action_26 (75) = happyShift action_32
action_26 (76) = happyShift action_33
action_26 (77) = happyShift action_34
action_26 (99) = happyShift action_35
action_26 (103) = happyShift action_36
action_26 (109) = happyShift action_37
action_26 (110) = happyShift action_38
action_26 (111) = happyShift action_39
action_26 (112) = happyShift action_40
action_26 (113) = happyShift action_41
action_26 (114) = happyShift action_42
action_26 (23) = happyGoto action_5
action_26 (26) = happyGoto action_55
action_26 (27) = happyGoto action_7
action_26 (28) = happyGoto action_8
action_26 (29) = happyGoto action_9
action_26 (30) = happyGoto action_10
action_26 (31) = happyGoto action_11
action_26 (33) = happyGoto action_12
action_26 (35) = happyGoto action_13
action_26 (37) = happyGoto action_14
action_26 (38) = happyGoto action_15
action_26 (41) = happyGoto action_16
action_26 (45) = happyGoto action_17
action_26 (46) = happyGoto action_18
action_26 (47) = happyGoto action_19
action_26 _ = happyFail (happyExpListPerState 26)

action_27 (113) = happyShift action_41
action_27 (23) = happyGoto action_54
action_27 _ = happyFail (happyExpListPerState 27)

action_28 (113) = happyShift action_41
action_28 (23) = happyGoto action_53
action_28 _ = happyFail (happyExpListPerState 28)

action_29 (113) = happyShift action_41
action_29 (23) = happyGoto action_52
action_29 _ = happyFail (happyExpListPerState 29)

action_30 (113) = happyShift action_41
action_30 (23) = happyGoto action_51
action_30 _ = happyFail (happyExpListPerState 30)

action_31 (53) = happyShift action_20
action_31 (54) = happyShift action_21
action_31 (55) = happyShift action_22
action_31 (56) = happyShift action_23
action_31 (57) = happyShift action_24
action_31 (58) = happyShift action_25
action_31 (59) = happyShift action_26
action_31 (60) = happyShift action_27
action_31 (61) = happyShift action_28
action_31 (62) = happyShift action_29
action_31 (63) = happyShift action_30
action_31 (75) = happyShift action_32
action_31 (76) = happyShift action_33
action_31 (77) = happyShift action_34
action_31 (99) = happyShift action_35
action_31 (103) = happyShift action_36
action_31 (109) = happyShift action_37
action_31 (110) = happyShift action_38
action_31 (111) = happyShift action_39
action_31 (112) = happyShift action_40
action_31 (113) = happyShift action_41
action_31 (114) = happyShift action_42
action_31 (23) = happyGoto action_5
action_31 (28) = happyGoto action_50
action_31 (29) = happyGoto action_9
action_31 (30) = happyGoto action_10
action_31 (31) = happyGoto action_11
action_31 (33) = happyGoto action_12
action_31 (35) = happyGoto action_13
action_31 (37) = happyGoto action_14
action_31 (38) = happyGoto action_15
action_31 (41) = happyGoto action_16
action_31 (45) = happyGoto action_17
action_31 (46) = happyGoto action_18
action_31 (47) = happyGoto action_19
action_31 _ = happyFail (happyExpListPerState 31)

action_32 (113) = happyShift action_41
action_32 (23) = happyGoto action_49
action_32 _ = happyFail (happyExpListPerState 32)

action_33 (113) = happyShift action_41
action_33 (23) = happyGoto action_48
action_33 _ = happyFail (happyExpListPerState 33)

action_34 (113) = happyShift action_41
action_34 (23) = happyGoto action_47
action_34 _ = happyFail (happyExpListPerState 34)

action_35 (53) = happyShift action_20
action_35 (54) = happyShift action_21
action_35 (55) = happyShift action_22
action_35 (56) = happyShift action_23
action_35 (57) = happyShift action_24
action_35 (58) = happyShift action_25
action_35 (59) = happyShift action_26
action_35 (60) = happyShift action_27
action_35 (61) = happyShift action_28
action_35 (62) = happyShift action_29
action_35 (63) = happyShift action_30
action_35 (75) = happyShift action_32
action_35 (76) = happyShift action_33
action_35 (77) = happyShift action_34
action_35 (103) = happyShift action_36
action_35 (109) = happyShift action_37
action_35 (110) = happyShift action_38
action_35 (111) = happyShift action_39
action_35 (112) = happyShift action_40
action_35 (113) = happyShift action_41
action_35 (114) = happyShift action_42
action_35 (23) = happyGoto action_5
action_35 (35) = happyGoto action_46
action_35 (37) = happyGoto action_14
action_35 (38) = happyGoto action_15
action_35 (41) = happyGoto action_16
action_35 (45) = happyGoto action_17
action_35 (46) = happyGoto action_18
action_35 (47) = happyGoto action_19
action_35 _ = happyFail (happyExpListPerState 35)

action_36 (53) = happyShift action_20
action_36 (54) = happyShift action_21
action_36 (55) = happyShift action_22
action_36 (56) = happyShift action_23
action_36 (57) = happyShift action_24
action_36 (58) = happyShift action_25
action_36 (59) = happyShift action_26
action_36 (60) = happyShift action_27
action_36 (61) = happyShift action_28
action_36 (62) = happyShift action_29
action_36 (63) = happyShift action_30
action_36 (72) = happyShift action_31
action_36 (75) = happyShift action_32
action_36 (76) = happyShift action_33
action_36 (77) = happyShift action_34
action_36 (99) = happyShift action_35
action_36 (103) = happyShift action_36
action_36 (109) = happyShift action_37
action_36 (110) = happyShift action_38
action_36 (111) = happyShift action_39
action_36 (112) = happyShift action_40
action_36 (113) = happyShift action_41
action_36 (114) = happyShift action_42
action_36 (23) = happyGoto action_5
action_36 (26) = happyGoto action_45
action_36 (27) = happyGoto action_7
action_36 (28) = happyGoto action_8
action_36 (29) = happyGoto action_9
action_36 (30) = happyGoto action_10
action_36 (31) = happyGoto action_11
action_36 (33) = happyGoto action_12
action_36 (35) = happyGoto action_13
action_36 (37) = happyGoto action_14
action_36 (38) = happyGoto action_15
action_36 (41) = happyGoto action_16
action_36 (45) = happyGoto action_17
action_36 (46) = happyGoto action_18
action_36 (47) = happyGoto action_19
action_36 _ = happyFail (happyExpListPerState 36)

action_37 _ = happyReduce_113

action_38 _ = happyReduce_111

action_39 _ = happyReduce_112

action_40 _ = happyReduce_114

action_41 _ = happyReduce_39

action_42 _ = happyReduce_110

action_43 (84) = happyShift action_44
action_43 (115) = happyAccept
action_43 _ = happyFail (happyExpListPerState 43)

action_44 (6) = happyGoto action_117
action_44 (7) = happyGoto action_4
action_44 _ = happyReduce_5

action_45 (83) = happyShift action_115
action_45 (104) = happyShift action_116
action_45 _ = happyFail (happyExpListPerState 45)

action_46 _ = happyReduce_64

action_47 _ = happyReduce_76

action_48 _ = happyReduce_75

action_49 _ = happyReduce_74

action_50 (73) = happyShift action_114
action_50 (91) = happyShift action_75
action_50 _ = happyFail (happyExpListPerState 50)

action_51 (113) = happyShift action_41
action_51 (23) = happyGoto action_113
action_51 _ = happyFail (happyExpListPerState 51)

action_52 (113) = happyShift action_41
action_52 (23) = happyGoto action_112
action_52 _ = happyFail (happyExpListPerState 52)

action_53 (113) = happyShift action_41
action_53 (23) = happyGoto action_111
action_53 _ = happyFail (happyExpListPerState 53)

action_54 (113) = happyShift action_41
action_54 (23) = happyGoto action_110
action_54 _ = happyFail (happyExpListPerState 54)

action_55 _ = happyReduce_109

action_56 _ = happyReduce_92

action_57 _ = happyReduce_95

action_58 (103) = happyShift action_36
action_58 (109) = happyShift action_37
action_58 (110) = happyShift action_38
action_58 (111) = happyShift action_39
action_58 (112) = happyShift action_40
action_58 (113) = happyShift action_41
action_58 (23) = happyGoto action_56
action_58 (41) = happyGoto action_96
action_58 (47) = happyGoto action_19
action_58 _ = happyReduce_78

action_59 (53) = happyShift action_20
action_59 (54) = happyShift action_21
action_59 (55) = happyShift action_22
action_59 (56) = happyShift action_23
action_59 (57) = happyShift action_24
action_59 (58) = happyShift action_25
action_59 (59) = happyShift action_26
action_59 (60) = happyShift action_27
action_59 (61) = happyShift action_28
action_59 (62) = happyShift action_29
action_59 (63) = happyShift action_30
action_59 (72) = happyShift action_31
action_59 (75) = happyShift action_32
action_59 (76) = happyShift action_33
action_59 (77) = happyShift action_34
action_59 (99) = happyShift action_35
action_59 (103) = happyShift action_36
action_59 (109) = happyShift action_37
action_59 (110) = happyShift action_38
action_59 (111) = happyShift action_39
action_59 (112) = happyShift action_40
action_59 (113) = happyShift action_41
action_59 (114) = happyShift action_42
action_59 (23) = happyGoto action_5
action_59 (26) = happyGoto action_109
action_59 (27) = happyGoto action_7
action_59 (28) = happyGoto action_8
action_59 (29) = happyGoto action_9
action_59 (30) = happyGoto action_10
action_59 (31) = happyGoto action_11
action_59 (33) = happyGoto action_12
action_59 (35) = happyGoto action_13
action_59 (37) = happyGoto action_14
action_59 (38) = happyGoto action_15
action_59 (41) = happyGoto action_16
action_59 (45) = happyGoto action_17
action_59 (46) = happyGoto action_18
action_59 (47) = happyGoto action_19
action_59 _ = happyFail (happyExpListPerState 59)

action_60 (113) = happyShift action_95
action_60 (11) = happyGoto action_93
action_60 (36) = happyGoto action_108
action_60 _ = happyFail (happyExpListPerState 60)

action_61 (53) = happyShift action_20
action_61 (54) = happyShift action_21
action_61 (55) = happyShift action_22
action_61 (56) = happyShift action_23
action_61 (57) = happyShift action_24
action_61 (58) = happyShift action_25
action_61 (59) = happyShift action_26
action_61 (60) = happyShift action_27
action_61 (61) = happyShift action_28
action_61 (62) = happyShift action_29
action_61 (63) = happyShift action_30
action_61 (75) = happyShift action_32
action_61 (76) = happyShift action_33
action_61 (77) = happyShift action_34
action_61 (103) = happyShift action_36
action_61 (109) = happyShift action_37
action_61 (110) = happyShift action_38
action_61 (111) = happyShift action_39
action_61 (112) = happyShift action_40
action_61 (113) = happyShift action_41
action_61 (114) = happyShift action_42
action_61 (23) = happyGoto action_5
action_61 (35) = happyGoto action_107
action_61 (37) = happyGoto action_14
action_61 (38) = happyGoto action_15
action_61 (41) = happyGoto action_16
action_61 (45) = happyGoto action_17
action_61 (46) = happyGoto action_18
action_61 (47) = happyGoto action_19
action_61 _ = happyFail (happyExpListPerState 61)

action_62 _ = happyReduce_66

action_63 _ = happyReduce_67

action_64 (113) = happyShift action_41
action_64 (23) = happyGoto action_106
action_64 _ = happyFail (happyExpListPerState 64)

action_65 (53) = happyShift action_20
action_65 (54) = happyShift action_21
action_65 (55) = happyShift action_22
action_65 (56) = happyShift action_23
action_65 (57) = happyShift action_24
action_65 (58) = happyShift action_25
action_65 (59) = happyShift action_26
action_65 (60) = happyShift action_27
action_65 (61) = happyShift action_28
action_65 (62) = happyShift action_29
action_65 (63) = happyShift action_30
action_65 (75) = happyShift action_32
action_65 (76) = happyShift action_33
action_65 (77) = happyShift action_34
action_65 (99) = happyShift action_35
action_65 (103) = happyShift action_36
action_65 (109) = happyShift action_37
action_65 (110) = happyShift action_38
action_65 (111) = happyShift action_39
action_65 (112) = happyShift action_40
action_65 (113) = happyShift action_41
action_65 (114) = happyShift action_42
action_65 (23) = happyGoto action_5
action_65 (33) = happyGoto action_105
action_65 (35) = happyGoto action_13
action_65 (37) = happyGoto action_14
action_65 (38) = happyGoto action_15
action_65 (41) = happyGoto action_16
action_65 (45) = happyGoto action_17
action_65 (46) = happyGoto action_18
action_65 (47) = happyGoto action_19
action_65 _ = happyFail (happyExpListPerState 65)

action_66 (53) = happyShift action_20
action_66 (54) = happyShift action_21
action_66 (55) = happyShift action_22
action_66 (56) = happyShift action_23
action_66 (57) = happyShift action_24
action_66 (58) = happyShift action_25
action_66 (59) = happyShift action_26
action_66 (60) = happyShift action_27
action_66 (61) = happyShift action_28
action_66 (62) = happyShift action_29
action_66 (63) = happyShift action_30
action_66 (75) = happyShift action_32
action_66 (76) = happyShift action_33
action_66 (77) = happyShift action_34
action_66 (99) = happyShift action_35
action_66 (103) = happyShift action_36
action_66 (109) = happyShift action_37
action_66 (110) = happyShift action_38
action_66 (111) = happyShift action_39
action_66 (112) = happyShift action_40
action_66 (113) = happyShift action_41
action_66 (114) = happyShift action_42
action_66 (23) = happyGoto action_5
action_66 (31) = happyGoto action_104
action_66 (33) = happyGoto action_12
action_66 (35) = happyGoto action_13
action_66 (37) = happyGoto action_14
action_66 (38) = happyGoto action_15
action_66 (41) = happyGoto action_16
action_66 (45) = happyGoto action_17
action_66 (46) = happyGoto action_18
action_66 (47) = happyGoto action_19
action_66 _ = happyFail (happyExpListPerState 66)

action_67 (53) = happyShift action_20
action_67 (54) = happyShift action_21
action_67 (55) = happyShift action_22
action_67 (56) = happyShift action_23
action_67 (57) = happyShift action_24
action_67 (58) = happyShift action_25
action_67 (59) = happyShift action_26
action_67 (60) = happyShift action_27
action_67 (61) = happyShift action_28
action_67 (62) = happyShift action_29
action_67 (63) = happyShift action_30
action_67 (75) = happyShift action_32
action_67 (76) = happyShift action_33
action_67 (77) = happyShift action_34
action_67 (99) = happyShift action_35
action_67 (103) = happyShift action_36
action_67 (109) = happyShift action_37
action_67 (110) = happyShift action_38
action_67 (111) = happyShift action_39
action_67 (112) = happyShift action_40
action_67 (113) = happyShift action_41
action_67 (114) = happyShift action_42
action_67 (23) = happyGoto action_5
action_67 (31) = happyGoto action_103
action_67 (33) = happyGoto action_12
action_67 (35) = happyGoto action_13
action_67 (37) = happyGoto action_14
action_67 (38) = happyGoto action_15
action_67 (41) = happyGoto action_16
action_67 (45) = happyGoto action_17
action_67 (46) = happyGoto action_18
action_67 (47) = happyGoto action_19
action_67 _ = happyFail (happyExpListPerState 67)

action_68 (53) = happyShift action_20
action_68 (54) = happyShift action_21
action_68 (55) = happyShift action_22
action_68 (56) = happyShift action_23
action_68 (57) = happyShift action_24
action_68 (58) = happyShift action_25
action_68 (59) = happyShift action_26
action_68 (60) = happyShift action_27
action_68 (61) = happyShift action_28
action_68 (62) = happyShift action_29
action_68 (63) = happyShift action_30
action_68 (75) = happyShift action_32
action_68 (76) = happyShift action_33
action_68 (77) = happyShift action_34
action_68 (99) = happyShift action_35
action_68 (103) = happyShift action_36
action_68 (109) = happyShift action_37
action_68 (110) = happyShift action_38
action_68 (111) = happyShift action_39
action_68 (112) = happyShift action_40
action_68 (113) = happyShift action_41
action_68 (114) = happyShift action_42
action_68 (23) = happyGoto action_5
action_68 (31) = happyGoto action_102
action_68 (33) = happyGoto action_12
action_68 (35) = happyGoto action_13
action_68 (37) = happyGoto action_14
action_68 (38) = happyGoto action_15
action_68 (41) = happyGoto action_16
action_68 (45) = happyGoto action_17
action_68 (46) = happyGoto action_18
action_68 (47) = happyGoto action_19
action_68 _ = happyFail (happyExpListPerState 68)

action_69 (53) = happyShift action_20
action_69 (54) = happyShift action_21
action_69 (55) = happyShift action_22
action_69 (56) = happyShift action_23
action_69 (57) = happyShift action_24
action_69 (58) = happyShift action_25
action_69 (59) = happyShift action_26
action_69 (60) = happyShift action_27
action_69 (61) = happyShift action_28
action_69 (62) = happyShift action_29
action_69 (63) = happyShift action_30
action_69 (75) = happyShift action_32
action_69 (76) = happyShift action_33
action_69 (77) = happyShift action_34
action_69 (99) = happyShift action_35
action_69 (103) = happyShift action_36
action_69 (109) = happyShift action_37
action_69 (110) = happyShift action_38
action_69 (111) = happyShift action_39
action_69 (112) = happyShift action_40
action_69 (113) = happyShift action_41
action_69 (114) = happyShift action_42
action_69 (23) = happyGoto action_5
action_69 (31) = happyGoto action_101
action_69 (33) = happyGoto action_12
action_69 (35) = happyGoto action_13
action_69 (37) = happyGoto action_14
action_69 (38) = happyGoto action_15
action_69 (41) = happyGoto action_16
action_69 (45) = happyGoto action_17
action_69 (46) = happyGoto action_18
action_69 (47) = happyGoto action_19
action_69 _ = happyFail (happyExpListPerState 69)

action_70 (53) = happyShift action_20
action_70 (54) = happyShift action_21
action_70 (55) = happyShift action_22
action_70 (56) = happyShift action_23
action_70 (57) = happyShift action_24
action_70 (58) = happyShift action_25
action_70 (59) = happyShift action_26
action_70 (60) = happyShift action_27
action_70 (61) = happyShift action_28
action_70 (62) = happyShift action_29
action_70 (63) = happyShift action_30
action_70 (75) = happyShift action_32
action_70 (76) = happyShift action_33
action_70 (77) = happyShift action_34
action_70 (99) = happyShift action_35
action_70 (103) = happyShift action_36
action_70 (109) = happyShift action_37
action_70 (110) = happyShift action_38
action_70 (111) = happyShift action_39
action_70 (112) = happyShift action_40
action_70 (113) = happyShift action_41
action_70 (114) = happyShift action_42
action_70 (23) = happyGoto action_5
action_70 (31) = happyGoto action_100
action_70 (33) = happyGoto action_12
action_70 (35) = happyGoto action_13
action_70 (37) = happyGoto action_14
action_70 (38) = happyGoto action_15
action_70 (41) = happyGoto action_16
action_70 (45) = happyGoto action_17
action_70 (46) = happyGoto action_18
action_70 (47) = happyGoto action_19
action_70 _ = happyFail (happyExpListPerState 70)

action_71 (53) = happyShift action_20
action_71 (54) = happyShift action_21
action_71 (55) = happyShift action_22
action_71 (56) = happyShift action_23
action_71 (57) = happyShift action_24
action_71 (58) = happyShift action_25
action_71 (59) = happyShift action_26
action_71 (60) = happyShift action_27
action_71 (61) = happyShift action_28
action_71 (62) = happyShift action_29
action_71 (63) = happyShift action_30
action_71 (75) = happyShift action_32
action_71 (76) = happyShift action_33
action_71 (77) = happyShift action_34
action_71 (99) = happyShift action_35
action_71 (103) = happyShift action_36
action_71 (109) = happyShift action_37
action_71 (110) = happyShift action_38
action_71 (111) = happyShift action_39
action_71 (112) = happyShift action_40
action_71 (113) = happyShift action_41
action_71 (114) = happyShift action_42
action_71 (23) = happyGoto action_5
action_71 (31) = happyGoto action_99
action_71 (33) = happyGoto action_12
action_71 (35) = happyGoto action_13
action_71 (37) = happyGoto action_14
action_71 (38) = happyGoto action_15
action_71 (41) = happyGoto action_16
action_71 (45) = happyGoto action_17
action_71 (46) = happyGoto action_18
action_71 (47) = happyGoto action_19
action_71 _ = happyFail (happyExpListPerState 71)

action_72 _ = happyReduce_61

action_73 _ = happyReduce_62

action_74 (53) = happyShift action_20
action_74 (54) = happyShift action_21
action_74 (55) = happyShift action_22
action_74 (56) = happyShift action_23
action_74 (57) = happyShift action_24
action_74 (58) = happyShift action_25
action_74 (59) = happyShift action_26
action_74 (60) = happyShift action_27
action_74 (61) = happyShift action_28
action_74 (62) = happyShift action_29
action_74 (63) = happyShift action_30
action_74 (75) = happyShift action_32
action_74 (76) = happyShift action_33
action_74 (77) = happyShift action_34
action_74 (99) = happyShift action_35
action_74 (103) = happyShift action_36
action_74 (109) = happyShift action_37
action_74 (110) = happyShift action_38
action_74 (111) = happyShift action_39
action_74 (112) = happyShift action_40
action_74 (113) = happyShift action_41
action_74 (114) = happyShift action_42
action_74 (23) = happyGoto action_5
action_74 (30) = happyGoto action_98
action_74 (31) = happyGoto action_11
action_74 (33) = happyGoto action_12
action_74 (35) = happyGoto action_13
action_74 (37) = happyGoto action_14
action_74 (38) = happyGoto action_15
action_74 (41) = happyGoto action_16
action_74 (45) = happyGoto action_17
action_74 (46) = happyGoto action_18
action_74 (47) = happyGoto action_19
action_74 _ = happyFail (happyExpListPerState 74)

action_75 (53) = happyShift action_20
action_75 (54) = happyShift action_21
action_75 (55) = happyShift action_22
action_75 (56) = happyShift action_23
action_75 (57) = happyShift action_24
action_75 (58) = happyShift action_25
action_75 (59) = happyShift action_26
action_75 (60) = happyShift action_27
action_75 (61) = happyShift action_28
action_75 (62) = happyShift action_29
action_75 (63) = happyShift action_30
action_75 (75) = happyShift action_32
action_75 (76) = happyShift action_33
action_75 (77) = happyShift action_34
action_75 (99) = happyShift action_35
action_75 (103) = happyShift action_36
action_75 (109) = happyShift action_37
action_75 (110) = happyShift action_38
action_75 (111) = happyShift action_39
action_75 (112) = happyShift action_40
action_75 (113) = happyShift action_41
action_75 (114) = happyShift action_42
action_75 (23) = happyGoto action_5
action_75 (29) = happyGoto action_97
action_75 (30) = happyGoto action_10
action_75 (31) = happyGoto action_11
action_75 (33) = happyGoto action_12
action_75 (35) = happyGoto action_13
action_75 (37) = happyGoto action_14
action_75 (38) = happyGoto action_15
action_75 (41) = happyGoto action_16
action_75 (45) = happyGoto action_17
action_75 (46) = happyGoto action_18
action_75 (47) = happyGoto action_19
action_75 _ = happyFail (happyExpListPerState 75)

action_76 (103) = happyShift action_36
action_76 (109) = happyShift action_37
action_76 (110) = happyShift action_38
action_76 (111) = happyShift action_39
action_76 (112) = happyShift action_40
action_76 (113) = happyShift action_41
action_76 (23) = happyGoto action_56
action_76 (41) = happyGoto action_96
action_76 (47) = happyGoto action_19
action_76 _ = happyReduce_77

action_77 (113) = happyShift action_95
action_77 (11) = happyGoto action_93
action_77 (36) = happyGoto action_94
action_77 _ = happyFail (happyExpListPerState 77)

action_78 _ = happyReduce_6

action_79 _ = happyReduce_4

action_80 _ = happyReduce_31

action_81 _ = happyReduce_32

action_82 _ = happyReduce_33

action_83 _ = happyReduce_34

action_84 (81) = happyShift action_92
action_84 (113) = happyShift action_41
action_84 (23) = happyGoto action_90
action_84 (24) = happyGoto action_91
action_84 _ = happyFail (happyExpListPerState 84)

action_85 (114) = happyShift action_42
action_85 (46) = happyGoto action_89
action_85 _ = happyFail (happyExpListPerState 85)

action_86 (113) = happyShift action_41
action_86 (23) = happyGoto action_87
action_86 (25) = happyGoto action_88
action_86 _ = happyFail (happyExpListPerState 86)

action_87 (83) = happyShift action_136
action_87 _ = happyFail (happyExpListPerState 87)

action_88 (83) = happyShift action_134
action_88 (104) = happyShift action_135
action_88 _ = happyFail (happyExpListPerState 88)

action_89 (81) = happyShift action_133
action_89 _ = happyFail (happyExpListPerState 89)

action_90 (76) = happyShift action_132
action_90 _ = happyReduce_40

action_91 (81) = happyShift action_131
action_91 (113) = happyShift action_41
action_91 (23) = happyGoto action_130
action_91 _ = happyFail (happyExpListPerState 91)

action_92 (53) = happyShift action_20
action_92 (54) = happyShift action_21
action_92 (55) = happyShift action_22
action_92 (56) = happyShift action_23
action_92 (57) = happyShift action_24
action_92 (58) = happyShift action_25
action_92 (59) = happyShift action_26
action_92 (60) = happyShift action_27
action_92 (61) = happyShift action_28
action_92 (62) = happyShift action_29
action_92 (63) = happyShift action_30
action_92 (70) = happyShift action_129
action_92 (72) = happyShift action_31
action_92 (75) = happyShift action_32
action_92 (76) = happyShift action_33
action_92 (77) = happyShift action_34
action_92 (99) = happyShift action_35
action_92 (103) = happyShift action_36
action_92 (109) = happyShift action_37
action_92 (110) = happyShift action_38
action_92 (111) = happyShift action_39
action_92 (112) = happyShift action_40
action_92 (113) = happyShift action_41
action_92 (114) = happyShift action_42
action_92 (16) = happyGoto action_127
action_92 (23) = happyGoto action_5
action_92 (26) = happyGoto action_128
action_92 (27) = happyGoto action_7
action_92 (28) = happyGoto action_8
action_92 (29) = happyGoto action_9
action_92 (30) = happyGoto action_10
action_92 (31) = happyGoto action_11
action_92 (33) = happyGoto action_12
action_92 (35) = happyGoto action_13
action_92 (37) = happyGoto action_14
action_92 (38) = happyGoto action_15
action_92 (41) = happyGoto action_16
action_92 (45) = happyGoto action_17
action_92 (46) = happyGoto action_18
action_92 (47) = happyGoto action_19
action_92 _ = happyFail (happyExpListPerState 92)

action_93 _ = happyReduce_72

action_94 (88) = happyShift action_125
action_94 _ = happyReduce_70

action_95 _ = happyReduce_11

action_96 _ = happyReduce_96

action_97 (90) = happyShift action_74
action_97 _ = happyReduce_47

action_98 _ = happyReduce_49

action_99 (98) = happyShift action_72
action_99 (99) = happyShift action_73
action_99 (32) = happyGoto action_65
action_99 _ = happyReduce_52

action_100 (98) = happyShift action_72
action_100 (99) = happyShift action_73
action_100 (32) = happyGoto action_65
action_100 _ = happyReduce_55

action_101 (98) = happyShift action_72
action_101 (99) = happyShift action_73
action_101 (32) = happyGoto action_65
action_101 _ = happyReduce_51

action_102 (98) = happyShift action_72
action_102 (99) = happyShift action_73
action_102 (32) = happyGoto action_65
action_102 _ = happyReduce_56

action_103 (98) = happyShift action_72
action_103 (99) = happyShift action_73
action_103 (32) = happyGoto action_65
action_103 _ = happyReduce_54

action_104 (98) = happyShift action_72
action_104 (99) = happyShift action_73
action_104 (32) = happyGoto action_65
action_104 _ = happyReduce_53

action_105 (100) = happyShift action_62
action_105 (101) = happyShift action_63
action_105 (34) = happyGoto action_61
action_105 _ = happyReduce_59

action_106 (102) = happyShift action_126
action_106 _ = happyFail (happyExpListPerState 106)

action_107 _ = happyReduce_63

action_108 (88) = happyShift action_125
action_108 _ = happyReduce_68

action_109 (89) = happyShift action_124
action_109 _ = happyFail (happyExpListPerState 109)

action_110 (64) = happyShift action_121
action_110 (103) = happyShift action_122
action_110 (39) = happyGoto action_123
action_110 _ = happyFail (happyExpListPerState 110)

action_111 _ = happyReduce_82

action_112 _ = happyReduce_83

action_113 (64) = happyShift action_121
action_113 (103) = happyShift action_122
action_113 (39) = happyGoto action_120
action_113 _ = happyFail (happyExpListPerState 113)

action_114 (53) = happyShift action_20
action_114 (54) = happyShift action_21
action_114 (55) = happyShift action_22
action_114 (56) = happyShift action_23
action_114 (57) = happyShift action_24
action_114 (58) = happyShift action_25
action_114 (59) = happyShift action_26
action_114 (60) = happyShift action_27
action_114 (61) = happyShift action_28
action_114 (62) = happyShift action_29
action_114 (63) = happyShift action_30
action_114 (75) = happyShift action_32
action_114 (76) = happyShift action_33
action_114 (77) = happyShift action_34
action_114 (99) = happyShift action_35
action_114 (103) = happyShift action_36
action_114 (109) = happyShift action_37
action_114 (110) = happyShift action_38
action_114 (111) = happyShift action_39
action_114 (112) = happyShift action_40
action_114 (113) = happyShift action_41
action_114 (114) = happyShift action_42
action_114 (23) = happyGoto action_5
action_114 (28) = happyGoto action_119
action_114 (29) = happyGoto action_9
action_114 (30) = happyGoto action_10
action_114 (31) = happyGoto action_11
action_114 (33) = happyGoto action_12
action_114 (35) = happyGoto action_13
action_114 (37) = happyGoto action_14
action_114 (38) = happyGoto action_15
action_114 (41) = happyGoto action_16
action_114 (45) = happyGoto action_17
action_114 (46) = happyGoto action_18
action_114 (47) = happyGoto action_19
action_114 _ = happyFail (happyExpListPerState 114)

action_115 (53) = happyShift action_20
action_115 (54) = happyShift action_21
action_115 (55) = happyShift action_22
action_115 (56) = happyShift action_23
action_115 (57) = happyShift action_24
action_115 (58) = happyShift action_25
action_115 (59) = happyShift action_26
action_115 (60) = happyShift action_27
action_115 (61) = happyShift action_28
action_115 (62) = happyShift action_29
action_115 (63) = happyShift action_30
action_115 (72) = happyShift action_31
action_115 (75) = happyShift action_32
action_115 (76) = happyShift action_33
action_115 (77) = happyShift action_34
action_115 (99) = happyShift action_35
action_115 (103) = happyShift action_36
action_115 (109) = happyShift action_37
action_115 (110) = happyShift action_38
action_115 (111) = happyShift action_39
action_115 (112) = happyShift action_40
action_115 (113) = happyShift action_41
action_115 (114) = happyShift action_42
action_115 (23) = happyGoto action_5
action_115 (26) = happyGoto action_118
action_115 (27) = happyGoto action_7
action_115 (28) = happyGoto action_8
action_115 (29) = happyGoto action_9
action_115 (30) = happyGoto action_10
action_115 (31) = happyGoto action_11
action_115 (33) = happyGoto action_12
action_115 (35) = happyGoto action_13
action_115 (37) = happyGoto action_14
action_115 (38) = happyGoto action_15
action_115 (41) = happyGoto action_16
action_115 (45) = happyGoto action_17
action_115 (46) = happyGoto action_18
action_115 (47) = happyGoto action_19
action_115 _ = happyFail (happyExpListPerState 115)

action_116 _ = happyReduce_93

action_117 _ = happyReduce_3

action_118 (43) = happyGoto action_157
action_118 _ = happyReduce_97

action_119 (74) = happyShift action_156
action_119 (91) = happyShift action_75
action_119 _ = happyFail (happyExpListPerState 119)

action_120 (113) = happyShift action_41
action_120 (23) = happyGoto action_155
action_120 _ = happyFail (happyExpListPerState 120)

action_121 _ = happyReduce_85

action_122 (64) = happyShift action_121
action_122 (65) = happyShift action_152
action_122 (66) = happyShift action_153
action_122 (67) = happyShift action_154
action_122 (103) = happyShift action_122
action_122 (39) = happyGoto action_151
action_122 _ = happyFail (happyExpListPerState 122)

action_123 (113) = happyShift action_41
action_123 (23) = happyGoto action_150
action_123 _ = happyFail (happyExpListPerState 123)

action_124 (103) = happyShift action_149
action_124 (113) = happyShift action_41
action_124 (23) = happyGoto action_147
action_124 (44) = happyGoto action_148
action_124 _ = happyFail (happyExpListPerState 124)

action_125 (113) = happyShift action_95
action_125 (11) = happyGoto action_146
action_125 _ = happyFail (happyExpListPerState 125)

action_126 (53) = happyShift action_20
action_126 (54) = happyShift action_21
action_126 (55) = happyShift action_22
action_126 (56) = happyShift action_23
action_126 (57) = happyShift action_24
action_126 (58) = happyShift action_25
action_126 (59) = happyShift action_26
action_126 (60) = happyShift action_27
action_126 (61) = happyShift action_28
action_126 (62) = happyShift action_29
action_126 (63) = happyShift action_30
action_126 (75) = happyShift action_32
action_126 (76) = happyShift action_33
action_126 (77) = happyShift action_34
action_126 (99) = happyShift action_35
action_126 (103) = happyShift action_36
action_126 (109) = happyShift action_37
action_126 (110) = happyShift action_38
action_126 (111) = happyShift action_39
action_126 (112) = happyShift action_40
action_126 (113) = happyShift action_41
action_126 (114) = happyShift action_42
action_126 (23) = happyGoto action_5
action_126 (33) = happyGoto action_145
action_126 (35) = happyGoto action_13
action_126 (37) = happyGoto action_14
action_126 (38) = happyGoto action_15
action_126 (41) = happyGoto action_16
action_126 (45) = happyGoto action_17
action_126 (46) = happyGoto action_18
action_126 (47) = happyGoto action_19
action_126 _ = happyFail (happyExpListPerState 126)

action_127 _ = happyReduce_36

action_128 _ = happyReduce_28

action_129 (103) = happyShift action_86
action_129 (113) = happyShift action_41
action_129 (17) = happyGoto action_143
action_129 (18) = happyGoto action_144
action_129 (19) = happyGoto action_80
action_129 (20) = happyGoto action_81
action_129 (21) = happyGoto action_82
action_129 (22) = happyGoto action_83
action_129 (23) = happyGoto action_84
action_129 _ = happyFail (happyExpListPerState 129)

action_130 _ = happyReduce_41

action_131 (53) = happyShift action_20
action_131 (54) = happyShift action_21
action_131 (55) = happyShift action_22
action_131 (56) = happyShift action_23
action_131 (57) = happyShift action_24
action_131 (58) = happyShift action_25
action_131 (59) = happyShift action_26
action_131 (60) = happyShift action_27
action_131 (61) = happyShift action_28
action_131 (62) = happyShift action_29
action_131 (63) = happyShift action_30
action_131 (70) = happyShift action_129
action_131 (72) = happyShift action_31
action_131 (75) = happyShift action_32
action_131 (76) = happyShift action_33
action_131 (77) = happyShift action_34
action_131 (99) = happyShift action_35
action_131 (103) = happyShift action_36
action_131 (109) = happyShift action_37
action_131 (110) = happyShift action_38
action_131 (111) = happyShift action_39
action_131 (112) = happyShift action_40
action_131 (113) = happyShift action_41
action_131 (114) = happyShift action_42
action_131 (16) = happyGoto action_142
action_131 (23) = happyGoto action_5
action_131 (26) = happyGoto action_128
action_131 (27) = happyGoto action_7
action_131 (28) = happyGoto action_8
action_131 (29) = happyGoto action_9
action_131 (30) = happyGoto action_10
action_131 (31) = happyGoto action_11
action_131 (33) = happyGoto action_12
action_131 (35) = happyGoto action_13
action_131 (37) = happyGoto action_14
action_131 (38) = happyGoto action_15
action_131 (41) = happyGoto action_16
action_131 (45) = happyGoto action_17
action_131 (46) = happyGoto action_18
action_131 (47) = happyGoto action_19
action_131 _ = happyFail (happyExpListPerState 131)

action_132 (75) = happyShift action_141
action_132 _ = happyFail (happyExpListPerState 132)

action_133 (114) = happyShift action_42
action_133 (46) = happyGoto action_140
action_133 _ = happyFail (happyExpListPerState 133)

action_134 (113) = happyShift action_41
action_134 (23) = happyGoto action_139
action_134 _ = happyFail (happyExpListPerState 134)

action_135 (81) = happyShift action_138
action_135 _ = happyFail (happyExpListPerState 135)

action_136 (113) = happyShift action_41
action_136 (23) = happyGoto action_137
action_136 _ = happyFail (happyExpListPerState 136)

action_137 _ = happyReduce_42

action_138 (53) = happyShift action_20
action_138 (54) = happyShift action_21
action_138 (55) = happyShift action_22
action_138 (56) = happyShift action_23
action_138 (57) = happyShift action_24
action_138 (58) = happyShift action_25
action_138 (59) = happyShift action_26
action_138 (60) = happyShift action_27
action_138 (61) = happyShift action_28
action_138 (62) = happyShift action_29
action_138 (63) = happyShift action_30
action_138 (70) = happyShift action_129
action_138 (72) = happyShift action_31
action_138 (75) = happyShift action_32
action_138 (76) = happyShift action_33
action_138 (77) = happyShift action_34
action_138 (99) = happyShift action_35
action_138 (103) = happyShift action_36
action_138 (109) = happyShift action_37
action_138 (110) = happyShift action_38
action_138 (111) = happyShift action_39
action_138 (112) = happyShift action_40
action_138 (113) = happyShift action_41
action_138 (114) = happyShift action_42
action_138 (16) = happyGoto action_173
action_138 (23) = happyGoto action_5
action_138 (26) = happyGoto action_128
action_138 (27) = happyGoto action_7
action_138 (28) = happyGoto action_8
action_138 (29) = happyGoto action_9
action_138 (30) = happyGoto action_10
action_138 (31) = happyGoto action_11
action_138 (33) = happyGoto action_12
action_138 (35) = happyGoto action_13
action_138 (37) = happyGoto action_14
action_138 (38) = happyGoto action_15
action_138 (41) = happyGoto action_16
action_138 (45) = happyGoto action_17
action_138 (46) = happyGoto action_18
action_138 (47) = happyGoto action_19
action_138 _ = happyFail (happyExpListPerState 138)

action_139 _ = happyReduce_43

action_140 (105) = happyShift action_172
action_140 _ = happyFail (happyExpListPerState 140)

action_141 (81) = happyShift action_171
action_141 _ = happyFail (happyExpListPerState 141)

action_142 _ = happyReduce_35

action_143 (71) = happyShift action_169
action_143 (84) = happyShift action_170
action_143 _ = happyFail (happyExpListPerState 143)

action_144 _ = happyReduce_29

action_145 (100) = happyShift action_62
action_145 (101) = happyShift action_63
action_145 (34) = happyGoto action_61
action_145 _ = happyReduce_58

action_146 _ = happyReduce_73

action_147 (87) = happyShift action_168
action_147 _ = happyFail (happyExpListPerState 147)

action_148 (43) = happyGoto action_167
action_148 _ = happyReduce_97

action_149 (113) = happyShift action_41
action_149 (23) = happyGoto action_166
action_149 _ = happyFail (happyExpListPerState 149)

action_150 _ = happyReduce_81

action_151 (104) = happyShift action_165
action_151 _ = happyFail (happyExpListPerState 151)

action_152 (53) = happyShift action_20
action_152 (54) = happyShift action_21
action_152 (55) = happyShift action_22
action_152 (56) = happyShift action_23
action_152 (57) = happyShift action_24
action_152 (58) = happyShift action_25
action_152 (59) = happyShift action_26
action_152 (60) = happyShift action_27
action_152 (61) = happyShift action_28
action_152 (62) = happyShift action_29
action_152 (63) = happyShift action_30
action_152 (72) = happyShift action_31
action_152 (75) = happyShift action_32
action_152 (76) = happyShift action_33
action_152 (77) = happyShift action_34
action_152 (99) = happyShift action_35
action_152 (103) = happyShift action_36
action_152 (109) = happyShift action_37
action_152 (110) = happyShift action_38
action_152 (111) = happyShift action_39
action_152 (112) = happyShift action_40
action_152 (113) = happyShift action_41
action_152 (114) = happyShift action_42
action_152 (23) = happyGoto action_5
action_152 (26) = happyGoto action_164
action_152 (27) = happyGoto action_7
action_152 (28) = happyGoto action_8
action_152 (29) = happyGoto action_9
action_152 (30) = happyGoto action_10
action_152 (31) = happyGoto action_11
action_152 (33) = happyGoto action_12
action_152 (35) = happyGoto action_13
action_152 (37) = happyGoto action_14
action_152 (38) = happyGoto action_15
action_152 (41) = happyGoto action_16
action_152 (45) = happyGoto action_17
action_152 (46) = happyGoto action_18
action_152 (47) = happyGoto action_19
action_152 _ = happyFail (happyExpListPerState 152)

action_153 (103) = happyShift action_162
action_153 (40) = happyGoto action_163
action_153 _ = happyFail (happyExpListPerState 153)

action_154 (103) = happyShift action_162
action_154 (40) = happyGoto action_161
action_154 _ = happyFail (happyExpListPerState 154)

action_155 _ = happyReduce_84

action_156 (53) = happyShift action_20
action_156 (54) = happyShift action_21
action_156 (55) = happyShift action_22
action_156 (56) = happyShift action_23
action_156 (57) = happyShift action_24
action_156 (58) = happyShift action_25
action_156 (59) = happyShift action_26
action_156 (60) = happyShift action_27
action_156 (61) = happyShift action_28
action_156 (62) = happyShift action_29
action_156 (63) = happyShift action_30
action_156 (75) = happyShift action_32
action_156 (76) = happyShift action_33
action_156 (77) = happyShift action_34
action_156 (99) = happyShift action_35
action_156 (103) = happyShift action_36
action_156 (109) = happyShift action_37
action_156 (110) = happyShift action_38
action_156 (111) = happyShift action_39
action_156 (112) = happyShift action_40
action_156 (113) = happyShift action_41
action_156 (114) = happyShift action_42
action_156 (23) = happyGoto action_5
action_156 (28) = happyGoto action_160
action_156 (29) = happyGoto action_9
action_156 (30) = happyGoto action_10
action_156 (31) = happyGoto action_11
action_156 (33) = happyGoto action_12
action_156 (35) = happyGoto action_13
action_156 (37) = happyGoto action_14
action_156 (38) = happyGoto action_15
action_156 (41) = happyGoto action_16
action_156 (45) = happyGoto action_17
action_156 (46) = happyGoto action_18
action_156 (47) = happyGoto action_19
action_156 _ = happyFail (happyExpListPerState 156)

action_157 (83) = happyShift action_158
action_157 (104) = happyShift action_159
action_157 _ = happyFail (happyExpListPerState 157)

action_158 (53) = happyShift action_20
action_158 (54) = happyShift action_21
action_158 (55) = happyShift action_22
action_158 (56) = happyShift action_23
action_158 (57) = happyShift action_24
action_158 (58) = happyShift action_25
action_158 (59) = happyShift action_26
action_158 (60) = happyShift action_27
action_158 (61) = happyShift action_28
action_158 (62) = happyShift action_29
action_158 (63) = happyShift action_30
action_158 (72) = happyShift action_31
action_158 (75) = happyShift action_32
action_158 (76) = happyShift action_33
action_158 (77) = happyShift action_34
action_158 (99) = happyShift action_35
action_158 (103) = happyShift action_36
action_158 (109) = happyShift action_37
action_158 (110) = happyShift action_38
action_158 (111) = happyShift action_39
action_158 (112) = happyShift action_40
action_158 (113) = happyShift action_41
action_158 (114) = happyShift action_42
action_158 (23) = happyGoto action_5
action_158 (26) = happyGoto action_188
action_158 (27) = happyGoto action_7
action_158 (28) = happyGoto action_8
action_158 (29) = happyGoto action_9
action_158 (30) = happyGoto action_10
action_158 (31) = happyGoto action_11
action_158 (33) = happyGoto action_12
action_158 (35) = happyGoto action_13
action_158 (37) = happyGoto action_14
action_158 (38) = happyGoto action_15
action_158 (41) = happyGoto action_16
action_158 (45) = happyGoto action_17
action_158 (46) = happyGoto action_18
action_158 (47) = happyGoto action_19
action_158 _ = happyFail (happyExpListPerState 158)

action_159 _ = happyReduce_94

action_160 (91) = happyShift action_75
action_160 _ = happyReduce_45

action_161 (104) = happyShift action_187
action_161 _ = happyFail (happyExpListPerState 161)

action_162 (85) = happyShift action_186
action_162 _ = happyFail (happyExpListPerState 162)

action_163 (104) = happyShift action_185
action_163 _ = happyFail (happyExpListPerState 163)

action_164 (104) = happyShift action_184
action_164 _ = happyFail (happyExpListPerState 164)

action_165 _ = happyReduce_89

action_166 (83) = happyShift action_183
action_166 _ = happyFail (happyExpListPerState 166)

action_167 (83) = happyShift action_158
action_167 (108) = happyShift action_182
action_167 _ = happyFail (happyExpListPerState 167)

action_168 (80) = happyShift action_181
action_168 (113) = happyShift action_41
action_168 (23) = happyGoto action_180
action_168 _ = happyFail (happyExpListPerState 168)

action_169 (53) = happyShift action_20
action_169 (54) = happyShift action_21
action_169 (55) = happyShift action_22
action_169 (56) = happyShift action_23
action_169 (57) = happyShift action_24
action_169 (58) = happyShift action_25
action_169 (59) = happyShift action_26
action_169 (60) = happyShift action_27
action_169 (61) = happyShift action_28
action_169 (62) = happyShift action_29
action_169 (63) = happyShift action_30
action_169 (72) = happyShift action_31
action_169 (75) = happyShift action_32
action_169 (76) = happyShift action_33
action_169 (77) = happyShift action_34
action_169 (99) = happyShift action_35
action_169 (103) = happyShift action_36
action_169 (109) = happyShift action_37
action_169 (110) = happyShift action_38
action_169 (111) = happyShift action_39
action_169 (112) = happyShift action_40
action_169 (113) = happyShift action_41
action_169 (114) = happyShift action_42
action_169 (23) = happyGoto action_5
action_169 (26) = happyGoto action_179
action_169 (27) = happyGoto action_7
action_169 (28) = happyGoto action_8
action_169 (29) = happyGoto action_9
action_169 (30) = happyGoto action_10
action_169 (31) = happyGoto action_11
action_169 (33) = happyGoto action_12
action_169 (35) = happyGoto action_13
action_169 (37) = happyGoto action_14
action_169 (38) = happyGoto action_15
action_169 (41) = happyGoto action_16
action_169 (45) = happyGoto action_17
action_169 (46) = happyGoto action_18
action_169 (47) = happyGoto action_19
action_169 _ = happyFail (happyExpListPerState 169)

action_170 (103) = happyShift action_86
action_170 (113) = happyShift action_41
action_170 (18) = happyGoto action_178
action_170 (19) = happyGoto action_80
action_170 (20) = happyGoto action_81
action_170 (21) = happyGoto action_82
action_170 (22) = happyGoto action_83
action_170 (23) = happyGoto action_84
action_170 _ = happyFail (happyExpListPerState 170)

action_171 (53) = happyShift action_20
action_171 (54) = happyShift action_21
action_171 (55) = happyShift action_22
action_171 (56) = happyShift action_23
action_171 (57) = happyShift action_24
action_171 (58) = happyShift action_25
action_171 (59) = happyShift action_26
action_171 (60) = happyShift action_27
action_171 (61) = happyShift action_28
action_171 (62) = happyShift action_29
action_171 (63) = happyShift action_30
action_171 (70) = happyShift action_129
action_171 (72) = happyShift action_31
action_171 (75) = happyShift action_32
action_171 (76) = happyShift action_33
action_171 (77) = happyShift action_34
action_171 (99) = happyShift action_35
action_171 (103) = happyShift action_36
action_171 (109) = happyShift action_37
action_171 (110) = happyShift action_38
action_171 (111) = happyShift action_39
action_171 (112) = happyShift action_40
action_171 (113) = happyShift action_41
action_171 (114) = happyShift action_42
action_171 (16) = happyGoto action_177
action_171 (23) = happyGoto action_5
action_171 (26) = happyGoto action_128
action_171 (27) = happyGoto action_7
action_171 (28) = happyGoto action_8
action_171 (29) = happyGoto action_9
action_171 (30) = happyGoto action_10
action_171 (31) = happyGoto action_11
action_171 (33) = happyGoto action_12
action_171 (35) = happyGoto action_13
action_171 (37) = happyGoto action_14
action_171 (38) = happyGoto action_15
action_171 (41) = happyGoto action_16
action_171 (45) = happyGoto action_17
action_171 (46) = happyGoto action_18
action_171 (47) = happyGoto action_19
action_171 _ = happyFail (happyExpListPerState 171)

action_172 (113) = happyShift action_95
action_172 (9) = happyGoto action_174
action_172 (10) = happyGoto action_175
action_172 (11) = happyGoto action_176
action_172 _ = happyFail (happyExpListPerState 172)

action_173 _ = happyReduce_37

action_174 (83) = happyShift action_193
action_174 (106) = happyShift action_194
action_174 _ = happyFail (happyExpListPerState 174)

action_175 _ = happyReduce_8

action_176 (82) = happyShift action_192
action_176 _ = happyFail (happyExpListPerState 176)

action_177 _ = happyReduce_38

action_178 _ = happyReduce_30

action_179 _ = happyReduce_27

action_180 _ = happyReduce_102

action_181 (113) = happyShift action_41
action_181 (23) = happyGoto action_191
action_181 _ = happyFail (happyExpListPerState 181)

action_182 _ = happyReduce_79

action_183 (113) = happyShift action_41
action_183 (23) = happyGoto action_190
action_183 _ = happyFail (happyExpListPerState 183)

action_184 _ = happyReduce_86

action_185 _ = happyReduce_87

action_186 (113) = happyShift action_41
action_186 (23) = happyGoto action_189
action_186 _ = happyFail (happyExpListPerState 186)

action_187 _ = happyReduce_88

action_188 _ = happyReduce_98

action_189 (86) = happyShift action_207
action_189 _ = happyFail (happyExpListPerState 189)

action_190 (104) = happyShift action_206
action_190 _ = happyFail (happyExpListPerState 190)

action_191 _ = happyReduce_101

action_192 (48) = happyShift action_199
action_192 (49) = happyShift action_200
action_192 (50) = happyShift action_201
action_192 (51) = happyShift action_202
action_192 (52) = happyShift action_203
action_192 (103) = happyShift action_204
action_192 (114) = happyShift action_205
action_192 (12) = happyGoto action_198
action_192 _ = happyFail (happyExpListPerState 192)

action_193 (113) = happyShift action_95
action_193 (10) = happyGoto action_197
action_193 (11) = happyGoto action_176
action_193 _ = happyFail (happyExpListPerState 193)

action_194 (69) = happyShift action_196
action_194 (14) = happyGoto action_195
action_194 _ = happyReduce_22

action_195 _ = happyReduce_7

action_196 (103) = happyShift action_213
action_196 (114) = happyShift action_214
action_196 _ = happyFail (happyExpListPerState 196)

action_197 _ = happyReduce_9

action_198 _ = happyReduce_10

action_199 _ = happyReduce_12

action_200 _ = happyReduce_13

action_201 _ = happyReduce_15

action_202 _ = happyReduce_14

action_203 (48) = happyShift action_199
action_203 (49) = happyShift action_200
action_203 (50) = happyShift action_201
action_203 (51) = happyShift action_202
action_203 (52) = happyShift action_203
action_203 (103) = happyShift action_204
action_203 (114) = happyShift action_205
action_203 (12) = happyGoto action_212
action_203 _ = happyFail (happyExpListPerState 203)

action_204 (48) = happyShift action_199
action_204 (49) = happyShift action_200
action_204 (50) = happyShift action_201
action_204 (51) = happyShift action_202
action_204 (52) = happyShift action_203
action_204 (103) = happyShift action_204
action_204 (114) = happyShift action_205
action_204 (12) = happyGoto action_210
action_204 (13) = happyGoto action_211
action_204 _ = happyFail (happyExpListPerState 204)

action_205 _ = happyReduce_19

action_206 (87) = happyShift action_209
action_206 _ = happyFail (happyExpListPerState 206)

action_207 (53) = happyShift action_20
action_207 (54) = happyShift action_21
action_207 (55) = happyShift action_22
action_207 (56) = happyShift action_23
action_207 (57) = happyShift action_24
action_207 (58) = happyShift action_25
action_207 (59) = happyShift action_26
action_207 (60) = happyShift action_27
action_207 (61) = happyShift action_28
action_207 (62) = happyShift action_29
action_207 (63) = happyShift action_30
action_207 (72) = happyShift action_31
action_207 (75) = happyShift action_32
action_207 (76) = happyShift action_33
action_207 (77) = happyShift action_34
action_207 (99) = happyShift action_35
action_207 (103) = happyShift action_36
action_207 (109) = happyShift action_37
action_207 (110) = happyShift action_38
action_207 (111) = happyShift action_39
action_207 (112) = happyShift action_40
action_207 (113) = happyShift action_41
action_207 (114) = happyShift action_42
action_207 (23) = happyGoto action_5
action_207 (26) = happyGoto action_208
action_207 (27) = happyGoto action_7
action_207 (28) = happyGoto action_8
action_207 (29) = happyGoto action_9
action_207 (30) = happyGoto action_10
action_207 (31) = happyGoto action_11
action_207 (33) = happyGoto action_12
action_207 (35) = happyGoto action_13
action_207 (37) = happyGoto action_14
action_207 (38) = happyGoto action_15
action_207 (41) = happyGoto action_16
action_207 (45) = happyGoto action_17
action_207 (46) = happyGoto action_18
action_207 (47) = happyGoto action_19
action_207 _ = happyFail (happyExpListPerState 207)

action_208 (104) = happyShift action_224
action_208 _ = happyFail (happyExpListPerState 208)

action_209 (78) = happyShift action_222
action_209 (79) = happyShift action_223
action_209 _ = happyFail (happyExpListPerState 209)

action_210 (83) = happyShift action_220
action_210 (104) = happyShift action_221
action_210 _ = happyFail (happyExpListPerState 210)

action_211 (83) = happyShift action_218
action_211 (104) = happyShift action_219
action_211 _ = happyFail (happyExpListPerState 211)

action_212 (48) = happyShift action_199
action_212 (49) = happyShift action_200
action_212 (50) = happyShift action_201
action_212 (51) = happyShift action_202
action_212 (52) = happyShift action_203
action_212 (103) = happyShift action_204
action_212 (114) = happyShift action_205
action_212 (12) = happyGoto action_217
action_212 _ = happyFail (happyExpListPerState 212)

action_213 (114) = happyShift action_216
action_213 (15) = happyGoto action_215
action_213 _ = happyFail (happyExpListPerState 213)

action_214 _ = happyReduce_23

action_215 (83) = happyShift action_229
action_215 (104) = happyShift action_230
action_215 _ = happyFail (happyExpListPerState 215)

action_216 _ = happyReduce_25

action_217 _ = happyReduce_16

action_218 (48) = happyShift action_199
action_218 (49) = happyShift action_200
action_218 (50) = happyShift action_201
action_218 (51) = happyShift action_202
action_218 (52) = happyShift action_203
action_218 (103) = happyShift action_204
action_218 (114) = happyShift action_205
action_218 (12) = happyGoto action_228
action_218 _ = happyFail (happyExpListPerState 218)

action_219 _ = happyReduce_18

action_220 (48) = happyShift action_199
action_220 (49) = happyShift action_200
action_220 (50) = happyShift action_201
action_220 (51) = happyShift action_202
action_220 (52) = happyShift action_203
action_220 (103) = happyShift action_204
action_220 (114) = happyShift action_205
action_220 (12) = happyGoto action_227
action_220 _ = happyFail (happyExpListPerState 220)

action_221 _ = happyReduce_17

action_222 (113) = happyShift action_41
action_222 (23) = happyGoto action_226
action_222 _ = happyFail (happyExpListPerState 222)

action_223 (113) = happyShift action_41
action_223 (23) = happyGoto action_225
action_223 _ = happyFail (happyExpListPerState 223)

action_224 _ = happyReduce_90

action_225 _ = happyReduce_100

action_226 _ = happyReduce_99

action_227 _ = happyReduce_20

action_228 _ = happyReduce_21

action_229 (114) = happyShift action_231
action_229 _ = happyFail (happyExpListPerState 229)

action_230 _ = happyReduce_24

action_231 _ = happyReduce_26

happyReduce_2 = happySpecReduce_1  5 happyReduction_2
happyReduction_2 (HappyAbsSyn6  happy_var_1)
	 =  HappyAbsSyn5
		 ([happy_var_1]
	)
happyReduction_2 _  = notHappyAtAll 

happyReduce_3 = happySpecReduce_3  5 happyReduction_3
happyReduction_3 (HappyAbsSyn6  happy_var_3)
	_
	(HappyAbsSyn5  happy_var_1)
	 =  HappyAbsSyn5
		 (happy_var_3:happy_var_1
	)
happyReduction_3 _ _ _  = notHappyAtAll 

happyReduce_4 = happySpecReduce_2  6 happyReduction_4
happyReduction_4 (HappyAbsSyn18  happy_var_2)
	(HappyAbsSyn7  happy_var_1)
	 =  HappyAbsSyn6
		 (DProgramSpec0 (reverse happy_var_1) happy_var_2 (if happy_var_1 == [] then getData happy_var_2 else getData (head happy_var_1))
	)
happyReduction_4 _ _  = notHappyAtAll 

happyReduce_5 = happySpecReduce_0  7 happyReduction_5
happyReduction_5  =  HappyAbsSyn7
		 ([ ]
	)

happyReduce_6 = happySpecReduce_2  7 happyReduction_6
happyReduction_6 (HappyAbsSyn8  happy_var_2)
	(HappyAbsSyn7  happy_var_1)
	 =  HappyAbsSyn7
		 (happy_var_2:happy_var_1
	)
happyReduction_6 _ _  = notHappyAtAll 

happyReduce_7 = happyReduce 8 8 happyReduction_7
happyReduction_7 (_ `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn9  happy_var_6) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn46  happy_var_4) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	(HappyTerminal happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn8
		 (DRecordSpec happy_var_4 (reverse happy_var_6) (getData happy_var_1)
	) `HappyStk` happyRest

happyReduce_8 = happySpecReduce_1  9 happyReduction_8
happyReduction_8 (HappyAbsSyn10  happy_var_1)
	 =  HappyAbsSyn9
		 ([happy_var_1]
	)
happyReduction_8 _  = notHappyAtAll 

happyReduce_9 = happySpecReduce_3  9 happyReduction_9
happyReduction_9 (HappyAbsSyn10  happy_var_3)
	_
	(HappyAbsSyn9  happy_var_1)
	 =  HappyAbsSyn9
		 (happy_var_3:happy_var_1
	)
happyReduction_9 _ _ _  = notHappyAtAll 

happyReduce_10 = happySpecReduce_3  10 happyReduction_10
happyReduction_10 (HappyAbsSyn12  happy_var_3)
	_
	(HappyAbsSyn11  happy_var_1)
	 =  HappyAbsSyn10
		 ((happy_var_1, happy_var_3)
	)
happyReduction_10 _ _ _  = notHappyAtAll 

happyReduce_11 = happySpecReduce_1  11 happyReduction_11
happyReduction_11 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn11
		 (DField (strToken happy_var_1) (getData happy_var_1)
	)
happyReduction_11 _  = notHappyAtAll 

happyReduce_12 = happySpecReduce_1  12 happyReduction_12
happyReduction_12 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn12
		 (DTInt (getData happy_var_1)
	)
happyReduction_12 _  = notHappyAtAll 

happyReduce_13 = happySpecReduce_1  12 happyReduction_13
happyReduction_13 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn12
		 (DTBool (getData happy_var_1)
	)
happyReduction_13 _  = notHappyAtAll 

happyReduce_14 = happySpecReduce_1  12 happyReduction_14
happyReduction_14 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn12
		 (DTString (getData happy_var_1)
	)
happyReduction_14 _  = notHappyAtAll 

happyReduce_15 = happySpecReduce_1  12 happyReduction_15
happyReduction_15 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn12
		 (DTDouble (getData happy_var_1)
	)
happyReduction_15 _  = notHappyAtAll 

happyReduce_16 = happySpecReduce_3  12 happyReduction_16
happyReduction_16 (HappyAbsSyn12  happy_var_3)
	(HappyAbsSyn12  happy_var_2)
	(HappyTerminal happy_var_1)
	 =  HappyAbsSyn12
		 (DTRecord (DConstructor "Pair" (getData happy_var_1)) [happy_var_2, happy_var_3] (getData happy_var_1)
	)
happyReduction_16 _ _ _  = notHappyAtAll 

happyReduce_17 = happySpecReduce_3  12 happyReduction_17
happyReduction_17 _
	(HappyAbsSyn12  happy_var_2)
	_
	 =  HappyAbsSyn12
		 (happy_var_2
	)
happyReduction_17 _ _ _  = notHappyAtAll 

happyReduce_18 = happySpecReduce_3  12 happyReduction_18
happyReduction_18 _
	(HappyAbsSyn13  happy_var_2)
	(HappyTerminal happy_var_1)
	 =  HappyAbsSyn12
		 (DTTuple (reverse happy_var_2) (getData happy_var_1)
	)
happyReduction_18 _ _ _  = notHappyAtAll 

happyReduce_19 = happySpecReduce_1  12 happyReduction_19
happyReduction_19 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn12
		 (DTRecord (DConstructor (strToken happy_var_1) (getData happy_var_1)) [] (getData happy_var_1)
	)
happyReduction_19 _  = notHappyAtAll 

happyReduce_20 = happySpecReduce_3  13 happyReduction_20
happyReduction_20 (HappyAbsSyn12  happy_var_3)
	_
	(HappyAbsSyn12  happy_var_1)
	 =  HappyAbsSyn13
		 ([happy_var_3, happy_var_1]
	)
happyReduction_20 _ _ _  = notHappyAtAll 

happyReduce_21 = happySpecReduce_3  13 happyReduction_21
happyReduction_21 (HappyAbsSyn12  happy_var_3)
	_
	(HappyAbsSyn13  happy_var_1)
	 =  HappyAbsSyn13
		 (happy_var_3:happy_var_1
	)
happyReduction_21 _ _ _  = notHappyAtAll 

happyReduce_22 = happySpecReduce_0  14 happyReduction_22
happyReduction_22  =  HappyAbsSyn14
		 (()
	)

happyReduce_23 = happySpecReduce_2  14 happyReduction_23
happyReduction_23 _
	_
	 =  HappyAbsSyn14
		 (()
	)

happyReduce_24 = happyReduce 4 14 happyReduction_24
happyReduction_24 (_ `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn14
		 (()
	) `HappyStk` happyRest

happyReduce_25 = happySpecReduce_1  15 happyReduction_25
happyReduction_25 _
	 =  HappyAbsSyn14
		 (()
	)

happyReduce_26 = happySpecReduce_3  15 happyReduction_26
happyReduction_26 _
	_
	_
	 =  HappyAbsSyn14
		 (()
	)

happyReduce_27 = happyReduce 4 16 happyReduction_27
happyReduction_27 ((HappyAbsSyn26  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn17  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn16
		 ((reverse happy_var_2, happy_var_4)
	) `HappyStk` happyRest

happyReduce_28 = happySpecReduce_1  16 happyReduction_28
happyReduction_28 (HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn16
		 (([], happy_var_1)
	)
happyReduction_28 _  = notHappyAtAll 

happyReduce_29 = happySpecReduce_1  17 happyReduction_29
happyReduction_29 (HappyAbsSyn18  happy_var_1)
	 =  HappyAbsSyn17
		 ([happy_var_1]
	)
happyReduction_29 _  = notHappyAtAll 

happyReduce_30 = happySpecReduce_3  17 happyReduction_30
happyReduction_30 (HappyAbsSyn18  happy_var_3)
	_
	(HappyAbsSyn17  happy_var_1)
	 =  HappyAbsSyn17
		 (happy_var_3:happy_var_1
	)
happyReduction_30 _ _ _  = notHappyAtAll 

happyReduce_31 = happySpecReduce_1  18 happyReduction_31
happyReduction_31 (HappyAbsSyn18  happy_var_1)
	 =  HappyAbsSyn18
		 (happy_var_1
	)
happyReduction_31 _  = notHappyAtAll 

happyReduce_32 = happySpecReduce_1  18 happyReduction_32
happyReduction_32 (HappyAbsSyn18  happy_var_1)
	 =  HappyAbsSyn18
		 (happy_var_1
	)
happyReduction_32 _  = notHappyAtAll 

happyReduce_33 = happySpecReduce_1  18 happyReduction_33
happyReduction_33 (HappyAbsSyn18  happy_var_1)
	 =  HappyAbsSyn18
		 (happy_var_1
	)
happyReduction_33 _  = notHappyAtAll 

happyReduce_34 = happySpecReduce_1  18 happyReduction_34
happyReduction_34 (HappyAbsSyn18  happy_var_1)
	 =  HappyAbsSyn18
		 (happy_var_1
	)
happyReduction_34 _  = notHappyAtAll 

happyReduce_35 = happyReduce 4 19 happyReduction_35
happyReduction_35 ((HappyAbsSyn16  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn24  happy_var_2) `HappyStk`
	(HappyAbsSyn23  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn18
		 (DDefFun0 happy_var_1 (reverse happy_var_2) (fst happy_var_4) (snd happy_var_4) (getData happy_var_1)
	) `HappyStk` happyRest

happyReduce_36 = happySpecReduce_3  20 happyReduction_36
happyReduction_36 (HappyAbsSyn16  happy_var_3)
	_
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn18
		 (DDefVar0 happy_var_1 (fst happy_var_3) (snd happy_var_3) (getData happy_var_1)
	)
happyReduction_36 _ _ _  = notHappyAtAll 

happyReduce_37 = happyReduce 5 21 happyReduction_37
happyReduction_37 ((HappyAbsSyn16  happy_var_5) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn24  happy_var_2) `HappyStk`
	(HappyTerminal happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn18
		 (DDefTuple0 (reverse happy_var_2) (fst happy_var_5) (snd happy_var_5) (getData happy_var_1)
	) `HappyStk` happyRest

happyReduce_38 = happyMonadReduce 6 22 happyReduction_38
happyReduction_38 ((HappyAbsSyn16  happy_var_6) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn23  happy_var_2) `HappyStk`
	(HappyAbsSyn23  happy_var_1) `HappyStk`
	happyRest) tk
	 = happyThen ((( mustbe happy_var_2 "v" >> return (DDefVertComp0 happy_var_1 (fst happy_var_6) (snd happy_var_6) (getData happy_var_1))))
	) (\r -> happyReturn (HappyAbsSyn18 r))

happyReduce_39 = happySpecReduce_1  23 happyReduction_39
happyReduction_39 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn23
		 (DVar (strToken happy_var_1) (getData happy_var_1)
	)
happyReduction_39 _  = notHappyAtAll 

happyReduce_40 = happySpecReduce_1  24 happyReduction_40
happyReduction_40 (HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn24
		 ([happy_var_1]
	)
happyReduction_40 _  = notHappyAtAll 

happyReduce_41 = happySpecReduce_2  24 happyReduction_41
happyReduction_41 (HappyAbsSyn23  happy_var_2)
	(HappyAbsSyn24  happy_var_1)
	 =  HappyAbsSyn24
		 (happy_var_2:happy_var_1
	)
happyReduction_41 _ _  = notHappyAtAll 

happyReduce_42 = happySpecReduce_3  25 happyReduction_42
happyReduction_42 (HappyAbsSyn23  happy_var_3)
	_
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn24
		 ([happy_var_3,happy_var_1]
	)
happyReduction_42 _ _ _  = notHappyAtAll 

happyReduce_43 = happySpecReduce_3  25 happyReduction_43
happyReduction_43 (HappyAbsSyn23  happy_var_3)
	_
	(HappyAbsSyn24  happy_var_1)
	 =  HappyAbsSyn24
		 (happy_var_3:happy_var_1
	)
happyReduction_43 _ _ _  = notHappyAtAll 

happyReduce_44 = happySpecReduce_1  26 happyReduction_44
happyReduction_44 (HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (happy_var_1
	)
happyReduction_44 _  = notHappyAtAll 

happyReduce_45 = happyReduce 6 27 happyReduction_45
happyReduction_45 ((HappyAbsSyn26  happy_var_6) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn26  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn26  happy_var_2) `HappyStk`
	(HappyTerminal happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn26
		 (DIf0 happy_var_2 happy_var_4 happy_var_6 (getData happy_var_1)
	) `HappyStk` happyRest

happyReduce_46 = happySpecReduce_1  27 happyReduction_46
happyReduction_46 (HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (happy_var_1
	)
happyReduction_46 _  = notHappyAtAll 

happyReduce_47 = happySpecReduce_3  28 happyReduction_47
happyReduction_47 (HappyAbsSyn26  happy_var_3)
	(HappyTerminal happy_var_2)
	(HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (DFunAp0 (DBinOp "||" (getData happy_var_2)) [happy_var_1,happy_var_3] (getData happy_var_1)
	)
happyReduction_47 _ _ _  = notHappyAtAll 

happyReduce_48 = happySpecReduce_1  28 happyReduction_48
happyReduction_48 (HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (happy_var_1
	)
happyReduction_48 _  = notHappyAtAll 

happyReduce_49 = happySpecReduce_3  29 happyReduction_49
happyReduction_49 (HappyAbsSyn26  happy_var_3)
	(HappyTerminal happy_var_2)
	(HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (DFunAp0 (DBinOp "&&" (getData happy_var_2)) [happy_var_1,happy_var_3] (getData happy_var_1)
	)
happyReduction_49 _ _ _  = notHappyAtAll 

happyReduce_50 = happySpecReduce_1  29 happyReduction_50
happyReduction_50 (HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (happy_var_1
	)
happyReduction_50 _  = notHappyAtAll 

happyReduce_51 = happySpecReduce_3  30 happyReduction_51
happyReduction_51 (HappyAbsSyn26  happy_var_3)
	(HappyTerminal happy_var_2)
	(HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (DFunAp0 (DBinOp "<=" (getData happy_var_2)) [happy_var_1,happy_var_3] (getData happy_var_1)
	)
happyReduction_51 _ _ _  = notHappyAtAll 

happyReduce_52 = happySpecReduce_3  30 happyReduction_52
happyReduction_52 (HappyAbsSyn26  happy_var_3)
	(HappyTerminal happy_var_2)
	(HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (DFunAp0 (DBinOp ">=" (getData happy_var_2)) [happy_var_1,happy_var_3] (getData happy_var_1)
	)
happyReduction_52 _ _ _  = notHappyAtAll 

happyReduce_53 = happySpecReduce_3  30 happyReduction_53
happyReduction_53 (HappyAbsSyn26  happy_var_3)
	(HappyTerminal happy_var_2)
	(HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (DFunAp0 (DBinOp "==" (getData happy_var_2)) [happy_var_1,happy_var_3] (getData happy_var_1)
	)
happyReduction_53 _ _ _  = notHappyAtAll 

happyReduce_54 = happySpecReduce_3  30 happyReduction_54
happyReduction_54 (HappyAbsSyn26  happy_var_3)
	(HappyTerminal happy_var_2)
	(HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (DFunAp0 (DBinOp "!=" (getData happy_var_2)) [happy_var_1,happy_var_3] (getData happy_var_1)
	)
happyReduction_54 _ _ _  = notHappyAtAll 

happyReduce_55 = happySpecReduce_3  30 happyReduction_55
happyReduction_55 (HappyAbsSyn26  happy_var_3)
	(HappyTerminal happy_var_2)
	(HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (DFunAp0 (DBinOp ">" (getData happy_var_2)) [happy_var_1,happy_var_3] (getData happy_var_1)
	)
happyReduction_55 _ _ _  = notHappyAtAll 

happyReduce_56 = happySpecReduce_3  30 happyReduction_56
happyReduction_56 (HappyAbsSyn26  happy_var_3)
	(HappyTerminal happy_var_2)
	(HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (DFunAp0 (DBinOp "<" (getData happy_var_2)) [happy_var_1,happy_var_3] (getData happy_var_1)
	)
happyReduction_56 _ _ _  = notHappyAtAll 

happyReduce_57 = happySpecReduce_1  30 happyReduction_57
happyReduction_57 (HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (happy_var_1
	)
happyReduction_57 _  = notHappyAtAll 

happyReduce_58 = happyReduce 5 31 happyReduction_58
happyReduction_58 ((HappyAbsSyn26  happy_var_5) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn23  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn26  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn26
		 (DFunAp0 (v2f happy_var_3) [happy_var_1,happy_var_5] (getData happy_var_1)
	) `HappyStk` happyRest

happyReduce_59 = happySpecReduce_3  31 happyReduction_59
happyReduction_59 (HappyAbsSyn26  happy_var_3)
	(HappyAbsSyn32  happy_var_2)
	(HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (DFunAp0 (DBinOp happy_var_2 (getData happy_var_1)) [happy_var_1, happy_var_3] (getData happy_var_1)
	)
happyReduction_59 _ _ _  = notHappyAtAll 

happyReduce_60 = happySpecReduce_1  31 happyReduction_60
happyReduction_60 (HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (happy_var_1
	)
happyReduction_60 _  = notHappyAtAll 

happyReduce_61 = happySpecReduce_1  32 happyReduction_61
happyReduction_61 _
	 =  HappyAbsSyn32
		 ("+"
	)

happyReduce_62 = happySpecReduce_1  32 happyReduction_62
happyReduction_62 _
	 =  HappyAbsSyn32
		 ("-"
	)

happyReduce_63 = happySpecReduce_3  33 happyReduction_63
happyReduction_63 (HappyAbsSyn26  happy_var_3)
	(HappyAbsSyn32  happy_var_2)
	(HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (DFunAp0 (DBinOp happy_var_2 (getData happy_var_1)) [happy_var_1, happy_var_3] (getData happy_var_1)
	)
happyReduction_63 _ _ _  = notHappyAtAll 

happyReduce_64 = happySpecReduce_2  33 happyReduction_64
happyReduction_64 (HappyAbsSyn26  happy_var_2)
	(HappyTerminal happy_var_1)
	 =  HappyAbsSyn26
		 (if isConstNum happy_var_2 then negConst happy_var_2 else DFunAp0 (DFun "neg" (getData happy_var_1)) [happy_var_2] (getData happy_var_1)
	)
happyReduction_64 _ _  = notHappyAtAll 

happyReduce_65 = happySpecReduce_1  33 happyReduction_65
happyReduction_65 (HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (happy_var_1
	)
happyReduction_65 _  = notHappyAtAll 

happyReduce_66 = happySpecReduce_1  34 happyReduction_66
happyReduction_66 _
	 =  HappyAbsSyn32
		 ("*"
	)

happyReduce_67 = happySpecReduce_1  34 happyReduction_67
happyReduction_67 _
	 =  HappyAbsSyn32
		 ("/"
	)

happyReduce_68 = happySpecReduce_3  35 happyReduction_68
happyReduction_68 (HappyAbsSyn36  happy_var_3)
	_
	(HappyAbsSyn37  happy_var_1)
	 =  HappyAbsSyn26
		 (DFieldAcc0 happy_var_1 (reverse happy_var_3) (getData happy_var_1)
	)
happyReduction_68 _ _ _  = notHappyAtAll 

happyReduce_69 = happySpecReduce_1  35 happyReduction_69
happyReduction_69 (HappyAbsSyn37  happy_var_1)
	 =  HappyAbsSyn26
		 (DFieldAcc0 happy_var_1 [] (getData happy_var_1)
	)
happyReduction_69 _  = notHappyAtAll 

happyReduce_70 = happyMonadReduce 3 35 happyReduction_70
happyReduction_70 ((HappyAbsSyn36  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn23  happy_var_1) `HappyStk`
	happyRest) tk
	 = happyThen ((( mustbe happy_var_1 "e" >> return (DFieldAccE0 (DEdge (getData happy_var_1)) (reverse happy_var_3) (getData happy_var_1))))
	) (\r -> happyReturn (HappyAbsSyn26 r))

happyReduce_71 = happySpecReduce_1  35 happyReduction_71
happyReduction_71 (HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (happy_var_1
	)
happyReduction_71 _  = notHappyAtAll 

happyReduce_72 = happySpecReduce_1  36 happyReduction_72
happyReduction_72 (HappyAbsSyn11  happy_var_1)
	 =  HappyAbsSyn36
		 ([happy_var_1]
	)
happyReduction_72 _  = notHappyAtAll 

happyReduce_73 = happySpecReduce_3  36 happyReduction_73
happyReduction_73 (HappyAbsSyn11  happy_var_3)
	_
	(HappyAbsSyn36  happy_var_1)
	 =  HappyAbsSyn36
		 (happy_var_3:happy_var_1
	)
happyReduction_73 _ _ _  = notHappyAtAll 

happyReduce_74 = happySpecReduce_2  37 happyReduction_74
happyReduction_74 (HappyAbsSyn23  happy_var_2)
	(HappyTerminal happy_var_1)
	 =  HappyAbsSyn37
		 (DCurr happy_var_2 (getData happy_var_1)
	)
happyReduction_74 _ _  = notHappyAtAll 

happyReduce_75 = happySpecReduce_2  37 happyReduction_75
happyReduction_75 (HappyAbsSyn23  happy_var_2)
	(HappyTerminal happy_var_1)
	 =  HappyAbsSyn37
		 (DPrev happy_var_2 (getData happy_var_1)
	)
happyReduction_75 _ _  = notHappyAtAll 

happyReduce_76 = happySpecReduce_2  37 happyReduction_76
happyReduction_76 (HappyAbsSyn23  happy_var_2)
	(HappyTerminal happy_var_1)
	 =  HappyAbsSyn37
		 (DVal  happy_var_2 (getData happy_var_1)
	)
happyReduction_76 _ _  = notHappyAtAll 

happyReduce_77 = happySpecReduce_2  38 happyReduction_77
happyReduction_77 (HappyAbsSyn42  happy_var_2)
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn26
		 (DFunAp0 (v2f happy_var_1) (reverse happy_var_2) (getData happy_var_1)
	)
happyReduction_77 _ _  = notHappyAtAll 

happyReduce_78 = happySpecReduce_2  38 happyReduction_78
happyReduction_78 (HappyAbsSyn42  happy_var_2)
	(HappyAbsSyn46  happy_var_1)
	 =  HappyAbsSyn26
		 (DConsAp0 happy_var_1 (reverse happy_var_2) (getData happy_var_1)
	)
happyReduction_78 _ _  = notHappyAtAll 

happyReduce_79 = happyReduce 7 38 happyReduction_79
happyReduction_79 (_ `HappyStk`
	(HappyAbsSyn42  happy_var_6) `HappyStk`
	(HappyAbsSyn44  happy_var_5) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn26  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn45  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn26
		 (DAggr0 happy_var_1 happy_var_3 happy_var_5 (reverse happy_var_6) (getData happy_var_1)
	) `HappyStk` happyRest

happyReduce_80 = happySpecReduce_1  38 happyReduction_80
happyReduction_80 (HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn26
		 (happy_var_1
	)
happyReduction_80 _  = notHappyAtAll 

happyReduce_81 = happyReduce 5 38 happyReduction_81
happyReduction_81 ((HappyAbsSyn23  happy_var_5) `HappyStk`
	(HappyAbsSyn39  happy_var_4) `HappyStk`
	(HappyAbsSyn23  happy_var_3) `HappyStk`
	(HappyAbsSyn23  happy_var_2) `HappyStk`
	(HappyTerminal happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn26
		 (DPregel0 happy_var_2 happy_var_3 happy_var_4 happy_var_5 (getData happy_var_1)
	) `HappyStk` happyRest

happyReduce_82 = happySpecReduce_3  38 happyReduction_82
happyReduction_82 (HappyAbsSyn23  happy_var_3)
	(HappyAbsSyn23  happy_var_2)
	(HappyTerminal happy_var_1)
	 =  HappyAbsSyn26
		 (DGMap0 happy_var_2 happy_var_3 (getData happy_var_1)
	)
happyReduction_82 _ _ _  = notHappyAtAll 

happyReduce_83 = happySpecReduce_3  38 happyReduction_83
happyReduction_83 (HappyAbsSyn23  happy_var_3)
	(HappyAbsSyn23  happy_var_2)
	(HappyTerminal happy_var_1)
	 =  HappyAbsSyn26
		 (DGZip0 happy_var_2 happy_var_3 (getData happy_var_1)
	)
happyReduction_83 _ _ _  = notHappyAtAll 

happyReduce_84 = happyReduce 5 38 happyReduction_84
happyReduction_84 ((HappyAbsSyn23  happy_var_5) `HappyStk`
	(HappyAbsSyn39  happy_var_4) `HappyStk`
	(HappyAbsSyn23  happy_var_3) `HappyStk`
	(HappyAbsSyn23  happy_var_2) `HappyStk`
	(HappyTerminal happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn26
		 (DGIter0 happy_var_2 happy_var_3 happy_var_4 happy_var_5 (getData happy_var_1)
	) `HappyStk` happyRest

happyReduce_85 = happySpecReduce_1  39 happyReduction_85
happyReduction_85 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn39
		 (DTermF0 (getData happy_var_1)
	)
happyReduction_85 _  = notHappyAtAll 

happyReduce_86 = happyReduce 4 39 happyReduction_86
happyReduction_86 (_ `HappyStk`
	(HappyAbsSyn26  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyTerminal happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn39
		 (DTermI0 happy_var_3 (getData happy_var_1)
	) `HappyStk` happyRest

happyReduce_87 = happyReduce 4 39 happyReduction_87
happyReduction_87 (_ `HappyStk`
	(HappyAbsSyn26  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyTerminal happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn39
		 (DTermU0 happy_var_3 (getData happy_var_1)
	) `HappyStk` happyRest

happyReduce_88 = happyReduce 4 39 happyReduction_88
happyReduction_88 (_ `HappyStk`
	(HappyAbsSyn26  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyTerminal happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn39
		 (DTermU0 (DFunAp0 (DFun "not" (getData happy_var_1)) [happy_var_3] (getData happy_var_1)) (getData happy_var_1)
	) `HappyStk` happyRest

happyReduce_89 = happySpecReduce_3  39 happyReduction_89
happyReduction_89 _
	(HappyAbsSyn39  happy_var_2)
	_
	 =  HappyAbsSyn39
		 (happy_var_2
	)
happyReduction_89 _ _ _  = notHappyAtAll 

happyReduce_90 = happyMonadReduce 6 40 happyReduction_90
happyReduction_90 (_ `HappyStk`
	(HappyAbsSyn26  happy_var_5) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn23  happy_var_3) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	happyRest) tk
	 = happyThen ((( mustbe happy_var_3 "g" >> return happy_var_5))
	) (\r -> happyReturn (HappyAbsSyn26 r))

happyReduce_91 = happySpecReduce_1  41 happyReduction_91
happyReduction_91 (HappyAbsSyn47  happy_var_1)
	 =  HappyAbsSyn26
		 (DCExp0 happy_var_1 (getData happy_var_1)
	)
happyReduction_91 _  = notHappyAtAll 

happyReduce_92 = happySpecReduce_1  41 happyReduction_92
happyReduction_92 (HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn26
		 (DVExp0 happy_var_1 (getData happy_var_1)
	)
happyReduction_92 _  = notHappyAtAll 

happyReduce_93 = happySpecReduce_3  41 happyReduction_93
happyReduction_93 _
	(HappyAbsSyn26  happy_var_2)
	_
	 =  HappyAbsSyn26
		 (happy_var_2
	)
happyReduction_93 _ _ _  = notHappyAtAll 

happyReduce_94 = happyReduce 6 41 happyReduction_94
happyReduction_94 (_ `HappyStk`
	(HappyAbsSyn42  happy_var_5) `HappyStk`
	(HappyAbsSyn26  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn26  happy_var_2) `HappyStk`
	(HappyTerminal happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn26
		 (DTuple0 (happy_var_2:happy_var_4:reverse happy_var_5) (getData happy_var_1)
	) `HappyStk` happyRest

happyReduce_95 = happySpecReduce_1  42 happyReduction_95
happyReduction_95 (HappyAbsSyn26  happy_var_1)
	 =  HappyAbsSyn42
		 ([happy_var_1]
	)
happyReduction_95 _  = notHappyAtAll 

happyReduce_96 = happySpecReduce_2  42 happyReduction_96
happyReduction_96 (HappyAbsSyn26  happy_var_2)
	(HappyAbsSyn42  happy_var_1)
	 =  HappyAbsSyn42
		 (happy_var_2:happy_var_1
	)
happyReduction_96 _ _  = notHappyAtAll 

happyReduce_97 = happySpecReduce_0  43 happyReduction_97
happyReduction_97  =  HappyAbsSyn42
		 ([]
	)

happyReduce_98 = happySpecReduce_3  43 happyReduction_98
happyReduction_98 (HappyAbsSyn26  happy_var_3)
	_
	(HappyAbsSyn42  happy_var_1)
	 =  HappyAbsSyn42
		 (happy_var_3:happy_var_1
	)
happyReduction_98 _ _ _  = notHappyAtAll 

happyReduce_99 = happyMonadReduce 8 44 happyReduction_99
happyReduction_99 ((HappyAbsSyn23  happy_var_8) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn23  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn23  happy_var_2) `HappyStk`
	(HappyTerminal happy_var_1) `HappyStk`
	happyRest) tk
	 = happyThen ((( mustbe happy_var_2 "e" >> mustbe happy_var_4 "u" >> mustbe happy_var_8 "v" >> return (DGenI (getData happy_var_1))))
	) (\r -> happyReturn (HappyAbsSyn44 r))

happyReduce_100 = happyMonadReduce 8 44 happyReduction_100
happyReduction_100 ((HappyAbsSyn23  happy_var_8) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn23  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn23  happy_var_2) `HappyStk`
	(HappyTerminal happy_var_1) `HappyStk`
	happyRest) tk
	 = happyThen ((( mustbe happy_var_2 "e" >> mustbe happy_var_4 "u" >> mustbe happy_var_8 "v" >> return (DGenO (getData happy_var_1))))
	) (\r -> happyReturn (HappyAbsSyn44 r))

happyReduce_101 = happyMonadReduce 4 44 happyReduction_101
happyReduction_101 ((HappyAbsSyn23  happy_var_4) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn23  happy_var_1) `HappyStk`
	happyRest) tk
	 = happyThen ((( mustbe happy_var_1 "u" >> mustbe happy_var_4 "v" >> return (DGenG (getData happy_var_1))))
	) (\r -> happyReturn (HappyAbsSyn44 r))

happyReduce_102 = happyMonadReduce 3 44 happyReduction_102
happyReduction_102 ((HappyAbsSyn23  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn23  happy_var_1) `HappyStk`
	happyRest) tk
	 = happyThen ((( mustbe happy_var_1 "u" >> mustbe happy_var_3 "v" >> return (DGenG (getData happy_var_1))))
	) (\r -> happyReturn (HappyAbsSyn44 r))

happyReduce_103 = happySpecReduce_1  45 happyReduction_103
happyReduction_103 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn45
		 (DAggMin0 (getData happy_var_1)
	)
happyReduction_103 _  = notHappyAtAll 

happyReduce_104 = happySpecReduce_1  45 happyReduction_104
happyReduction_104 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn45
		 (DAggMax0 (getData happy_var_1)
	)
happyReduction_104 _  = notHappyAtAll 

happyReduce_105 = happySpecReduce_1  45 happyReduction_105
happyReduction_105 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn45
		 (DAggSum0 (getData happy_var_1)
	)
happyReduction_105 _  = notHappyAtAll 

happyReduce_106 = happySpecReduce_1  45 happyReduction_106
happyReduction_106 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn45
		 (DAggProd0 (getData happy_var_1)
	)
happyReduction_106 _  = notHappyAtAll 

happyReduce_107 = happySpecReduce_1  45 happyReduction_107
happyReduction_107 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn45
		 (DAggAnd0 (getData happy_var_1)
	)
happyReduction_107 _  = notHappyAtAll 

happyReduce_108 = happySpecReduce_1  45 happyReduction_108
happyReduction_108 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn45
		 (DAggOr0 (getData happy_var_1)
	)
happyReduction_108 _  = notHappyAtAll 

happyReduce_109 = happySpecReduce_2  45 happyReduction_109
happyReduction_109 (HappyAbsSyn26  happy_var_2)
	(HappyTerminal happy_var_1)
	 =  HappyAbsSyn45
		 (DAggChoice0 happy_var_2 (getData happy_var_1)
	)
happyReduction_109 _ _  = notHappyAtAll 

happyReduce_110 = happySpecReduce_1  46 happyReduction_110
happyReduction_110 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn46
		 (DConstructor (strToken happy_var_1) (getData happy_var_1)
	)
happyReduction_110 _  = notHappyAtAll 

happyReduce_111 = happySpecReduce_1  47 happyReduction_111
happyReduction_111 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn47
		 (DCInt    (readToken happy_var_1) (getData happy_var_1)
	)
happyReduction_111 _  = notHappyAtAll 

happyReduce_112 = happySpecReduce_1  47 happyReduction_112
happyReduction_112 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn47
		 (DCDouble (readTokenF happy_var_1) (getData happy_var_1)
	)
happyReduction_112 _  = notHappyAtAll 

happyReduce_113 = happySpecReduce_1  47 happyReduction_113
happyReduction_113 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn47
		 (DCBool   (readToken happy_var_1) (getData happy_var_1)
	)
happyReduction_113 _  = notHappyAtAll 

happyReduce_114 = happySpecReduce_1  47 happyReduction_114
happyReduction_114 (HappyTerminal happy_var_1)
	 =  HappyAbsSyn47
		 (DCString (strToken happy_var_1) (getData happy_var_1)
	)
happyReduction_114 _  = notHappyAtAll 

happyNewToken action sts stk [] =
	action 115 115 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 {
	(L _ L_CONSTRUCTOR "Int") -> cont 48;
	(L _ L_CONSTRUCTOR "Bool") -> cont 49;
	(L _ L_CONSTRUCTOR "Double") -> cont 50;
	(L _ L_CONSTRUCTOR "String") -> cont 51;
	(L _ L_CONSTRUCTOR "Pair") -> cont 52;
	(L _ L_IDENT "sum") -> cont 53;
	(L _ L_IDENT "prod") -> cont 54;
	(L _ L_IDENT "minimum") -> cont 55;
	(L _ L_IDENT "maximum") -> cont 56;
	(L _ L_IDENT "or") -> cont 57;
	(L _ L_IDENT "and") -> cont 58;
	(L _ L_IDENT "random") -> cont 59;
	(L _ L_IDENT "fregel") -> cont 60;
	(L _ L_IDENT "gmap") -> cont 61;
	(L _ L_IDENT "gzip") -> cont 62;
	(L _ L_IDENT "giter") -> cont 63;
	(L _ L_CONSTRUCTOR "Fix") -> cont 64;
	(L _ L_CONSTRUCTOR "Iter") -> cont 65;
	(L _ L_CONSTRUCTOR "Until") -> cont 66;
	(L _ L_CONSTRUCTOR "While") -> cont 67;
	(L _ L_DATA _) -> cont 68;
	(L _ L_DERIVING _) -> cont 69;
	(L _ L_LET _) -> cont 70;
	(L _ L_IN _) -> cont 71;
	(L _ L_IF _) -> cont 72;
	(L _ L_THEN _) -> cont 73;
	(L _ L_ELSE _) -> cont 74;
	(L _ L_CURR _) -> cont 75;
	(L _ L_PREV _) -> cont 76;
	(L _ L_VAL _) -> cont 77;
	(L _ L_IS _) -> cont 78;
	(L _ L_RS _) -> cont 79;
	(L _ L_GOF _) -> cont 80;
	(L _ L_EQUAL _) -> cont 81;
	(L _ L_DBLCOLON _) -> cont 82;
	(L _ L_COMMA _) -> cont 83;
	(L _ L_SEMICOLON _) -> cont 84;
	(L _ L_BACKSLASH _) -> cont 85;
	(L _ L_RARROW _) -> cont 86;
	(L _ L_LARROW _) -> cont 87;
	(L _ L_DOTHAT _) -> cont 88;
	(L _ L_PIPE _) -> cont 89;
	(L _ L_DBLAND _) -> cont 90;
	(L _ L_DBLOR _) -> cont 91;
	(L _ L_EQ _) -> cont 92;
	(L _ L_NE _) -> cont 93;
	(L _ L_LT _) -> cont 94;
	(L _ L_LE _) -> cont 95;
	(L _ L_GT _) -> cont 96;
	(L _ L_GE _) -> cont 97;
	(L _ L_PLUS _) -> cont 98;
	(L _ L_MINUS _) -> cont 99;
	(L _ L_AST _) -> cont 100;
	(L _ L_SLASH _) -> cont 101;
	(L _ L_BACKQUOTE _) -> cont 102;
	(L _ L_LPAREN _) -> cont 103;
	(L _ L_RPAREN _) -> cont 104;
	(L _ L_LBRACE _) -> cont 105;
	(L _ L_RBRACE _) -> cont 106;
	(L _ L_LBRACKET _) -> cont 107;
	(L _ L_RBRACKET _) -> cont 108;
	(L _ L_BOOL _) -> cont 109;
	(L _ L_INT _) -> cont 110;
	(L _ L_FLOAT _) -> cont 111;
	(L _ L_STRING _) -> cont 112;
	(L _ L_IDENT _) -> cont 113;
	(L _ L_CONSTRUCTOR _) -> cont 114;
	_ -> happyError' ((tk:tks), [])
	}

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

happyThen :: () => CM a -> (a -> CM b) -> CM b
happyThen = (>>=)
happyReturn :: () => a -> CM a
happyReturn = (return)
happyThen1 m k tks = (>>=) m (\a -> k a tks)
happyReturn1 :: () => a -> b -> CM a
happyReturn1 = \a tks -> (return) a
happyError' :: () => ([(Lexeme)], [String]) -> CM a
happyError' = (\(tokens, _) -> parseError tokens)
fregelparser tks = happySomeParser where
 happySomeParser = happyThen (happyParse action_0 tks) (\x -> case x of {HappyAbsSyn5 z -> happyReturn z; _other -> notHappyAtAll })

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

happySeq = happyDontSeq


-- misc functions

-- extracs the string from a token
strToken :: Lexeme -> String
strToken (L _ _ s) = s

-- reads data from a token
readToken :: Read a => Lexeme -> a
readToken = read . strToken

-- reads data from a token
readTokenF :: Lexeme -> Double
readTokenF = read . correct . strToken
  where correct str =   -- workaround for "0."
          let r = reverse str
          in reverse $ (if head r == '.' then ('0':) else id) r

instance DAdditionalData Lexeme Pos where
  getData (L p t s) = p
  setData p (L _ t s) = L p t s

-- a token must be a specific name
mustbe :: DVar Pos -> String -> CM ()
mustbe (DVar name p) str = if name == str
                            then return ()
                            else error $ "Parse error: variable name must be " ++ str ++ " at " ++ showPosn p
              
parseError :: [Lexeme] -> a
parseError ((L p t s):ts) = error $ "Parse error: " ++ s ++ " at " ++ showPosn p

-- to make negative integral/float literals                                     
isConstNum :: DExpr0 Pos -> Bool
isConstNum (DCExp0 (DCInt _ _) _) = True
isConstNum (DCExp0 (DCDouble _ _) _) = True
isConstNum _ = False

negConst :: DExpr0 Pos -> DExpr0 Pos
negConst (DCExp0 (DCInt i a) b) = (DCExp0 (DCInt (-i) a) b)
negConst (DCExp0 (DCDouble d a) b) = (DCExp0 (DCDouble (-d) a) b)

-- currently, these are meaningless
data Params = Params 
            deriving (Eq, Show)

initParams = Params 

data CompilerState  = CompilerState 

type CM a = State CompilerState a

runCM m ps = runState m (initState ps)
    
initState ps = CompilerState

main = do str <- getContents
          let ast0 = parseString0 str
              ast = map convert0 ast0
          print ast0
          print ast

{- for test use
main = do getContents >>= mapM_ (\file -> check file >>= putStrLn . show) . lines
-- checking function: parse = parse . prettyPrint . parse ? 
check file = 
  do ast <- parseFile file
     print ast
     let pp = foldr (\x y -> x ++ "\n" ++ y) "" (map ppAST0 ast)
     putStrLn pp
     let ast2 = parseString0 pp
     print ast2
     return (map (mapData (\_ -> "")) ast == map (mapData (\_ -> "")) ast2)  --ignore line/pos
-}

--- misc functions to be used by other modules

parseStringExpr0 str = 
      let ts = snd (right (scanner str))
          ast = fst $ runCM (exprparser ts) initParams   
      in ast

parseString0 :: String -> [DProgramSpec0 Pos]
parseString0 str = 
      let ts = snd (right (scanner str))
          ast = fst $ runCM (fregelparser ts) initParams   
      in ast

parseString :: String -> [DProgramSpec String]
parseString str = map (mapData (\_ -> "")) $ map convert0 $ parseString0 str
         
parseFile file =
         do str <- readFile file
            return $ parseString str 
         
processFile file =
  do ast <- parseFile file
     print ast

parseFile' file = 
  do ast <- parseFile file
     return ast

parseFile'' file = 
  do asts <- parseFile file
     return (propRecs asts)
  where propRecs xs =
          let rss = concatMap (\(DProgramSpec rs _ _) -> rs) xs
          in map (\(DProgramSpec _ x a) -> DProgramSpec rss x a) xs

parseString' ss = parseString ss
{-# LINE 1 "templates/GenericTemplate.hs" #-}
{-# LINE 1 "templates/GenericTemplate.hs" #-}
{-# LINE 1 "<built-in>" #-}
{-# LINE 1 "<command-line>" #-}







# 1 "/usr/include/stdc-predef.h" 1 3 4

# 17 "/usr/include/stdc-predef.h" 3 4











































{-# LINE 7 "<command-line>" #-}
{-# LINE 1 "/usr/lib/ghc/include/ghcversion.h" #-}















{-# LINE 7 "<command-line>" #-}
{-# LINE 1 "/tmp/ghc8336_0/ghc_2.h" #-}
































































































































































































{-# LINE 7 "<command-line>" #-}
{-# LINE 1 "templates/GenericTemplate.hs" #-}
-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp 









{-# LINE 43 "templates/GenericTemplate.hs" #-}

data Happy_IntList = HappyCons Int Happy_IntList







{-# LINE 65 "templates/GenericTemplate.hs" #-}

{-# LINE 75 "templates/GenericTemplate.hs" #-}

{-# LINE 84 "templates/GenericTemplate.hs" #-}

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 (1), 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

{-# LINE 137 "templates/GenericTemplate.hs" #-}

{-# LINE 147 "templates/GenericTemplate.hs" #-}
indexShortOffAddr arr off = arr Happy_Data_Array.! off


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






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






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



newtype HappyState b c = HappyState
        (Int ->                    -- token number
         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 - ((1) :: 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 :: 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 - ((1) :: Int)) t

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

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

{-# LINE 267 "templates/GenericTemplate.hs" #-}
happyGoto action j tk st = action j j tk (HappyState action)


-----------------------------------------------------------------------------
-- Error recovery ((1) 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  (1) tk old_st (((HappyState (action))):(sts)) 
                                                (saved_tok `HappyStk` _ `HappyStk` stk) =
--      trace ("discarding state, depth " ++ show (length stk))  $
        action (1) (1) tk (HappyState (action)) 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 = 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 `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.

{-# LINE 333 "templates/GenericTemplate.hs" #-}
{-# 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.