| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 
 | {-# LANGUAGE MagicHash #-}
module HappyDoAction where
foo :: Int#
happyDoAction i tk st
  = case action of
        0# -> happyFail i tk st
        -1# -> happyAccept i tk st
        n | (n <# (0# :: Int#)) -> (happyReduceArr ! rule) i tk st
          where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))
        n -> happyShift new_state i tk st
          where new_state = (n -# (1# :: Int#))
  where off = indexShortOffAddr happyActOffsets st
        off_i = (off +# i)
        check
          = if (off_i >=# (0# :: Int#)) then
              (indexShortOffAddr happyCheck off_i ==# i) else False
        action
          | check = indexShortOffAddr happyTable off_i
          | otherwise = indexShortOffAddr happyDefActions st
 |