diff options
Diffstat (limited to 'testsuite/tests/programs/joao-circular/Funcs_Parser_Lazy.hs')
-rw-r--r-- | testsuite/tests/programs/joao-circular/Funcs_Parser_Lazy.hs | 1549 |
1 files changed, 1549 insertions, 0 deletions
diff --git a/testsuite/tests/programs/joao-circular/Funcs_Parser_Lazy.hs b/testsuite/tests/programs/joao-circular/Funcs_Parser_Lazy.hs new file mode 100644 index 0000000000..ec47769beb --- /dev/null +++ b/testsuite/tests/programs/joao-circular/Funcs_Parser_Lazy.hs @@ -0,0 +1,1549 @@ +-- parser produced by Happy Version 1.13 + +module Funcs_Parser_Lazy ( runParser ) where + +import Funcs_Lexer + +import Data_Lazy + +data HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 + = HappyTerminal Token + | HappyErrorToken Int + | HappyAbsSyn4 t4 + | HappyAbsSyn5 t5 + | HappyAbsSyn6 t6 + | HappyAbsSyn7 t7 + | HappyAbsSyn8 t8 + | HappyAbsSyn9 t9 + | HappyAbsSyn10 t10 + | HappyAbsSyn11 t11 + | HappyAbsSyn12 t12 + | HappyAbsSyn13 t13 + | HappyAbsSyn14 t14 + | HappyAbsSyn15 t15 + | HappyAbsSyn16 t16 + | HappyAbsSyn17 t17 + | HappyAbsSyn18 t18 + +action_0 (41) = happyShift action_6 +action_0 (42) = happyShift action_7 +action_0 (43) = happyShift action_8 +action_0 (44) = happyShift action_9 +action_0 (51) = happyShift action_10 +action_0 (4) = happyGoto action_11 +action_0 (5) = happyGoto action_2 +action_0 (6) = happyGoto action_3 +action_0 (7) = happyGoto action_4 +action_0 (18) = happyGoto action_5 +action_0 _ = happyReduce_3 + +action_1 (41) = happyShift action_6 +action_1 (42) = happyShift action_7 +action_1 (43) = happyShift action_8 +action_1 (44) = happyShift action_9 +action_1 (51) = happyShift action_10 +action_1 (5) = happyGoto action_2 +action_1 (6) = happyGoto action_3 +action_1 (7) = happyGoto action_4 +action_1 (18) = happyGoto action_5 +action_1 _ = happyFail + +action_2 _ = happyReduce_1 + +action_3 (19) = happyShift action_14 +action_3 _ = happyFail + +action_4 (51) = happyShift action_10 +action_4 (18) = happyGoto action_13 +action_4 _ = happyFail + +action_5 (20) = happyShift action_12 +action_5 _ = happyFail + +action_6 _ = happyReduce_7 + +action_7 _ = happyReduce_8 + +action_8 _ = happyReduce_9 + +action_9 _ = happyReduce_10 + +action_10 _ = happyReduce_51 + +action_11 (54) = happyAccept +action_11 _ = happyFail + +action_12 (41) = happyShift action_6 +action_12 (42) = happyShift action_7 +action_12 (43) = happyShift action_8 +action_12 (44) = happyShift action_9 +action_12 (7) = happyGoto action_17 +action_12 (8) = happyGoto action_18 +action_12 (9) = happyGoto action_19 +action_12 (10) = happyGoto action_20 +action_12 _ = happyReduce_11 + +action_13 (22) = happyShift action_16 +action_13 _ = happyReduce_4 + +action_14 (41) = happyShift action_6 +action_14 (42) = happyShift action_7 +action_14 (43) = happyShift action_8 +action_14 (44) = happyShift action_9 +action_14 (51) = happyShift action_10 +action_14 (5) = happyGoto action_15 +action_14 (6) = happyGoto action_3 +action_14 (7) = happyGoto action_4 +action_14 (18) = happyGoto action_5 +action_14 _ = happyReduce_3 + +action_15 _ = happyReduce_2 + +action_16 (52) = happyShift action_24 +action_16 _ = happyFail + +action_17 (51) = happyShift action_10 +action_17 (18) = happyGoto action_23 +action_17 _ = happyFail + +action_18 (21) = happyShift action_22 +action_18 _ = happyFail + +action_19 _ = happyReduce_12 + +action_20 (27) = happyShift action_21 +action_20 _ = happyReduce_14 + +action_21 (41) = happyShift action_6 +action_21 (42) = happyShift action_7 +action_21 (43) = happyShift action_8 +action_21 (44) = happyShift action_9 +action_21 (7) = happyGoto action_17 +action_21 (9) = happyGoto action_27 +action_21 (10) = happyGoto action_20 +action_21 _ = happyFail + +action_22 (26) = happyShift action_26 +action_22 _ = happyFail + +action_23 _ = happyReduce_15 + +action_24 (23) = happyShift action_25 +action_24 _ = happyFail + +action_25 _ = happyReduce_5 + +action_26 (41) = happyShift action_6 +action_26 (42) = happyShift action_7 +action_26 (43) = happyShift action_8 +action_26 (44) = happyShift action_9 +action_26 (7) = happyGoto action_28 +action_26 _ = happyFail + +action_27 _ = happyReduce_13 + +action_28 (24) = happyShift action_29 +action_28 _ = happyFail + +action_29 (41) = happyShift action_6 +action_29 (42) = happyShift action_7 +action_29 (43) = happyShift action_8 +action_29 (44) = happyShift action_9 +action_29 (45) = happyShift action_35 +action_29 (48) = happyShift action_36 +action_29 (49) = happyShift action_37 +action_29 (50) = happyShift action_38 +action_29 (51) = happyShift action_10 +action_29 (7) = happyGoto action_30 +action_29 (11) = happyGoto action_31 +action_29 (12) = happyGoto action_32 +action_29 (15) = happyGoto action_33 +action_29 (18) = happyGoto action_34 +action_29 _ = happyReduce_17 + +action_30 (51) = happyShift action_10 +action_30 (18) = happyGoto action_59 +action_30 _ = happyFail + +action_31 (25) = happyShift action_58 +action_31 _ = happyFail + +action_32 (19) = happyShift action_57 +action_32 _ = happyFail + +action_33 (31) = happyShift action_56 +action_33 _ = happyFail + +action_34 (20) = happyShift action_53 +action_34 (22) = happyShift action_54 +action_34 (31) = happyShift action_55 +action_34 _ = happyFail + +action_35 (20) = happyShift action_43 +action_35 (34) = happyShift action_44 +action_35 (38) = happyShift action_45 +action_35 (39) = happyShift action_46 +action_35 (40) = happyShift action_47 +action_35 (51) = happyShift action_10 +action_35 (52) = happyShift action_48 +action_35 (53) = happyShift action_49 +action_35 (13) = happyGoto action_52 +action_35 (14) = happyGoto action_40 +action_35 (15) = happyGoto action_41 +action_35 (18) = happyGoto action_42 +action_35 _ = happyFail + +action_36 (20) = happyShift action_43 +action_36 (34) = happyShift action_44 +action_36 (38) = happyShift action_45 +action_36 (39) = happyShift action_46 +action_36 (40) = happyShift action_47 +action_36 (51) = happyShift action_10 +action_36 (52) = happyShift action_48 +action_36 (53) = happyShift action_49 +action_36 (13) = happyGoto action_51 +action_36 (14) = happyGoto action_40 +action_36 (15) = happyGoto action_41 +action_36 (18) = happyGoto action_42 +action_36 _ = happyFail + +action_37 (51) = happyShift action_10 +action_37 (18) = happyGoto action_50 +action_37 _ = happyFail + +action_38 (20) = happyShift action_43 +action_38 (34) = happyShift action_44 +action_38 (38) = happyShift action_45 +action_38 (39) = happyShift action_46 +action_38 (40) = happyShift action_47 +action_38 (51) = happyShift action_10 +action_38 (52) = happyShift action_48 +action_38 (53) = happyShift action_49 +action_38 (13) = happyGoto action_39 +action_38 (14) = happyGoto action_40 +action_38 (15) = happyGoto action_41 +action_38 (18) = happyGoto action_42 +action_38 _ = happyFail + +action_39 (28) = happyShift action_67 +action_39 (29) = happyShift action_68 +action_39 (30) = happyShift action_69 +action_39 (32) = happyShift action_70 +action_39 (33) = happyShift action_71 +action_39 (34) = happyShift action_72 +action_39 (35) = happyShift action_73 +action_39 (36) = happyShift action_74 +action_39 (37) = happyShift action_75 +action_39 _ = happyReduce_25 + +action_40 _ = happyReduce_26 + +action_41 _ = happyReduce_42 + +action_42 (20) = happyShift action_81 +action_42 (22) = happyShift action_54 +action_42 _ = happyReduce_43 + +action_43 (20) = happyShift action_43 +action_43 (34) = happyShift action_44 +action_43 (38) = happyShift action_45 +action_43 (39) = happyShift action_46 +action_43 (40) = happyShift action_47 +action_43 (51) = happyShift action_10 +action_43 (52) = happyShift action_48 +action_43 (53) = happyShift action_49 +action_43 (13) = happyGoto action_80 +action_43 (14) = happyGoto action_40 +action_43 (15) = happyGoto action_41 +action_43 (18) = happyGoto action_42 +action_43 _ = happyFail + +action_44 (20) = happyShift action_43 +action_44 (34) = happyShift action_44 +action_44 (38) = happyShift action_45 +action_44 (39) = happyShift action_46 +action_44 (40) = happyShift action_47 +action_44 (51) = happyShift action_10 +action_44 (52) = happyShift action_48 +action_44 (53) = happyShift action_49 +action_44 (13) = happyGoto action_79 +action_44 (14) = happyGoto action_40 +action_44 (15) = happyGoto action_41 +action_44 (18) = happyGoto action_42 +action_44 _ = happyFail + +action_45 (20) = happyShift action_43 +action_45 (34) = happyShift action_44 +action_45 (38) = happyShift action_45 +action_45 (39) = happyShift action_46 +action_45 (40) = happyShift action_47 +action_45 (51) = happyShift action_10 +action_45 (52) = happyShift action_48 +action_45 (53) = happyShift action_49 +action_45 (13) = happyGoto action_78 +action_45 (14) = happyGoto action_40 +action_45 (15) = happyGoto action_41 +action_45 (18) = happyGoto action_42 +action_45 _ = happyFail + +action_46 _ = happyReduce_40 + +action_47 _ = happyReduce_41 + +action_48 _ = happyReduce_38 + +action_49 _ = happyReduce_39 + +action_50 _ = happyReduce_24 + +action_51 (24) = happyShift action_77 +action_51 (28) = happyShift action_67 +action_51 (29) = happyShift action_68 +action_51 (30) = happyShift action_69 +action_51 (32) = happyShift action_70 +action_51 (33) = happyShift action_71 +action_51 (34) = happyShift action_72 +action_51 (35) = happyShift action_73 +action_51 (36) = happyShift action_74 +action_51 (37) = happyShift action_75 +action_51 _ = happyFail + +action_52 (28) = happyShift action_67 +action_52 (29) = happyShift action_68 +action_52 (30) = happyShift action_69 +action_52 (32) = happyShift action_70 +action_52 (33) = happyShift action_71 +action_52 (34) = happyShift action_72 +action_52 (35) = happyShift action_73 +action_52 (36) = happyShift action_74 +action_52 (37) = happyShift action_75 +action_52 (46) = happyShift action_76 +action_52 _ = happyFail + +action_53 (20) = happyShift action_43 +action_53 (34) = happyShift action_44 +action_53 (38) = happyShift action_45 +action_53 (39) = happyShift action_46 +action_53 (40) = happyShift action_47 +action_53 (51) = happyShift action_10 +action_53 (52) = happyShift action_48 +action_53 (53) = happyShift action_49 +action_53 (13) = happyGoto action_64 +action_53 (14) = happyGoto action_40 +action_53 (15) = happyGoto action_41 +action_53 (16) = happyGoto action_65 +action_53 (17) = happyGoto action_66 +action_53 (18) = happyGoto action_42 +action_53 _ = happyReduce_47 + +action_54 (20) = happyShift action_43 +action_54 (34) = happyShift action_44 +action_54 (38) = happyShift action_45 +action_54 (39) = happyShift action_46 +action_54 (40) = happyShift action_47 +action_54 (51) = happyShift action_10 +action_54 (52) = happyShift action_48 +action_54 (53) = happyShift action_49 +action_54 (13) = happyGoto action_63 +action_54 (14) = happyGoto action_40 +action_54 (15) = happyGoto action_41 +action_54 (18) = happyGoto action_42 +action_54 _ = happyFail + +action_55 (20) = happyShift action_43 +action_55 (34) = happyShift action_44 +action_55 (38) = happyShift action_45 +action_55 (39) = happyShift action_46 +action_55 (40) = happyShift action_47 +action_55 (51) = happyShift action_10 +action_55 (52) = happyShift action_48 +action_55 (53) = happyShift action_49 +action_55 (13) = happyGoto action_62 +action_55 (14) = happyGoto action_40 +action_55 (15) = happyGoto action_41 +action_55 (18) = happyGoto action_42 +action_55 _ = happyFail + +action_56 (20) = happyShift action_43 +action_56 (34) = happyShift action_44 +action_56 (38) = happyShift action_45 +action_56 (39) = happyShift action_46 +action_56 (40) = happyShift action_47 +action_56 (51) = happyShift action_10 +action_56 (52) = happyShift action_48 +action_56 (53) = happyShift action_49 +action_56 (13) = happyGoto action_61 +action_56 (14) = happyGoto action_40 +action_56 (15) = happyGoto action_41 +action_56 (18) = happyGoto action_42 +action_56 _ = happyFail + +action_57 (41) = happyShift action_6 +action_57 (42) = happyShift action_7 +action_57 (43) = happyShift action_8 +action_57 (44) = happyShift action_9 +action_57 (45) = happyShift action_35 +action_57 (48) = happyShift action_36 +action_57 (49) = happyShift action_37 +action_57 (50) = happyShift action_38 +action_57 (51) = happyShift action_10 +action_57 (7) = happyGoto action_30 +action_57 (11) = happyGoto action_60 +action_57 (12) = happyGoto action_32 +action_57 (15) = happyGoto action_33 +action_57 (18) = happyGoto action_34 +action_57 _ = happyReduce_17 + +action_58 _ = happyReduce_6 + +action_59 _ = happyReduce_18 + +action_60 _ = happyReduce_16 + +action_61 (28) = happyShift action_67 +action_61 (29) = happyShift action_68 +action_61 (30) = happyShift action_69 +action_61 (32) = happyShift action_70 +action_61 (33) = happyShift action_71 +action_61 (34) = happyShift action_72 +action_61 (35) = happyShift action_73 +action_61 (36) = happyShift action_74 +action_61 (37) = happyShift action_75 +action_61 _ = happyReduce_20 + +action_62 (28) = happyShift action_67 +action_62 (29) = happyShift action_68 +action_62 (30) = happyShift action_69 +action_62 (32) = happyShift action_70 +action_62 (33) = happyShift action_71 +action_62 (34) = happyShift action_72 +action_62 (35) = happyShift action_73 +action_62 (36) = happyShift action_74 +action_62 (37) = happyShift action_75 +action_62 _ = happyReduce_19 + +action_63 (23) = happyShift action_97 +action_63 (28) = happyShift action_67 +action_63 (29) = happyShift action_68 +action_63 (30) = happyShift action_69 +action_63 (32) = happyShift action_70 +action_63 (33) = happyShift action_71 +action_63 (34) = happyShift action_72 +action_63 (35) = happyShift action_73 +action_63 (36) = happyShift action_74 +action_63 (37) = happyShift action_75 +action_63 _ = happyFail + +action_64 (27) = happyShift action_96 +action_64 (28) = happyShift action_67 +action_64 (29) = happyShift action_68 +action_64 (30) = happyShift action_69 +action_64 (32) = happyShift action_70 +action_64 (33) = happyShift action_71 +action_64 (34) = happyShift action_72 +action_64 (35) = happyShift action_73 +action_64 (36) = happyShift action_74 +action_64 (37) = happyShift action_75 +action_64 _ = happyReduce_50 + +action_65 (21) = happyShift action_95 +action_65 _ = happyFail + +action_66 _ = happyReduce_48 + +action_67 (20) = happyShift action_43 +action_67 (34) = happyShift action_44 +action_67 (38) = happyShift action_45 +action_67 (39) = happyShift action_46 +action_67 (40) = happyShift action_47 +action_67 (51) = happyShift action_10 +action_67 (52) = happyShift action_48 +action_67 (53) = happyShift action_49 +action_67 (13) = happyGoto action_94 +action_67 (14) = happyGoto action_40 +action_67 (15) = happyGoto action_41 +action_67 (18) = happyGoto action_42 +action_67 _ = happyFail + +action_68 (20) = happyShift action_43 +action_68 (34) = happyShift action_44 +action_68 (38) = happyShift action_45 +action_68 (39) = happyShift action_46 +action_68 (40) = happyShift action_47 +action_68 (51) = happyShift action_10 +action_68 (52) = happyShift action_48 +action_68 (53) = happyShift action_49 +action_68 (13) = happyGoto action_93 +action_68 (14) = happyGoto action_40 +action_68 (15) = happyGoto action_41 +action_68 (18) = happyGoto action_42 +action_68 _ = happyFail + +action_69 (20) = happyShift action_43 +action_69 (34) = happyShift action_44 +action_69 (38) = happyShift action_45 +action_69 (39) = happyShift action_46 +action_69 (40) = happyShift action_47 +action_69 (51) = happyShift action_10 +action_69 (52) = happyShift action_48 +action_69 (53) = happyShift action_49 +action_69 (13) = happyGoto action_92 +action_69 (14) = happyGoto action_40 +action_69 (15) = happyGoto action_41 +action_69 (18) = happyGoto action_42 +action_69 _ = happyFail + +action_70 (20) = happyShift action_43 +action_70 (34) = happyShift action_44 +action_70 (38) = happyShift action_45 +action_70 (39) = happyShift action_46 +action_70 (40) = happyShift action_47 +action_70 (51) = happyShift action_10 +action_70 (52) = happyShift action_48 +action_70 (53) = happyShift action_49 +action_70 (13) = happyGoto action_91 +action_70 (14) = happyGoto action_40 +action_70 (15) = happyGoto action_41 +action_70 (18) = happyGoto action_42 +action_70 _ = happyFail + +action_71 (20) = happyShift action_43 +action_71 (34) = happyShift action_44 +action_71 (38) = happyShift action_45 +action_71 (39) = happyShift action_46 +action_71 (40) = happyShift action_47 +action_71 (51) = happyShift action_10 +action_71 (52) = happyShift action_48 +action_71 (53) = happyShift action_49 +action_71 (13) = happyGoto action_90 +action_71 (14) = happyGoto action_40 +action_71 (15) = happyGoto action_41 +action_71 (18) = happyGoto action_42 +action_71 _ = happyFail + +action_72 (20) = happyShift action_43 +action_72 (34) = happyShift action_44 +action_72 (38) = happyShift action_45 +action_72 (39) = happyShift action_46 +action_72 (40) = happyShift action_47 +action_72 (51) = happyShift action_10 +action_72 (52) = happyShift action_48 +action_72 (53) = happyShift action_49 +action_72 (13) = happyGoto action_89 +action_72 (14) = happyGoto action_40 +action_72 (15) = happyGoto action_41 +action_72 (18) = happyGoto action_42 +action_72 _ = happyFail + +action_73 (20) = happyShift action_43 +action_73 (34) = happyShift action_44 +action_73 (38) = happyShift action_45 +action_73 (39) = happyShift action_46 +action_73 (40) = happyShift action_47 +action_73 (51) = happyShift action_10 +action_73 (52) = happyShift action_48 +action_73 (53) = happyShift action_49 +action_73 (13) = happyGoto action_88 +action_73 (14) = happyGoto action_40 +action_73 (15) = happyGoto action_41 +action_73 (18) = happyGoto action_42 +action_73 _ = happyFail + +action_74 (20) = happyShift action_43 +action_74 (34) = happyShift action_44 +action_74 (38) = happyShift action_45 +action_74 (39) = happyShift action_46 +action_74 (40) = happyShift action_47 +action_74 (51) = happyShift action_10 +action_74 (52) = happyShift action_48 +action_74 (53) = happyShift action_49 +action_74 (13) = happyGoto action_87 +action_74 (14) = happyGoto action_40 +action_74 (15) = happyGoto action_41 +action_74 (18) = happyGoto action_42 +action_74 _ = happyFail + +action_75 (20) = happyShift action_43 +action_75 (34) = happyShift action_44 +action_75 (38) = happyShift action_45 +action_75 (39) = happyShift action_46 +action_75 (40) = happyShift action_47 +action_75 (51) = happyShift action_10 +action_75 (52) = happyShift action_48 +action_75 (53) = happyShift action_49 +action_75 (13) = happyGoto action_86 +action_75 (14) = happyGoto action_40 +action_75 (15) = happyGoto action_41 +action_75 (18) = happyGoto action_42 +action_75 _ = happyFail + +action_76 (24) = happyShift action_85 +action_76 _ = happyFail + +action_77 (41) = happyShift action_6 +action_77 (42) = happyShift action_7 +action_77 (43) = happyShift action_8 +action_77 (44) = happyShift action_9 +action_77 (45) = happyShift action_35 +action_77 (48) = happyShift action_36 +action_77 (49) = happyShift action_37 +action_77 (50) = happyShift action_38 +action_77 (51) = happyShift action_10 +action_77 (7) = happyGoto action_30 +action_77 (11) = happyGoto action_84 +action_77 (12) = happyGoto action_32 +action_77 (15) = happyGoto action_33 +action_77 (18) = happyGoto action_34 +action_77 _ = happyReduce_17 + +action_78 (28) = happyShift action_67 +action_78 (29) = happyShift action_68 +action_78 (30) = happyShift action_69 +action_78 (32) = happyShift action_70 +action_78 (33) = happyShift action_71 +action_78 (34) = happyShift action_72 +action_78 (35) = happyShift action_73 +action_78 (36) = happyShift action_74 +action_78 (37) = happyShift action_75 +action_78 _ = happyReduce_36 + +action_79 (28) = happyShift action_67 +action_79 (29) = happyShift action_68 +action_79 (30) = happyShift action_69 +action_79 (32) = happyShift action_70 +action_79 (33) = happyShift action_71 +action_79 (34) = happyShift action_72 +action_79 (35) = happyShift action_73 +action_79 (36) = happyShift action_74 +action_79 (37) = happyShift action_75 +action_79 _ = happyReduce_37 + +action_80 (21) = happyShift action_83 +action_80 (28) = happyShift action_67 +action_80 (29) = happyShift action_68 +action_80 (30) = happyShift action_69 +action_80 (32) = happyShift action_70 +action_80 (33) = happyShift action_71 +action_80 (34) = happyShift action_72 +action_80 (35) = happyShift action_73 +action_80 (36) = happyShift action_74 +action_80 (37) = happyShift action_75 +action_80 _ = happyFail + +action_81 (20) = happyShift action_43 +action_81 (34) = happyShift action_44 +action_81 (38) = happyShift action_45 +action_81 (39) = happyShift action_46 +action_81 (40) = happyShift action_47 +action_81 (51) = happyShift action_10 +action_81 (52) = happyShift action_48 +action_81 (53) = happyShift action_49 +action_81 (13) = happyGoto action_64 +action_81 (14) = happyGoto action_40 +action_81 (15) = happyGoto action_41 +action_81 (17) = happyGoto action_82 +action_81 (18) = happyGoto action_42 +action_81 _ = happyFail + +action_82 (21) = happyShift action_101 +action_82 _ = happyFail + +action_83 _ = happyReduce_45 + +action_84 (25) = happyShift action_100 +action_84 _ = happyFail + +action_85 (41) = happyShift action_6 +action_85 (42) = happyShift action_7 +action_85 (43) = happyShift action_8 +action_85 (44) = happyShift action_9 +action_85 (45) = happyShift action_35 +action_85 (48) = happyShift action_36 +action_85 (49) = happyShift action_37 +action_85 (50) = happyShift action_38 +action_85 (51) = happyShift action_10 +action_85 (7) = happyGoto action_30 +action_85 (11) = happyGoto action_99 +action_85 (12) = happyGoto action_32 +action_85 (15) = happyGoto action_33 +action_85 (18) = happyGoto action_34 +action_85 _ = happyReduce_17 + +action_86 (28) = happyShift action_67 +action_86 (29) = happyShift action_68 +action_86 (30) = happyShift action_69 +action_86 (32) = happyShift action_70 +action_86 (33) = happyShift action_71 +action_86 (34) = happyShift action_72 +action_86 (35) = happyShift action_73 +action_86 (36) = happyShift action_74 +action_86 (37) = happyShift action_75 +action_86 _ = happyReduce_35 + +action_87 (28) = happyShift action_67 +action_87 (29) = happyShift action_68 +action_87 (30) = happyShift action_69 +action_87 (32) = happyShift action_70 +action_87 (33) = happyShift action_71 +action_87 (34) = happyShift action_72 +action_87 (35) = happyShift action_73 +action_87 (36) = happyShift action_74 +action_87 (37) = happyShift action_75 +action_87 _ = happyReduce_34 + +action_88 (28) = happyShift action_67 +action_88 (29) = happyShift action_68 +action_88 (30) = happyShift action_69 +action_88 (32) = happyShift action_70 +action_88 (33) = happyShift action_71 +action_88 (34) = happyShift action_72 +action_88 (35) = happyShift action_73 +action_88 (36) = happyShift action_74 +action_88 (37) = happyShift action_75 +action_88 _ = happyReduce_30 + +action_89 (28) = happyShift action_67 +action_89 (29) = happyShift action_68 +action_89 (30) = happyShift action_69 +action_89 (32) = happyShift action_70 +action_89 (33) = happyShift action_71 +action_89 (34) = happyShift action_72 +action_89 (35) = happyShift action_73 +action_89 (36) = happyShift action_74 +action_89 (37) = happyShift action_75 +action_89 _ = happyReduce_28 + +action_90 (28) = happyShift action_67 +action_90 (29) = happyShift action_68 +action_90 (30) = happyShift action_69 +action_90 (32) = happyShift action_70 +action_90 (33) = happyShift action_71 +action_90 (34) = happyShift action_72 +action_90 (35) = happyShift action_73 +action_90 (36) = happyShift action_74 +action_90 (37) = happyShift action_75 +action_90 _ = happyReduce_29 + +action_91 (28) = happyShift action_67 +action_91 (29) = happyShift action_68 +action_91 (30) = happyShift action_69 +action_91 (32) = happyShift action_70 +action_91 (33) = happyShift action_71 +action_91 (34) = happyShift action_72 +action_91 (35) = happyShift action_73 +action_91 (36) = happyShift action_74 +action_91 (37) = happyShift action_75 +action_91 _ = happyReduce_27 + +action_92 (28) = happyShift action_67 +action_92 (29) = happyShift action_68 +action_92 (30) = happyShift action_69 +action_92 (32) = happyShift action_70 +action_92 (33) = happyShift action_71 +action_92 (34) = happyShift action_72 +action_92 (35) = happyShift action_73 +action_92 (36) = happyShift action_74 +action_92 (37) = happyShift action_75 +action_92 _ = happyReduce_32 + +action_93 (28) = happyShift action_67 +action_93 (29) = happyShift action_68 +action_93 (30) = happyShift action_69 +action_93 (32) = happyShift action_70 +action_93 (33) = happyShift action_71 +action_93 (34) = happyShift action_72 +action_93 (35) = happyShift action_73 +action_93 (36) = happyShift action_74 +action_93 (37) = happyShift action_75 +action_93 _ = happyReduce_31 + +action_94 (28) = happyShift action_67 +action_94 (29) = happyShift action_68 +action_94 (30) = happyShift action_69 +action_94 (32) = happyShift action_70 +action_94 (33) = happyShift action_71 +action_94 (34) = happyShift action_72 +action_94 (35) = happyShift action_73 +action_94 (36) = happyShift action_74 +action_94 (37) = happyShift action_75 +action_94 _ = happyReduce_33 + +action_95 _ = happyReduce_21 + +action_96 (20) = happyShift action_43 +action_96 (34) = happyShift action_44 +action_96 (38) = happyShift action_45 +action_96 (39) = happyShift action_46 +action_96 (40) = happyShift action_47 +action_96 (51) = happyShift action_10 +action_96 (52) = happyShift action_48 +action_96 (53) = happyShift action_49 +action_96 (13) = happyGoto action_64 +action_96 (14) = happyGoto action_40 +action_96 (15) = happyGoto action_41 +action_96 (17) = happyGoto action_98 +action_96 (18) = happyGoto action_42 +action_96 _ = happyFail + +action_97 _ = happyReduce_46 + +action_98 _ = happyReduce_49 + +action_99 (25) = happyShift action_102 +action_99 _ = happyFail + +action_100 _ = happyReduce_22 + +action_101 _ = happyReduce_44 + +action_102 (47) = happyShift action_103 +action_102 _ = happyFail + +action_103 (24) = happyShift action_104 +action_103 _ = happyFail + +action_104 (41) = happyShift action_6 +action_104 (42) = happyShift action_7 +action_104 (43) = happyShift action_8 +action_104 (44) = happyShift action_9 +action_104 (45) = happyShift action_35 +action_104 (48) = happyShift action_36 +action_104 (49) = happyShift action_37 +action_104 (50) = happyShift action_38 +action_104 (51) = happyShift action_10 +action_104 (7) = happyGoto action_30 +action_104 (11) = happyGoto action_105 +action_104 (12) = happyGoto action_32 +action_104 (15) = happyGoto action_33 +action_104 (18) = happyGoto action_34 +action_104 _ = happyReduce_17 + +action_105 (25) = happyShift action_106 +action_105 _ = happyFail + +action_106 _ = happyReduce_23 + +happyReduce_1 = happySpecReduce_1 4 happyReduction_1 +happyReduction_1 (HappyAbsSyn5 happy_var_1) + = HappyAbsSyn4 + (C_RootProd_1 happy_var_1 + ) +happyReduction_1 _ = notHappyAtAll + +happyReduce_2 = happySpecReduce_3 5 happyReduction_2 +happyReduction_2 (HappyAbsSyn5 happy_var_3) + _ + (HappyAbsSyn6 happy_var_1) + = HappyAbsSyn5 + (C_Defs2_1 happy_var_1 happy_var_3 + ) +happyReduction_2 _ _ _ = notHappyAtAll + +happyReduce_3 = happySpecReduce_0 5 happyReduction_3 +happyReduction_3 = HappyAbsSyn5 + (C_NoDefs_1 + ) + +happyReduce_4 = happySpecReduce_2 6 happyReduction_4 +happyReduction_4 (HappyAbsSyn18 happy_var_2) + (HappyAbsSyn7 happy_var_1) + = HappyAbsSyn6 + (C_Vardecl_1 happy_var_1 happy_var_2 + ) +happyReduction_4 _ _ = notHappyAtAll + +happyReduce_5 = happyReduce 5 6 happyReduction_5 +happyReduction_5 (_ `HappyStk` + (HappyTerminal (TintVal happy_var_4)) `HappyStk` + _ `HappyStk` + (HappyAbsSyn18 happy_var_2) `HappyStk` + (HappyAbsSyn7 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn6 + (C_Arraydecl_1 happy_var_1 happy_var_2 (toInteger happy_var_4) + ) `HappyStk` happyRest + +happyReduce_6 = happyReduce 9 6 happyReduction_6 +happyReduction_6 (_ `HappyStk` + (HappyAbsSyn11 happy_var_8) `HappyStk` + _ `HappyStk` + (HappyAbsSyn7 happy_var_6) `HappyStk` + _ `HappyStk` + _ `HappyStk` + (HappyAbsSyn8 happy_var_3) `HappyStk` + _ `HappyStk` + (HappyAbsSyn18 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn6 + (C_Declfunc_1 happy_var_6 happy_var_1 happy_var_3 happy_var_8 + ) `HappyStk` happyRest + +happyReduce_7 = happySpecReduce_1 7 happyReduction_7 +happyReduction_7 _ + = HappyAbsSyn7 + (C_Inttype_1 + ) + +happyReduce_8 = happySpecReduce_1 7 happyReduction_8 +happyReduction_8 _ + = HappyAbsSyn7 + (C_Realtype_1 + ) + +happyReduce_9 = happySpecReduce_1 7 happyReduction_9 +happyReduction_9 _ + = HappyAbsSyn7 + (C_Booltype_1 + ) + +happyReduce_10 = happySpecReduce_1 7 happyReduction_10 +happyReduction_10 _ + = HappyAbsSyn7 + (C_Chartype_1 + ) + +happyReduce_11 = happySpecReduce_0 8 happyReduction_11 +happyReduction_11 = HappyAbsSyn8 + (C_Emptyformpars_1 + ) + +happyReduce_12 = happySpecReduce_1 8 happyReduction_12 +happyReduction_12 (HappyAbsSyn9 happy_var_1) + = HappyAbsSyn8 + (happy_var_1 + ) +happyReduction_12 _ = notHappyAtAll + +happyReduce_13 = happySpecReduce_3 9 happyReduction_13 +happyReduction_13 (HappyAbsSyn9 happy_var_3) + _ + (HappyAbsSyn10 happy_var_1) + = HappyAbsSyn9 + (C_Lstformpars_1 happy_var_1 happy_var_3 + ) +happyReduction_13 _ _ _ = notHappyAtAll + +happyReduce_14 = happySpecReduce_1 9 happyReduction_14 +happyReduction_14 (HappyAbsSyn10 happy_var_1) + = HappyAbsSyn9 + (C_Lstformpars_1 happy_var_1 C_Emptyformpars_1 + ) +happyReduction_14 _ = notHappyAtAll + +happyReduce_15 = happySpecReduce_2 10 happyReduction_15 +happyReduction_15 (HappyAbsSyn18 happy_var_2) + (HappyAbsSyn7 happy_var_1) + = HappyAbsSyn10 + (C_Declformpar_1 happy_var_1 happy_var_2 + ) +happyReduction_15 _ _ = notHappyAtAll + +happyReduce_16 = happySpecReduce_3 11 happyReduction_16 +happyReduction_16 (HappyAbsSyn11 happy_var_3) + _ + (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn11 + (C_Lststats_1 happy_var_1 happy_var_3 + ) +happyReduction_16 _ _ _ = notHappyAtAll + +happyReduce_17 = happySpecReduce_0 11 happyReduction_17 +happyReduction_17 = HappyAbsSyn11 + (C_Emptystat_1 + ) + +happyReduce_18 = happySpecReduce_2 12 happyReduction_18 +happyReduction_18 (HappyAbsSyn18 happy_var_2) + (HappyAbsSyn7 happy_var_1) + = HappyAbsSyn12 + (C_LocalDecl_1 happy_var_1 happy_var_2 + ) +happyReduction_18 _ _ = notHappyAtAll + +happyReduce_19 = happySpecReduce_3 12 happyReduction_19 +happyReduction_19 (HappyAbsSyn13 happy_var_3) + _ + (HappyAbsSyn18 happy_var_1) + = HappyAbsSyn12 + (C_Assign_1 happy_var_1 happy_var_3 + ) +happyReduction_19 _ _ _ = notHappyAtAll + +happyReduce_20 = happySpecReduce_3 12 happyReduction_20 +happyReduction_20 (HappyAbsSyn13 happy_var_3) + _ + (HappyAbsSyn15 happy_var_1) + = HappyAbsSyn12 + (C_ArrAssign_1 happy_var_1 happy_var_3 + ) +happyReduction_20 _ _ _ = notHappyAtAll + +happyReduce_21 = happyReduce 4 12 happyReduction_21 +happyReduction_21 (_ `HappyStk` + (HappyAbsSyn16 happy_var_3) `HappyStk` + _ `HappyStk` + (HappyAbsSyn18 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn12 + (C_Funccall_1 happy_var_1 happy_var_3 + ) `HappyStk` happyRest + +happyReduce_22 = happyReduce 5 12 happyReduction_22 +happyReduction_22 (_ `HappyStk` + (HappyAbsSyn11 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn13 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn12 + (C_While_1 happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_23 = happyReduce 10 12 happyReduction_23 +happyReduction_23 (_ `HappyStk` + (HappyAbsSyn11 happy_var_9) `HappyStk` + _ `HappyStk` + _ `HappyStk` + _ `HappyStk` + (HappyAbsSyn11 happy_var_5) `HappyStk` + _ `HappyStk` + _ `HappyStk` + (HappyAbsSyn13 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn12 + (C_If_t_e_1 happy_var_2 happy_var_5 happy_var_9 + ) `HappyStk` happyRest + +happyReduce_24 = happySpecReduce_2 12 happyReduction_24 +happyReduction_24 (HappyAbsSyn18 happy_var_2) + _ + = HappyAbsSyn12 + (C_Input_1 happy_var_2 + ) +happyReduction_24 _ _ = notHappyAtAll + +happyReduce_25 = happySpecReduce_2 12 happyReduction_25 +happyReduction_25 (HappyAbsSyn13 happy_var_2) + _ + = HappyAbsSyn12 + (C_Print_1 happy_var_2 + ) +happyReduction_25 _ _ = notHappyAtAll + +happyReduce_26 = happySpecReduce_1 13 happyReduction_26 +happyReduction_26 (HappyAbsSyn14 happy_var_1) + = HappyAbsSyn13 + (C_Factor_1 happy_var_1 + ) +happyReduction_26 _ = notHappyAtAll + +happyReduce_27 = happySpecReduce_3 13 happyReduction_27 +happyReduction_27 (HappyAbsSyn13 happy_var_3) + _ + (HappyAbsSyn13 happy_var_1) + = HappyAbsSyn13 + (C_AddExp_1 happy_var_1 happy_var_3 + ) +happyReduction_27 _ _ _ = notHappyAtAll + +happyReduce_28 = happySpecReduce_3 13 happyReduction_28 +happyReduction_28 (HappyAbsSyn13 happy_var_3) + _ + (HappyAbsSyn13 happy_var_1) + = HappyAbsSyn13 + (C_SubExp_1 happy_var_1 happy_var_3 + ) +happyReduction_28 _ _ _ = notHappyAtAll + +happyReduce_29 = happySpecReduce_3 13 happyReduction_29 +happyReduction_29 (HappyAbsSyn13 happy_var_3) + _ + (HappyAbsSyn13 happy_var_1) + = HappyAbsSyn13 + (C_MulExp_1 happy_var_1 happy_var_3 + ) +happyReduction_29 _ _ _ = notHappyAtAll + +happyReduce_30 = happySpecReduce_3 13 happyReduction_30 +happyReduction_30 (HappyAbsSyn13 happy_var_3) + _ + (HappyAbsSyn13 happy_var_1) + = HappyAbsSyn13 + (C_DivExp_1 happy_var_1 happy_var_3 + ) +happyReduction_30 _ _ _ = notHappyAtAll + +happyReduce_31 = happySpecReduce_3 13 happyReduction_31 +happyReduction_31 (HappyAbsSyn13 happy_var_3) + _ + (HappyAbsSyn13 happy_var_1) + = HappyAbsSyn13 + (C_AndExp_1 happy_var_1 happy_var_3 + ) +happyReduction_31 _ _ _ = notHappyAtAll + +happyReduce_32 = happySpecReduce_3 13 happyReduction_32 +happyReduction_32 (HappyAbsSyn13 happy_var_3) + _ + (HappyAbsSyn13 happy_var_1) + = HappyAbsSyn13 + (C_OrExp_1 happy_var_1 happy_var_3 + ) +happyReduction_32 _ _ _ = notHappyAtAll + +happyReduce_33 = happySpecReduce_3 13 happyReduction_33 +happyReduction_33 (HappyAbsSyn13 happy_var_3) + _ + (HappyAbsSyn13 happy_var_1) + = HappyAbsSyn13 + (C_EqExp_1 happy_var_1 happy_var_3 + ) +happyReduction_33 _ _ _ = notHappyAtAll + +happyReduce_34 = happySpecReduce_3 13 happyReduction_34 +happyReduction_34 (HappyAbsSyn13 happy_var_3) + _ + (HappyAbsSyn13 happy_var_1) + = HappyAbsSyn13 + (C_GTExp_1 happy_var_1 happy_var_3 + ) +happyReduction_34 _ _ _ = notHappyAtAll + +happyReduce_35 = happySpecReduce_3 13 happyReduction_35 +happyReduction_35 (HappyAbsSyn13 happy_var_3) + _ + (HappyAbsSyn13 happy_var_1) + = HappyAbsSyn13 + (C_LTExp_1 happy_var_1 happy_var_3 + ) +happyReduction_35 _ _ _ = notHappyAtAll + +happyReduce_36 = happySpecReduce_2 13 happyReduction_36 +happyReduction_36 (HappyAbsSyn13 happy_var_2) + _ + = HappyAbsSyn13 + (C_NotExp_1 happy_var_2 + ) +happyReduction_36 _ _ = notHappyAtAll + +happyReduce_37 = happySpecReduce_2 13 happyReduction_37 +happyReduction_37 (HappyAbsSyn13 happy_var_2) + _ + = HappyAbsSyn13 + (C_MinExp_1 happy_var_2 + ) +happyReduction_37 _ _ = notHappyAtAll + +happyReduce_38 = happySpecReduce_1 14 happyReduction_38 +happyReduction_38 (HappyTerminal (TintVal happy_var_1)) + = HappyAbsSyn14 + (C_IntConst_1 (toInteger happy_var_1) + ) +happyReduction_38 _ = notHappyAtAll + +happyReduce_39 = happySpecReduce_1 14 happyReduction_39 +happyReduction_39 (HappyTerminal (TrealVal happy_var_1)) + = HappyAbsSyn14 + (C_RealConst_1 happy_var_1 + ) +happyReduction_39 _ = notHappyAtAll + +happyReduce_40 = happySpecReduce_1 14 happyReduction_40 +happyReduction_40 _ + = HappyAbsSyn14 + (C_BoolConst_1 True + ) + +happyReduce_41 = happySpecReduce_1 14 happyReduction_41 +happyReduction_41 _ + = HappyAbsSyn14 + (C_BoolConst_1 False + ) + +happyReduce_42 = happySpecReduce_1 14 happyReduction_42 +happyReduction_42 (HappyAbsSyn15 happy_var_1) + = HappyAbsSyn14 + (C_ArrayConst_1 happy_var_1 + ) +happyReduction_42 _ = notHappyAtAll + +happyReduce_43 = happySpecReduce_1 14 happyReduction_43 +happyReduction_43 (HappyAbsSyn18 happy_var_1) + = HappyAbsSyn14 + (C_CNIdent_1 happy_var_1 + ) +happyReduction_43 _ = notHappyAtAll + +happyReduce_44 = happyReduce 4 14 happyReduction_44 +happyReduction_44 (_ `HappyStk` + (HappyAbsSyn17 happy_var_3) `HappyStk` + _ `HappyStk` + (HappyAbsSyn18 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn14 + (C_Funcinv_1 happy_var_1 happy_var_3 + ) `HappyStk` happyRest + +happyReduce_45 = happySpecReduce_3 14 happyReduction_45 +happyReduction_45 _ + (HappyAbsSyn13 happy_var_2) + _ + = HappyAbsSyn14 + (C_Expr_1 happy_var_2 + ) +happyReduction_45 _ _ _ = notHappyAtAll + +happyReduce_46 = happyReduce 4 15 happyReduction_46 +happyReduction_46 (_ `HappyStk` + (HappyAbsSyn13 happy_var_3) `HappyStk` + _ `HappyStk` + (HappyAbsSyn18 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn15 + (C_ArrayInd_1 happy_var_1 happy_var_3 + ) `HappyStk` happyRest + +happyReduce_47 = happySpecReduce_0 16 happyReduction_47 +happyReduction_47 = HappyAbsSyn16 + (C_Emptyactpars_1 + ) + +happyReduce_48 = happySpecReduce_1 16 happyReduction_48 +happyReduction_48 (HappyAbsSyn17 happy_var_1) + = HappyAbsSyn16 + (happy_var_1 + ) +happyReduction_48 _ = notHappyAtAll + +happyReduce_49 = happySpecReduce_3 17 happyReduction_49 +happyReduction_49 (HappyAbsSyn17 happy_var_3) + _ + (HappyAbsSyn13 happy_var_1) + = HappyAbsSyn17 + (C_Lstactpars_1 happy_var_1 happy_var_3 + ) +happyReduction_49 _ _ _ = notHappyAtAll + +happyReduce_50 = happySpecReduce_1 17 happyReduction_50 +happyReduction_50 (HappyAbsSyn13 happy_var_1) + = HappyAbsSyn17 + (C_Lstactpars_1 happy_var_1 C_Emptyactpars_1 + ) +happyReduction_50 _ = notHappyAtAll + +happyReduce_51 = happySpecReduce_1 18 happyReduction_51 +happyReduction_51 (HappyTerminal (TIdent happy_var_1)) + = HappyAbsSyn18 + (C_Ident_1 happy_var_1 + ) +happyReduction_51 _ = notHappyAtAll + +happyNewToken action sts stk [] = + action 54 54 (error "reading EOF!") (HappyState action) sts stk [] + +happyNewToken action sts stk (tk:tks) = + let cont i = action i i tk (HappyState action) sts stk tks in + case tk of { + Tsemicolon -> cont 19; + TopenB -> cont 20; + TcloseB -> cont 21; + TopenSB -> cont 22; + TcloseSB -> cont 23; + TopenCB -> cont 24; + TcloseCB -> cont 25; + Ttowdots -> cont 26; + Tcomma -> cont 27; + Tequal -> cont 28; + Tand -> cont 29; + Tor -> cont 30; + Tassing -> cont 31; + Tadd -> cont 32; + Tmul -> cont 33; + Tsub -> cont 34; + Tdiv -> cont 35; + Tgt -> cont 36; + Tlt -> cont 37; + Tnot -> cont 38; + Ttrue -> cont 39; + Tfalse -> cont 40; + Tint -> cont 41; + Treal -> cont 42; + Tbool -> cont 43; + Tchar -> cont 44; + Tif -> cont 45; + Tthen -> cont 46; + Telse -> cont 47; + Twhile -> cont 48; + Tinput -> cont 49; + Tprint -> cont 50; + TIdent happy_dollar_dollar -> cont 51; + TintVal happy_dollar_dollar -> cont 52; + TrealVal happy_dollar_dollar -> cont 53; + _ -> happyError tks + } + +happyThen = \m k -> k m +happyReturn = \a -> a +happyThen1 = happyThen +happyReturn1 = \a tks -> a + +parser tks = happyThen (happyParse action_0 tks) (\x -> case x of {HappyAbsSyn4 z -> happyReturn z; _other -> notHappyAtAll }) + +happySeq = happyDontSeq + +-- happyError :: [Token] -> a +happyError _ = error ("Parse error in line \n") + + + +-- runParser :: String -> Error +runParser = parser . lexer + + +testParser :: String -> IO() +testParser filename + = do s <- readFile filename + let tks = lexer s + putStr (show tks) + let ast = parser tks + putStr (show ast) + return () -- (scanner inp) +{-# LINE 1 "GenericTemplate.hs" #-} +-- $Id: Funcs_Parser_Lazy.hs,v 1.1 2002/11/19 17:00:02 simonpj Exp $ + +{-# LINE 15 "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 + +happyAccept j tk st sts (HappyStk ans _) = + + (happyReturn1 ans) + +----------------------------------------------------------------------------- +-- Arrays only: do the next action + +{-# LINE 150 "GenericTemplate.hs" #-} + + +----------------------------------------------------------------------------- +-- HappyState data type (not arrays) + + + +newtype HappyState b c = HappyState + (Int -> -- token number + Int -> -- token number (yes, again) + b -> -- token semantic value + HappyState b c -> -- current state + [HappyState b c] -> -- state stack + c) + + + +----------------------------------------------------------------------------- +-- Shifting a token + +happyShift new_state (1) tk st sts stk@(x `HappyStk` _) = + let i = (case x of { HappyErrorToken (i) -> i }) in +-- trace "shifting the error token" $ + new_state i i tk (HappyState (new_state)) ((st):(sts)) (stk) + +happyShift new_state i tk st sts stk = + happyNewToken new_state ((st):(sts)) ((HappyTerminal (tk))`HappyStk`stk) + +-- happyReduce is specialised for the common cases. + +happySpecReduce_0 i fn (1) tk st sts stk + = happyFail (1) tk st sts stk +happySpecReduce_0 nt fn j tk st@((HappyState (action))) sts stk + = action nt j tk st ((st):(sts)) (fn `HappyStk` stk) + +happySpecReduce_1 i fn (1) tk st sts stk + = happyFail (1) tk st sts stk +happySpecReduce_1 nt fn j tk _ sts@(((st@(HappyState (action))):(_))) (v1`HappyStk`stk') + = let r = fn v1 in + happySeq r (action nt j tk st sts (r `HappyStk` stk')) + +happySpecReduce_2 i fn (1) tk st sts stk + = happyFail (1) tk st sts stk +happySpecReduce_2 nt fn j tk _ ((_):(sts@(((st@(HappyState (action))):(_))))) (v1`HappyStk`v2`HappyStk`stk') + = let r = fn v1 v2 in + happySeq r (action nt j tk st sts (r `HappyStk` stk')) + +happySpecReduce_3 i fn (1) tk st sts stk + = happyFail (1) tk st sts stk +happySpecReduce_3 nt fn j tk _ ((_):(((_):(sts@(((st@(HappyState (action))):(_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk') + = let r = fn v1 v2 v3 in + happySeq r (action nt j tk st sts (r `HappyStk` stk')) + +happyReduce k i fn (1) tk st sts stk + = happyFail (1) tk st sts stk +happyReduce k nt fn j tk st sts stk + = case happyDrop (k - ((1) :: Int)) sts of + sts1@(((st1@(HappyState (action))):(_))) -> + let r = fn stk in -- it doesn't hurt to always seq here... + happyDoSeq r (action nt j tk st1 sts1 r) + +happyMonadReduce k nt fn (1) tk st sts stk + = happyFail (1) tk st sts stk +happyMonadReduce k nt fn j tk st sts stk = + happyThen1 (fn stk) (\r -> action nt j tk st1 sts1 (r `HappyStk` drop_stk)) + where sts1@(((st1@(HappyState (action))):(_))) = happyDrop k ((st):(sts)) + drop_stk = happyDropStk k stk + +happyDrop (0) l = l +happyDrop n ((_):(t)) = happyDrop (n - ((1) :: Int)) t + +happyDropStk (0) l = l +happyDropStk n (x `HappyStk` xs) = happyDropStk (n - ((1)::Int)) xs + +----------------------------------------------------------------------------- +-- Moving to a new state after a reduction + + + + + + + + + +happyGoto action j tk st = action j j tk (HappyState action) + + +----------------------------------------------------------------------------- +-- Error recovery ((1) is the error token) + +-- parse error if we are in recovery and we fail again +happyFail (1) tk old_st _ stk = +-- trace "failing" $ + happyError + + +{- We don't need state discarding for our restricted implementation of + "error". In fact, it can cause some bogus parses, so I've disabled it + for now --SDM + +-- discard a state +happyFail (1) tk old_st (((HappyState (action))):(sts)) + (saved_tok `HappyStk` _ `HappyStk` stk) = +-- trace ("discarding state, depth " ++ show (length stk)) $ + action (1) (1) tk (HappyState (action)) sts ((saved_tok`HappyStk`stk)) +-} + +-- Enter error recovery: generate an error token, +-- save the old token and carry on. +happyFail i tk (HappyState (action)) sts stk = +-- trace "entering error recovery" $ + action (1) (1) tk (HappyState (action)) sts ( (HappyErrorToken (i)) `HappyStk` stk) + +-- Internal happy errors: + +notHappyAtAll = 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 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. |