{-# OPTIONS -cpp #-} module HJS.Parser.JavaScriptParser where import Data.Char import Control.Monad.State import Control.Monad.Error import HJS.Parser.Lexer import HJS.Parser.LexerM import HJS.Parser.JavaScript import HJS.Parser.ParserMonad #if __GLASGOW_HASKELL__ >= 503 import Data.Array #else import Array #endif -- parser produced by Happy Version 1.16 data HappyAbsSyn t5 t6 t7 t8 t9 t11 t12 t13 t14 t15 t16 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62 t63 t64 t65 t66 = HappyTerminal Token | HappyErrorToken Int | HappyAbsSyn5 t5 | HappyAbsSyn6 t6 | HappyAbsSyn7 t7 | HappyAbsSyn8 t8 | HappyAbsSyn9 t9 | HappyAbsSyn10 (PrimExpr) | HappyAbsSyn11 t11 | HappyAbsSyn12 t12 | HappyAbsSyn13 t13 | HappyAbsSyn14 t14 | HappyAbsSyn15 t15 | HappyAbsSyn16 t16 | HappyAbsSyn17 (MemberExpr) | HappyAbsSyn18 t18 | HappyAbsSyn19 t19 | HappyAbsSyn20 t20 | HappyAbsSyn21 t21 | HappyAbsSyn22 t22 | HappyAbsSyn23 t23 | HappyAbsSyn24 t24 | HappyAbsSyn25 t25 | HappyAbsSyn26 t26 | HappyAbsSyn27 t27 | HappyAbsSyn28 t28 | HappyAbsSyn29 t29 | HappyAbsSyn30 t30 | HappyAbsSyn31 t31 | HappyAbsSyn32 t32 | HappyAbsSyn33 t33 | HappyAbsSyn34 t34 | HappyAbsSyn35 t35 | HappyAbsSyn36 t36 | HappyAbsSyn37 t37 | HappyAbsSyn38 t38 | HappyAbsSyn39 t39 | HappyAbsSyn40 t40 | HappyAbsSyn41 t41 | HappyAbsSyn42 t42 | HappyAbsSyn43 t43 | HappyAbsSyn44 t44 | HappyAbsSyn45 t45 | HappyAbsSyn46 t46 | HappyAbsSyn47 t47 | HappyAbsSyn48 t48 | HappyAbsSyn49 t49 | HappyAbsSyn50 t50 | HappyAbsSyn51 t51 | HappyAbsSyn52 t52 | HappyAbsSyn53 t53 | HappyAbsSyn54 t54 | HappyAbsSyn55 t55 | HappyAbsSyn56 t56 | HappyAbsSyn57 t57 | HappyAbsSyn58 t58 | HappyAbsSyn59 t59 | HappyAbsSyn60 t60 | HappyAbsSyn61 t61 | HappyAbsSyn62 t62 | HappyAbsSyn63 t63 | HappyAbsSyn64 t64 | HappyAbsSyn65 t65 | HappyAbsSyn66 t66 happyActOffsets :: Array Int Int happyActOffsets = listArray (0,331) ([137,655,137,0,417,0,0,0,0,121,0,79,46,0,0,76,313,156,127,160,447,468,464,449,14,0,0,0,0,0,0,0,409,0,0,0,0,408,0,137,0,0,445,0,641,641,0,592,641,641,641,641,592,68,641,641,641,448,0,137,444,438,0,440,440,17,652,402,26,20,592,579,429,428,372,0,8,372,5,0,422,0,433,0,0,592,592,393,0,0,391,389,0,378,0,253,137,77,0,0,420,426,414,0,416,394,519,592,350,592,280,0,0,0,0,-1,386,4,385,74,0,0,0,0,0,388,0,0,137,0,0,592,641,641,641,641,641,641,641,641,641,641,641,641,641,641,641,641,641,641,641,641,641,641,641,592,0,0,0,0,0,0,0,0,0,507,384,592,0,383,592,0,347,0,345,0,296,0,0,0,0,0,0,76,76,277,277,277,156,156,156,156,156,156,127,127,127,127,160,377,363,375,364,362,0,0,592,0,0,0,0,369,368,365,0,322,23,9,367,367,0,592,266,0,366,0,200,0,0,358,326,0,0,0,0,349,334,592,146,0,0,0,305,137,0,337,0,0,242,300,335,0,0,10,592,592,592,137,592,137,0,592,0,592,0,0,0,0,284,321,0,274,314,271,592,592,0,137,283,-7,0,0,250,-25,0,592,270,592,137,239,137,293,246,592,137,592,222,137,0,0,260,0,237,592,137,0,226,232,0,223,0,143,0,203,137,-22,137,136,0,0,199,137,137,0,0,137,0,137,0,137,0,0 ]) happyGotoOffsets :: Array Int Int happyGotoOffsets = listArray (0,331) ([390,158,329,0,0,0,0,0,0,186,0,174,142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,451,0,0,0,0,3443,3424,0,2465,3405,3386,3367,3348,2426,713,3329,3310,3291,0,0,1545,0,0,0,213,211,109,695,126,0,0,1918,1879,0,0,0,0,88,0,0,0,0,0,100,0,0,2387,2348,0,0,0,0,0,0,0,0,-15,869,130,0,0,0,94,0,0,83,0,1597,2309,0,2270,0,0,0,0,0,1493,0,86,0,0,0,0,0,0,0,0,0,0,1441,0,0,2738,2777,2805,2832,2858,2883,2976,2953,2930,2907,3109,3087,3065,3043,3021,2999,3173,3152,3131,3214,3194,3272,3253,3234,2699,0,0,0,0,0,0,0,0,0,2231,0,2191,0,0,2152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2660,0,0,0,0,0,0,0,0,0,0,57,208,56,0,2621,0,0,33,0,206,0,0,0,53,0,0,0,0,0,0,2582,212,0,0,0,-8,1389,0,0,0,0,0,0,0,0,0,0,1840,2113,1801,1337,2074,1285,0,2543,0,2504,0,0,0,0,0,0,0,0,0,0,1762,2035,0,268,0,0,0,0,164,114,0,1996,2,1957,207,0,451,0,0,1723,1233,1684,0,1181,0,0,0,0,0,1645,1129,0,0,0,0,0,0,65,0,0,817,-40,765,-19,0,0,0,1077,1025,0,0,973,0,921,0,921,0,0 ]) happyDefActions :: Array Int Int happyDefActions = listArray (0,331) ([0,0,0,-11,0,-12,-29,-13,-14,-33,-43,-44,-45,-48,-58,-62,-65,-69,-76,-81,-83,-85,-87,-89,-91,-100,-102,-134,-170,-103,-104,-119,0,-106,-107,-108,-117,-171,0,-167,-168,-4,-10,-5,0,0,-6,0,0,0,0,0,-17,0,0,0,0,0,-105,0,0,0,-9,0,0,0,0,0,0,0,0,0,0,0,0,-10,0,0,0,-22,0,-28,-26,-27,-20,0,0,0,-101,-114,0,0,-112,0,-110,0,-121,-33,-34,-160,0,-163,-125,-147,-150,-124,-145,0,0,0,-45,-51,-50,-49,-122,0,-4,-10,-5,0,-18,-53,-52,-57,-56,0,-55,-54,0,-169,-135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-98,-46,-47,-93,-94,-95,-96,-97,-36,0,0,0,-35,0,0,-8,0,-31,0,-38,0,-41,-39,-99,-61,-60,-59,-64,-63,-68,-67,-66,-75,-74,-71,-73,-72,-70,-80,-79,-78,-77,-82,-84,-86,-88,-90,0,-116,-15,0,-16,-25,-123,-120,0,0,0,-146,0,0,-10,0,0,-149,0,0,-164,-163,-32,-126,-129,-127,0,0,-109,-111,-118,-113,0,0,0,0,-21,-23,-24,0,0,-133,0,-130,-128,0,0,0,-151,-148,0,-145,0,-145,0,0,0,-19,0,-40,0,-37,-30,-42,-92,-137,0,-139,0,0,0,-145,0,-165,0,0,0,-115,-152,-155,0,-156,0,0,0,0,0,-166,0,0,-145,0,-145,0,0,-136,-138,0,-144,0,-145,0,-161,0,0,-131,0,-157,-155,-153,0,-121,0,-121,0,-162,-143,0,0,0,-140,-142,0,-132,-158,-154,-159,-141 ]) happyCheck :: Array Int Int happyCheck = listArray (0,3518) ([-1,2,3,4,11,6,7,3,9,10,2,3,4,53,5,40,35,12,40,15,3,12,12,3,39,40,41,10,14,3,16,32,33,34,35,12,37,35,39,40,41,42,43,51,51,40,71,72,40,71,51,5,53,54,55,56,57,58,59,60,61,62,53,53,65,66,67,68,69,70,2,3,4,53,6,7,53,9,10,53,34,35,73,73,8,9,12,10,35,10,57,45,46,47,48,49,73,9,10,11,32,33,34,35,48,37,49,39,40,41,42,43,38,36,37,36,37,52,53,51,44,53,54,55,56,57,58,59,60,61,62,10,49,65,66,67,68,69,70,2,3,4,56,6,7,15,9,10,2,3,4,57,25,26,27,28,56,36,37,1,2,35,4,5,6,56,8,53,54,32,33,34,35,31,37,39,39,50,41,42,43,21,22,23,24,29,30,31,51,15,53,54,55,56,57,58,59,60,61,62,73,15,65,66,67,68,69,70,1,2,11,4,5,6,71,8,52,53,15,12,13,14,10,11,17,18,19,20,21,22,23,24,25,26,27,28,29,30,15,32,33,34,35,11,37,38,40,41,11,42,43,44,45,11,12,47,48,50,47,48,47,48,55,63,64,58,40,60,61,1,2,11,4,5,6,53,8,11,12,40,12,13,14,6,7,17,18,19,20,21,22,23,24,25,26,27,28,29,30,53,32,33,34,35,11,37,38,11,12,39,42,43,44,45,34,35,63,64,50,6,7,71,39,55,53,11,58,53,60,61,1,2,11,4,5,6,52,8,3,39,3,12,13,14,39,11,17,18,19,20,21,22,23,24,25,26,27,28,29,30,11,32,33,34,35,39,37,38,10,3,3,42,43,44,45,53,11,15,10,50,11,17,19,38,55,38,3,3,59,60,61,1,2,18,4,5,6,20,8,11,15,15,12,13,14,55,12,17,18,19,20,21,22,23,24,25,26,27,28,29,30,5,32,33,34,35,12,37,38,3,10,53,42,43,44,45,3,15,10,10,50,39,53,3,53,55,53,75,10,59,60,61,1,2,10,4,5,6,10,8,15,53,53,12,13,14,17,20,17,18,19,20,21,22,23,24,25,26,27,28,29,30,18,32,33,34,35,19,37,38,-1,74,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,-1,-1,55,-1,-1,2,3,4,61,6,7,-1,9,10,11,-1,-1,2,3,4,-1,6,7,-1,9,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,32,33,34,35,-1,37,-1,39,-1,41,42,43,32,33,34,35,-1,37,-1,39,-1,41,42,43,-1,57,-1,-1,60,61,-1,-1,-1,-1,-1,-1,-1,57,58,-1,60,61,2,3,4,-1,6,7,-1,9,10,-1,-1,-1,-1,2,3,4,-1,6,7,-1,9,10,-1,-1,-1,-1,-1,-1,-1,-1,32,33,34,35,-1,37,-1,39,-1,41,42,43,-1,32,33,34,35,-1,37,-1,39,53,41,42,43,57,-1,-1,60,61,-1,-1,2,3,4,-1,6,7,57,9,10,60,61,2,3,4,2,3,4,-1,9,10,-1,9,10,-1,-1,-1,-1,-1,-1,-1,32,33,34,35,-1,37,-1,39,-1,41,42,43,-1,-1,-1,-1,37,-1,39,37,-1,39,-1,1,2,57,4,5,6,61,8,-1,-1,-1,12,13,57,-1,-1,57,61,1,2,-1,4,5,6,-1,8,9,10,11,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,36,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,36,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,36,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,36,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,-1,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,-1,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,-1,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,-1,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,-1,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,-1,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,-1,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,-1,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,-1,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,-1,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,-1,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,-1,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,34,35,-1,37,38,-1,-1,-1,42,43,44,45,-1,-1,-1,-1,50,-1,-1,1,2,55,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,47,48,1,2,-1,4,5,6,55,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,46,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,46,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,46,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,46,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,46,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,46,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,42,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,42,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,55,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,-1,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,7,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,-1,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,33,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,-1,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,-1,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,-1,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,-1,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,-1,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,-1,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,29,30,-1,32,-1,-1,-1,-1,-1,-1,-1,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,55,17,18,19,20,21,22,23,24,25,26,27,28,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,27,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,26,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,25,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,24,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,23,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,22,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,21,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,20,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,1,2,-1,4,5,6,-1,8,-1,-1,-1,12,13,14,-1,-1,17,18,19,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 ]) happyTable :: Array Int Int happyTable = listArray (0,3518) ([0,42,43,44,287,45,46,101,47,48,82,83,84,310,222,313,326,239,329,129,101,-150,220,92,226,227,228,102,132,94,133,49,50,51,52,220,53,308,54,211,55,56,57,281,288,240,286,314,85,286,58,157,59,60,61,62,63,64,65,66,67,68,-150,275,69,70,71,72,73,74,117,118,119,93,45,46,255,47,48,95,158,159,-150,276,153,154,207,166,244,166,248,160,161,162,163,164,256,78,79,80,49,50,51,52,252,53,220,54,85,55,56,57,208,170,171,167,168,315,284,58,155,59,60,61,62,63,64,65,66,67,68,166,220,69,70,71,72,73,74,42,43,44,208,45,46,225,47,48,82,83,84,222,142,143,144,145,208,170,171,3,4,95,5,74,7,99,8,310,311,49,50,51,52,155,53,97,54,146,55,56,57,138,139,140,141,148,149,150,58,164,59,60,61,62,63,64,65,66,67,68,147,168,69,70,71,72,73,74,3,4,326,5,6,7,286,8,283,284,315,9,10,11,240,80,12,13,14,15,16,17,18,19,20,21,22,23,24,25,317,26,27,28,29,318,30,31,246,247,322,32,33,34,35,279,251,253,103,36,102,103,105,103,37,230,231,306,319,290,40,3,4,323,5,6,7,300,8,250,251,306,9,10,11,151,152,12,13,14,15,16,17,18,19,20,21,22,23,24,25,304,26,27,28,29,305,30,31,263,264,97,32,33,34,35,158,159,230,231,36,151,152,286,289,37,294,295,289,296,290,40,3,4,297,5,6,7,298,8,277,278,280,9,10,11,283,243,12,13,14,15,16,17,18,19,20,21,22,23,24,25,244,26,27,28,29,97,30,31,246,224,105,32,33,34,35,257,258,262,259,36,260,134,136,265,37,266,174,176,38,39,40,3,4,135,5,6,7,137,8,206,-27,-28,9,10,11,213,220,12,13,14,15,16,17,18,19,20,21,22,23,24,25,222,26,27,28,29,220,30,31,224,225,232,32,33,34,35,101,238,86,87,36,97,233,105,234,37,235,-1,107,77,39,40,3,4,108,5,6,7,110,8,129,-171,131,9,10,11,134,137,12,13,14,15,16,17,18,19,20,21,22,23,24,25,135,26,27,28,29,136,30,31,0,172,0,32,33,34,35,0,0,0,0,36,0,0,0,0,37,0,0,42,76,44,129,45,46,0,47,48,179,0,0,42,218,44,0,45,46,0,47,48,0,0,0,0,0,0,0,0,0,49,50,51,52,0,53,0,77,0,55,56,57,49,50,51,52,0,53,0,77,0,55,56,57,0,63,0,0,66,67,0,0,0,0,0,0,0,63,219,0,66,67,42,76,44,0,45,46,0,47,48,0,0,0,0,42,76,44,0,45,46,0,47,48,0,0,0,0,0,0,0,0,49,50,51,52,0,53,0,77,0,55,56,57,0,49,50,51,52,0,53,0,77,90,55,56,57,63,0,0,66,67,0,0,42,76,44,0,45,46,63,47,48,66,67,42,76,44,42,76,44,0,47,48,0,47,48,0,0,0,0,0,0,0,49,50,51,52,0,53,0,77,0,55,56,57,0,0,0,0,53,0,77,53,0,77,0,3,4,63,5,6,7,67,8,0,0,0,97,98,63,0,0,63,67,3,4,0,5,6,7,0,8,78,79,80,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,114,29,115,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,114,29,327,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,114,29,329,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,114,29,115,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,209,29,0,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,330,29,0,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,323,29,0,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,324,29,0,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,319,29,0,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,298,29,0,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,301,29,0,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,268,29,0,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,270,29,0,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,280,29,0,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,204,29,0,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,209,29,0,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,108,29,0,30,31,0,0,0,32,33,34,35,0,0,0,0,36,0,0,3,4,88,5,6,7,0,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,214,0,0,0,0,0,0,0,0,0,0,0,0,215,216,103,3,4,0,5,6,7,88,8,0,0,0,9,10,11,0,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,214,0,0,0,0,0,0,3,4,0,5,6,7,320,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,214,0,0,0,0,0,0,3,4,0,5,6,7,300,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,214,0,0,0,0,0,0,3,4,0,5,6,7,302,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,214,0,0,0,0,0,0,3,4,0,5,6,7,292,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,214,0,0,0,0,0,0,3,4,0,5,6,7,271,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,214,0,0,0,0,0,0,3,4,0,5,6,7,273,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,0,0,0,0,0,0,3,4,87,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,27,0,0,0,0,0,0,3,4,90,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,307,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,309,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,291,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,269,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,272,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,172,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,174,0,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,88,176,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,177,0,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,211,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,213,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,235,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,236,0,0,0,0,0,0,3,4,0,5,6,7,119,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,120,0,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,26,125,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,266,0,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,267,0,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,241,0,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,251,0,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,260,0,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,179,0,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,203,0,0,0,0,0,0,0,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,88,110,13,14,15,16,17,18,19,20,21,22,202,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,16,17,18,19,20,21,201,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,16,17,18,19,20,200,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,16,17,18,19,199,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,16,17,18,198,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,16,17,194,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,16,17,195,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,16,17,196,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,16,17,197,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,16,188,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,16,189,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,16,190,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,16,191,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,16,192,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,16,193,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,185,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,186,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,15,187,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,183,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,14,184,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,180,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,181,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,182,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,111,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,112,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,113,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,121,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,122,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,123,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,124,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,126,3,4,0,5,6,7,0,8,0,0,0,9,10,11,0,0,110,13,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ]) happyReduceArr = array (2, 170) [ (2 , happyReduce_2), (3 , happyReduce_3), (4 , happyReduce_4), (5 , happyReduce_5), (6 , happyReduce_6), (7 , happyReduce_7), (8 , happyReduce_8), (9 , happyReduce_9), (10 , happyReduce_10), (11 , happyReduce_11), (12 , happyReduce_12), (13 , happyReduce_13), (14 , happyReduce_14), (15 , happyReduce_15), (16 , happyReduce_16), (17 , happyReduce_17), (18 , happyReduce_18), (19 , happyReduce_19), (20 , happyReduce_20), (21 , happyReduce_21), (22 , happyReduce_22), (23 , happyReduce_23), (24 , happyReduce_24), (25 , happyReduce_25), (26 , happyReduce_26), (27 , happyReduce_27), (28 , happyReduce_28), (29 , happyReduce_29), (30 , happyReduce_30), (31 , happyReduce_31), (32 , happyReduce_32), (33 , happyReduce_33), (34 , happyReduce_34), (35 , happyReduce_35), (36 , happyReduce_36), (37 , happyReduce_37), (38 , happyReduce_38), (39 , happyReduce_39), (40 , happyReduce_40), (41 , happyReduce_41), (42 , happyReduce_42), (43 , happyReduce_43), (44 , happyReduce_44), (45 , happyReduce_45), (46 , happyReduce_46), (47 , happyReduce_47), (48 , happyReduce_48), (49 , happyReduce_49), (50 , happyReduce_50), (51 , happyReduce_51), (52 , happyReduce_52), (53 , happyReduce_53), (54 , happyReduce_54), (55 , happyReduce_55), (56 , happyReduce_56), (57 , happyReduce_57), (58 , happyReduce_58), (59 , happyReduce_59), (60 , happyReduce_60), (61 , happyReduce_61), (62 , happyReduce_62), (63 , happyReduce_63), (64 , happyReduce_64), (65 , happyReduce_65), (66 , happyReduce_66), (67 , happyReduce_67), (68 , happyReduce_68), (69 , happyReduce_69), (70 , happyReduce_70), (71 , happyReduce_71), (72 , happyReduce_72), (73 , happyReduce_73), (74 , happyReduce_74), (75 , happyReduce_75), (76 , happyReduce_76), (77 , happyReduce_77), (78 , happyReduce_78), (79 , happyReduce_79), (80 , happyReduce_80), (81 , happyReduce_81), (82 , happyReduce_82), (83 , happyReduce_83), (84 , happyReduce_84), (85 , happyReduce_85), (86 , happyReduce_86), (87 , happyReduce_87), (88 , happyReduce_88), (89 , happyReduce_89), (90 , happyReduce_90), (91 , happyReduce_91), (92 , happyReduce_92), (93 , happyReduce_93), (94 , happyReduce_94), (95 , happyReduce_95), (96 , happyReduce_96), (97 , happyReduce_97), (98 , happyReduce_98), (99 , happyReduce_99), (100 , happyReduce_100), (101 , happyReduce_101), (102 , happyReduce_102), (103 , happyReduce_103), (104 , happyReduce_104), (105 , happyReduce_105), (106 , happyReduce_106), (107 , happyReduce_107), (108 , happyReduce_108), (109 , happyReduce_109), (110 , happyReduce_110), (111 , happyReduce_111), (112 , happyReduce_112), (113 , happyReduce_113), (114 , happyReduce_114), (115 , happyReduce_115), (116 , happyReduce_116), (117 , happyReduce_117), (118 , happyReduce_118), (119 , happyReduce_119), (120 , happyReduce_120), (121 , happyReduce_121), (122 , happyReduce_122), (123 , happyReduce_123), (124 , happyReduce_124), (125 , happyReduce_125), (126 , happyReduce_126), (127 , happyReduce_127), (128 , happyReduce_128), (129 , happyReduce_129), (130 , happyReduce_130), (131 , happyReduce_131), (132 , happyReduce_132), (133 , happyReduce_133), (134 , happyReduce_134), (135 , happyReduce_135), (136 , happyReduce_136), (137 , happyReduce_137), (138 , happyReduce_138), (139 , happyReduce_139), (140 , happyReduce_140), (141 , happyReduce_141), (142 , happyReduce_142), (143 , happyReduce_143), (144 , happyReduce_144), (145 , happyReduce_145), (146 , happyReduce_146), (147 , happyReduce_147), (148 , happyReduce_148), (149 , happyReduce_149), (150 , happyReduce_150), (151 , happyReduce_151), (152 , happyReduce_152), (153 , happyReduce_153), (154 , happyReduce_154), (155 , happyReduce_155), (156 , happyReduce_156), (157 , happyReduce_157), (158 , happyReduce_158), (159 , happyReduce_159), (160 , happyReduce_160), (161 , happyReduce_161), (162 , happyReduce_162), (163 , happyReduce_163), (164 , happyReduce_164), (165 , happyReduce_165), (166 , happyReduce_166), (167 , happyReduce_167), (168 , happyReduce_168), (169 , happyReduce_169), (170 , happyReduce_170) ] happy_n_terms = 76 :: Int happy_n_nonterms = 62 :: Int happyReduce_2 = happySpecReduce_1 0 happyReduction_2 happyReduction_2 (HappyAbsSyn64 happy_var_1) = HappyAbsSyn5 (happy_var_1 ) happyReduction_2 _ = notHappyAtAll happyReduce_3 = happySpecReduce_1 1 happyReduction_3 happyReduction_3 (HappyTerminal (TokenInt happy_var_1)) = HappyAbsSyn6 (LitInt happy_var_1 ) happyReduction_3 _ = notHappyAtAll happyReduce_4 = happySpecReduce_1 1 happyReduction_4 happyReduction_4 (HappyTerminal (TokenStringLit happy_var_1)) = HappyAbsSyn6 (LitString happy_var_1 ) happyReduction_4 _ = notHappyAtAll happyReduce_5 = happySpecReduce_1 2 happyReduction_5 happyReduction_5 _ = HappyAbsSyn7 ( ) happyReduce_6 = happySpecReduce_1 3 happyReduction_6 happyReduction_6 _ = HappyAbsSyn8 ( ) happyReduce_7 = happySpecReduce_2 4 happyReduction_7 happyReduction_7 (HappyTerminal (TokenRegex happy_var_2)) _ = HappyAbsSyn9 (happy_var_2 ) happyReduction_7 _ _ = notHappyAtAll happyReduce_8 = happySpecReduce_1 5 happyReduction_8 happyReduction_8 _ = HappyAbsSyn10 (This ) happyReduce_9 = happySpecReduce_1 5 happyReduction_9 happyReduction_9 (HappyTerminal (TokenIdent happy_var_1)) = HappyAbsSyn10 (Ident happy_var_1 ) happyReduction_9 _ = notHappyAtAll happyReduce_10 = happySpecReduce_1 5 happyReduction_10 happyReduction_10 (HappyAbsSyn6 happy_var_1) = HappyAbsSyn10 (Literal happy_var_1 ) happyReduction_10 _ = notHappyAtAll happyReduce_11 = happySpecReduce_1 5 happyReduction_11 happyReduction_11 (HappyAbsSyn9 happy_var_1) = HappyAbsSyn10 (Regex happy_var_1 ) happyReduction_11 _ = notHappyAtAll happyReduce_12 = happySpecReduce_1 5 happyReduction_12 happyReduction_12 (HappyAbsSyn11 happy_var_1) = HappyAbsSyn10 (Array happy_var_1 ) happyReduction_12 _ = notHappyAtAll happyReduce_13 = happySpecReduce_1 5 happyReduction_13 happyReduction_13 (HappyAbsSyn13 happy_var_1) = HappyAbsSyn10 (Object happy_var_1 ) happyReduction_13 _ = notHappyAtAll happyReduce_14 = happySpecReduce_3 5 happyReduction_14 happyReduction_14 _ (HappyAbsSyn38 happy_var_2) _ = HappyAbsSyn10 (Brack happy_var_2 ) happyReduction_14 _ _ _ = notHappyAtAll happyReduce_15 = happySpecReduce_3 6 happyReduction_15 happyReduction_15 _ (HappyAbsSyn12 happy_var_2) _ = HappyAbsSyn11 (ArrSimple happy_var_2 ) happyReduction_15 _ _ _ = notHappyAtAll happyReduce_16 = happySpecReduce_0 7 happyReduction_16 happyReduction_16 = HappyAbsSyn12 ([] ) happyReduce_17 = happySpecReduce_1 7 happyReduction_17 happyReduction_17 (HappyAbsSyn37 happy_var_1) = HappyAbsSyn12 ([happy_var_1] ) happyReduction_17 _ = notHappyAtAll happyReduce_18 = happySpecReduce_3 7 happyReduction_18 happyReduction_18 (HappyAbsSyn37 happy_var_3) _ (HappyAbsSyn12 happy_var_1) = HappyAbsSyn12 (happy_var_1 ++ [happy_var_3] ) happyReduction_18 _ _ _ = notHappyAtAll happyReduce_19 = happySpecReduce_2 8 happyReduction_19 happyReduction_19 _ _ = HappyAbsSyn13 ([] ) happyReduce_20 = happySpecReduce_3 8 happyReduction_20 happyReduction_20 _ (HappyAbsSyn14 happy_var_2) _ = HappyAbsSyn13 (happy_var_2 ) happyReduction_20 _ _ _ = notHappyAtAll happyReduce_21 = happySpecReduce_1 9 happyReduction_21 happyReduction_21 (HappyAbsSyn15 happy_var_1) = HappyAbsSyn14 ([happy_var_1 ] ) happyReduction_21 _ = notHappyAtAll happyReduce_22 = happySpecReduce_3 9 happyReduction_22 happyReduction_22 (HappyAbsSyn15 happy_var_3) _ (HappyAbsSyn14 happy_var_1) = HappyAbsSyn14 (happy_var_1 ++ [happy_var_3] ) happyReduction_22 _ _ _ = notHappyAtAll happyReduce_23 = happySpecReduce_3 10 happyReduction_23 happyReduction_23 (HappyAbsSyn37 happy_var_3) _ (HappyAbsSyn16 happy_var_1) = HappyAbsSyn15 (Left (happy_var_1, happy_var_3 ) ) happyReduction_23 _ _ _ = notHappyAtAll happyReduce_24 = happySpecReduce_2 10 happyReduction_24 happyReduction_24 (HappyAbsSyn61 happy_var_2) (HappyTerminal (TokenIdent happy_var_1)) = HappyAbsSyn15 (Right $ GetterPutter happy_var_1 happy_var_2 ) happyReduction_24 _ _ = notHappyAtAll happyReduce_25 = happySpecReduce_1 11 happyReduction_25 happyReduction_25 (HappyTerminal (TokenIdent happy_var_1)) = HappyAbsSyn16 (PropNameId happy_var_1 ) happyReduction_25 _ = notHappyAtAll happyReduce_26 = happySpecReduce_1 11 happyReduction_26 happyReduction_26 (HappyTerminal (TokenStringLit happy_var_1)) = HappyAbsSyn16 (PropNameStr happy_var_1 ) happyReduction_26 _ = notHappyAtAll happyReduce_27 = happySpecReduce_1 11 happyReduction_27 happyReduction_27 (HappyTerminal (TokenInt happy_var_1)) = HappyAbsSyn16 (PropNameInt happy_var_1 ) happyReduction_27 _ = notHappyAtAll happyReduce_28 = happySpecReduce_1 12 happyReduction_28 happyReduction_28 (HappyAbsSyn10 happy_var_1) = HappyAbsSyn17 (MemPrimExpr happy_var_1 ) happyReduction_28 _ = notHappyAtAll happyReduce_29 = happyReduce 4 12 happyReduction_29 happyReduction_29 (_ `HappyStk` (HappyAbsSyn38 happy_var_3) `HappyStk` _ `HappyStk` (HappyAbsSyn17 happy_var_1) `HappyStk` happyRest) = HappyAbsSyn17 (ArrayExpr happy_var_1 happy_var_3 ) `HappyStk` happyRest happyReduce_30 = happySpecReduce_3 12 happyReduction_30 happyReduction_30 (HappyTerminal (TokenIdent happy_var_3)) _ (HappyAbsSyn17 happy_var_1) = HappyAbsSyn17 (MemberCall happy_var_1 happy_var_3 ) happyReduction_30 _ _ _ = notHappyAtAll happyReduce_31 = happySpecReduce_3 12 happyReduction_31 happyReduction_31 (HappyAbsSyn20 happy_var_3) (HappyAbsSyn17 happy_var_2) _ = HappyAbsSyn17 (MemberNew happy_var_2 happy_var_3 ) happyReduction_31 _ _ _ = notHappyAtAll happyReduce_32 = happySpecReduce_1 13 happyReduction_32 happyReduction_32 (HappyAbsSyn17 happy_var_1) = HappyAbsSyn18 (MemberExpr happy_var_1 ) happyReduction_32 _ = notHappyAtAll happyReduce_33 = happySpecReduce_2 13 happyReduction_33 happyReduction_33 (HappyAbsSyn18 happy_var_2) _ = HappyAbsSyn18 (NewNewExpr happy_var_2 ) happyReduction_33 _ _ = notHappyAtAll happyReduce_34 = happySpecReduce_2 14 happyReduction_34 happyReduction_34 (HappyAbsSyn20 happy_var_2) (HappyAbsSyn17 happy_var_1) = HappyAbsSyn19 (CallMember happy_var_1 happy_var_2 ) happyReduction_34 _ _ = notHappyAtAll happyReduce_35 = happySpecReduce_2 14 happyReduction_35 happyReduction_35 (HappyAbsSyn20 happy_var_2) (HappyAbsSyn19 happy_var_1) = HappyAbsSyn19 (CallCall happy_var_1 happy_var_2 ) happyReduction_35 _ _ = notHappyAtAll happyReduce_36 = happyReduce 4 14 happyReduction_36 happyReduction_36 (_ `HappyStk` (HappyAbsSyn38 happy_var_3) `HappyStk` _ `HappyStk` (HappyAbsSyn19 happy_var_1) `HappyStk` happyRest) = HappyAbsSyn19 (CallSquare happy_var_1 happy_var_3 ) `HappyStk` happyRest happyReduce_37 = happySpecReduce_3 14 happyReduction_37 happyReduction_37 (HappyTerminal (TokenIdent happy_var_3)) _ (HappyAbsSyn19 happy_var_1) = HappyAbsSyn19 (CallDot happy_var_1 happy_var_3 ) happyReduction_37 _ _ _ = notHappyAtAll happyReduce_38 = happySpecReduce_2 15 happyReduction_38 happyReduction_38 _ _ = HappyAbsSyn20 ([] ) happyReduce_39 = happySpecReduce_3 15 happyReduction_39 happyReduction_39 _ (HappyAbsSyn21 happy_var_2) _ = HappyAbsSyn20 (happy_var_2 ) happyReduction_39 _ _ _ = notHappyAtAll happyReduce_40 = happySpecReduce_1 16 happyReduction_40 happyReduction_40 (HappyAbsSyn37 happy_var_1) = HappyAbsSyn21 ([happy_var_1] ) happyReduction_40 _ = notHappyAtAll happyReduce_41 = happySpecReduce_3 16 happyReduction_41 happyReduction_41 (HappyAbsSyn37 happy_var_3) _ (HappyAbsSyn21 happy_var_1) = HappyAbsSyn21 (happy_var_1 ++ [happy_var_3] ) happyReduction_41 _ _ _ = notHappyAtAll happyReduce_42 = happySpecReduce_1 17 happyReduction_42 happyReduction_42 (HappyAbsSyn18 happy_var_1) = HappyAbsSyn22 (NewExpr happy_var_1 ) happyReduction_42 _ = notHappyAtAll happyReduce_43 = happySpecReduce_1 17 happyReduction_43 happyReduction_43 (HappyAbsSyn19 happy_var_1) = HappyAbsSyn22 (CallExpr happy_var_1 ) happyReduction_43 _ = notHappyAtAll happyReduce_44 = happySpecReduce_1 18 happyReduction_44 happyReduction_44 (HappyAbsSyn22 happy_var_1) = HappyAbsSyn23 (LeftExpr happy_var_1 ) happyReduction_44 _ = notHappyAtAll happyReduce_45 = happySpecReduce_2 18 happyReduction_45 happyReduction_45 _ (HappyAbsSyn22 happy_var_1) = HappyAbsSyn23 (PostInc happy_var_1 ) happyReduction_45 _ _ = notHappyAtAll happyReduce_46 = happySpecReduce_2 18 happyReduction_46 happyReduction_46 _ (HappyAbsSyn22 happy_var_1) = HappyAbsSyn23 (PostDec happy_var_1 ) happyReduction_46 _ _ = notHappyAtAll happyReduce_47 = happySpecReduce_1 19 happyReduction_47 happyReduction_47 (HappyAbsSyn23 happy_var_1) = HappyAbsSyn24 (PostFix happy_var_1 ) happyReduction_47 _ = notHappyAtAll happyReduce_48 = happySpecReduce_2 19 happyReduction_48 happyReduction_48 (HappyAbsSyn24 happy_var_2) _ = HappyAbsSyn24 (Delete happy_var_2 ) happyReduction_48 _ _ = notHappyAtAll happyReduce_49 = happySpecReduce_2 19 happyReduction_49 happyReduction_49 (HappyAbsSyn24 happy_var_2) _ = HappyAbsSyn24 (Void happy_var_2 ) happyReduction_49 _ _ = notHappyAtAll happyReduce_50 = happySpecReduce_2 19 happyReduction_50 happyReduction_50 (HappyAbsSyn24 happy_var_2) _ = HappyAbsSyn24 (TypeOf happy_var_2 ) happyReduction_50 _ _ = notHappyAtAll happyReduce_51 = happySpecReduce_2 19 happyReduction_51 happyReduction_51 (HappyAbsSyn24 happy_var_2) _ = HappyAbsSyn24 (DoublePlus happy_var_2 ) happyReduction_51 _ _ = notHappyAtAll happyReduce_52 = happySpecReduce_2 19 happyReduction_52 happyReduction_52 (HappyAbsSyn24 happy_var_2) _ = HappyAbsSyn24 (DoubleMinus happy_var_2 ) happyReduction_52 _ _ = notHappyAtAll happyReduce_53 = happySpecReduce_2 19 happyReduction_53 happyReduction_53 (HappyAbsSyn24 happy_var_2) _ = HappyAbsSyn24 (UnaryPlus happy_var_2 ) happyReduction_53 _ _ = notHappyAtAll happyReduce_54 = happySpecReduce_2 19 happyReduction_54 happyReduction_54 (HappyAbsSyn24 happy_var_2) _ = HappyAbsSyn24 (UnaryMinus happy_var_2 ) happyReduction_54 _ _ = notHappyAtAll happyReduce_55 = happySpecReduce_2 19 happyReduction_55 happyReduction_55 (HappyAbsSyn24 happy_var_2) _ = HappyAbsSyn24 (Not happy_var_2 ) happyReduction_55 _ _ = notHappyAtAll happyReduce_56 = happySpecReduce_2 19 happyReduction_56 happyReduction_56 (HappyAbsSyn24 happy_var_2) _ = HappyAbsSyn24 (BitNot happy_var_2 ) happyReduction_56 _ _ = notHappyAtAll happyReduce_57 = happySpecReduce_1 20 happyReduction_57 happyReduction_57 (HappyAbsSyn24 happy_var_1) = HappyAbsSyn25 (UExpr happy_var_1 ) happyReduction_57 _ = notHappyAtAll happyReduce_58 = happySpecReduce_3 20 happyReduction_58 happyReduction_58 (HappyAbsSyn24 happy_var_3) _ (HappyAbsSyn25 happy_var_1) = HappyAbsSyn25 (Times happy_var_1 happy_var_3 ) happyReduction_58 _ _ _ = notHappyAtAll happyReduce_59 = happySpecReduce_3 20 happyReduction_59 happyReduction_59 (HappyAbsSyn24 happy_var_3) _ (HappyAbsSyn25 happy_var_1) = HappyAbsSyn25 (Div happy_var_1 happy_var_3 ) happyReduction_59 _ _ _ = notHappyAtAll happyReduce_60 = happySpecReduce_3 20 happyReduction_60 happyReduction_60 (HappyAbsSyn24 happy_var_3) _ (HappyAbsSyn25 happy_var_1) = HappyAbsSyn25 (Mod happy_var_1 happy_var_3 ) happyReduction_60 _ _ _ = notHappyAtAll happyReduce_61 = happySpecReduce_1 21 happyReduction_61 happyReduction_61 (HappyAbsSyn25 happy_var_1) = HappyAbsSyn26 (MultExpr happy_var_1 ) happyReduction_61 _ = notHappyAtAll happyReduce_62 = happySpecReduce_3 21 happyReduction_62 happyReduction_62 (HappyAbsSyn25 happy_var_3) _ (HappyAbsSyn26 happy_var_1) = HappyAbsSyn26 (Plus happy_var_1 happy_var_3 ) happyReduction_62 _ _ _ = notHappyAtAll happyReduce_63 = happySpecReduce_3 21 happyReduction_63 happyReduction_63 (HappyAbsSyn25 happy_var_3) _ (HappyAbsSyn26 happy_var_1) = HappyAbsSyn26 (Minus happy_var_1 happy_var_3 ) happyReduction_63 _ _ _ = notHappyAtAll happyReduce_64 = happySpecReduce_1 22 happyReduction_64 happyReduction_64 (HappyAbsSyn26 happy_var_1) = HappyAbsSyn27 (AddExpr happy_var_1 ) happyReduction_64 _ = notHappyAtAll happyReduce_65 = happySpecReduce_3 22 happyReduction_65 happyReduction_65 (HappyAbsSyn26 happy_var_3) _ (HappyAbsSyn27 happy_var_1) = HappyAbsSyn27 (ShiftLeft happy_var_1 happy_var_3 ) happyReduction_65 _ _ _ = notHappyAtAll happyReduce_66 = happySpecReduce_3 22 happyReduction_66 happyReduction_66 (HappyAbsSyn26 happy_var_3) _ (HappyAbsSyn27 happy_var_1) = HappyAbsSyn27 (ShiftRight happy_var_1 happy_var_3 ) happyReduction_66 _ _ _ = notHappyAtAll happyReduce_67 = happySpecReduce_3 22 happyReduction_67 happyReduction_67 (HappyAbsSyn26 happy_var_3) _ (HappyAbsSyn27 happy_var_1) = HappyAbsSyn27 (ShiftRight2 happy_var_1 happy_var_3 ) happyReduction_67 _ _ _ = notHappyAtAll happyReduce_68 = happySpecReduce_1 23 happyReduction_68 happyReduction_68 (HappyAbsSyn27 happy_var_1) = HappyAbsSyn28 (ShiftE happy_var_1 ) happyReduction_68 _ = notHappyAtAll happyReduce_69 = happySpecReduce_3 23 happyReduction_69 happyReduction_69 (HappyAbsSyn27 happy_var_3) _ (HappyAbsSyn28 happy_var_1) = HappyAbsSyn28 (LessThan happy_var_1 happy_var_3 ) happyReduction_69 _ _ _ = notHappyAtAll happyReduce_70 = happySpecReduce_3 23 happyReduction_70 happyReduction_70 (HappyAbsSyn27 happy_var_3) _ (HappyAbsSyn28 happy_var_1) = HappyAbsSyn28 (GreaterThan happy_var_1 happy_var_3 ) happyReduction_70 _ _ _ = notHappyAtAll happyReduce_71 = happySpecReduce_3 23 happyReduction_71 happyReduction_71 (HappyAbsSyn27 happy_var_3) _ (HappyAbsSyn28 happy_var_1) = HappyAbsSyn28 (LessEqual happy_var_1 happy_var_3 ) happyReduction_71 _ _ _ = notHappyAtAll happyReduce_72 = happySpecReduce_3 23 happyReduction_72 happyReduction_72 (HappyAbsSyn27 happy_var_3) _ (HappyAbsSyn28 happy_var_1) = HappyAbsSyn28 (GreaterEqual happy_var_1 happy_var_3 ) happyReduction_72 _ _ _ = notHappyAtAll happyReduce_73 = happySpecReduce_3 23 happyReduction_73 happyReduction_73 (HappyAbsSyn27 happy_var_3) _ (HappyAbsSyn28 happy_var_1) = HappyAbsSyn28 (InstanceOf happy_var_1 happy_var_3 ) happyReduction_73 _ _ _ = notHappyAtAll happyReduce_74 = happySpecReduce_3 23 happyReduction_74 happyReduction_74 (HappyAbsSyn27 happy_var_3) _ (HappyAbsSyn28 happy_var_1) = HappyAbsSyn28 (InObject happy_var_1 happy_var_3 ) happyReduction_74 _ _ _ = notHappyAtAll happyReduce_75 = happySpecReduce_1 24 happyReduction_75 happyReduction_75 (HappyAbsSyn28 happy_var_1) = HappyAbsSyn29 (RelE happy_var_1 ) happyReduction_75 _ = notHappyAtAll happyReduce_76 = happySpecReduce_3 24 happyReduction_76 happyReduction_76 (HappyAbsSyn28 happy_var_3) _ (HappyAbsSyn29 happy_var_1) = HappyAbsSyn29 (Equal happy_var_1 happy_var_3 ) happyReduction_76 _ _ _ = notHappyAtAll happyReduce_77 = happySpecReduce_3 24 happyReduction_77 happyReduction_77 (HappyAbsSyn28 happy_var_3) _ (HappyAbsSyn29 happy_var_1) = HappyAbsSyn29 (NotEqual happy_var_1 happy_var_3 ) happyReduction_77 _ _ _ = notHappyAtAll happyReduce_78 = happySpecReduce_3 24 happyReduction_78 happyReduction_78 (HappyAbsSyn28 happy_var_3) _ (HappyAbsSyn29 happy_var_1) = HappyAbsSyn29 (Equal2 happy_var_1 happy_var_3 ) happyReduction_78 _ _ _ = notHappyAtAll happyReduce_79 = happySpecReduce_3 24 happyReduction_79 happyReduction_79 (HappyAbsSyn28 happy_var_3) _ (HappyAbsSyn29 happy_var_1) = HappyAbsSyn29 (NotEqual happy_var_1 happy_var_3 ) happyReduction_79 _ _ _ = notHappyAtAll happyReduce_80 = happySpecReduce_1 25 happyReduction_80 happyReduction_80 (HappyAbsSyn29 happy_var_1) = HappyAbsSyn30 (EqualE happy_var_1 ) happyReduction_80 _ = notHappyAtAll happyReduce_81 = happySpecReduce_3 25 happyReduction_81 happyReduction_81 (HappyAbsSyn29 happy_var_3) _ (HappyAbsSyn30 happy_var_1) = HappyAbsSyn30 (BABitAnd happy_var_1 happy_var_3 ) happyReduction_81 _ _ _ = notHappyAtAll happyReduce_82 = happySpecReduce_1 26 happyReduction_82 happyReduction_82 (HappyAbsSyn30 happy_var_1) = HappyAbsSyn31 (BitAnd happy_var_1 ) happyReduction_82 _ = notHappyAtAll happyReduce_83 = happySpecReduce_3 26 happyReduction_83 happyReduction_83 (HappyAbsSyn30 happy_var_3) _ (HappyAbsSyn31 happy_var_1) = HappyAbsSyn31 (BXBitXOR happy_var_1 happy_var_3 ) happyReduction_83 _ _ _ = notHappyAtAll happyReduce_84 = happySpecReduce_1 27 happyReduction_84 happyReduction_84 (HappyAbsSyn31 happy_var_1) = HappyAbsSyn32 (BitXOR happy_var_1 ) happyReduction_84 _ = notHappyAtAll happyReduce_85 = happySpecReduce_3 27 happyReduction_85 happyReduction_85 (HappyAbsSyn31 happy_var_3) _ (HappyAbsSyn32 happy_var_1) = HappyAbsSyn32 (BOBitOR happy_var_1 happy_var_3 ) happyReduction_85 _ _ _ = notHappyAtAll happyReduce_86 = happySpecReduce_1 28 happyReduction_86 happyReduction_86 (HappyAbsSyn32 happy_var_1) = HappyAbsSyn33 (BitOR happy_var_1 ) happyReduction_86 _ = notHappyAtAll happyReduce_87 = happySpecReduce_3 28 happyReduction_87 happyReduction_87 (HappyAbsSyn32 happy_var_3) _ (HappyAbsSyn33 happy_var_1) = HappyAbsSyn33 (LALogAnd happy_var_1 happy_var_3 ) happyReduction_87 _ _ _ = notHappyAtAll happyReduce_88 = happySpecReduce_1 29 happyReduction_88 happyReduction_88 (HappyAbsSyn33 happy_var_1) = HappyAbsSyn34 (LogAnd happy_var_1 ) happyReduction_88 _ = notHappyAtAll happyReduce_89 = happySpecReduce_3 29 happyReduction_89 happyReduction_89 (HappyAbsSyn33 happy_var_3) _ (HappyAbsSyn34 happy_var_1) = HappyAbsSyn34 (LOLogOr happy_var_1 happy_var_3 ) happyReduction_89 _ _ _ = notHappyAtAll happyReduce_90 = happySpecReduce_1 30 happyReduction_90 happyReduction_90 (HappyAbsSyn34 happy_var_1) = HappyAbsSyn35 (LogOr happy_var_1 ) happyReduction_90 _ = notHappyAtAll happyReduce_91 = happyReduce 5 30 happyReduction_91 happyReduction_91 ((HappyAbsSyn37 happy_var_5) `HappyStk` _ `HappyStk` (HappyAbsSyn37 happy_var_3) `HappyStk` _ `HappyStk` (HappyAbsSyn34 happy_var_1) `HappyStk` happyRest) = HappyAbsSyn35 (CondIf happy_var_1 happy_var_3 happy_var_5 ) `HappyStk` happyRest happyReduce_92 = happySpecReduce_1 31 happyReduction_92 happyReduction_92 _ = HappyAbsSyn36 (AssignOpMult ) happyReduce_93 = happySpecReduce_1 31 happyReduction_93 happyReduction_93 _ = HappyAbsSyn36 (AssignOpDiv ) happyReduce_94 = happySpecReduce_1 31 happyReduction_94 happyReduction_94 _ = HappyAbsSyn36 (AssignOpMod ) happyReduce_95 = happySpecReduce_1 31 happyReduction_95 happyReduction_95 _ = HappyAbsSyn36 (AssignOpPlus ) happyReduce_96 = happySpecReduce_1 31 happyReduction_96 happyReduction_96 _ = HappyAbsSyn36 (AssignOpMinus ) happyReduce_97 = happySpecReduce_1 31 happyReduction_97 happyReduction_97 _ = HappyAbsSyn36 (AssignNormal ) happyReduce_98 = happySpecReduce_3 32 happyReduction_98 happyReduction_98 (HappyAbsSyn37 happy_var_3) (HappyAbsSyn36 happy_var_2) (HappyAbsSyn22 happy_var_1) = HappyAbsSyn37 (Assign happy_var_1 happy_var_2 happy_var_3 ) happyReduction_98 _ _ _ = notHappyAtAll happyReduce_99 = happySpecReduce_1 32 happyReduction_99 happyReduction_99 (HappyAbsSyn35 happy_var_1) = HappyAbsSyn37 (CondE happy_var_1 ) happyReduction_99 _ = notHappyAtAll happyReduce_100 = happySpecReduce_1 32 happyReduction_100 happyReduction_100 (HappyAbsSyn60 happy_var_1) = HappyAbsSyn37 (AEFuncDecl happy_var_1 ) happyReduction_100 _ = notHappyAtAll happyReduce_101 = happySpecReduce_1 33 happyReduction_101 happyReduction_101 (HappyAbsSyn37 happy_var_1) = HappyAbsSyn38 (AssignE happy_var_1 ) happyReduction_101 _ = notHappyAtAll happyReduce_102 = happySpecReduce_1 34 happyReduction_102 happyReduction_102 (HappyAbsSyn40 happy_var_1) = HappyAbsSyn39 (Block happy_var_1 ) happyReduction_102 _ = notHappyAtAll happyReduce_103 = happySpecReduce_1 34 happyReduction_103 happyReduction_103 (HappyAbsSyn42 happy_var_1) = HappyAbsSyn39 (VarStmt happy_var_1 ) happyReduction_103 _ = notHappyAtAll happyReduce_104 = happySpecReduce_1 34 happyReduction_104 happyReduction_104 _ = HappyAbsSyn39 (EmptyStmt ) happyReduce_105 = happySpecReduce_1 34 happyReduction_105 happyReduction_105 (HappyAbsSyn48 happy_var_1) = HappyAbsSyn39 (ExprStmt happy_var_1 ) happyReduction_105 _ = notHappyAtAll happyReduce_106 = happySpecReduce_1 34 happyReduction_106 happyReduction_106 (HappyAbsSyn49 happy_var_1) = HappyAbsSyn39 (IfStmt happy_var_1 ) happyReduction_106 _ = notHappyAtAll happyReduce_107 = happySpecReduce_1 34 happyReduction_107 happyReduction_107 (HappyAbsSyn50 happy_var_1) = HappyAbsSyn39 (ItStmt happy_var_1 ) happyReduction_107 _ = notHappyAtAll happyReduce_108 = happySpecReduce_3 34 happyReduction_108 happyReduction_108 _ (HappyTerminal (TokenIdent happy_var_2)) _ = HappyAbsSyn39 (ContStmt $ Just happy_var_2 ) happyReduction_108 _ _ _ = notHappyAtAll happyReduce_109 = happySpecReduce_2 34 happyReduction_109 happyReduction_109 _ _ = HappyAbsSyn39 (ContStmt Nothing ) happyReduce_110 = happySpecReduce_3 34 happyReduction_110 happyReduction_110 _ (HappyTerminal (TokenIdent happy_var_2)) _ = HappyAbsSyn39 (BreakStmt $ Just happy_var_2 ) happyReduction_110 _ _ _ = notHappyAtAll happyReduce_111 = happySpecReduce_2 34 happyReduction_111 happyReduction_111 _ _ = HappyAbsSyn39 (BreakStmt Nothing ) happyReduce_112 = happySpecReduce_3 34 happyReduction_112 happyReduction_112 _ (HappyAbsSyn47 happy_var_2) _ = HappyAbsSyn39 (ReturnStmt $ Just happy_var_2 ) happyReduction_112 _ _ _ = notHappyAtAll happyReduce_113 = happySpecReduce_2 34 happyReduction_113 happyReduction_113 _ _ = HappyAbsSyn39 (ReturnStmt Nothing ) happyReduce_114 = happyReduce 5 34 happyReduction_114 happyReduction_114 ((HappyAbsSyn39 happy_var_5) `HappyStk` _ `HappyStk` (HappyAbsSyn38 happy_var_3) `HappyStk` _ `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn39 (WithStmt happy_var_3 happy_var_5 ) `HappyStk` happyRest happyReduce_115 = happySpecReduce_3 34 happyReduction_115 happyReduction_115 (HappyAbsSyn39 happy_var_3) _ (HappyTerminal (TokenIdent happy_var_1)) = HappyAbsSyn39 (LabelledStmt happy_var_1 happy_var_3 ) happyReduction_115 _ _ _ = notHappyAtAll happyReduce_116 = happySpecReduce_1 34 happyReduction_116 happyReduction_116 (HappyAbsSyn55 happy_var_1) = HappyAbsSyn39 (Switch happy_var_1 ) happyReduction_116 _ = notHappyAtAll happyReduce_117 = happySpecReduce_3 34 happyReduction_117 happyReduction_117 _ (HappyAbsSyn47 happy_var_2) _ = HappyAbsSyn39 (ThrowExpr happy_var_2 ) happyReduction_117 _ _ _ = notHappyAtAll happyReduce_118 = happySpecReduce_1 34 happyReduction_118 happyReduction_118 (HappyAbsSyn43 happy_var_1) = HappyAbsSyn39 (TryStmt happy_var_1 ) happyReduction_118 _ = notHappyAtAll happyReduce_119 = happySpecReduce_3 35 happyReduction_119 happyReduction_119 _ (HappyAbsSyn41 happy_var_2) _ = HappyAbsSyn40 (happy_var_2 ) happyReduction_119 _ _ _ = notHappyAtAll happyReduce_120 = happySpecReduce_0 36 happyReduction_120 happyReduction_120 = HappyAbsSyn41 ([] ) happyReduce_121 = happySpecReduce_1 36 happyReduction_121 happyReduction_121 (HappyAbsSyn39 happy_var_1) = HappyAbsSyn41 ([happy_var_1] ) happyReduction_121 _ = notHappyAtAll happyReduce_122 = happySpecReduce_2 36 happyReduction_122 happyReduction_122 (HappyAbsSyn39 happy_var_2) (HappyAbsSyn41 happy_var_1) = HappyAbsSyn41 (happy_var_1 ++ [happy_var_2] ) happyReduction_122 _ _ = notHappyAtAll happyReduce_123 = happySpecReduce_2 37 happyReduction_123 happyReduction_123 (HappyAbsSyn52 happy_var_2) _ = HappyAbsSyn42 (happy_var_2 ) happyReduction_123 _ _ = notHappyAtAll happyReduce_124 = happySpecReduce_2 37 happyReduction_124 happyReduction_124 (HappyAbsSyn52 happy_var_2) _ = HappyAbsSyn42 (happy_var_2 ) happyReduction_124 _ _ = notHappyAtAll happyReduce_125 = happySpecReduce_3 38 happyReduction_125 happyReduction_125 (HappyAbsSyn44 happy_var_3) (HappyAbsSyn40 happy_var_2) _ = HappyAbsSyn43 (TryBC happy_var_2 happy_var_3 ) happyReduction_125 _ _ _ = notHappyAtAll happyReduce_126 = happySpecReduce_3 38 happyReduction_126 happyReduction_126 (HappyAbsSyn46 happy_var_3) (HappyAbsSyn40 happy_var_2) _ = HappyAbsSyn43 (TryBF happy_var_2 happy_var_3 ) happyReduction_126 _ _ _ = notHappyAtAll happyReduce_127 = happyReduce 4 38 happyReduction_127 happyReduction_127 ((HappyAbsSyn46 happy_var_4) `HappyStk` (HappyAbsSyn44 happy_var_3) `HappyStk` (HappyAbsSyn40 happy_var_2) `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn43 (TryBCF happy_var_2 happy_var_3 happy_var_4 ) `HappyStk` happyRest happyReduce_128 = happySpecReduce_1 39 happyReduction_128 happyReduction_128 (HappyAbsSyn45 happy_var_1) = HappyAbsSyn44 ([happy_var_1] ) happyReduction_128 _ = notHappyAtAll happyReduce_129 = happySpecReduce_2 39 happyReduction_129 happyReduction_129 (HappyAbsSyn45 happy_var_2) (HappyAbsSyn44 happy_var_1) = HappyAbsSyn44 (happy_var_1 ++ [happy_var_2 ] ) happyReduction_129 _ _ = notHappyAtAll happyReduce_130 = happyReduce 5 40 happyReduction_130 happyReduction_130 ((HappyAbsSyn40 happy_var_5) `HappyStk` _ `HappyStk` (HappyTerminal (TokenIdent happy_var_3)) `HappyStk` _ `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn45 (Catch happy_var_3 happy_var_5 ) `HappyStk` happyRest happyReduce_131 = happyReduce 7 40 happyReduction_131 happyReduction_131 ((HappyAbsSyn40 happy_var_7) `HappyStk` _ `HappyStk` (HappyAbsSyn38 happy_var_5) `HappyStk` _ `HappyStk` (HappyTerminal (TokenIdent happy_var_3)) `HappyStk` _ `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn45 (CatchIf happy_var_3 happy_var_7 happy_var_5 ) `HappyStk` happyRest happyReduce_132 = happySpecReduce_2 41 happyReduction_132 happyReduction_132 (HappyAbsSyn40 happy_var_2) _ = HappyAbsSyn46 (happy_var_2 ) happyReduction_132 _ _ = notHappyAtAll happyReduce_133 = happyMonad2Reduce 1 42 happyReduction_133 happyReduction_133 ((HappyAbsSyn38 happy_var_1) `HappyStk` happyRest) tk = happyThen (( \t -> autoSemiInsert t happy_var_1) tk ) (\r -> happyReturn (HappyAbsSyn47 r)) happyReduce_134 = happySpecReduce_2 43 happyReduction_134 happyReduction_134 _ (HappyAbsSyn47 happy_var_1) = HappyAbsSyn48 (happy_var_1 ) happyReduction_134 _ _ = notHappyAtAll happyReduce_135 = happyReduce 7 44 happyReduction_135 happyReduction_135 ((HappyAbsSyn39 happy_var_7) `HappyStk` _ `HappyStk` (HappyAbsSyn39 happy_var_5) `HappyStk` _ `HappyStk` (HappyAbsSyn38 happy_var_3) `HappyStk` _ `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn49 (IfElse happy_var_3 happy_var_5 happy_var_7 ) `HappyStk` happyRest happyReduce_136 = happyReduce 5 44 happyReduction_136 happyReduction_136 ((HappyAbsSyn39 happy_var_5) `HappyStk` _ `HappyStk` (HappyAbsSyn38 happy_var_3) `HappyStk` _ `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn49 (IfOnly happy_var_3 happy_var_5 ) `HappyStk` happyRest happyReduce_137 = happyReduce 7 45 happyReduction_137 happyReduction_137 (_ `HappyStk` _ `HappyStk` (HappyAbsSyn38 happy_var_5) `HappyStk` _ `HappyStk` _ `HappyStk` (HappyAbsSyn39 happy_var_2) `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn50 (DoWhile happy_var_2 happy_var_5 ) `HappyStk` happyRest happyReduce_138 = happyReduce 5 45 happyReduction_138 happyReduction_138 ((HappyAbsSyn39 happy_var_5) `HappyStk` _ `HappyStk` (HappyAbsSyn38 happy_var_3) `HappyStk` _ `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn50 (While happy_var_3 happy_var_5 ) `HappyStk` happyRest happyReduce_139 = happyReduce 9 45 happyReduction_139 happyReduction_139 ((HappyAbsSyn39 happy_var_9) `HappyStk` _ `HappyStk` (HappyAbsSyn51 happy_var_7) `HappyStk` _ `HappyStk` (HappyAbsSyn51 happy_var_5) `HappyStk` _ `HappyStk` (HappyAbsSyn51 happy_var_3) `HappyStk` _ `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn50 (For happy_var_3 happy_var_5 happy_var_7 happy_var_9 ) `HappyStk` happyRest happyReduce_140 = happyReduce 10 45 happyReduction_140 happyReduction_140 ((HappyAbsSyn39 happy_var_10) `HappyStk` _ `HappyStk` (HappyAbsSyn51 happy_var_8) `HappyStk` _ `HappyStk` (HappyAbsSyn51 happy_var_6) `HappyStk` _ `HappyStk` (HappyAbsSyn52 happy_var_4) `HappyStk` _ `HappyStk` _ `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn50 (ForVar happy_var_4 happy_var_6 happy_var_8 happy_var_10 ) `HappyStk` happyRest happyReduce_141 = happyReduce 9 45 happyReduction_141 happyReduction_141 ((HappyAbsSyn39 happy_var_9) `HappyStk` _ `HappyStk` (HappyAbsSyn51 happy_var_7) `HappyStk` _ `HappyStk` (HappyAbsSyn51 happy_var_5) `HappyStk` _ `HappyStk` (HappyAbsSyn52 happy_var_3) `HappyStk` _ `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn50 (ForVar happy_var_3 happy_var_5 happy_var_7 happy_var_9 ) `HappyStk` happyRest happyReduce_142 = happyReduce 8 45 happyReduction_142 happyReduction_142 ((HappyAbsSyn39 happy_var_8) `HappyStk` _ `HappyStk` (HappyAbsSyn38 happy_var_6) `HappyStk` _ `HappyStk` (HappyAbsSyn52 happy_var_4) `HappyStk` _ `HappyStk` _ `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn50 (ForIn happy_var_4 happy_var_6 happy_var_8 ) `HappyStk` happyRest happyReduce_143 = happyReduce 7 45 happyReduction_143 happyReduction_143 ((HappyAbsSyn39 happy_var_7) `HappyStk` _ `HappyStk` (HappyAbsSyn38 happy_var_5) `HappyStk` _ `HappyStk` (HappyAbsSyn52 happy_var_3) `HappyStk` _ `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn50 (ForIn happy_var_3 happy_var_5 happy_var_7 ) `HappyStk` happyRest happyReduce_144 = happySpecReduce_0 46 happyReduction_144 happyReduction_144 = HappyAbsSyn51 (Nothing ) happyReduce_145 = happySpecReduce_1 46 happyReduction_145 happyReduction_145 (HappyAbsSyn38 happy_var_1) = HappyAbsSyn51 (Just happy_var_1 ) happyReduction_145 _ = notHappyAtAll happyReduce_146 = happySpecReduce_1 47 happyReduction_146 happyReduction_146 (HappyAbsSyn53 happy_var_1) = HappyAbsSyn52 ([happy_var_1] ) happyReduction_146 _ = notHappyAtAll happyReduce_147 = happySpecReduce_3 47 happyReduction_147 happyReduction_147 (HappyAbsSyn53 happy_var_3) _ (HappyAbsSyn52 happy_var_1) = HappyAbsSyn52 (happy_var_1 ++ [happy_var_3] ) happyReduction_147 _ _ _ = notHappyAtAll happyReduce_148 = happySpecReduce_2 48 happyReduction_148 happyReduction_148 (HappyAbsSyn54 happy_var_2) (HappyTerminal (TokenIdent happy_var_1)) = HappyAbsSyn53 (VarDecl happy_var_1 happy_var_2 ) happyReduction_148 _ _ = notHappyAtAll happyReduce_149 = happySpecReduce_0 49 happyReduction_149 happyReduction_149 = HappyAbsSyn54 (Nothing ) happyReduce_150 = happySpecReduce_2 49 happyReduction_150 happyReduction_150 (HappyAbsSyn37 happy_var_2) _ = HappyAbsSyn54 (Just happy_var_2 ) happyReduction_150 _ _ = notHappyAtAll happyReduce_151 = happyReduce 5 50 happyReduction_151 happyReduction_151 ((HappyAbsSyn56 happy_var_5) `HappyStk` _ `HappyStk` (HappyAbsSyn38 happy_var_3) `HappyStk` _ `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn55 (SSwitch happy_var_3 happy_var_5 ) `HappyStk` happyRest happyReduce_152 = happySpecReduce_3 51 happyReduction_152 happyReduction_152 _ (HappyAbsSyn57 happy_var_2) _ = HappyAbsSyn56 (CaseBlock happy_var_2 [] [] ) happyReduction_152 _ _ _ = notHappyAtAll happyReduce_153 = happyReduce 5 51 happyReduction_153 happyReduction_153 (_ `HappyStk` (HappyAbsSyn57 happy_var_4) `HappyStk` (HappyAbsSyn59 happy_var_3) `HappyStk` (HappyAbsSyn57 happy_var_2) `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn56 (CaseBlock happy_var_2 [happy_var_3] happy_var_4 ) `HappyStk` happyRest happyReduce_154 = happySpecReduce_0 52 happyReduction_154 happyReduction_154 = HappyAbsSyn57 ([] ) happyReduce_155 = happySpecReduce_1 52 happyReduction_155 happyReduction_155 (HappyAbsSyn58 happy_var_1) = HappyAbsSyn57 ([happy_var_1] ) happyReduction_155 _ = notHappyAtAll happyReduce_156 = happySpecReduce_2 52 happyReduction_156 happyReduction_156 (HappyAbsSyn58 happy_var_2) (HappyAbsSyn57 happy_var_1) = HappyAbsSyn57 (happy_var_1 ++ [happy_var_2] ) happyReduction_156 _ _ = notHappyAtAll happyReduce_157 = happyReduce 4 53 happyReduction_157 happyReduction_157 ((HappyAbsSyn41 happy_var_4) `HappyStk` _ `HappyStk` (HappyAbsSyn38 happy_var_2) `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn58 (CaseClause happy_var_2 happy_var_4 ) `HappyStk` happyRest happyReduce_158 = happySpecReduce_3 54 happyReduction_158 happyReduction_158 (HappyAbsSyn41 happy_var_3) _ _ = HappyAbsSyn59 (DefaultClause happy_var_3 ) happyReduction_158 _ _ _ = notHappyAtAll happyReduce_159 = happySpecReduce_2 55 happyReduction_159 happyReduction_159 (HappyAbsSyn61 happy_var_2) _ = HappyAbsSyn60 (happy_var_2 ) happyReduction_159 _ _ = notHappyAtAll happyReduce_160 = happyReduce 7 55 happyReduction_160 happyReduction_160 (_ `HappyStk` (HappyAbsSyn63 happy_var_6) `HappyStk` _ `HappyStk` _ `HappyStk` (HappyAbsSyn62 happy_var_3) `HappyStk` _ `HappyStk` _ `HappyStk` happyRest) = HappyAbsSyn60 (FuncDecl Nothing happy_var_3 happy_var_6 ) `HappyStk` happyRest happyReduce_161 = happyReduce 7 56 happyReduction_161 happyReduction_161 (_ `HappyStk` (HappyAbsSyn63 happy_var_6) `HappyStk` _ `HappyStk` _ `HappyStk` (HappyAbsSyn62 happy_var_3) `HappyStk` _ `HappyStk` (HappyTerminal (TokenIdent happy_var_1)) `HappyStk` happyRest) = HappyAbsSyn61 (FuncDecl (Just happy_var_1) happy_var_3 happy_var_6 ) `HappyStk` happyRest happyReduce_162 = happySpecReduce_0 57 happyReduction_162 happyReduction_162 = HappyAbsSyn62 ([] ) happyReduce_163 = happySpecReduce_1 57 happyReduction_163 happyReduction_163 (HappyTerminal (TokenIdent happy_var_1)) = HappyAbsSyn62 ([ happy_var_1 ] ) happyReduction_163 _ = notHappyAtAll happyReduce_164 = happySpecReduce_3 57 happyReduction_164 happyReduction_164 (HappyTerminal (TokenIdent happy_var_3)) _ (HappyAbsSyn62 happy_var_1) = HappyAbsSyn62 (happy_var_1 ++ [happy_var_3] ) happyReduction_164 _ _ _ = notHappyAtAll happyReduce_165 = happySpecReduce_1 58 happyReduction_165 happyReduction_165 (HappyAbsSyn65 happy_var_1) = HappyAbsSyn63 (happy_var_1 ) happyReduction_165 _ = notHappyAtAll happyReduce_166 = happySpecReduce_1 59 happyReduction_166 happyReduction_166 (HappyAbsSyn65 happy_var_1) = HappyAbsSyn64 (JSProgram happy_var_1 ) happyReduction_166 _ = notHappyAtAll happyReduce_167 = happySpecReduce_1 60 happyReduction_167 happyReduction_167 (HappyAbsSyn66 happy_var_1) = HappyAbsSyn65 ([happy_var_1] ) happyReduction_167 _ = notHappyAtAll happyReduce_168 = happySpecReduce_2 60 happyReduction_168 happyReduction_168 (HappyAbsSyn66 happy_var_2) (HappyAbsSyn65 happy_var_1) = HappyAbsSyn65 (happy_var_1 ++ [happy_var_2] ) happyReduction_168 _ _ = notHappyAtAll happyReduce_169 = happySpecReduce_1 61 happyReduction_169 happyReduction_169 (HappyAbsSyn39 happy_var_1) = HappyAbsSyn66 (Stmt happy_var_1 ) happyReduction_169 _ = notHappyAtAll happyReduce_170 = happySpecReduce_1 61 happyReduction_170 happyReduction_170 (HappyAbsSyn60 happy_var_1) = HappyAbsSyn66 (SEFuncDecl happy_var_1 ) happyReduction_170 _ = notHappyAtAll happyNewToken action sts stk = lexerM action (\tk -> let cont i = happyDoAction i tk action sts stk in case tk of { TokenEof -> happyDoAction 75 tk action sts stk; TokenEof -> cont 1; TokenInt happy_dollar_dollar -> cont 2; TokenIdent happy_dollar_dollar -> cont 3; TokenStringLit happy_dollar_dollar -> cont 4; TokenROP "=" -> cont 5; TokenROP "+" -> cont 6; TokenROP "-" -> cont 7; TokenROP "*" -> cont 8; TokenROP "/" -> cont 9; TokenROP "(" -> cont 10; TokenROP ")" -> cont 11; TokenROP "," -> cont 12; TokenNL -> cont 13; TokenROP "?" -> cont 14; TokenROP ":" -> cont 15; TokenROP "||" -> cont 16; TokenROP "&&" -> cont 17; TokenROP "|" -> cont 18; TokenROP "^" -> cont 19; TokenROP "&" -> cont 20; TokenROP "==" -> cont 21; TokenROP "!=" -> cont 22; TokenROP "===" -> cont 23; TokenROP "!==" -> cont 24; TokenROP "<" -> cont 25; TokenROP "<=" -> cont 26; TokenROP ">=" -> cont 27; TokenROP ">" -> cont 28; TokenROP "<<" -> cont 29; TokenROP ">>" -> cont 30; TokenROP ">>>" -> cont 31; TokenROP "!" -> cont 32; TokenROP "~" -> cont 33; TokenROP "++" -> cont 34; TokenROP "--" -> cont 35; TokenROP "." -> cont 36; TokenROP "[" -> cont 37; TokenROP "]" -> cont 38; TokenROP "{" -> cont 39; TokenROP "}" -> cont 40; TokenRID "delete" -> cont 41; TokenRID "void" -> cont 42; TokenRID "typeof" -> cont 43; TokenROP "%" -> cont 44; TokenROP "*=" -> cont 45; TokenROP "/=" -> cont 46; TokenROP "%=" -> cont 47; TokenROP "+=" -> cont 48; TokenROP "-=" -> cont 49; TokenRID "instanceof" -> cont 50; TokenRID "if" -> cont 51; TokenRID "else" -> cont 52; TokenROP ";" -> cont 53; TokenRID "do" -> cont 54; TokenRID "while" -> cont 55; TokenRID "for" -> cont 56; TokenRID "this" -> cont 57; TokenRID "var" -> cont 58; TokenRID "const" -> cont 59; TokenRID "function" -> cont 60; TokenRID "new" -> cont 61; TokenRID "try" -> cont 62; TokenRID "catch" -> cont 63; TokenRID "finally" -> cont 64; TokenRID "continue" -> cont 65; TokenRID "break" -> cont 66; TokenRID "throw" -> cont 67; TokenRID "return" -> cont 68; TokenRID "with" -> cont 69; TokenRID "switch" -> cont 70; TokenRID "case" -> cont 71; TokenRID "default" -> cont 72; TokenRID "in" -> cont 73; TokenRegex happy_dollar_dollar -> cont 74; _ -> happyError' tk }) happyError_ tk = happyError' tk happyThen :: () => P a -> (a -> P b) -> P b happyThen = (>>=) happyReturn :: () => a -> P a happyReturn = (return) happyThen1 = happyThen happyReturn1 :: () => a -> P a happyReturn1 = happyReturn happyError' :: () => Token -> P a happyError' tk = parseError tk jsprogram = happySomeParser where happySomeParser = happyThen (happyParse 0) (\x -> case x of {HappyAbsSyn64 z -> happyReturn z; _other -> notHappyAtAll }) primexpr = happySomeParser where happySomeParser = happyThen (happyParse 1) (\x -> case x of {HappyAbsSyn10 z -> happyReturn z; _other -> notHappyAtAll }) happySeq = happyDontSeq parseError :: Token -> P a parseError tok = do s <- get throwError ("parse error" ++ " tok = " ++ show tok ++ " rest=<" ++ (rest s) ++ "> lnum = " ++ show (lineno s) ++ " mode= " ++ show (mode s) ++ show (tr s)) {-# LINE 1 "GenericTemplate.hs" #-} {-# LINE 1 "" #-} {-# LINE 1 "" #-} {-# LINE 1 "GenericTemplate.hs" #-} -- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp {-# LINE 28 "GenericTemplate.hs" #-} data Happy_IntList = HappyCons Int Happy_IntList {-# LINE 49 "GenericTemplate.hs" #-} {-# LINE 59 "GenericTemplate.hs" #-} {-# LINE 68 "GenericTemplate.hs" #-} infixr 9 `HappyStk` data HappyStk a = HappyStk a (HappyStk a) ----------------------------------------------------------------------------- -- starting the parse happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll ----------------------------------------------------------------------------- -- Accepting the parse -- If the current token is (0), it means we've just accepted a partial -- parse (a %partial parser). We must ignore the saved token on the top of -- the stack in this case. happyAccept (0) tk st sts (_ `HappyStk` ans `HappyStk` _) = happyReturn1 ans happyAccept j tk st sts (HappyStk ans _) = (happyReturn1 ans) ----------------------------------------------------------------------------- -- Arrays only: do the next action happyDoAction i tk st = {- nothing -} case action of (0) -> {- nothing -} happyFail i tk st (-1) -> {- nothing -} happyAccept i tk st n | (n < ((0) :: Int)) -> {- nothing -} (happyReduceArr ! rule) i tk st where rule = ((negate ((n + ((1) :: Int))))) n -> {- nothing -} 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 {-# LINE 127 "GenericTemplate.hs" #-} {-# LINE 147 "GenericTemplate.hs" #-} indexShortOffAddr arr off = arr ! off ----------------------------------------------------------------------------- -- HappyState data type (not arrays) {-# LINE 170 "GenericTemplate.hs" #-} ----------------------------------------------------------------------------- -- Shifting a token happyShift new_state (0) tk st sts stk@(x `HappyStk` _) = let i = (case x of { HappyErrorToken (i) -> i }) in -- trace "shifting the error token" $ happyDoAction i tk new_state (HappyCons (st) (sts)) (stk) happyShift new_state i tk st sts stk = happyNewToken new_state (HappyCons (st) (sts)) ((HappyTerminal (tk))`HappyStk`stk) -- happyReduce is specialised for the common cases. happySpecReduce_0 i fn (0) tk st sts stk = happyFail (0) tk st sts stk happySpecReduce_0 nt fn j tk st@((action)) sts stk = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk) happySpecReduce_1 i fn (0) tk st sts stk = happyFail (0) tk st sts stk happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk') = let r = fn v1 in happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) happySpecReduce_2 i fn (0) tk st sts stk = happyFail (0) tk st sts stk happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk') = let r = fn v1 v2 in happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) happySpecReduce_3 i fn (0) tk st sts stk = happyFail (0) tk st sts stk happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk') = let r = fn v1 v2 v3 in happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) happyReduce k i fn (0) tk st sts stk = happyFail (0) tk st sts stk happyReduce k nt fn j tk st sts stk = case happyDrop (k - ((1) :: Int)) sts of sts1@((HappyCons (st1@(action)) (_))) -> let r = fn stk in -- it doesn't hurt to always seq here... happyDoSeq r (happyGoto nt j tk st1 sts1 r) happyMonadReduce k nt fn (0) tk st sts stk = happyFail (0) tk st sts stk happyMonadReduce k nt fn j tk st sts stk = happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk)) where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts)) drop_stk = happyDropStk k stk happyMonad2Reduce k nt fn (0) tk st sts stk = happyFail (0) tk st sts stk happyMonad2Reduce k nt fn j tk st sts stk = happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk)) where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts)) drop_stk = happyDropStk k stk off = indexShortOffAddr happyGotoOffsets st1 off_i = (off + nt) new_state = indexShortOffAddr happyTable off_i happyDrop (0) l = l happyDrop n (HappyCons (_) (t)) = happyDrop (n - ((1) :: Int)) t happyDropStk (0) l = l happyDropStk n (x `HappyStk` xs) = happyDropStk (n - ((1)::Int)) xs ----------------------------------------------------------------------------- -- Moving to a new state after a reduction happyGoto nt j tk st = {- nothing -} happyDoAction j tk new_state where off = indexShortOffAddr happyGotoOffsets st off_i = (off + nt) new_state = indexShortOffAddr happyTable off_i ----------------------------------------------------------------------------- -- Error recovery ((0) is the error token) -- parse error if we are in recovery and we fail again happyFail (0) tk old_st _ stk = -- trace "failing" $ happyError_ tk {- We don't need state discarding for our restricted implementation of "error". In fact, it can cause some bogus parses, so I've disabled it for now --SDM -- discard a state happyFail (0) tk old_st (HappyCons ((action)) (sts)) (saved_tok `HappyStk` _ `HappyStk` stk) = -- trace ("discarding state, depth " ++ show (length stk)) $ happyDoAction (0) tk action sts ((saved_tok`HappyStk`stk)) -} -- Enter error recovery: generate an error token, -- save the old token and carry on. happyFail i tk (action) sts stk = -- trace "entering error recovery" $ happyDoAction (0) tk action sts ( (HappyErrorToken (i)) `HappyStk` stk) -- Internal happy errors: notHappyAtAll = error "Internal Happy error\n" ----------------------------------------------------------------------------- -- Hack to get the typechecker to accept our action functions ----------------------------------------------------------------------------- -- Seq-ing. If the --strict flag is given, then Happy emits -- happySeq = happyDoSeq -- otherwise it emits -- happySeq = happyDontSeq happyDoSeq, happyDontSeq :: a -> b -> b happyDoSeq a b = a `seq` b happyDontSeq a b = b ----------------------------------------------------------------------------- -- Don't inline any functions from the template. GHC has a nasty habit -- of deciding to inline happyGoto everywhere, which increases the size of -- the generated parser quite a bit. {-# NOINLINE happyDoAction #-} {-# NOINLINE happyTable #-} {-# NOINLINE happyCheck #-} {-# NOINLINE happyActOffsets #-} {-# NOINLINE happyGotoOffsets #-} {-# NOINLINE happyDefActions #-} {-# NOINLINE happyShift #-} {-# NOINLINE happySpecReduce_0 #-} {-# NOINLINE happySpecReduce_1 #-} {-# NOINLINE happySpecReduce_2 #-} {-# NOINLINE happySpecReduce_3 #-} {-# NOINLINE happyReduce #-} {-# NOINLINE happyMonadReduce #-} {-# NOINLINE happyGoto #-} {-# NOINLINE happyFail #-} -- end of Happy Template.