never executed always true always false
    1 {-# OPTIONS_GHC -w #-}
    2 {-# OPTIONS -XMagicHash -XBangPatterns -XTypeSynonymInstances -XFlexibleInstances -cpp #-}
    3 #if __GLASGOW_HASKELL__ >= 710
    4 {-# OPTIONS_GHC -XPartialTypeSignatures #-}
    5 #endif
    6 module Parser.Grammar where
    7 
    8 import Util.SourceLoc as SL
    9 import Parser.Tree
   10 import Parser.Helper
   11 import Lexer (Alex (..), Token (..))
   12 import qualified Data.Array as Happy_Data_Array
   13 import qualified Data.Bits as Bits
   14 import qualified GHC.Exts as Happy_GHC_Exts
   15 import Control.Applicative(Applicative(..))
   16 import Control.Monad (ap)
   17 
   18 -- parser produced by Happy Version 1.20.1.1
   19 
   20 newtype HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 = HappyAbsSyn HappyAny
   21 #if __GLASGOW_HASKELL__ >= 607
   22 type HappyAny = Happy_GHC_Exts.Any
   23 #else
   24 type HappyAny = forall a . a
   25 #endif
   26 happyIn4 :: t4 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
   27 happyIn4 x = Happy_GHC_Exts.unsafeCoerce# x
   28 {-# INLINE happyIn4 #-}
   29 happyOut4 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t4
   30 happyOut4 x = Happy_GHC_Exts.unsafeCoerce# x
   31 {-# INLINE happyOut4 #-}
   32 happyIn5 :: t5 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
   33 happyIn5 x = Happy_GHC_Exts.unsafeCoerce# x
   34 {-# INLINE happyIn5 #-}
   35 happyOut5 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t5
   36 happyOut5 x = Happy_GHC_Exts.unsafeCoerce# x
   37 {-# INLINE happyOut5 #-}
   38 happyIn6 :: t6 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
   39 happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x
   40 {-# INLINE happyIn6 #-}
   41 happyOut6 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t6
   42 happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x
   43 {-# INLINE happyOut6 #-}
   44 happyIn7 :: t7 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
   45 happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x
   46 {-# INLINE happyIn7 #-}
   47 happyOut7 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t7
   48 happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x
   49 {-# INLINE happyOut7 #-}
   50 happyIn8 :: t8 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
   51 happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x
   52 {-# INLINE happyIn8 #-}
   53 happyOut8 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t8
   54 happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x
   55 {-# INLINE happyOut8 #-}
   56 happyIn9 :: t9 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
   57 happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x
   58 {-# INLINE happyIn9 #-}
   59 happyOut9 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t9
   60 happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x
   61 {-# INLINE happyOut9 #-}
   62 happyIn10 :: t10 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
   63 happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x
   64 {-# INLINE happyIn10 #-}
   65 happyOut10 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t10
   66 happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x
   67 {-# INLINE happyOut10 #-}
   68 happyIn11 :: t11 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
   69 happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x
   70 {-# INLINE happyIn11 #-}
   71 happyOut11 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t11
   72 happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x
   73 {-# INLINE happyOut11 #-}
   74 happyIn12 :: t12 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
   75 happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x
   76 {-# INLINE happyIn12 #-}
   77 happyOut12 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t12
   78 happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x
   79 {-# INLINE happyOut12 #-}
   80 happyIn13 :: t13 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
   81 happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x
   82 {-# INLINE happyIn13 #-}
   83 happyOut13 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t13
   84 happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x
   85 {-# INLINE happyOut13 #-}
   86 happyIn14 :: t14 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
   87 happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x
   88 {-# INLINE happyIn14 #-}
   89 happyOut14 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t14
   90 happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x
   91 {-# INLINE happyOut14 #-}
   92 happyIn15 :: t15 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
   93 happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x
   94 {-# INLINE happyIn15 #-}
   95 happyOut15 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t15
   96 happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x
   97 {-# INLINE happyOut15 #-}
   98 happyIn16 :: t16 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
   99 happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x
  100 {-# INLINE happyIn16 #-}
  101 happyOut16 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t16
  102 happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x
  103 {-# INLINE happyOut16 #-}
  104 happyIn17 :: t17 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
  105 happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x
  106 {-# INLINE happyIn17 #-}
  107 happyOut17 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t17
  108 happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x
  109 {-# INLINE happyOut17 #-}
  110 happyIn18 :: t18 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
  111 happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x
  112 {-# INLINE happyIn18 #-}
  113 happyOut18 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t18
  114 happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x
  115 {-# INLINE happyOut18 #-}
  116 happyIn19 :: t19 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
  117 happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x
  118 {-# INLINE happyIn19 #-}
  119 happyOut19 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t19
  120 happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x
  121 {-# INLINE happyOut19 #-}
  122 happyIn20 :: t20 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
  123 happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x
  124 {-# INLINE happyIn20 #-}
  125 happyOut20 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t20
  126 happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x
  127 {-# INLINE happyOut20 #-}
  128 happyIn21 :: t21 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
  129 happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x
  130 {-# INLINE happyIn21 #-}
  131 happyOut21 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t21
  132 happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x
  133 {-# INLINE happyOut21 #-}
  134 happyIn22 :: t22 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
  135 happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x
  136 {-# INLINE happyIn22 #-}
  137 happyOut22 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t22
  138 happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x
  139 {-# INLINE happyOut22 #-}
  140 happyIn23 :: t23 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
  141 happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x
  142 {-# INLINE happyIn23 #-}
  143 happyOut23 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t23
  144 happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x
  145 {-# INLINE happyOut23 #-}
  146 happyIn24 :: t24 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
  147 happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x
  148 {-# INLINE happyIn24 #-}
  149 happyOut24 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t24
  150 happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x
  151 {-# INLINE happyOut24 #-}
  152 happyIn25 :: t25 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
  153 happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x
  154 {-# INLINE happyIn25 #-}
  155 happyOut25 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t25
  156 happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x
  157 {-# INLINE happyOut25 #-}
  158 happyIn26 :: t26 -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
  159 happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x
  160 {-# INLINE happyIn26 #-}
  161 happyOut26 :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> t26
  162 happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x
  163 {-# INLINE happyOut26 #-}
  164 happyInTok :: (SL.Located Token) -> (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26)
  165 happyInTok x = Happy_GHC_Exts.unsafeCoerce# x
  166 {-# INLINE happyInTok #-}
  167 happyOutTok :: (HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26) -> (SL.Located Token)
  168 happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x
  169 {-# INLINE happyOutTok #-}
  170 
  171 
  172 happyExpList :: HappyAddr
  173 happyExpList = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x01\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x18\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x00\x20\x08\x00\xfa\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x18\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x6c\x28\x01\x20\x01\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x80\xff\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x86\x10\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x21\x04\x80\x04\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x6c\x08\x01\x20\x01\x00\x00\x00\x00\x36\x84\x00\x90\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x80\x0d\x21\x00\x24\x00\x00\x00\x00\xc0\x86\x10\x00\x12\x00\x00\x00\x00\xe0\xc3\x08\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x6c\x08\x01\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x80\x0d\x21\x00\x24\x00\x00\x00\x00\xc0\x86\x10\x00\x12\x00\x00\x00\x00\x60\x43\x08\x00\x09\x00\x00\x00\x00\xb0\x21\x04\x80\x04\x00\x00\x00\x00\xd8\x10\x02\x40\x02\x00\x00\x00\x00\x6c\x08\x01\x20\x01\x00\x00\x00\x00\x36\x84\x00\x90\x00\x00\x00\x00\x00\x1b\x42\x00\x48\x00\x00\x00\x00\x80\x0d\x21\x00\x24\x00\x00\x00\x00\xc0\x86\x10\x00\x12\x00\x00\x00\x00\x60\x43\x08\x00\x09\x00\x00\x00\x00\xb0\x21\x04\x80\x04\x00\x00\x00\x00\xd8\x10\x02\x40\x02\x00\x00\x00\x00\x6c\x08\x01\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xff\x01\x00\x00\x00\x00\x00\x00\xf0\x7f\x00\x00\x00\x00\x00\x00\x00\xf8\x0f\x00\x00\x00\x00\x00\x00\x00\xfc\x07\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x80\x0f\x00\x00\x00\x00\x00\x00\x00\xc0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x80\x00\x00\xff\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x80\x0d\x21\x00\x24\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x10\x02\x40\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x43\x08\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x10\x02\x40\x02\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x80\x01\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
  174 
  175 {-# NOINLINE happyExpListPerState #-}
  176 happyExpListPerState st =
  177     token_strs_expected
  178   where token_strs = ["error","%dummy","%start_parseInternal","Program","ImportDecls","ImportDecl","FieldDecls","FieldDecl","FieldList","FieldElem","MethodDecls","MethodDecl","ArgumentList","Argument","Block","Statements","Statement","CounterUpdate","Location","AssignExpr","AssignOp","MethodCall","ImportArgs","ImportArg","Expr","Expr1","id","intLiteral","stringLiteral","boolLiteral","charLiteral","'{'","'}'","'['","']'","'('","')'","';'","'\\:'","','","'!'","'?'","import","int","bool","void","if","else","for","while","return","break","continue","len","'='","'+'","'-'","'*'","'/'","'%'","'<'","'<='","'>'","'>='","'=='","'!='","'&&'","'||'","incrementOp","compoundAssignOp","%eof"]
  179         bit_start = st Prelude.* 71
  180         bit_end = (st Prelude.+ 1) Prelude.* 71
  181         read_bit = readArrayBit happyExpList
  182         bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1]
  183         bits_indexed = Prelude.zip bits [0..70]
  184         token_strs_expected = Prelude.concatMap f bits_indexed
  185         f (Prelude.False, _) = []
  186         f (Prelude.True, nr) = [token_strs Prelude.!! nr]
  187 
  188 happyActOffsets :: HappyAddr
  189 happyActOffsets = HappyA# "\x00\x00\x00\x00\x03\x00\xeb\xff\x00\x00\xf3\x00\x1d\x00\x1c\x00\x00\x00\x00\x00\xf6\x00\x33\x00\x39\x00\x3f\x00\x3c\x00\x6f\x00\x00\x00\x06\x01\x03\x01\x0a\x01\x00\x00\x49\x00\x6a\x00\x00\x00\xa3\x00\xa6\x00\xb5\x00\xf6\xff\x00\x00\xb9\x00\x08\x00\x00\x00\x14\x00\xff\xff\x00\x00\xbe\x00\xc0\x00\xf7\x00\x5e\x00\xd4\x00\x00\x00\xdc\x00\x5f\x00\xe8\x00\x0f\x01\x00\x00\x00\x00\x00\x00\x17\x01\x04\x01\x00\x00\x17\x01\x00\x00\x00\x00\x00\x00\x17\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x67\x00\x34\x01\x34\x01\x00\x00\xea\xff\x1a\x01\x0b\x01\x00\x00\x2e\x01\x2f\x01\x30\x01\x0d\x00\x31\x01\x32\x01\x00\x00\x00\x00\x00\x00\x00\x00\x33\x01\x3d\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x2c\x00\x36\x01\x2c\x00\x2c\x00\x3a\x01\x2c\x00\x2c\x00\x01\x00\x00\x00\x35\x01\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x01\x38\x01\x27\x01\x3b\x01\x00\x00\x44\x01\x00\x00\x3c\x01\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x00\x00\x51\x00\x65\x00\x70\x00\x70\x00\x7b\x00\x7b\x00\x7b\x00\x7b\x00\x00\x00\x00\x00\x00\x00\xeb\x00\xeb\x00\x30\x00\x00\x00\x3d\x01\x43\x01\x2c\x00\x43\x01\x00\x00\x00\x00\x20\x00\x00\x00\x37\x01\x3e\x01\x00\x00\x00\x00\x2c\x00\x00\x00\x2c\x00\x45\x01\x00\x00\x40\x01\x4d\x01\x46\x01\xea\xff\x47\x01\x00\x00\x4a\x01\x00\x00\x00\x00"#
  190 
  191 happyGotoOffsets :: HappyAddr
  192 happyGotoOffsets = HappyA# "\x1b\x01\x51\x01\x1c\x01\x00\x00\x00\x00\xfa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x01\x1d\x01\x1f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x01\x00\x00\x4e\x01\x20\x01\x00\x00\x22\x01\x00\x00\x00\x00\x48\x01\x00\x00\x00\x00\x00\x00\x4b\x01\x00\x00\x00\x00\x00\x00\x4c\x01\x00\x00\x00\x00\x00\x00\x52\x01\x4f\x01\x53\x01\x00\x00\x50\x01\x00\x00\x00\x00\x00\x00\x54\x01\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x3a\x00\x28\x01\x2a\x01\x00\x00\x21\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\xbc\x00\x00\x00\xbd\x00\x9d\x00\x00\x00\x9f\x00\xa7\x00\x2f\x00\x00\x00\x00\x00\xa9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x00\xc6\x00\xc7\x00\xcf\x00\xd0\x00\xd1\x00\xd9\x00\xda\x00\xdb\x00\xe3\x00\xe4\x00\xe5\x00\xed\x00\xee\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x01\xb1\x00\x56\x01\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\xbb\x00\x57\x01\x00\x00\x00\x00\x25\x01\x00\x00\x26\x01\x00\x00\x00\x00\x58\x01\x00\x00\x00\x00"#
  193 
  194 happyAdjustOffset :: Happy_GHC_Exts.Int# -> Happy_GHC_Exts.Int#
  195 happyAdjustOffset off = off
  196 
  197 happyDefActions :: HappyAddr
  198 happyDefActions = HappyA# "\xfd\xff\x00\x00\xfa\xff\x00\x00\xfc\xff\xf2\xff\x00\x00\x00\x00\xf9\xff\xfe\xff\xf2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xff\xf4\xff\x00\x00\xf4\xff\xf1\xff\x00\x00\x00\x00\xfb\xff\x00\x00\x00\x00\x00\x00\x00\x00\xf8\xff\x00\x00\x00\x00\xf7\xff\x00\x00\x00\x00\xea\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\xff\xf4\xff\x00\x00\x00\x00\x00\x00\xf3\xff\xed\xff\xfa\xff\x00\x00\x00\x00\xec\xff\x00\x00\xe7\xff\xe8\xff\xeb\xff\x00\x00\xee\xff\xef\xff\xe9\xff\xf0\xff\xe5\xff\x00\x00\x00\x00\x00\x00\xe4\xff\x00\x00\x00\x00\xd8\xff\xe6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\xff\xdb\xff\xca\xff\xc9\xff\x00\x00\xcc\xff\xc8\xff\xc6\xff\xc7\xff\x00\x00\xdd\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\xff\x00\x00\x00\x00\xd4\xff\xd5\xff\xd3\xff\xd6\xff\xe3\xff\x00\x00\xd0\xff\xce\xff\xcd\xff\xd1\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb7\xff\x00\x00\xb6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\xff\xb8\xff\xb9\xff\xba\xff\xbb\xff\xbc\xff\xbd\xff\xbe\xff\xbf\xff\xc0\xff\xc1\xff\xc2\xff\xc3\xff\xc4\xff\x00\x00\xb5\xff\x00\x00\x00\x00\x00\x00\x00\x00\xd7\xff\xd2\xff\x00\x00\xcf\xff\xe1\xff\x00\x00\xde\xff\xc5\xff\x00\x00\xcb\xff\x00\x00\x00\x00\xe0\xff\x00\x00\x00\x00\x00\x00\x00\x00\xd8\xff\xd9\xff\x00\x00\xdf\xff"#
  199 
  200 happyCheck :: HappyAddr
  201 happyCheck = HappyA# "\xff\xff\x0b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x1d\x00\x12\x00\x13\x00\x0b\x00\x0a\x00\x0b\x00\x0e\x00\x01\x00\x02\x00\x0f\x00\x04\x00\x05\x00\x0b\x00\x11\x00\x2b\x00\x2c\x00\x0a\x00\x2d\x00\x0c\x00\x12\x00\x13\x00\x0f\x00\x1c\x00\x01\x00\x0b\x00\x1f\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x12\x00\x13\x00\x0c\x00\x1c\x00\x0a\x00\x04\x00\x1f\x00\x01\x00\x02\x00\x0f\x00\x04\x00\x05\x00\x0f\x00\x0c\x00\x01\x00\x12\x00\x0a\x00\x14\x00\x15\x00\x16\x00\x01\x00\x0f\x00\x1c\x00\x0d\x00\x0f\x00\x1f\x00\x01\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0a\x00\x0d\x00\x1c\x00\x0f\x00\x01\x00\x1f\x00\x12\x00\x10\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x01\x00\x0b\x00\x0b\x00\x01\x00\x0e\x00\x0e\x00\x07\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x0c\x00\x15\x00\x0e\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x0f\x00\x0b\x00\x0f\x00\x12\x00\x0e\x00\x12\x00\x15\x00\x16\x00\x15\x00\x16\x00\x0f\x00\x0a\x00\x0f\x00\x12\x00\x0a\x00\x12\x00\x15\x00\x16\x00\x15\x00\x16\x00\x0f\x00\x02\x00\x0f\x00\x12\x00\x01\x00\x12\x00\x15\x00\x16\x00\x15\x00\x16\x00\x0f\x00\x01\x00\x0f\x00\x12\x00\x06\x00\x12\x00\x15\x00\x16\x00\x15\x00\x16\x00\x0f\x00\x0f\x00\x0f\x00\x12\x00\x12\x00\x12\x00\x15\x00\x16\x00\x16\x00\x16\x00\x0f\x00\x0f\x00\x0f\x00\x12\x00\x12\x00\x12\x00\x06\x00\x16\x00\x16\x00\x16\x00\x0f\x00\x0f\x00\x0f\x00\x12\x00\x12\x00\x12\x00\x08\x00\x16\x00\x16\x00\x16\x00\x0f\x00\x0f\x00\x0f\x00\x12\x00\x12\x00\x12\x00\x06\x00\x16\x00\x16\x00\x16\x00\x0f\x00\x0f\x00\x0f\x00\x12\x00\x12\x00\x12\x00\x01\x00\x16\x00\x16\x00\x16\x00\x0f\x00\x0f\x00\x04\x00\x12\x00\x12\x00\x07\x00\x08\x00\x16\x00\x16\x00\x12\x00\x13\x00\x14\x00\x12\x00\x13\x00\x14\x00\x20\x00\x21\x00\x22\x00\x08\x00\x0c\x00\x0a\x00\x0e\x00\x08\x00\x08\x00\x0a\x00\x0a\x00\x12\x00\x13\x00\x09\x00\x12\x00\x13\x00\x00\x00\x01\x00\x06\x00\x02\x00\x03\x00\x07\x00\x08\x00\x05\x00\x06\x00\x05\x00\x06\x00\x0c\x00\x09\x00\x0a\x00\x09\x00\x0a\x00\x09\x00\x0a\x00\x05\x00\x06\x00\x05\x00\x06\x00\x10\x00\x11\x00\x0e\x00\x0f\x00\x01\x00\x10\x00\x11\x00\x0a\x00\x0a\x00\x0a\x00\x01\x00\xff\xff\x0c\x00\x0c\x00\x0c\x00\x0a\x00\x0c\x00\x09\x00\x0b\x00\x1d\x00\x01\x00\x0b\x00\x0b\x00\x0b\x00\x06\x00\x0c\x00\x06\x00\x0c\x00\x16\x00\x01\x00\x08\x00\x06\x00\x0b\x00\x01\x00\x0b\x00\x06\x00\x03\x00\x0b\x00\x0b\x00\xff\xff\xff\xff\x0b\x00\x0b\x00\xff\xff\x0a\x00\xff\xff\x0b\x00\x0b\x00\x0b\x00\x0b\x00\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
  202 
  203 happyTable :: HappyAddr
  204 happyTable = HappyA# "\x00\x00\x2c\x00\x44\x00\x52\x00\x6a\x00\x53\x00\x54\x00\x62\x00\x25\x00\x26\x00\x38\x00\x55\x00\x6b\x00\x32\x00\x44\x00\x52\x00\x57\x00\x53\x00\x54\x00\x28\x00\x07\x00\x63\x00\x64\x00\x55\x00\xff\xff\x56\x00\x25\x00\x26\x00\x57\x00\x58\x00\x08\x00\x24\x00\x59\x00\x44\x00\x52\x00\x6a\x00\x53\x00\x54\x00\x25\x00\x26\x00\x18\x00\x58\x00\x55\x00\x08\x00\x59\x00\x44\x00\x52\x00\x57\x00\x53\x00\x54\x00\x4d\x00\x3d\x00\x14\x00\x4e\x00\x55\x00\x98\x00\x68\x00\x50\x00\x12\x00\x57\x00\x58\x00\x9e\x00\x4d\x00\x59\x00\x0f\x00\x4e\x00\x66\x00\x67\x00\x68\x00\x50\x00\x21\x00\x40\x00\x58\x00\x41\x00\x1a\x00\x59\x00\x42\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x44\x00\x34\x00\x31\x00\x19\x00\x32\x00\x32\x00\x45\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x20\x00\x46\x00\x1e\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x97\x00\x4d\x00\x4e\x00\x98\x00\x4e\x00\x4f\x00\x50\x00\x72\x00\x50\x00\x4d\x00\x1f\x00\x4d\x00\x4e\x00\x1c\x00\x4e\x00\x6e\x00\x50\x00\x6c\x00\x50\x00\x4d\x00\x2d\x00\x4d\x00\x4e\x00\x2a\x00\x4e\x00\x6b\x00\x50\x00\x64\x00\x50\x00\x4d\x00\x36\x00\x4d\x00\x4e\x00\x30\x00\x4e\x00\x9a\x00\x50\x00\x9e\x00\x50\x00\x4d\x00\x4d\x00\x4d\x00\x4e\x00\x4e\x00\x4e\x00\xa2\x00\x50\x00\x71\x00\x6f\x00\x4d\x00\x4d\x00\x4d\x00\x4e\x00\x4e\x00\x4e\x00\x30\x00\x8f\x00\x8e\x00\x8d\x00\x4d\x00\x4d\x00\x4d\x00\x4e\x00\x4e\x00\x4e\x00\x1b\x00\x8c\x00\x8b\x00\x8a\x00\x4d\x00\x4d\x00\x4d\x00\x4e\x00\x4e\x00\x4e\x00\x30\x00\x89\x00\x88\x00\x87\x00\x4d\x00\x4d\x00\x4d\x00\x4e\x00\x4e\x00\x4e\x00\x35\x00\x86\x00\x85\x00\x84\x00\x4d\x00\x4d\x00\x08\x00\x4e\x00\x4e\x00\x09\x00\x0a\x00\x83\x00\x82\x00\x0c\x00\x0d\x00\x0e\x00\x16\x00\x17\x00\x0e\x00\x77\x00\x78\x00\x79\x00\x1b\x00\x1d\x00\x1f\x00\x1e\x00\x1b\x00\x5d\x00\x1c\x00\x5e\x00\x25\x00\x26\x00\x2e\x00\x3f\x00\x40\x00\x03\x00\x02\x00\x30\x00\x04\x00\x05\x00\x14\x00\x0a\x00\x12\x00\x10\x00\x0f\x00\x10\x00\x5f\x00\x2a\x00\x22\x00\x26\x00\x22\x00\x21\x00\x22\x00\x12\x00\x10\x00\x0f\x00\x10\x00\x5f\x00\x60\x00\xa4\x00\xa5\x00\x2a\x00\xa7\x00\x60\x00\x5c\x00\x5b\x00\x5a\x00\x6e\x00\x00\x00\x4d\x00\x4c\x00\x82\x00\x71\x00\x66\x00\x96\x00\x95\x00\x94\x00\x92\x00\x93\x00\x91\x00\x9d\x00\x30\x00\xa0\x00\x30\x00\xa4\x00\xa1\x00\xa7\x00\x5d\x00\x30\x00\xa9\x00\x02\x00\x36\x00\x28\x00\x3c\x00\x32\x00\x2e\x00\x00\x00\x00\x00\x3b\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x38\x00\x9b\x00\x99\x00\xa1\x00\xa9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
  205 
  206 happyReduceArr = Happy_Data_Array.array (1, 74) [
  207         (1 , happyReduce_1),
  208         (2 , happyReduce_2),
  209         (3 , happyReduce_3),
  210         (4 , happyReduce_4),
  211         (5 , happyReduce_5),
  212         (6 , happyReduce_6),
  213         (7 , happyReduce_7),
  214         (8 , happyReduce_8),
  215         (9 , happyReduce_9),
  216         (10 , happyReduce_10),
  217         (11 , happyReduce_11),
  218         (12 , happyReduce_12),
  219         (13 , happyReduce_13),
  220         (14 , happyReduce_14),
  221         (15 , happyReduce_15),
  222         (16 , happyReduce_16),
  223         (17 , happyReduce_17),
  224         (18 , happyReduce_18),
  225         (19 , happyReduce_19),
  226         (20 , happyReduce_20),
  227         (21 , happyReduce_21),
  228         (22 , happyReduce_22),
  229         (23 , happyReduce_23),
  230         (24 , happyReduce_24),
  231         (25 , happyReduce_25),
  232         (26 , happyReduce_26),
  233         (27 , happyReduce_27),
  234         (28 , happyReduce_28),
  235         (29 , happyReduce_29),
  236         (30 , happyReduce_30),
  237         (31 , happyReduce_31),
  238         (32 , happyReduce_32),
  239         (33 , happyReduce_33),
  240         (34 , happyReduce_34),
  241         (35 , happyReduce_35),
  242         (36 , happyReduce_36),
  243         (37 , happyReduce_37),
  244         (38 , happyReduce_38),
  245         (39 , happyReduce_39),
  246         (40 , happyReduce_40),
  247         (41 , happyReduce_41),
  248         (42 , happyReduce_42),
  249         (43 , happyReduce_43),
  250         (44 , happyReduce_44),
  251         (45 , happyReduce_45),
  252         (46 , happyReduce_46),
  253         (47 , happyReduce_47),
  254         (48 , happyReduce_48),
  255         (49 , happyReduce_49),
  256         (50 , happyReduce_50),
  257         (51 , happyReduce_51),
  258         (52 , happyReduce_52),
  259         (53 , happyReduce_53),
  260         (54 , happyReduce_54),
  261         (55 , happyReduce_55),
  262         (56 , happyReduce_56),
  263         (57 , happyReduce_57),
  264         (58 , happyReduce_58),
  265         (59 , happyReduce_59),
  266         (60 , happyReduce_60),
  267         (61 , happyReduce_61),
  268         (62 , happyReduce_62),
  269         (63 , happyReduce_63),
  270         (64 , happyReduce_64),
  271         (65 , happyReduce_65),
  272         (66 , happyReduce_66),
  273         (67 , happyReduce_67),
  274         (68 , happyReduce_68),
  275         (69 , happyReduce_69),
  276         (70 , happyReduce_70),
  277         (71 , happyReduce_71),
  278         (72 , happyReduce_72),
  279         (73 , happyReduce_73),
  280         (74 , happyReduce_74)
  281         ]
  282 
  283 happy_n_terms = 46 :: Prelude.Int
  284 happy_n_nonterms = 23 :: Prelude.Int
  285 
  286 #if __GLASGOW_HASKELL__ >= 710
  287 happyReduce_1 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  288 #endif
  289 happyReduce_1 = happySpecReduce_3  0# happyReduction_1
  290 happyReduction_1 happy_x_3
  291         happy_x_2
  292         happy_x_1
  293          =  case happyOut5 happy_x_1 of { happy_var_1 -> 
  294         case happyOut7 happy_x_2 of { happy_var_2 -> 
  295         case happyOut11 happy_x_3 of { happy_var_3 -> 
  296         happyIn4
  297                  (Program (reverse happy_var_1) (reverse happy_var_2) happy_var_3
  298         )}}}
  299 
  300 #if __GLASGOW_HASKELL__ >= 710
  301 happyReduce_2 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  302 #endif
  303 happyReduce_2 = happySpecReduce_0  1# happyReduction_2
  304 happyReduction_2  =  happyIn5
  305                  ([]
  306         )
  307 
  308 #if __GLASGOW_HASKELL__ >= 710
  309 happyReduce_3 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  310 #endif
  311 happyReduce_3 = happySpecReduce_2  1# happyReduction_3
  312 happyReduction_3 happy_x_2
  313         happy_x_1
  314          =  case happyOut5 happy_x_1 of { happy_var_1 -> 
  315         case happyOut6 happy_x_2 of { happy_var_2 -> 
  316         happyIn5
  317                  (happy_var_2 : happy_var_1
  318         )}}
  319 
  320 #if __GLASGOW_HASKELL__ >= 710
  321 happyReduce_4 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  322 #endif
  323 happyReduce_4 = happySpecReduce_3  2# happyReduction_4
  324 happyReduction_4 happy_x_3
  325         happy_x_2
  326         happy_x_1
  327          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  328         case happyOutTok happy_x_2 of { happy_var_2 -> 
  329         case happyOutTok happy_x_3 of { happy_var_3 -> 
  330         happyIn6
  331                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ ImportDecl $ getID (unLoc happy_var_2)
  332         )}}}
  333 
  334 #if __GLASGOW_HASKELL__ >= 710
  335 happyReduce_5 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  336 #endif
  337 happyReduce_5 = happySpecReduce_0  3# happyReduction_5
  338 happyReduction_5  =  happyIn7
  339                  ([]
  340         )
  341 
  342 #if __GLASGOW_HASKELL__ >= 710
  343 happyReduce_6 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  344 #endif
  345 happyReduce_6 = happySpecReduce_2  3# happyReduction_6
  346 happyReduction_6 happy_x_2
  347         happy_x_1
  348          =  case happyOut7 happy_x_1 of { happy_var_1 -> 
  349         case happyOut8 happy_x_2 of { happy_var_2 -> 
  350         happyIn7
  351                  (happy_var_2 : happy_var_1
  352         )}}
  353 
  354 #if __GLASGOW_HASKELL__ >= 710
  355 happyReduce_7 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  356 #endif
  357 happyReduce_7 = happySpecReduce_3  4# happyReduction_7
  358 happyReduction_7 happy_x_3
  359         happy_x_2
  360         happy_x_1
  361          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  362         case happyOut9 happy_x_2 of { happy_var_2 -> 
  363         case happyOutTok happy_x_3 of { happy_var_3 -> 
  364         happyIn8
  365                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ FieldDecl IntType (reverse happy_var_2)
  366         )}}}
  367 
  368 #if __GLASGOW_HASKELL__ >= 710
  369 happyReduce_8 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  370 #endif
  371 happyReduce_8 = happySpecReduce_3  4# happyReduction_8
  372 happyReduction_8 happy_x_3
  373         happy_x_2
  374         happy_x_1
  375          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  376         case happyOut9 happy_x_2 of { happy_var_2 -> 
  377         case happyOutTok happy_x_3 of { happy_var_3 -> 
  378         happyIn8
  379                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ FieldDecl BoolType (reverse happy_var_2)
  380         )}}}
  381 
  382 #if __GLASGOW_HASKELL__ >= 710
  383 happyReduce_9 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  384 #endif
  385 happyReduce_9 = happySpecReduce_1  5# happyReduction_9
  386 happyReduction_9 happy_x_1
  387          =  case happyOut10 happy_x_1 of { happy_var_1 -> 
  388         happyIn9
  389                  ([happy_var_1]
  390         )}
  391 
  392 #if __GLASGOW_HASKELL__ >= 710
  393 happyReduce_10 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  394 #endif
  395 happyReduce_10 = happySpecReduce_3  5# happyReduction_10
  396 happyReduction_10 happy_x_3
  397         happy_x_2
  398         happy_x_1
  399          =  case happyOut9 happy_x_1 of { happy_var_1 -> 
  400         case happyOut10 happy_x_3 of { happy_var_3 -> 
  401         happyIn9
  402                  (happy_var_3 : happy_var_1
  403         )}}
  404 
  405 #if __GLASGOW_HASKELL__ >= 710
  406 happyReduce_11 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  407 #endif
  408 happyReduce_11 = happySpecReduce_1  6# happyReduction_11
  409 happyReduction_11 happy_x_1
  410          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  411         happyIn10
  412                  (SL.LocatedAt (getLoc happy_var_1) $ ScalarField $ getID (unLoc happy_var_1)
  413         )}
  414 
  415 #if __GLASGOW_HASKELL__ >= 710
  416 happyReduce_12 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  417 #endif
  418 happyReduce_12 = happyReduce 4# 6# happyReduction_12
  419 happyReduction_12 (happy_x_4 `HappyStk`
  420         happy_x_3 `HappyStk`
  421         happy_x_2 `HappyStk`
  422         happy_x_1 `HappyStk`
  423         happyRest)
  424          = case happyOutTok happy_x_1 of { happy_var_1 -> 
  425         case happyOutTok happy_x_3 of { happy_var_3 -> 
  426         case happyOutTok happy_x_4 of { happy_var_4 -> 
  427         happyIn10
  428                  (SL.LocatedAt (unionOf happy_var_1 happy_var_4) $ VectorField (getID $ unLoc happy_var_1) (getLiteral $ unLoc happy_var_3)
  429         ) `HappyStk` happyRest}}}
  430 
  431 #if __GLASGOW_HASKELL__ >= 710
  432 happyReduce_13 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  433 #endif
  434 happyReduce_13 = happySpecReduce_0  7# happyReduction_13
  435 happyReduction_13  =  happyIn11
  436                  ([]
  437         )
  438 
  439 #if __GLASGOW_HASKELL__ >= 710
  440 happyReduce_14 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  441 #endif
  442 happyReduce_14 = happySpecReduce_2  7# happyReduction_14
  443 happyReduction_14 happy_x_2
  444         happy_x_1
  445          =  case happyOut12 happy_x_1 of { happy_var_1 -> 
  446         case happyOut11 happy_x_2 of { happy_var_2 -> 
  447         happyIn11
  448                  (happy_var_1 : happy_var_2
  449         )}}
  450 
  451 #if __GLASGOW_HASKELL__ >= 710
  452 happyReduce_15 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  453 #endif
  454 happyReduce_15 = happyReduce 6# 8# happyReduction_15
  455 happyReduction_15 (happy_x_6 `HappyStk`
  456         happy_x_5 `HappyStk`
  457         happy_x_4 `HappyStk`
  458         happy_x_3 `HappyStk`
  459         happy_x_2 `HappyStk`
  460         happy_x_1 `HappyStk`
  461         happyRest)
  462          = case happyOutTok happy_x_1 of { happy_var_1 -> 
  463         case happyOutTok happy_x_2 of { happy_var_2 -> 
  464         case happyOut13 happy_x_4 of { happy_var_4 -> 
  465         case happyOut15 happy_x_6 of { happy_var_6 -> 
  466         happyIn12
  467                  (SL.LocatedAt (unionOf happy_var_1 happy_var_6) $ MethodDecl (getID $ unLoc happy_var_2) (Just IntType) (reverse happy_var_4) (unLoc happy_var_6)
  468         ) `HappyStk` happyRest}}}}
  469 
  470 #if __GLASGOW_HASKELL__ >= 710
  471 happyReduce_16 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  472 #endif
  473 happyReduce_16 = happyReduce 6# 8# happyReduction_16
  474 happyReduction_16 (happy_x_6 `HappyStk`
  475         happy_x_5 `HappyStk`
  476         happy_x_4 `HappyStk`
  477         happy_x_3 `HappyStk`
  478         happy_x_2 `HappyStk`
  479         happy_x_1 `HappyStk`
  480         happyRest)
  481          = case happyOutTok happy_x_1 of { happy_var_1 -> 
  482         case happyOutTok happy_x_2 of { happy_var_2 -> 
  483         case happyOut13 happy_x_4 of { happy_var_4 -> 
  484         case happyOut15 happy_x_6 of { happy_var_6 -> 
  485         happyIn12
  486                  (SL.LocatedAt (unionOf happy_var_1 happy_var_6) $ MethodDecl (getID $ unLoc happy_var_2) (Just BoolType) (reverse happy_var_4) (unLoc happy_var_6)
  487         ) `HappyStk` happyRest}}}}
  488 
  489 #if __GLASGOW_HASKELL__ >= 710
  490 happyReduce_17 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  491 #endif
  492 happyReduce_17 = happyReduce 6# 8# happyReduction_17
  493 happyReduction_17 (happy_x_6 `HappyStk`
  494         happy_x_5 `HappyStk`
  495         happy_x_4 `HappyStk`
  496         happy_x_3 `HappyStk`
  497         happy_x_2 `HappyStk`
  498         happy_x_1 `HappyStk`
  499         happyRest)
  500          = case happyOutTok happy_x_1 of { happy_var_1 -> 
  501         case happyOutTok happy_x_2 of { happy_var_2 -> 
  502         case happyOut13 happy_x_4 of { happy_var_4 -> 
  503         case happyOut15 happy_x_6 of { happy_var_6 -> 
  504         happyIn12
  505                  (SL.LocatedAt (unionOf happy_var_1 happy_var_6) $ MethodDecl (getID $ unLoc happy_var_2) Nothing (reverse happy_var_4) (unLoc happy_var_6)
  506         ) `HappyStk` happyRest}}}}
  507 
  508 #if __GLASGOW_HASKELL__ >= 710
  509 happyReduce_18 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  510 #endif
  511 happyReduce_18 = happyReduce 5# 8# happyReduction_18
  512 happyReduction_18 (happy_x_5 `HappyStk`
  513         happy_x_4 `HappyStk`
  514         happy_x_3 `HappyStk`
  515         happy_x_2 `HappyStk`
  516         happy_x_1 `HappyStk`
  517         happyRest)
  518          = case happyOutTok happy_x_1 of { happy_var_1 -> 
  519         case happyOutTok happy_x_2 of { happy_var_2 -> 
  520         case happyOut15 happy_x_5 of { happy_var_5 -> 
  521         happyIn12
  522                  (SL.LocatedAt (unionOf happy_var_1 happy_var_5) $ MethodDecl (getID $ unLoc happy_var_2) (Just IntType) [] (unLoc happy_var_5)
  523         ) `HappyStk` happyRest}}}
  524 
  525 #if __GLASGOW_HASKELL__ >= 710
  526 happyReduce_19 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  527 #endif
  528 happyReduce_19 = happyReduce 5# 8# happyReduction_19
  529 happyReduction_19 (happy_x_5 `HappyStk`
  530         happy_x_4 `HappyStk`
  531         happy_x_3 `HappyStk`
  532         happy_x_2 `HappyStk`
  533         happy_x_1 `HappyStk`
  534         happyRest)
  535          = case happyOutTok happy_x_1 of { happy_var_1 -> 
  536         case happyOutTok happy_x_2 of { happy_var_2 -> 
  537         case happyOut15 happy_x_5 of { happy_var_5 -> 
  538         happyIn12
  539                  (SL.LocatedAt (unionOf happy_var_1 happy_var_5) $ MethodDecl (getID $ unLoc happy_var_2) (Just BoolType) [] (unLoc happy_var_5)
  540         ) `HappyStk` happyRest}}}
  541 
  542 #if __GLASGOW_HASKELL__ >= 710
  543 happyReduce_20 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  544 #endif
  545 happyReduce_20 = happyReduce 5# 8# happyReduction_20
  546 happyReduction_20 (happy_x_5 `HappyStk`
  547         happy_x_4 `HappyStk`
  548         happy_x_3 `HappyStk`
  549         happy_x_2 `HappyStk`
  550         happy_x_1 `HappyStk`
  551         happyRest)
  552          = case happyOutTok happy_x_1 of { happy_var_1 -> 
  553         case happyOutTok happy_x_2 of { happy_var_2 -> 
  554         case happyOut15 happy_x_5 of { happy_var_5 -> 
  555         happyIn12
  556                  (SL.LocatedAt (unionOf happy_var_1 happy_var_5) $ MethodDecl (getID $ unLoc happy_var_2) Nothing [] (unLoc happy_var_5)
  557         ) `HappyStk` happyRest}}}
  558 
  559 #if __GLASGOW_HASKELL__ >= 710
  560 happyReduce_21 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  561 #endif
  562 happyReduce_21 = happySpecReduce_1  9# happyReduction_21
  563 happyReduction_21 happy_x_1
  564          =  case happyOut14 happy_x_1 of { happy_var_1 -> 
  565         happyIn13
  566                  ([happy_var_1]
  567         )}
  568 
  569 #if __GLASGOW_HASKELL__ >= 710
  570 happyReduce_22 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  571 #endif
  572 happyReduce_22 = happySpecReduce_3  9# happyReduction_22
  573 happyReduction_22 happy_x_3
  574         happy_x_2
  575         happy_x_1
  576          =  case happyOut13 happy_x_1 of { happy_var_1 -> 
  577         case happyOut14 happy_x_3 of { happy_var_3 -> 
  578         happyIn13
  579                  (happy_var_3 : happy_var_1
  580         )}}
  581 
  582 #if __GLASGOW_HASKELL__ >= 710
  583 happyReduce_23 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  584 #endif
  585 happyReduce_23 = happySpecReduce_2  10# happyReduction_23
  586 happyReduction_23 happy_x_2
  587         happy_x_1
  588          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  589         case happyOutTok happy_x_2 of { happy_var_2 -> 
  590         happyIn14
  591                  (SL.LocatedAt (unionOf happy_var_1 happy_var_2) $ Argument (getID $ unLoc happy_var_2) IntType
  592         )}}
  593 
  594 #if __GLASGOW_HASKELL__ >= 710
  595 happyReduce_24 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  596 #endif
  597 happyReduce_24 = happySpecReduce_2  10# happyReduction_24
  598 happyReduction_24 happy_x_2
  599         happy_x_1
  600          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  601         case happyOutTok happy_x_2 of { happy_var_2 -> 
  602         happyIn14
  603                  (SL.LocatedAt (unionOf happy_var_1 happy_var_2) $ Argument (getID $ unLoc happy_var_2) BoolType
  604         )}}
  605 
  606 #if __GLASGOW_HASKELL__ >= 710
  607 happyReduce_25 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  608 #endif
  609 happyReduce_25 = happyReduce 4# 11# happyReduction_25
  610 happyReduction_25 (happy_x_4 `HappyStk`
  611         happy_x_3 `HappyStk`
  612         happy_x_2 `HappyStk`
  613         happy_x_1 `HappyStk`
  614         happyRest)
  615          = case happyOutTok happy_x_1 of { happy_var_1 -> 
  616         case happyOut7 happy_x_2 of { happy_var_2 -> 
  617         case happyOut16 happy_x_3 of { happy_var_3 -> 
  618         case happyOutTok happy_x_4 of { happy_var_4 -> 
  619         happyIn15
  620                  (SL.LocatedAt (unionOf happy_var_1 happy_var_4) $ Block happy_var_2 (reverse happy_var_3)
  621         ) `HappyStk` happyRest}}}}
  622 
  623 #if __GLASGOW_HASKELL__ >= 710
  624 happyReduce_26 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  625 #endif
  626 happyReduce_26 = happySpecReduce_0  12# happyReduction_26
  627 happyReduction_26  =  happyIn16
  628                  ([]
  629         )
  630 
  631 #if __GLASGOW_HASKELL__ >= 710
  632 happyReduce_27 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  633 #endif
  634 happyReduce_27 = happySpecReduce_2  12# happyReduction_27
  635 happyReduction_27 happy_x_2
  636         happy_x_1
  637          =  case happyOut16 happy_x_1 of { happy_var_1 -> 
  638         case happyOut17 happy_x_2 of { happy_var_2 -> 
  639         happyIn16
  640                  (happy_var_2 : happy_var_1
  641         )}}
  642 
  643 #if __GLASGOW_HASKELL__ >= 710
  644 happyReduce_28 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  645 #endif
  646 happyReduce_28 = happySpecReduce_3  13# happyReduction_28
  647 happyReduction_28 happy_x_3
  648         happy_x_2
  649         happy_x_1
  650          =  case happyOut19 happy_x_1 of { happy_var_1 -> 
  651         case happyOut20 happy_x_2 of { happy_var_2 -> 
  652         case happyOutTok happy_x_3 of { happy_var_3 -> 
  653         happyIn17
  654                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ AssignStatement (unLoc happy_var_1) (unLoc happy_var_2)
  655         )}}}
  656 
  657 #if __GLASGOW_HASKELL__ >= 710
  658 happyReduce_29 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  659 #endif
  660 happyReduce_29 = happySpecReduce_2  13# happyReduction_29
  661 happyReduction_29 happy_x_2
  662         happy_x_1
  663          =  case happyOut22 happy_x_1 of { happy_var_1 -> 
  664         case happyOutTok happy_x_2 of { happy_var_2 -> 
  665         happyIn17
  666                  (SL.LocatedAt (unionOf happy_var_1 happy_var_2) $ MethodCallStatement (unLoc happy_var_1)
  667         )}}
  668 
  669 #if __GLASGOW_HASKELL__ >= 710
  670 happyReduce_30 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  671 #endif
  672 happyReduce_30 = happyReduce 5# 13# happyReduction_30
  673 happyReduction_30 (happy_x_5 `HappyStk`
  674         happy_x_4 `HappyStk`
  675         happy_x_3 `HappyStk`
  676         happy_x_2 `HappyStk`
  677         happy_x_1 `HappyStk`
  678         happyRest)
  679          = case happyOutTok happy_x_1 of { happy_var_1 -> 
  680         case happyOut25 happy_x_3 of { happy_var_3 -> 
  681         case happyOut15 happy_x_5 of { happy_var_5 -> 
  682         happyIn17
  683                  (SL.LocatedAt (unionOf happy_var_1 happy_var_5) $ IfStatement happy_var_3 (unLoc happy_var_5)
  684         ) `HappyStk` happyRest}}}
  685 
  686 #if __GLASGOW_HASKELL__ >= 710
  687 happyReduce_31 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  688 #endif
  689 happyReduce_31 = happyReduce 7# 13# happyReduction_31
  690 happyReduction_31 (happy_x_7 `HappyStk`
  691         happy_x_6 `HappyStk`
  692         happy_x_5 `HappyStk`
  693         happy_x_4 `HappyStk`
  694         happy_x_3 `HappyStk`
  695         happy_x_2 `HappyStk`
  696         happy_x_1 `HappyStk`
  697         happyRest)
  698          = case happyOutTok happy_x_1 of { happy_var_1 -> 
  699         case happyOut25 happy_x_3 of { happy_var_3 -> 
  700         case happyOut15 happy_x_5 of { happy_var_5 -> 
  701         case happyOut15 happy_x_7 of { happy_var_7 -> 
  702         happyIn17
  703                  (SL.LocatedAt (unionOf happy_var_1 happy_var_7) $ IfElseStatement happy_var_3 (unLoc happy_var_5) (unLoc happy_var_7)
  704         ) `HappyStk` happyRest}}}}
  705 
  706 #if __GLASGOW_HASKELL__ >= 710
  707 happyReduce_32 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  708 #endif
  709 happyReduce_32 = happyReduce 11# 13# happyReduction_32
  710 happyReduction_32 (happy_x_11 `HappyStk`
  711         happy_x_10 `HappyStk`
  712         happy_x_9 `HappyStk`
  713         happy_x_8 `HappyStk`
  714         happy_x_7 `HappyStk`
  715         happy_x_6 `HappyStk`
  716         happy_x_5 `HappyStk`
  717         happy_x_4 `HappyStk`
  718         happy_x_3 `HappyStk`
  719         happy_x_2 `HappyStk`
  720         happy_x_1 `HappyStk`
  721         happyRest)
  722          = case happyOutTok happy_x_1 of { happy_var_1 -> 
  723         case happyOutTok happy_x_3 of { happy_var_3 -> 
  724         case happyOut25 happy_x_5 of { happy_var_5 -> 
  725         case happyOut25 happy_x_7 of { happy_var_7 -> 
  726         case happyOut18 happy_x_9 of { happy_var_9 -> 
  727         case happyOut15 happy_x_11 of { happy_var_11 -> 
  728         happyIn17
  729                  (SL.LocatedAt (unionOf happy_var_1 happy_var_11) $ ForStatement (getID $ unLoc happy_var_3) happy_var_5 happy_var_7 (unLoc happy_var_9) (unLoc happy_var_11)
  730         ) `HappyStk` happyRest}}}}}}
  731 
  732 #if __GLASGOW_HASKELL__ >= 710
  733 happyReduce_33 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  734 #endif
  735 happyReduce_33 = happyReduce 5# 13# happyReduction_33
  736 happyReduction_33 (happy_x_5 `HappyStk`
  737         happy_x_4 `HappyStk`
  738         happy_x_3 `HappyStk`
  739         happy_x_2 `HappyStk`
  740         happy_x_1 `HappyStk`
  741         happyRest)
  742          = case happyOutTok happy_x_1 of { happy_var_1 -> 
  743         case happyOut25 happy_x_3 of { happy_var_3 -> 
  744         case happyOut15 happy_x_5 of { happy_var_5 -> 
  745         happyIn17
  746                  (SL.LocatedAt (unionOf happy_var_1 happy_var_5) $ WhileStatement happy_var_3 (unLoc happy_var_5)
  747         ) `HappyStk` happyRest}}}
  748 
  749 #if __GLASGOW_HASKELL__ >= 710
  750 happyReduce_34 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  751 #endif
  752 happyReduce_34 = happySpecReduce_2  13# happyReduction_34
  753 happyReduction_34 happy_x_2
  754         happy_x_1
  755          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  756         case happyOutTok happy_x_2 of { happy_var_2 -> 
  757         happyIn17
  758                  (SL.LocatedAt (unionOf happy_var_1 happy_var_2) $ ReturnVoidStatement
  759         )}}
  760 
  761 #if __GLASGOW_HASKELL__ >= 710
  762 happyReduce_35 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  763 #endif
  764 happyReduce_35 = happySpecReduce_3  13# happyReduction_35
  765 happyReduction_35 happy_x_3
  766         happy_x_2
  767         happy_x_1
  768          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  769         case happyOut25 happy_x_2 of { happy_var_2 -> 
  770         case happyOutTok happy_x_3 of { happy_var_3 -> 
  771         happyIn17
  772                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ ReturnExprStatement happy_var_2
  773         )}}}
  774 
  775 #if __GLASGOW_HASKELL__ >= 710
  776 happyReduce_36 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  777 #endif
  778 happyReduce_36 = happySpecReduce_2  13# happyReduction_36
  779 happyReduction_36 happy_x_2
  780         happy_x_1
  781          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  782         case happyOutTok happy_x_2 of { happy_var_2 -> 
  783         happyIn17
  784                  (SL.LocatedAt (unionOf happy_var_1 happy_var_2) $ BreakStatement
  785         )}}
  786 
  787 #if __GLASGOW_HASKELL__ >= 710
  788 happyReduce_37 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  789 #endif
  790 happyReduce_37 = happySpecReduce_2  13# happyReduction_37
  791 happyReduction_37 happy_x_2
  792         happy_x_1
  793          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  794         case happyOutTok happy_x_2 of { happy_var_2 -> 
  795         happyIn17
  796                  (SL.LocatedAt (unionOf happy_var_1 happy_var_2) $ ContinueStatement
  797         )}}
  798 
  799 #if __GLASGOW_HASKELL__ >= 710
  800 happyReduce_38 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  801 #endif
  802 happyReduce_38 = happySpecReduce_2  14# happyReduction_38
  803 happyReduction_38 happy_x_2
  804         happy_x_1
  805          =  case happyOut19 happy_x_1 of { happy_var_1 -> 
  806         case happyOut20 happy_x_2 of { happy_var_2 -> 
  807         happyIn18
  808                  (SL.LocatedAt (unionOf happy_var_1 happy_var_2) $ CounterUpdate (unLoc happy_var_1) (unLoc happy_var_2)
  809         )}}
  810 
  811 #if __GLASGOW_HASKELL__ >= 710
  812 happyReduce_39 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  813 #endif
  814 happyReduce_39 = happySpecReduce_1  15# happyReduction_39
  815 happyReduction_39 happy_x_1
  816          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  817         happyIn19
  818                  (SL.LocatedAt (getLoc happy_var_1) $ ScalarLocation (getID $ unLoc happy_var_1)
  819         )}
  820 
  821 #if __GLASGOW_HASKELL__ >= 710
  822 happyReduce_40 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  823 #endif
  824 happyReduce_40 = happyReduce 4# 15# happyReduction_40
  825 happyReduction_40 (happy_x_4 `HappyStk`
  826         happy_x_3 `HappyStk`
  827         happy_x_2 `HappyStk`
  828         happy_x_1 `HappyStk`
  829         happyRest)
  830          = case happyOutTok happy_x_1 of { happy_var_1 -> 
  831         case happyOut25 happy_x_3 of { happy_var_3 -> 
  832         case happyOutTok happy_x_4 of { happy_var_4 -> 
  833         happyIn19
  834                  (SL.LocatedAt (unionOf happy_var_1 happy_var_4) $ VectorLocation (getID $ unLoc happy_var_1) happy_var_3
  835         ) `HappyStk` happyRest}}}
  836 
  837 #if __GLASGOW_HASKELL__ >= 710
  838 happyReduce_41 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  839 #endif
  840 happyReduce_41 = happySpecReduce_2  16# happyReduction_41
  841 happyReduction_41 happy_x_2
  842         happy_x_1
  843          =  case happyOut21 happy_x_1 of { happy_var_1 -> 
  844         case happyOut25 happy_x_2 of { happy_var_2 -> 
  845         happyIn20
  846                  (SL.LocatedAt (unionOf happy_var_1 happy_var_2) $ AssignExpr (unLoc happy_var_1) happy_var_2
  847         )}}
  848 
  849 #if __GLASGOW_HASKELL__ >= 710
  850 happyReduce_42 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  851 #endif
  852 happyReduce_42 = happySpecReduce_1  16# happyReduction_42
  853 happyReduction_42 happy_x_1
  854          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  855         happyIn20
  856                  (SL.LocatedAt (getLoc happy_var_1) $ IncrementExpr (getOp $ unLoc happy_var_1)
  857         )}
  858 
  859 #if __GLASGOW_HASKELL__ >= 710
  860 happyReduce_43 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  861 #endif
  862 happyReduce_43 = happySpecReduce_1  17# happyReduction_43
  863 happyReduction_43 happy_x_1
  864          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  865         happyIn21
  866                  (SL.LocatedAt (getLoc happy_var_1) "="
  867         )}
  868 
  869 #if __GLASGOW_HASKELL__ >= 710
  870 happyReduce_44 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  871 #endif
  872 happyReduce_44 = happySpecReduce_1  17# happyReduction_44
  873 happyReduction_44 happy_x_1
  874          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  875         happyIn21
  876                  (SL.LocatedAt (getLoc happy_var_1) (getOp $ unLoc happy_var_1)
  877         )}
  878 
  879 #if __GLASGOW_HASKELL__ >= 710
  880 happyReduce_45 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  881 #endif
  882 happyReduce_45 = happyReduce 4# 18# happyReduction_45
  883 happyReduction_45 (happy_x_4 `HappyStk`
  884         happy_x_3 `HappyStk`
  885         happy_x_2 `HappyStk`
  886         happy_x_1 `HappyStk`
  887         happyRest)
  888          = case happyOutTok happy_x_1 of { happy_var_1 -> 
  889         case happyOut23 happy_x_3 of { happy_var_3 -> 
  890         case happyOutTok happy_x_4 of { happy_var_4 -> 
  891         happyIn22
  892                  (SL.LocatedAt (unionOf happy_var_1 happy_var_4) $ MethodCall (getID $ unLoc happy_var_1) (reverse happy_var_3)
  893         ) `HappyStk` happyRest}}}
  894 
  895 #if __GLASGOW_HASKELL__ >= 710
  896 happyReduce_46 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  897 #endif
  898 happyReduce_46 = happySpecReduce_3  18# happyReduction_46
  899 happyReduction_46 happy_x_3
  900         happy_x_2
  901         happy_x_1
  902          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  903         case happyOutTok happy_x_3 of { happy_var_3 -> 
  904         happyIn22
  905                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ MethodCall (getID $ unLoc happy_var_1) []
  906         )}}
  907 
  908 #if __GLASGOW_HASKELL__ >= 710
  909 happyReduce_47 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  910 #endif
  911 happyReduce_47 = happySpecReduce_1  19# happyReduction_47
  912 happyReduction_47 happy_x_1
  913          =  case happyOut24 happy_x_1 of { happy_var_1 -> 
  914         happyIn23
  915                  ([happy_var_1]
  916         )}
  917 
  918 #if __GLASGOW_HASKELL__ >= 710
  919 happyReduce_48 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  920 #endif
  921 happyReduce_48 = happySpecReduce_3  19# happyReduction_48
  922 happyReduction_48 happy_x_3
  923         happy_x_2
  924         happy_x_1
  925          =  case happyOut23 happy_x_1 of { happy_var_1 -> 
  926         case happyOut24 happy_x_3 of { happy_var_3 -> 
  927         happyIn23
  928                  (happy_var_3 : happy_var_1
  929         )}}
  930 
  931 #if __GLASGOW_HASKELL__ >= 710
  932 happyReduce_49 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  933 #endif
  934 happyReduce_49 = happySpecReduce_1  20# happyReduction_49
  935 happyReduction_49 happy_x_1
  936          =  case happyOut25 happy_x_1 of { happy_var_1 -> 
  937         happyIn24
  938                  (SL.LocatedAt (getLoc happy_var_1) $ ExprImportArg happy_var_1
  939         )}
  940 
  941 #if __GLASGOW_HASKELL__ >= 710
  942 happyReduce_50 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  943 #endif
  944 happyReduce_50 = happySpecReduce_1  20# happyReduction_50
  945 happyReduction_50 happy_x_1
  946          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
  947         happyIn24
  948                  (SL.LocatedAt (getLoc happy_var_1) $ StringImportArg (getLiteral $ unLoc happy_var_1)
  949         )}
  950 
  951 #if __GLASGOW_HASKELL__ >= 710
  952 happyReduce_51 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  953 #endif
  954 happyReduce_51 = happySpecReduce_1  21# happyReduction_51
  955 happyReduction_51 happy_x_1
  956          =  case happyOut26 happy_x_1 of { happy_var_1 -> 
  957         happyIn25
  958                  (SL.LocatedAt (getLoc happy_var_1) $ unLoc happy_var_1
  959         )}
  960 
  961 #if __GLASGOW_HASKELL__ >= 710
  962 happyReduce_52 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  963 #endif
  964 happyReduce_52 = happyReduce 5# 21# happyReduction_52
  965 happyReduction_52 (happy_x_5 `HappyStk`
  966         happy_x_4 `HappyStk`
  967         happy_x_3 `HappyStk`
  968         happy_x_2 `HappyStk`
  969         happy_x_1 `HappyStk`
  970         happyRest)
  971          = case happyOut26 happy_x_1 of { happy_var_1 -> 
  972         case happyOut26 happy_x_3 of { happy_var_3 -> 
  973         case happyOut25 happy_x_5 of { happy_var_5 -> 
  974         happyIn25
  975                  (SL.LocatedAt (unionOf happy_var_1 happy_var_5) $ ChoiceExpr happy_var_1 happy_var_3 happy_var_5
  976         ) `HappyStk` happyRest}}}
  977 
  978 #if __GLASGOW_HASKELL__ >= 710
  979 happyReduce_53 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  980 #endif
  981 happyReduce_53 = happySpecReduce_1  22# happyReduction_53
  982 happyReduction_53 happy_x_1
  983          =  case happyOut19 happy_x_1 of { happy_var_1 -> 
  984         happyIn26
  985                  (SL.LocatedAt (getLoc happy_var_1) $ LocationExpr (unLoc happy_var_1)
  986         )}
  987 
  988 #if __GLASGOW_HASKELL__ >= 710
  989 happyReduce_54 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
  990 #endif
  991 happyReduce_54 = happySpecReduce_1  22# happyReduction_54
  992 happyReduction_54 happy_x_1
  993          =  case happyOut22 happy_x_1 of { happy_var_1 -> 
  994         happyIn26
  995                  (SL.LocatedAt (getLoc happy_var_1) $ MethodCallExpr (unLoc happy_var_1)
  996         )}
  997 
  998 #if __GLASGOW_HASKELL__ >= 710
  999 happyReduce_55 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1000 #endif
 1001 happyReduce_55 = happySpecReduce_1  22# happyReduction_55
 1002 happyReduction_55 happy_x_1
 1003          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 1004         happyIn26
 1005                  (SL.LocatedAt (getLoc happy_var_1) $ IntLiteralExpr (getLiteral $ unLoc happy_var_1)
 1006         )}
 1007 
 1008 #if __GLASGOW_HASKELL__ >= 710
 1009 happyReduce_56 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1010 #endif
 1011 happyReduce_56 = happySpecReduce_1  22# happyReduction_56
 1012 happyReduction_56 happy_x_1
 1013          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 1014         happyIn26
 1015                  (SL.LocatedAt (getLoc happy_var_1) $ CharLiteralExpr (getLiteral $ unLoc happy_var_1)
 1016         )}
 1017 
 1018 #if __GLASGOW_HASKELL__ >= 710
 1019 happyReduce_57 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1020 #endif
 1021 happyReduce_57 = happySpecReduce_1  22# happyReduction_57
 1022 happyReduction_57 happy_x_1
 1023          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 1024         happyIn26
 1025                  (SL.LocatedAt (getLoc happy_var_1) $ BoolLiteralExpr (getLiteral $ unLoc happy_var_1)
 1026         )}
 1027 
 1028 #if __GLASGOW_HASKELL__ >= 710
 1029 happyReduce_58 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1030 #endif
 1031 happyReduce_58 = happyReduce 4# 22# happyReduction_58
 1032 happyReduction_58 (happy_x_4 `HappyStk`
 1033         happy_x_3 `HappyStk`
 1034         happy_x_2 `HappyStk`
 1035         happy_x_1 `HappyStk`
 1036         happyRest)
 1037          = case happyOutTok happy_x_1 of { happy_var_1 -> 
 1038         case happyOutTok happy_x_3 of { happy_var_3 -> 
 1039         case happyOutTok happy_x_4 of { happy_var_4 -> 
 1040         happyIn26
 1041                  (SL.LocatedAt (unionOf happy_var_1 happy_var_4) $ LenExpr (getID $ unLoc happy_var_3)
 1042         ) `HappyStk` happyRest}}}
 1043 
 1044 #if __GLASGOW_HASKELL__ >= 710
 1045 happyReduce_59 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1046 #endif
 1047 happyReduce_59 = happySpecReduce_3  22# happyReduction_59
 1048 happyReduction_59 happy_x_3
 1049         happy_x_2
 1050         happy_x_1
 1051          =  case happyOut26 happy_x_1 of { happy_var_1 -> 
 1052         case happyOut26 happy_x_3 of { happy_var_3 -> 
 1053         happyIn26
 1054                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ ArithOpExpr "+" happy_var_1 happy_var_3
 1055         )}}
 1056 
 1057 #if __GLASGOW_HASKELL__ >= 710
 1058 happyReduce_60 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1059 #endif
 1060 happyReduce_60 = happySpecReduce_3  22# happyReduction_60
 1061 happyReduction_60 happy_x_3
 1062         happy_x_2
 1063         happy_x_1
 1064          =  case happyOut26 happy_x_1 of { happy_var_1 -> 
 1065         case happyOut26 happy_x_3 of { happy_var_3 -> 
 1066         happyIn26
 1067                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ ArithOpExpr "-" happy_var_1 happy_var_3
 1068         )}}
 1069 
 1070 #if __GLASGOW_HASKELL__ >= 710
 1071 happyReduce_61 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1072 #endif
 1073 happyReduce_61 = happySpecReduce_3  22# happyReduction_61
 1074 happyReduction_61 happy_x_3
 1075         happy_x_2
 1076         happy_x_1
 1077          =  case happyOut26 happy_x_1 of { happy_var_1 -> 
 1078         case happyOut26 happy_x_3 of { happy_var_3 -> 
 1079         happyIn26
 1080                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ ArithOpExpr "*" happy_var_1 happy_var_3
 1081         )}}
 1082 
 1083 #if __GLASGOW_HASKELL__ >= 710
 1084 happyReduce_62 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1085 #endif
 1086 happyReduce_62 = happySpecReduce_3  22# happyReduction_62
 1087 happyReduction_62 happy_x_3
 1088         happy_x_2
 1089         happy_x_1
 1090          =  case happyOut26 happy_x_1 of { happy_var_1 -> 
 1091         case happyOut26 happy_x_3 of { happy_var_3 -> 
 1092         happyIn26
 1093                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ ArithOpExpr "/" happy_var_1 happy_var_3
 1094         )}}
 1095 
 1096 #if __GLASGOW_HASKELL__ >= 710
 1097 happyReduce_63 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1098 #endif
 1099 happyReduce_63 = happySpecReduce_3  22# happyReduction_63
 1100 happyReduction_63 happy_x_3
 1101         happy_x_2
 1102         happy_x_1
 1103          =  case happyOut26 happy_x_1 of { happy_var_1 -> 
 1104         case happyOut26 happy_x_3 of { happy_var_3 -> 
 1105         happyIn26
 1106                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ ArithOpExpr "%" happy_var_1 happy_var_3
 1107         )}}
 1108 
 1109 #if __GLASGOW_HASKELL__ >= 710
 1110 happyReduce_64 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1111 #endif
 1112 happyReduce_64 = happySpecReduce_3  22# happyReduction_64
 1113 happyReduction_64 happy_x_3
 1114         happy_x_2
 1115         happy_x_1
 1116          =  case happyOut26 happy_x_1 of { happy_var_1 -> 
 1117         case happyOut26 happy_x_3 of { happy_var_3 -> 
 1118         happyIn26
 1119                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ RelOpExpr "<" happy_var_1 happy_var_3
 1120         )}}
 1121 
 1122 #if __GLASGOW_HASKELL__ >= 710
 1123 happyReduce_65 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1124 #endif
 1125 happyReduce_65 = happySpecReduce_3  22# happyReduction_65
 1126 happyReduction_65 happy_x_3
 1127         happy_x_2
 1128         happy_x_1
 1129          =  case happyOut26 happy_x_1 of { happy_var_1 -> 
 1130         case happyOut26 happy_x_3 of { happy_var_3 -> 
 1131         happyIn26
 1132                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ RelOpExpr "<=" happy_var_1 happy_var_3
 1133         )}}
 1134 
 1135 #if __GLASGOW_HASKELL__ >= 710
 1136 happyReduce_66 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1137 #endif
 1138 happyReduce_66 = happySpecReduce_3  22# happyReduction_66
 1139 happyReduction_66 happy_x_3
 1140         happy_x_2
 1141         happy_x_1
 1142          =  case happyOut26 happy_x_1 of { happy_var_1 -> 
 1143         case happyOut26 happy_x_3 of { happy_var_3 -> 
 1144         happyIn26
 1145                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ RelOpExpr ">" happy_var_1 happy_var_3
 1146         )}}
 1147 
 1148 #if __GLASGOW_HASKELL__ >= 710
 1149 happyReduce_67 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1150 #endif
 1151 happyReduce_67 = happySpecReduce_3  22# happyReduction_67
 1152 happyReduction_67 happy_x_3
 1153         happy_x_2
 1154         happy_x_1
 1155          =  case happyOut26 happy_x_1 of { happy_var_1 -> 
 1156         case happyOut26 happy_x_3 of { happy_var_3 -> 
 1157         happyIn26
 1158                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ RelOpExpr ">=" happy_var_1 happy_var_3
 1159         )}}
 1160 
 1161 #if __GLASGOW_HASKELL__ >= 710
 1162 happyReduce_68 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1163 #endif
 1164 happyReduce_68 = happySpecReduce_3  22# happyReduction_68
 1165 happyReduction_68 happy_x_3
 1166         happy_x_2
 1167         happy_x_1
 1168          =  case happyOut26 happy_x_1 of { happy_var_1 -> 
 1169         case happyOut26 happy_x_3 of { happy_var_3 -> 
 1170         happyIn26
 1171                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ EqOpExpr "==" happy_var_1 happy_var_3
 1172         )}}
 1173 
 1174 #if __GLASGOW_HASKELL__ >= 710
 1175 happyReduce_69 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1176 #endif
 1177 happyReduce_69 = happySpecReduce_3  22# happyReduction_69
 1178 happyReduction_69 happy_x_3
 1179         happy_x_2
 1180         happy_x_1
 1181          =  case happyOut26 happy_x_1 of { happy_var_1 -> 
 1182         case happyOut26 happy_x_3 of { happy_var_3 -> 
 1183         happyIn26
 1184                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ EqOpExpr "!=" happy_var_1 happy_var_3
 1185         )}}
 1186 
 1187 #if __GLASGOW_HASKELL__ >= 710
 1188 happyReduce_70 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1189 #endif
 1190 happyReduce_70 = happySpecReduce_3  22# happyReduction_70
 1191 happyReduction_70 happy_x_3
 1192         happy_x_2
 1193         happy_x_1
 1194          =  case happyOut26 happy_x_1 of { happy_var_1 -> 
 1195         case happyOut26 happy_x_3 of { happy_var_3 -> 
 1196         happyIn26
 1197                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ CondOpExpr "&&" happy_var_1 happy_var_3
 1198         )}}
 1199 
 1200 #if __GLASGOW_HASKELL__ >= 710
 1201 happyReduce_71 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1202 #endif
 1203 happyReduce_71 = happySpecReduce_3  22# happyReduction_71
 1204 happyReduction_71 happy_x_3
 1205         happy_x_2
 1206         happy_x_1
 1207          =  case happyOut26 happy_x_1 of { happy_var_1 -> 
 1208         case happyOut26 happy_x_3 of { happy_var_3 -> 
 1209         happyIn26
 1210                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ CondOpExpr "||" happy_var_1 happy_var_3
 1211         )}}
 1212 
 1213 #if __GLASGOW_HASKELL__ >= 710
 1214 happyReduce_72 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1215 #endif
 1216 happyReduce_72 = happySpecReduce_2  22# happyReduction_72
 1217 happyReduction_72 happy_x_2
 1218         happy_x_1
 1219          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 1220         case happyOut26 happy_x_2 of { happy_var_2 -> 
 1221         happyIn26
 1222                  (SL.LocatedAt (unionOf happy_var_1 happy_var_2) $ NegativeExpr happy_var_2
 1223         )}}
 1224 
 1225 #if __GLASGOW_HASKELL__ >= 710
 1226 happyReduce_73 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1227 #endif
 1228 happyReduce_73 = happySpecReduce_2  22# happyReduction_73
 1229 happyReduction_73 happy_x_2
 1230         happy_x_1
 1231          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 1232         case happyOut26 happy_x_2 of { happy_var_2 -> 
 1233         happyIn26
 1234                  (SL.LocatedAt (unionOf happy_var_1 happy_var_2) $ NegateExpr happy_var_2
 1235         )}}
 1236 
 1237 #if __GLASGOW_HASKELL__ >= 710
 1238 happyReduce_74 :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1239 #endif
 1240 happyReduce_74 = happySpecReduce_3  22# happyReduction_74
 1241 happyReduction_74 happy_x_3
 1242         happy_x_2
 1243         happy_x_1
 1244          =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 1245         case happyOut25 happy_x_2 of { happy_var_2 -> 
 1246         case happyOutTok happy_x_3 of { happy_var_3 -> 
 1247         happyIn26
 1248                  (SL.LocatedAt (unionOf happy_var_1 happy_var_3) $ ParenExpr happy_var_2
 1249         )}}}
 1250 
 1251 happyNewToken action sts stk
 1252         = lexerwrap(\tk -> 
 1253         let cont i = happyDoAction i tk action sts stk in
 1254         case tk of {
 1255         SL.LocatedAt _ EOF -> happyDoAction 45# tk action sts stk;
 1256         SL.LocatedAt _ (Identifier _) -> cont 1#;
 1257         SL.LocatedAt _ (IntLiteral _) -> cont 2#;
 1258         SL.LocatedAt _ (StringLiteral _) -> cont 3#;
 1259         SL.LocatedAt _ (BooleanLiteral _) -> cont 4#;
 1260         SL.LocatedAt _ (CharLiteral _) -> cont 5#;
 1261         SL.LocatedAt _ (LCurly) -> cont 6#;
 1262         SL.LocatedAt _ (RCurly) -> cont 7#;
 1263         SL.LocatedAt _ (LBrack) -> cont 8#;
 1264         SL.LocatedAt _ (RBrack) -> cont 9#;
 1265         SL.LocatedAt _ (LParen) -> cont 10#;
 1266         SL.LocatedAt _ (RParen) -> cont 11#;
 1267         SL.LocatedAt _ (Semicolon) -> cont 12#;
 1268         SL.LocatedAt _ (Colon) -> cont 13#;
 1269         SL.LocatedAt _ (Comma) -> cont 14#;
 1270         SL.LocatedAt _ (Negate) -> cont 15#;
 1271         SL.LocatedAt _ (Choice) -> cont 16#;
 1272         SL.LocatedAt _ (Keyword "import") -> cont 17#;
 1273         SL.LocatedAt _ (Keyword "int") -> cont 18#;
 1274         SL.LocatedAt _ (Keyword "bool") -> cont 19#;
 1275         SL.LocatedAt _ (Keyword "void") -> cont 20#;
 1276         SL.LocatedAt _ (Keyword "if") -> cont 21#;
 1277         SL.LocatedAt _ (Keyword "else") -> cont 22#;
 1278         SL.LocatedAt _ (Keyword "for") -> cont 23#;
 1279         SL.LocatedAt _ (Keyword "while") -> cont 24#;
 1280         SL.LocatedAt _ (Keyword "return") -> cont 25#;
 1281         SL.LocatedAt _ (Keyword "break") -> cont 26#;
 1282         SL.LocatedAt _ (Keyword "continue") -> cont 27#;
 1283         SL.LocatedAt _ (Keyword "len") -> cont 28#;
 1284         SL.LocatedAt _ (AssignOp) -> cont 29#;
 1285         SL.LocatedAt _ (ArithmeticOp "+") -> cont 30#;
 1286         SL.LocatedAt _ (ArithmeticOp "-") -> cont 31#;
 1287         SL.LocatedAt _ (ArithmeticOp "*") -> cont 32#;
 1288         SL.LocatedAt _ (ArithmeticOp "/") -> cont 33#;
 1289         SL.LocatedAt _ (ArithmeticOp "%") -> cont 34#;
 1290         SL.LocatedAt _ (RelationOp "<") -> cont 35#;
 1291         SL.LocatedAt _ (RelationOp "<=") -> cont 36#;
 1292         SL.LocatedAt _ (RelationOp ">") -> cont 37#;
 1293         SL.LocatedAt _ (RelationOp ">=") -> cont 38#;
 1294         SL.LocatedAt _ (EquationOp "==") -> cont 39#;
 1295         SL.LocatedAt _ (EquationOp "!=") -> cont 40#;
 1296         SL.LocatedAt _ (ConditionOp "&&") -> cont 41#;
 1297         SL.LocatedAt _ (ConditionOp "||") -> cont 42#;
 1298         SL.LocatedAt _ (IncrementOp _) -> cont 43#;
 1299         SL.LocatedAt _ (CompoundAssignOp _) -> cont 44#;
 1300         _ -> happyError' (tk, [])
 1301         })
 1302 
 1303 happyError_ explist 45# tk = happyError' (tk, explist)
 1304 happyError_ explist _ tk = happyError' (tk, explist)
 1305 
 1306 happyThen :: () => Alex a -> (a -> Alex b) -> Alex b
 1307 happyThen = (Prelude.>>=)
 1308 happyReturn :: () => a -> Alex a
 1309 happyReturn = (Prelude.return)
 1310 #if __GLASGOW_HASKELL__ >= 710
 1311 happyParse :: () => Happy_GHC_Exts.Int# -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1312 
 1313 happyNewToken :: () => Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1314 
 1315 happyDoAction :: () => Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
 1316 
 1317 happyReduceArr :: () => Happy_Data_Array.Array Prelude.Int (Happy_GHC_Exts.Int# -> SL.Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> Alex (HappyAbsSyn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _))
 1318 
 1319 #endif
 1320 happyThen1 :: () => Alex a -> (a -> Alex b) -> Alex b
 1321 happyThen1 = happyThen
 1322 happyReturn1 :: () => a -> Alex a
 1323 happyReturn1 = happyReturn
 1324 happyError' :: () => ((SL.Located Token), [Prelude.String]) -> Alex a
 1325 happyError' tk = (\(tokens, _) -> parseError tokens) tk
 1326 parseInternal = happySomeParser where
 1327  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (let {x' = happyOut4 x} in x'))
 1328 
 1329 happySeq = happyDontSeq
 1330 
 1331 
 1332 
 1333 {-# LINE 1 "templates/GenericTemplate.hs" #-}
 1334 -- $Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp $
 1335 
 1336 
 1337 
 1338 
 1339 
 1340 
 1341 
 1342 
 1343 
 1344 
 1345 
 1346 
 1347 
 1348 -- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.
 1349 #if __GLASGOW_HASKELL__ > 706
 1350 #define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Prelude.Bool)
 1351 #define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Prelude.Bool)
 1352 #define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Prelude.Bool)
 1353 #else
 1354 #define LT(n,m) (n Happy_GHC_Exts.<# m)
 1355 #define GTE(n,m) (n Happy_GHC_Exts.>=# m)
 1356 #define EQ(n,m) (n Happy_GHC_Exts.==# m)
 1357 #endif
 1358 
 1359 
 1360 
 1361 
 1362 
 1363 
 1364 
 1365 
 1366 
 1367 
 1368 
 1369 
 1370 
 1371 
 1372 
 1373 
 1374 
 1375 
 1376 
 1377 data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList
 1378 
 1379 
 1380 
 1381 
 1382 
 1383 
 1384 
 1385 
 1386 
 1387 
 1388 
 1389 
 1390 
 1391 
 1392 
 1393 
 1394 
 1395 
 1396 
 1397 
 1398 
 1399 
 1400 
 1401 
 1402 
 1403 
 1404 
 1405 
 1406 
 1407 
 1408 
 1409 
 1410 
 1411 
 1412 
 1413 
 1414 
 1415 
 1416 
 1417 
 1418 infixr 9 `HappyStk`
 1419 data HappyStk a = HappyStk a (HappyStk a)
 1420 
 1421 -----------------------------------------------------------------------------
 1422 -- starting the parse
 1423 
 1424 happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll
 1425 
 1426 -----------------------------------------------------------------------------
 1427 -- Accepting the parse
 1428 
 1429 -- If the current token is ERROR_TOK, it means we've just accepted a partial
 1430 -- parse (a %partial parser).  We must ignore the saved token on the top of
 1431 -- the stack in this case.
 1432 happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =
 1433         happyReturn1 ans
 1434 happyAccept j tk st sts (HappyStk ans _) = 
 1435         (happyTcHack j (happyTcHack st)) (happyReturn1 ans)
 1436 
 1437 -----------------------------------------------------------------------------
 1438 -- Arrays only: do the next action
 1439 
 1440 
 1441 
 1442 happyDoAction i tk st
 1443         = {- nothing -}
 1444           case action of
 1445                 0#           -> {- nothing -}
 1446                                      happyFail (happyExpListPerState ((Happy_GHC_Exts.I# (st)) :: Prelude.Int)) i tk st
 1447                 -1#          -> {- nothing -}
 1448                                      happyAccept i tk st
 1449                 n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}
 1450                                                    (happyReduceArr Happy_Data_Array.! rule) i tk st
 1451                                                    where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))
 1452                 n                 -> {- nothing -}
 1453                                      happyShift new_state i tk st
 1454                                      where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))
 1455    where off    = happyAdjustOffset (indexShortOffAddr happyActOffsets st)
 1456          off_i  = (off Happy_GHC_Exts.+# i)
 1457          check  = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#))                                                             
 1458                   then EQ(indexShortOffAddr happyCheck off_i, i)
 1459                   else Prelude.False
 1460          action
 1461           | check     = indexShortOffAddr happyTable off_i
 1462           | Prelude.otherwise = indexShortOffAddr happyDefActions st
 1463 
 1464 
 1465 
 1466 
 1467 indexShortOffAddr (HappyA# arr) off =
 1468         Happy_GHC_Exts.narrow16Int# i
 1469   where
 1470         i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)
 1471         high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))
 1472         low  = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))
 1473         off' = off Happy_GHC_Exts.*# 2#
 1474 
 1475 
 1476 
 1477 
 1478 {-# INLINE happyLt #-}
 1479 happyLt x y = LT(x,y)                                                             
 1480 
 1481 
 1482 readArrayBit arr bit =
 1483     Bits.testBit (Happy_GHC_Exts.I# (indexShortOffAddr arr ((unbox_int bit) `Happy_GHC_Exts.iShiftRA#` 4#))) (bit `Prelude.mod` 16)
 1484   where unbox_int (Happy_GHC_Exts.I# x) = x
 1485 
 1486 
 1487 
 1488 
 1489 
 1490 
 1491 data HappyAddr = HappyA# Happy_GHC_Exts.Addr#
 1492 
 1493 
 1494 -----------------------------------------------------------------------------
 1495 -- HappyState data type (not arrays)
 1496 
 1497 
 1498 
 1499 
 1500 
 1501 
 1502 
 1503 
 1504 
 1505 
 1506 
 1507 
 1508 
 1509 -----------------------------------------------------------------------------
 1510 -- Shifting a token
 1511 
 1512 happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =
 1513      let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in
 1514 --     trace "shifting the error token" $
 1515      happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)
 1516 
 1517 happyShift new_state i tk st sts stk =
 1518      happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)
 1519 
 1520 -- happyReduce is specialised for the common cases.
 1521 
 1522 happySpecReduce_0 i fn 0# tk st sts stk
 1523      = happyFail [] 0# tk st sts stk
 1524 happySpecReduce_0 nt fn j tk st@((action)) sts stk
 1525      = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)
 1526 
 1527 happySpecReduce_1 i fn 0# tk st sts stk
 1528      = happyFail [] 0# tk st sts stk
 1529 happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')
 1530      = let r = fn v1 in
 1531        happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
 1532 
 1533 happySpecReduce_2 i fn 0# tk st sts stk
 1534      = happyFail [] 0# tk st sts stk
 1535 happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')
 1536      = let r = fn v1 v2 in
 1537        happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
 1538 
 1539 happySpecReduce_3 i fn 0# tk st sts stk
 1540      = happyFail [] 0# tk st sts stk
 1541 happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')
 1542      = let r = fn v1 v2 v3 in
 1543        happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
 1544 
 1545 happyReduce k i fn 0# tk st sts stk
 1546      = happyFail [] 0# tk st sts stk
 1547 happyReduce k nt fn j tk st sts stk
 1548      = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of
 1549          sts1@((HappyCons (st1@(action)) (_))) ->
 1550                 let r = fn stk in  -- it doesn't hurt to always seq here...
 1551                 happyDoSeq r (happyGoto nt j tk st1 sts1 r)
 1552 
 1553 happyMonadReduce k nt fn 0# tk st sts stk
 1554      = happyFail [] 0# tk st sts stk
 1555 happyMonadReduce k nt fn j tk st sts stk =
 1556       case happyDrop k (HappyCons (st) (sts)) of
 1557         sts1@((HappyCons (st1@(action)) (_))) ->
 1558           let drop_stk = happyDropStk k stk in
 1559           happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))
 1560 
 1561 happyMonad2Reduce k nt fn 0# tk st sts stk
 1562      = happyFail [] 0# tk st sts stk
 1563 happyMonad2Reduce k nt fn j tk st sts stk =
 1564       case happyDrop k (HappyCons (st) (sts)) of
 1565         sts1@((HappyCons (st1@(action)) (_))) ->
 1566          let drop_stk = happyDropStk k stk
 1567 
 1568              off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st1)
 1569              off_i = (off Happy_GHC_Exts.+# nt)
 1570              new_state = indexShortOffAddr happyTable off_i
 1571 
 1572 
 1573 
 1574 
 1575           in
 1576           happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))
 1577 
 1578 happyDrop 0# l = l
 1579 happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t
 1580 
 1581 happyDropStk 0# l = l
 1582 happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs
 1583 
 1584 -----------------------------------------------------------------------------
 1585 -- Moving to a new state after a reduction
 1586 
 1587 
 1588 happyGoto nt j tk st = 
 1589    {- nothing -}
 1590    happyDoAction j tk new_state
 1591    where off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st)
 1592          off_i = (off Happy_GHC_Exts.+# nt)
 1593          new_state = indexShortOffAddr happyTable off_i
 1594 
 1595 
 1596 
 1597 
 1598 -----------------------------------------------------------------------------
 1599 -- Error recovery (ERROR_TOK is the error token)
 1600 
 1601 -- parse error if we are in recovery and we fail again
 1602 happyFail explist 0# tk old_st _ stk@(x `HappyStk` _) =
 1603      let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in
 1604 --      trace "failing" $ 
 1605         happyError_ explist i tk
 1606 
 1607 {-  We don't need state discarding for our restricted implementation of
 1608     "error".  In fact, it can cause some bogus parses, so I've disabled it
 1609     for now --SDM
 1610 
 1611 -- discard a state
 1612 happyFail  ERROR_TOK tk old_st CONS(HAPPYSTATE(action),sts) 
 1613                                                 (saved_tok `HappyStk` _ `HappyStk` stk) =
 1614 --      trace ("discarding state, depth " ++ show (length stk))  $
 1615         DO_ACTION(action,ERROR_TOK,tk,sts,(saved_tok`HappyStk`stk))
 1616 -}
 1617 
 1618 -- Enter error recovery: generate an error token,
 1619 --                       save the old token and carry on.
 1620 happyFail explist i tk (action) sts stk =
 1621 --      trace "entering error recovery" $
 1622         happyDoAction 0# tk action sts ((Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)
 1623 
 1624 -- Internal happy errors:
 1625 
 1626 notHappyAtAll :: a
 1627 notHappyAtAll = Prelude.error "Internal Happy error\n"
 1628 
 1629 -----------------------------------------------------------------------------
 1630 -- Hack to get the typechecker to accept our action functions
 1631 
 1632 
 1633 happyTcHack :: Happy_GHC_Exts.Int# -> a -> a
 1634 happyTcHack x y = y
 1635 {-# INLINE happyTcHack #-}
 1636 
 1637 
 1638 -----------------------------------------------------------------------------
 1639 -- Seq-ing.  If the --strict flag is given, then Happy emits 
 1640 --      happySeq = happyDoSeq
 1641 -- otherwise it emits
 1642 --      happySeq = happyDontSeq
 1643 
 1644 happyDoSeq, happyDontSeq :: a -> b -> b
 1645 happyDoSeq   a b = a `Prelude.seq` b
 1646 happyDontSeq a b = b
 1647 
 1648 -----------------------------------------------------------------------------
 1649 -- Don't inline any functions from the template.  GHC has a nasty habit
 1650 -- of deciding to inline happyGoto everywhere, which increases the size of
 1651 -- the generated parser quite a bit.
 1652 
 1653 
 1654 {-# NOINLINE happyDoAction #-}
 1655 {-# NOINLINE happyTable #-}
 1656 {-# NOINLINE happyCheck #-}
 1657 {-# NOINLINE happyActOffsets #-}
 1658 {-# NOINLINE happyGotoOffsets #-}
 1659 {-# NOINLINE happyDefActions #-}
 1660 
 1661 {-# NOINLINE happyShift #-}
 1662 {-# NOINLINE happySpecReduce_0 #-}
 1663 {-# NOINLINE happySpecReduce_1 #-}
 1664 {-# NOINLINE happySpecReduce_2 #-}
 1665 {-# NOINLINE happySpecReduce_3 #-}
 1666 {-# NOINLINE happyReduce #-}
 1667 {-# NOINLINE happyMonadReduce #-}
 1668 {-# NOINLINE happyGoto #-}
 1669 {-# NOINLINE happyFail #-}
 1670 
 1671 -- end of Happy Template.