-- parser produced by Happy Version 1.5


module D
 
where 

import L

data HappyAbsSyn t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14
	= HappyTerminal Token
	| HappyErrorToken Int
	| HappyAbsSyn1 t1
	| HappyAbsSyn2 t2
	| HappyAbsSyn3 t3
	| HappyAbsSyn4 t4
	| HappyAbsSyn5 t5
	| HappyAbsSyn6 t6
	| HappyAbsSyn7 t7
	| HappyAbsSyn8 t8
	| HappyAbsSyn9 t9
	| HappyAbsSyn10 t10
	| HappyAbsSyn11 t11
	| HappyAbsSyn12 t12
	| HappyAbsSyn13 t13
	| HappyAbsSyn14 t14

action_0 (15) = happyShift action_7
action_0 (16) = happyShift action_8
action_0 (18) = happyShift action_9
action_0 (19) = happyShift action_10
action_0 (20) = happyShift action_11
action_0 (22) = happyShift action_12
action_0 (25) = happyShift action_13
action_0 (27) = happyShift action_14
action_0 (30) = happyShift action_15
action_0 (31) = happyShift action_16
action_0 (32) = happyShift action_17
action_0 (33) = happyShift action_18
action_0 (34) = happyShift action_19
action_0 (47) = happyShift action_20
action_0 (1) = happyGoto action_1
action_0 (6) = happyGoto action_2
action_0 (9) = happyGoto action_3
action_0 (11) = happyGoto action_4
action_0 (12) = happyGoto action_5
action_0 (13) = happyGoto action_6
action_0 _ = happyReduce_25

action_1 (54) = happyAccept
action_1 _ = happyFail

action_2 _ = happyReduce_1

action_3 (41) = happyShift action_46
action_3 _ = happyReduce_41

action_4 (40) = happyShift action_43
action_4 (43) = happyShift action_44
action_4 (44) = happyShift action_45
action_4 _ = happyFail

action_5 (45) = happyShift action_41
action_5 (46) = happyShift action_42
action_5 _ = happyReduce_36

action_6 _ = happyReduce_39

action_7 (34) = happyShift action_40
action_7 (2) = happyGoto action_39
action_7 _ = happyFail

action_8 (16) = happyShift action_8
action_8 (18) = happyShift action_9
action_8 (19) = happyShift action_10
action_8 (20) = happyShift action_11
action_8 (22) = happyShift action_12
action_8 (25) = happyShift action_13
action_8 (27) = happyShift action_14
action_8 (30) = happyShift action_15
action_8 (31) = happyShift action_16
action_8 (32) = happyShift action_17
action_8 (33) = happyShift action_18
action_8 (34) = happyShift action_19
action_8 (47) = happyShift action_20
action_8 (6) = happyGoto action_37
action_8 (7) = happyGoto action_38
action_8 (9) = happyGoto action_3
action_8 (11) = happyGoto action_4
action_8 (12) = happyGoto action_5
action_8 (13) = happyGoto action_6
action_8 _ = happyReduce_25

action_9 _ = happyReduce_14

action_10 _ = happyReduce_15

action_11 (33) = happyShift action_18
action_11 (34) = happyShift action_19
action_11 (47) = happyShift action_20
action_11 (9) = happyGoto action_21
action_11 (11) = happyGoto action_36
action_11 (12) = happyGoto action_5
action_11 (13) = happyGoto action_6
action_11 _ = happyFail

action_12 (34) = happyShift action_19
action_12 (9) = happyGoto action_35
action_12 _ = happyFail

action_13 (16) = happyShift action_8
action_13 (18) = happyShift action_9
action_13 (19) = happyShift action_10
action_13 (20) = happyShift action_11
action_13 (22) = happyShift action_12
action_13 (25) = happyShift action_13
action_13 (27) = happyShift action_14
action_13 (30) = happyShift action_15
action_13 (31) = happyShift action_16
action_13 (32) = happyShift action_17
action_13 (33) = happyShift action_18
action_13 (34) = happyShift action_19
action_13 (47) = happyShift action_20
action_13 (6) = happyGoto action_34
action_13 (9) = happyGoto action_3
action_13 (11) = happyGoto action_4
action_13 (12) = happyGoto action_5
action_13 (13) = happyGoto action_6
action_13 _ = happyReduce_25

action_14 (33) = happyShift action_18
action_14 (34) = happyShift action_19
action_14 (35) = happyShift action_29
action_14 (36) = happyShift action_30
action_14 (37) = happyShift action_31
action_14 (47) = happyShift action_32
action_14 (9) = happyGoto action_21
action_14 (11) = happyGoto action_27
action_14 (12) = happyGoto action_5
action_14 (13) = happyGoto action_6
action_14 (14) = happyGoto action_33
action_14 _ = happyFail

action_15 (33) = happyShift action_18
action_15 (34) = happyShift action_19
action_15 (35) = happyShift action_29
action_15 (36) = happyShift action_30
action_15 (37) = happyShift action_31
action_15 (47) = happyShift action_32
action_15 (9) = happyGoto action_21
action_15 (11) = happyGoto action_27
action_15 (12) = happyGoto action_5
action_15 (13) = happyGoto action_6
action_15 (14) = happyGoto action_28
action_15 _ = happyFail

action_16 (34) = happyShift action_19
action_16 (8) = happyGoto action_25
action_16 (9) = happyGoto action_26
action_16 _ = happyFail

action_17 (16) = happyShift action_8
action_17 (18) = happyShift action_9
action_17 (19) = happyShift action_10
action_17 (20) = happyShift action_11
action_17 (22) = happyShift action_12
action_17 (25) = happyShift action_13
action_17 (27) = happyShift action_14
action_17 (30) = happyShift action_15
action_17 (31) = happyShift action_16
action_17 (32) = happyShift action_17
action_17 (33) = happyShift action_18
action_17 (34) = happyShift action_19
action_17 (47) = happyShift action_20
action_17 (6) = happyGoto action_24
action_17 (9) = happyGoto action_3
action_17 (11) = happyGoto action_4
action_17 (12) = happyGoto action_5
action_17 (13) = happyGoto action_6
action_17 _ = happyReduce_25

action_18 _ = happyReduce_40

action_19 (50) = happyShift action_23
action_19 _ = happyReduce_30

action_20 (33) = happyShift action_18
action_20 (34) = happyShift action_19
action_20 (47) = happyShift action_20
action_20 (9) = happyGoto action_21
action_20 (11) = happyGoto action_22
action_20 (12) = happyGoto action_5
action_20 (13) = happyGoto action_6
action_20 _ = happyFail

action_21 _ = happyReduce_41

action_22 (43) = happyShift action_44
action_22 (44) = happyShift action_45
action_22 (48) = happyShift action_71
action_22 _ = happyFail

action_23 (33) = happyShift action_18
action_23 (34) = happyShift action_19
action_23 (47) = happyShift action_20
action_23 (9) = happyGoto action_21
action_23 (11) = happyGoto action_70
action_23 (12) = happyGoto action_5
action_23 (13) = happyGoto action_6
action_23 _ = happyFail

action_24 _ = happyReduce_23

action_25 (53) = happyShift action_69
action_25 _ = happyReduce_13

action_26 (53) = happyShift action_68
action_26 _ = happyReduce_12

action_27 (40) = happyShift action_65
action_27 (41) = happyShift action_66
action_27 (42) = happyShift action_67
action_27 (43) = happyShift action_44
action_27 (44) = happyShift action_45
action_27 _ = happyFail

action_28 _ = happyReduce_18

action_29 _ = happyReduce_43

action_30 _ = happyReduce_44

action_31 (33) = happyShift action_18
action_31 (34) = happyShift action_19
action_31 (35) = happyShift action_29
action_31 (36) = happyShift action_30
action_31 (37) = happyShift action_31
action_31 (47) = happyShift action_32
action_31 (9) = happyGoto action_21
action_31 (11) = happyGoto action_27
action_31 (12) = happyGoto action_5
action_31 (13) = happyGoto action_6
action_31 (14) = happyGoto action_64
action_31 _ = happyFail

action_32 (33) = happyShift action_18
action_32 (34) = happyShift action_19
action_32 (35) = happyShift action_29
action_32 (36) = happyShift action_30
action_32 (37) = happyShift action_31
action_32 (47) = happyShift action_32
action_32 (9) = happyGoto action_21
action_32 (11) = happyGoto action_62
action_32 (12) = happyGoto action_5
action_32 (13) = happyGoto action_6
action_32 (14) = happyGoto action_63
action_32 _ = happyFail

action_33 (28) = happyShift action_61
action_33 _ = happyFail

action_34 (26) = happyShift action_60
action_34 _ = happyFail

action_35 (23) = happyShift action_59
action_35 _ = happyFail

action_36 (21) = happyShift action_58
action_36 (43) = happyShift action_44
action_36 (44) = happyShift action_45
action_36 _ = happyFail

action_37 _ = happyReduce_27

action_38 (17) = happyShift action_56
action_38 (49) = happyShift action_57
action_38 _ = happyFail

action_39 (47) = happyShift action_54
action_39 (49) = happyShift action_55
action_39 (3) = happyGoto action_53
action_39 _ = happyFail

action_40 _ = happyReduce_4

action_41 (33) = happyShift action_18
action_41 (34) = happyShift action_19
action_41 (47) = happyShift action_20
action_41 (9) = happyGoto action_21
action_41 (13) = happyGoto action_52
action_41 _ = happyFail

action_42 (33) = happyShift action_18
action_42 (34) = happyShift action_19
action_42 (47) = happyShift action_20
action_42 (9) = happyGoto action_21
action_42 (13) = happyGoto action_51
action_42 _ = happyFail

action_43 (33) = happyShift action_18
action_43 (34) = happyShift action_19
action_43 (47) = happyShift action_20
action_43 (9) = happyGoto action_21
action_43 (11) = happyGoto action_50
action_43 (12) = happyGoto action_5
action_43 (13) = happyGoto action_6
action_43 _ = happyFail

action_44 (33) = happyShift action_18
action_44 (34) = happyShift action_19
action_44 (47) = happyShift action_20
action_44 (9) = happyGoto action_21
action_44 (12) = happyGoto action_49
action_44 (13) = happyGoto action_6
action_44 _ = happyFail

action_45 (33) = happyShift action_18
action_45 (34) = happyShift action_19
action_45 (47) = happyShift action_20
action_45 (9) = happyGoto action_21
action_45 (12) = happyGoto action_48
action_45 (13) = happyGoto action_6
action_45 _ = happyFail

action_46 (41) = happyShift action_47
action_46 _ = happyFail

action_47 (34) = happyShift action_19
action_47 (9) = happyGoto action_94
action_47 _ = happyFail

action_48 (45) = happyShift action_41
action_48 (46) = happyShift action_42
action_48 _ = happyReduce_35

action_49 (45) = happyShift action_41
action_49 (46) = happyShift action_42
action_49 _ = happyReduce_34

action_50 (43) = happyShift action_44
action_50 (44) = happyShift action_45
action_50 _ = happyReduce_16

action_51 _ = happyReduce_38

action_52 _ = happyReduce_37

action_53 (49) = happyShift action_93
action_53 _ = happyFail

action_54 (34) = happyShift action_92
action_54 (4) = happyGoto action_90
action_54 (5) = happyGoto action_91
action_54 _ = happyReduce_8

action_55 (16) = happyShift action_8
action_55 (18) = happyShift action_9
action_55 (19) = happyShift action_10
action_55 (20) = happyShift action_11
action_55 (22) = happyShift action_12
action_55 (25) = happyShift action_13
action_55 (27) = happyShift action_14
action_55 (30) = happyShift action_15
action_55 (31) = happyShift action_16
action_55 (32) = happyShift action_17
action_55 (33) = happyShift action_18
action_55 (34) = happyShift action_19
action_55 (47) = happyShift action_20
action_55 (6) = happyGoto action_89
action_55 (9) = happyGoto action_3
action_55 (11) = happyGoto action_4
action_55 (12) = happyGoto action_5
action_55 (13) = happyGoto action_6
action_55 _ = happyReduce_25

action_56 _ = happyReduce_24

action_57 (16) = happyShift action_8
action_57 (18) = happyShift action_9
action_57 (19) = happyShift action_10
action_57 (20) = happyShift action_11
action_57 (22) = happyShift action_12
action_57 (25) = happyShift action_13
action_57 (27) = happyShift action_14
action_57 (30) = happyShift action_15
action_57 (31) = happyShift action_16
action_57 (32) = happyShift action_17
action_57 (33) = happyShift action_18
action_57 (34) = happyShift action_19
action_57 (47) = happyShift action_20
action_57 (6) = happyGoto action_88
action_57 (9) = happyGoto action_3
action_57 (11) = happyGoto action_4
action_57 (12) = happyGoto action_5
action_57 (13) = happyGoto action_6
action_57 _ = happyReduce_25

action_58 (16) = happyShift action_8
action_58 (18) = happyShift action_9
action_58 (19) = happyShift action_10
action_58 (20) = happyShift action_11
action_58 (22) = happyShift action_12
action_58 (25) = happyShift action_13
action_58 (27) = happyShift action_14
action_58 (30) = happyShift action_15
action_58 (31) = happyShift action_16
action_58 (32) = happyShift action_17
action_58 (33) = happyShift action_18
action_58 (34) = happyShift action_19
action_58 (47) = happyShift action_20
action_58 (6) = happyGoto action_87
action_58 (9) = happyGoto action_3
action_58 (11) = happyGoto action_4
action_58 (12) = happyGoto action_5
action_58 (13) = happyGoto action_6
action_58 _ = happyReduce_25

action_59 (50) = happyShift action_86
action_59 (10) = happyGoto action_85
action_59 _ = happyFail

action_60 (16) = happyShift action_8
action_60 (18) = happyShift action_9
action_60 (19) = happyShift action_10
action_60 (20) = happyShift action_11
action_60 (22) = happyShift action_12
action_60 (25) = happyShift action_13
action_60 (27) = happyShift action_14
action_60 (30) = happyShift action_15
action_60 (31) = happyShift action_16
action_60 (32) = happyShift action_17
action_60 (33) = happyShift action_18
action_60 (34) = happyShift action_19
action_60 (47) = happyShift action_20
action_60 (6) = happyGoto action_84
action_60 (9) = happyGoto action_3
action_60 (11) = happyGoto action_4
action_60 (12) = happyGoto action_5
action_60 (13) = happyGoto action_6
action_60 _ = happyReduce_25

action_61 (16) = happyShift action_8
action_61 (18) = happyShift action_9
action_61 (19) = happyShift action_10
action_61 (20) = happyShift action_11
action_61 (22) = happyShift action_12
action_61 (25) = happyShift action_13
action_61 (27) = happyShift action_14
action_61 (30) = happyShift action_15
action_61 (31) = happyShift action_16
action_61 (32) = happyShift action_17
action_61 (33) = happyShift action_18
action_61 (34) = happyShift action_19
action_61 (47) = happyShift action_20
action_61 (6) = happyGoto action_83
action_61 (9) = happyGoto action_3
action_61 (11) = happyGoto action_4
action_61 (12) = happyGoto action_5
action_61 (13) = happyGoto action_6
action_61 _ = happyReduce_25

action_62 (40) = happyShift action_65
action_62 (41) = happyShift action_66
action_62 (42) = happyShift action_67
action_62 (43) = happyShift action_44
action_62 (44) = happyShift action_45
action_62 (48) = happyShift action_71
action_62 _ = happyFail

action_63 (38) = happyShift action_81
action_63 (39) = happyShift action_82
action_63 _ = happyFail

action_64 _ = happyReduce_51

action_65 (33) = happyShift action_18
action_65 (34) = happyShift action_19
action_65 (47) = happyShift action_20
action_65 (9) = happyGoto action_21
action_65 (11) = happyGoto action_80
action_65 (12) = happyGoto action_5
action_65 (13) = happyGoto action_6
action_65 _ = happyFail

action_66 (33) = happyShift action_18
action_66 (34) = happyShift action_19
action_66 (40) = happyShift action_79
action_66 (47) = happyShift action_20
action_66 (9) = happyGoto action_21
action_66 (11) = happyGoto action_78
action_66 (12) = happyGoto action_5
action_66 (13) = happyGoto action_6
action_66 _ = happyFail

action_67 (33) = happyShift action_18
action_67 (34) = happyShift action_19
action_67 (40) = happyShift action_76
action_67 (41) = happyShift action_77
action_67 (47) = happyShift action_20
action_67 (9) = happyGoto action_21
action_67 (11) = happyGoto action_75
action_67 (12) = happyGoto action_5
action_67 (13) = happyGoto action_6
action_67 _ = happyFail

action_68 (34) = happyShift action_19
action_68 (9) = happyGoto action_74
action_68 _ = happyFail

action_69 (34) = happyShift action_19
action_69 (9) = happyGoto action_73
action_69 _ = happyFail

action_70 (43) = happyShift action_44
action_70 (44) = happyShift action_45
action_70 (51) = happyShift action_72
action_70 _ = happyFail

action_71 _ = happyReduce_42

action_72 (50) = happyShift action_108
action_72 _ = happyReduce_31

action_73 _ = happyReduce_28

action_74 _ = happyReduce_29

action_75 (43) = happyShift action_44
action_75 (44) = happyShift action_45
action_75 _ = happyReduce_48

action_76 (33) = happyShift action_18
action_76 (34) = happyShift action_19
action_76 (47) = happyShift action_20
action_76 (9) = happyGoto action_21
action_76 (11) = happyGoto action_107
action_76 (12) = happyGoto action_5
action_76 (13) = happyGoto action_6
action_76 _ = happyFail

action_77 (33) = happyShift action_18
action_77 (34) = happyShift action_19
action_77 (47) = happyShift action_20
action_77 (9) = happyGoto action_21
action_77 (11) = happyGoto action_106
action_77 (12) = happyGoto action_5
action_77 (13) = happyGoto action_6
action_77 _ = happyFail

action_78 (43) = happyShift action_44
action_78 (44) = happyShift action_45
action_78 _ = happyReduce_46

action_79 (33) = happyShift action_18
action_79 (34) = happyShift action_19
action_79 (47) = happyShift action_20
action_79 (9) = happyGoto action_21
action_79 (11) = happyGoto action_105
action_79 (12) = happyGoto action_5
action_79 (13) = happyGoto action_6
action_79 _ = happyFail

action_80 (43) = happyShift action_44
action_80 (44) = happyShift action_45
action_80 _ = happyReduce_45

action_81 (33) = happyShift action_18
action_81 (34) = happyShift action_19
action_81 (35) = happyShift action_29
action_81 (36) = happyShift action_30
action_81 (37) = happyShift action_31
action_81 (47) = happyShift action_32
action_81 (9) = happyGoto action_21
action_81 (11) = happyGoto action_27
action_81 (12) = happyGoto action_5
action_81 (13) = happyGoto action_6
action_81 (14) = happyGoto action_104
action_81 _ = happyFail

action_82 (33) = happyShift action_18
action_82 (34) = happyShift action_19
action_82 (35) = happyShift action_29
action_82 (36) = happyShift action_30
action_82 (37) = happyShift action_31
action_82 (47) = happyShift action_32
action_82 (9) = happyGoto action_21
action_82 (11) = happyGoto action_27
action_82 (12) = happyGoto action_5
action_82 (13) = happyGoto action_6
action_82 (14) = happyGoto action_103
action_82 _ = happyFail

action_83 (29) = happyShift action_102
action_83 _ = happyFail

action_84 _ = happyReduce_20

action_85 (24) = happyShift action_101
action_85 _ = happyFail

action_86 (33) = happyShift action_18
action_86 (34) = happyShift action_19
action_86 (47) = happyShift action_20
action_86 (9) = happyGoto action_21
action_86 (11) = happyGoto action_100
action_86 (12) = happyGoto action_5
action_86 (13) = happyGoto action_6
action_86 _ = happyFail

action_87 _ = happyReduce_21

action_88 _ = happyReduce_26

action_89 _ = happyReduce_2

action_90 (48) = happyShift action_98
action_90 (53) = happyShift action_99
action_90 _ = happyFail

action_91 _ = happyReduce_7

action_92 (50) = happyShift action_97
action_92 _ = happyReduce_9

action_93 (16) = happyShift action_8
action_93 (18) = happyShift action_9
action_93 (19) = happyShift action_10
action_93 (20) = happyShift action_11
action_93 (22) = happyShift action_12
action_93 (25) = happyShift action_13
action_93 (27) = happyShift action_14
action_93 (30) = happyShift action_15
action_93 (31) = happyShift action_16
action_93 (32) = happyShift action_17
action_93 (33) = happyShift action_18
action_93 (34) = happyShift action_19
action_93 (47) = happyShift action_20
action_93 (6) = happyGoto action_96
action_93 (9) = happyGoto action_3
action_93 (11) = happyGoto action_4
action_93 (12) = happyGoto action_5
action_93 (13) = happyGoto action_6
action_93 _ = happyReduce_25

action_94 (40) = happyShift action_95
action_94 _ = happyFail

action_95 (33) = happyShift action_18
action_95 (34) = happyShift action_19
action_95 (47) = happyShift action_20
action_95 (9) = happyGoto action_21
action_95 (11) = happyGoto action_117
action_95 (12) = happyGoto action_5
action_95 (13) = happyGoto action_6
action_95 _ = happyFail

action_96 _ = happyReduce_3

action_97 (51) = happyShift action_116
action_97 _ = happyFail

action_98 _ = happyReduce_5

action_99 (34) = happyShift action_92
action_99 (5) = happyGoto action_115
action_99 _ = happyFail

action_100 (43) = happyShift action_44
action_100 (44) = happyShift action_45
action_100 (52) = happyShift action_114
action_100 _ = happyFail

action_101 (16) = happyShift action_8
action_101 (18) = happyShift action_9
action_101 (19) = happyShift action_10
action_101 (20) = happyShift action_11
action_101 (22) = happyShift action_12
action_101 (25) = happyShift action_13
action_101 (27) = happyShift action_14
action_101 (30) = happyShift action_15
action_101 (31) = happyShift action_16
action_101 (32) = happyShift action_17
action_101 (33) = happyShift action_18
action_101 (34) = happyShift action_19
action_101 (47) = happyShift action_20
action_101 (6) = happyGoto action_113
action_101 (9) = happyGoto action_3
action_101 (11) = happyGoto action_4
action_101 (12) = happyGoto action_5
action_101 (13) = happyGoto action_6
action_101 _ = happyReduce_25

action_102 (16) = happyShift action_8
action_102 (18) = happyShift action_9
action_102 (19) = happyShift action_10
action_102 (20) = happyShift action_11
action_102 (22) = happyShift action_12
action_102 (25) = happyShift action_13
action_102 (27) = happyShift action_14
action_102 (30) = happyShift action_15
action_102 (31) = happyShift action_16
action_102 (32) = happyShift action_17
action_102 (33) = happyShift action_18
action_102 (34) = happyShift action_19
action_102 (47) = happyShift action_20
action_102 (6) = happyGoto action_112
action_102 (9) = happyGoto action_3
action_102 (11) = happyGoto action_4
action_102 (12) = happyGoto action_5
action_102 (13) = happyGoto action_6
action_102 _ = happyReduce_25

action_103 (48) = happyShift action_111
action_103 _ = happyFail

action_104 (48) = happyShift action_110
action_104 _ = happyFail

action_105 (43) = happyShift action_44
action_105 (44) = happyShift action_45
action_105 _ = happyReduce_47

action_106 (43) = happyShift action_44
action_106 (44) = happyShift action_45
action_106 _ = happyReduce_50

action_107 (43) = happyShift action_44
action_107 (44) = happyShift action_45
action_107 _ = happyReduce_49

action_108 (33) = happyShift action_18
action_108 (34) = happyShift action_19
action_108 (47) = happyShift action_20
action_108 (9) = happyGoto action_21
action_108 (11) = happyGoto action_109
action_108 (12) = happyGoto action_5
action_108 (13) = happyGoto action_6
action_108 _ = happyFail

action_109 (43) = happyShift action_44
action_109 (44) = happyShift action_45
action_109 (51) = happyShift action_120
action_109 _ = happyFail

action_110 _ = happyReduce_52

action_111 _ = happyReduce_53

action_112 _ = happyReduce_19

action_113 _ = happyReduce_22

action_114 (52) = happyShift action_119
action_114 _ = happyFail

action_115 _ = happyReduce_6

action_116 (50) = happyShift action_118
action_116 _ = happyReduce_10

action_117 (43) = happyShift action_44
action_117 (44) = happyShift action_45
action_117 _ = happyReduce_17

action_118 (51) = happyShift action_122
action_118 _ = happyFail

action_119 (33) = happyShift action_18
action_119 (34) = happyShift action_19
action_119 (47) = happyShift action_20
action_119 (9) = happyGoto action_21
action_119 (11) = happyGoto action_121
action_119 (12) = happyGoto action_5
action_119 (13) = happyGoto action_6
action_119 _ = happyFail

action_120 _ = happyReduce_32

action_121 (43) = happyShift action_44
action_121 (44) = happyShift action_45
action_121 (51) = happyShift action_123
action_121 _ = happyFail

action_122 _ = happyReduce_11

action_123 _ = happyReduce_33

happyReduce_1 = happySpecReduce_1 1 reduction where {
  reduction
	(HappyAbsSyn6  happy_var_1)
	 =  HappyAbsSyn1
		 ((False,[],happy_var_1));
  reduction _  = notHappyAtAll }

happyReduce_2 = happyReduce 4 1 reduction where {
  reduction
	((HappyAbsSyn6  happy_var_4) :
	_ :
	_ :
	_ :
	happyRest)
	 = HappyAbsSyn1
		 ((False,[],happy_var_4)) : happyRest;
  reduction _ = notHappyAtAll }

happyReduce_3 = happyReduce 5 1 reduction where {
  reduction
	((HappyAbsSyn6  happy_var_5) :
	_ :
	(HappyAbsSyn3  happy_var_3) :
	_ :
	_ :
	happyRest)
	 = HappyAbsSyn1
		 ((True,happy_var_3,happy_var_5)) : happyRest;
  reduction _ = notHappyAtAll }

happyReduce_4 = happySpecReduce_1 2 reduction where {
  reduction
	_
	 =  HappyAbsSyn2
		 ()}

happyReduce_5 = happySpecReduce_3 3 reduction where {
  reduction
	_
	(HappyAbsSyn4  happy_var_2)
	_
	 =  HappyAbsSyn3
		 (happy_var_2);
  reduction _ _ _  = notHappyAtAll }

happyReduce_6 = happySpecReduce_3 4 reduction where {
  reduction
	(HappyAbsSyn5  happy_var_3)
	_
	(HappyAbsSyn4  happy_var_1)
	 =  HappyAbsSyn4
		 (happy_var_3 : happy_var_1);
  reduction _ _ _  = notHappyAtAll }

happyReduce_7 = happySpecReduce_1 4 reduction where {
  reduction
	(HappyAbsSyn5  happy_var_1)
	 =  HappyAbsSyn4
		 ([happy_var_1]);
  reduction _  = notHappyAtAll }

happyReduce_8 = happySpecReduce_0 4 reduction where {
  reduction
	 =  HappyAbsSyn4
		 ([])}

happyReduce_9 = happySpecReduce_1 5 reduction where {
  reduction
	(HappyTerminal (TokenName happy_var_1))
	 =  HappyAbsSyn5
		 ((happy_var_1,0));
  reduction _  = notHappyAtAll }

happyReduce_10 = happySpecReduce_3 5 reduction where {
  reduction
	_
	_
	(HappyTerminal (TokenName happy_var_1))
	 =  HappyAbsSyn5
		 ((happy_var_1,1));
  reduction _ _ _  = notHappyAtAll }

happyReduce_11 = happyReduce 5 5 reduction where {
  reduction
	(_ :
	_ :
	_ :
	_ :
	(HappyTerminal (TokenName happy_var_1)) :
	happyRest)
	 = HappyAbsSyn5
		 ((happy_var_1,2)) : happyRest;
  reduction _ = notHappyAtAll }

happyReduce_12 = happySpecReduce_2 6 reduction where {
  reduction
	(HappyAbsSyn9  happy_var_2)
	_
	 =  HappyAbsSyn6
		 (Some happy_var_2);
  reduction _ _  = notHappyAtAll }

happyReduce_13 = happySpecReduce_2 6 reduction where {
  reduction
	(HappyAbsSyn8  happy_var_2)
	_
	 =  HappyAbsSyn6
		 (Comp [ (Some x) | x <- (reverse happy_var_2) ]);
  reduction _ _  = notHappyAtAll }

happyReduce_14 = happySpecReduce_1 6 reduction where {
  reduction
	_
	 =  HappyAbsSyn6
		 (Skip)}

happyReduce_15 = happySpecReduce_1 6 reduction where {
  reduction
	_
	 =  HappyAbsSyn6
		 (Fail)}

happyReduce_16 = happySpecReduce_3 6 reduction where {
  reduction
	(HappyAbsSyn11  happy_var_3)
	_
	(HappyAbsSyn11  happy_var_1)
	 =  HappyAbsSyn6
		 (Iseq happy_var_1 happy_var_3);
  reduction _ _ _  = notHappyAtAll }

happyReduce_17 = happyReduce 6 6 reduction where {
  reduction
	((HappyAbsSyn11  happy_var_6) :
	_ :
	(HappyAbsSyn9  happy_var_4) :
	_ :
	_ :
	(HappyAbsSyn9  happy_var_1) :
	happyRest)
	 = HappyAbsSyn6
		 (Put happy_var_1 happy_var_4 happy_var_6) : happyRest;
  reduction _ = notHappyAtAll }

happyReduce_18 = happySpecReduce_2 6 reduction where {
  reduction
	(HappyAbsSyn14  happy_var_2)
	_
	 =  HappyAbsSyn6
		 (Test happy_var_2);
  reduction _ _  = notHappyAtAll }

happyReduce_19 = happyReduce 6 6 reduction where {
  reduction
	((HappyAbsSyn6  happy_var_6) :
	_ :
	(HappyAbsSyn6  happy_var_4) :
	_ :
	(HappyAbsSyn14  happy_var_2) :
	_ :
	happyRest)
	 = HappyAbsSyn6
		 (If happy_var_2 happy_var_4 happy_var_6) : happyRest;
  reduction _ = notHappyAtAll }

happyReduce_20 = happyReduce 4 6 reduction where {
  reduction
	((HappyAbsSyn6  happy_var_4) :
	_ :
	(HappyAbsSyn6  happy_var_2) :
	_ :
	happyRest)
	 = HappyAbsSyn6
		 (Either happy_var_2 happy_var_4) : happyRest;
  reduction _ = notHappyAtAll }

happyReduce_21 = happyReduce 4 6 reduction where {
  reduction
	((HappyAbsSyn6  happy_var_4) :
	_ :
	(HappyAbsSyn11  happy_var_2) :
	_ :
	happyRest)
	 = HappyAbsSyn6
		 (Do happy_var_2 happy_var_4) : happyRest;
  reduction _ = notHappyAtAll }

happyReduce_22 = happyReduce 6 6 reduction where {
  reduction
	((HappyAbsSyn6  happy_var_6) :
	_ :
	(HappyAbsSyn10  happy_var_4) :
	_ :
	(HappyAbsSyn9  happy_var_2) :
	_ :
	happyRest)
	 = HappyAbsSyn6
		 (Find happy_var_2 happy_var_4 happy_var_6) : happyRest;
  reduction _ = notHappyAtAll }

happyReduce_23 = happySpecReduce_2 6 reduction where {
  reduction
	(HappyAbsSyn6  happy_var_2)
	_
	 =  HappyAbsSyn6
		 (Not happy_var_2);
  reduction _ _  = notHappyAtAll }

happyReduce_24 = happySpecReduce_3 6 reduction where {
  reduction
	_
	(HappyAbsSyn7  happy_var_2)
	_
	 =  HappyAbsSyn6
		 (Comp (reverse happy_var_2));
  reduction _ _ _  = notHappyAtAll }

happyReduce_25 = happySpecReduce_0 6 reduction where {
  reduction
	 =  HappyAbsSyn6
		 (Skip)}

happyReduce_26 = happySpecReduce_3 7 reduction where {
  reduction
	(HappyAbsSyn6  happy_var_3)
	_
	(HappyAbsSyn7  happy_var_1)
	 =  HappyAbsSyn7
		 (happy_var_3 : happy_var_1);
  reduction _ _ _  = notHappyAtAll }

happyReduce_27 = happySpecReduce_1 7 reduction where {
  reduction
	(HappyAbsSyn6  happy_var_1)
	 =  HappyAbsSyn7
		 ([happy_var_1]);
  reduction _  = notHappyAtAll }

happyReduce_28 = happySpecReduce_3 8 reduction where {
  reduction
	(HappyAbsSyn9  happy_var_3)
	_
	(HappyAbsSyn8  happy_var_1)
	 =  HappyAbsSyn8
		 (happy_var_3 : happy_var_1);
  reduction _ _ _  = notHappyAtAll }

happyReduce_29 = happySpecReduce_3 8 reduction where {
  reduction
	(HappyAbsSyn9  happy_var_3)
	_
	(HappyAbsSyn9  happy_var_1)
	 =  HappyAbsSyn8
		 ([happy_var_3,happy_var_1]);
  reduction _ _ _  = notHappyAtAll }

happyReduce_30 = happySpecReduce_1 9 reduction where {
  reduction
	(HappyTerminal (TokenName happy_var_1))
	 =  HappyAbsSyn9
		 (Svar happy_var_1);
  reduction _  = notHappyAtAll }

happyReduce_31 = happyReduce 4 9 reduction where {
  reduction
	(_ :
	(HappyAbsSyn11  happy_var_3) :
	_ :
	(HappyTerminal (TokenName happy_var_1)) :
	happyRest)
	 = HappyAbsSyn9
		 (Ivar happy_var_1 happy_var_3) : happyRest;
  reduction _ = notHappyAtAll }

happyReduce_32 = happyReduce 7 9 reduction where {
  reduction
	(_ :
	(HappyAbsSyn11  happy_var_6) :
	_ :
	_ :
	(HappyAbsSyn11  happy_var_3) :
	_ :
	(HappyTerminal (TokenName happy_var_1)) :
	happyRest)
	 = HappyAbsSyn9
		 (Divar happy_var_1 happy_var_3 happy_var_6) : happyRest;
  reduction _ = notHappyAtAll }

happyReduce_33 = happyReduce 6 10 reduction where {
  reduction
	(_ :
	(HappyAbsSyn11  happy_var_5) :
	_ :
	_ :
	(HappyAbsSyn11  happy_var_2) :
	_ :
	happyRest)
	 = HappyAbsSyn10
		 ((happy_var_2,happy_var_5)) : happyRest;
  reduction _ = notHappyAtAll }

happyReduce_34 = happySpecReduce_3 11 reduction where {
  reduction
	(HappyAbsSyn12  happy_var_3)
	_
	(HappyAbsSyn11  happy_var_1)
	 =  HappyAbsSyn11
		 (Plus happy_var_1 happy_var_3);
  reduction _ _ _  = notHappyAtAll }

happyReduce_35 = happySpecReduce_3 11 reduction where {
  reduction
	(HappyAbsSyn12  happy_var_3)
	_
	(HappyAbsSyn11  happy_var_1)
	 =  HappyAbsSyn11
		 (Minus happy_var_1 happy_var_3);
  reduction _ _ _  = notHappyAtAll }

happyReduce_36 = happySpecReduce_1 11 reduction where {
  reduction
	(HappyAbsSyn12  happy_var_1)
	 =  HappyAbsSyn11
		 (Term happy_var_1);
  reduction _  = notHappyAtAll }

happyReduce_37 = happySpecReduce_3 12 reduction where {
  reduction
	(HappyAbsSyn13  happy_var_3)
	_
	(HappyAbsSyn12  happy_var_1)
	 =  HappyAbsSyn12
		 (Times happy_var_1 happy_var_3);
  reduction _ _ _  = notHappyAtAll }

happyReduce_38 = happySpecReduce_3 12 reduction where {
  reduction
	(HappyAbsSyn13  happy_var_3)
	_
	(HappyAbsSyn12  happy_var_1)
	 =  HappyAbsSyn12
		 (Div happy_var_1 happy_var_3);
  reduction _ _ _  = notHappyAtAll }

happyReduce_39 = happySpecReduce_1 12 reduction where {
  reduction
	(HappyAbsSyn13  happy_var_1)
	 =  HappyAbsSyn12
		 (Factor happy_var_1);
  reduction _  = notHappyAtAll }

happyReduce_40 = happySpecReduce_1 13 reduction where {
  reduction
	(HappyTerminal (TokenInt happy_var_1))
	 =  HappyAbsSyn13
		 (Int happy_var_1);
  reduction _  = notHappyAtAll }

happyReduce_41 = happySpecReduce_1 13 reduction where {
  reduction
	(HappyAbsSyn9  happy_var_1)
	 =  HappyAbsSyn13
		 (Var happy_var_1);
  reduction _  = notHappyAtAll }

happyReduce_42 = happySpecReduce_3 13 reduction where {
  reduction
	_
	(HappyAbsSyn11  happy_var_2)
	_
	 =  HappyAbsSyn13
		 (Brack happy_var_2);
  reduction _ _ _  = notHappyAtAll }

happyReduce_43 = happySpecReduce_1 14 reduction where {
  reduction
	_
	 =  HappyAbsSyn14
		 (Bool True)}

happyReduce_44 = happySpecReduce_1 14 reduction where {
  reduction
	_
	 =  HappyAbsSyn14
		 (Bool False)}

happyReduce_45 = happySpecReduce_3 14 reduction where {
  reduction
	(HappyAbsSyn11  happy_var_3)
	_
	(HappyAbsSyn11  happy_var_1)
	 =  HappyAbsSyn14
		 (Eq happy_var_1 happy_var_3);
  reduction _ _ _  = notHappyAtAll }

happyReduce_46 = happySpecReduce_3 14 reduction where {
  reduction
	(HappyAbsSyn11  happy_var_3)
	_
	(HappyAbsSyn11  happy_var_1)
	 =  HappyAbsSyn14
		 (Gr happy_var_1 happy_var_3);
  reduction _ _ _  = notHappyAtAll }

happyReduce_47 = happyReduce 4 14 reduction where {
  reduction
	((HappyAbsSyn11  happy_var_4) :
	_ :
	_ :
	(HappyAbsSyn11  happy_var_1) :
	happyRest)
	 = HappyAbsSyn14
		 (Geq happy_var_1 happy_var_4) : happyRest;
  reduction _ = notHappyAtAll }

happyReduce_48 = happySpecReduce_3 14 reduction where {
  reduction
	(HappyAbsSyn11  happy_var_3)
	_
	(HappyAbsSyn11  happy_var_1)
	 =  HappyAbsSyn14
		 (Less happy_var_1 happy_var_3);
  reduction _ _ _  = notHappyAtAll }

happyReduce_49 = happyReduce 4 14 reduction where {
  reduction
	((HappyAbsSyn11  happy_var_4) :
	_ :
	_ :
	(HappyAbsSyn11  happy_var_1) :
	happyRest)
	 = HappyAbsSyn14
		 (Leq happy_var_1 happy_var_4) : happyRest;
  reduction _ = notHappyAtAll }

happyReduce_50 = happyReduce 4 14 reduction where {
  reduction
	((HappyAbsSyn11  happy_var_4) :
	_ :
	_ :
	(HappyAbsSyn11  happy_var_1) :
	happyRest)
	 = HappyAbsSyn14
		 (Neq happy_var_1 happy_var_4) : happyRest;
  reduction _ = notHappyAtAll }

happyReduce_51 = happySpecReduce_2 14 reduction where {
  reduction
	(HappyAbsSyn14  happy_var_2)
	_
	 =  HappyAbsSyn14
		 (Neg happy_var_2);
  reduction _ _  = notHappyAtAll }

happyReduce_52 = happyReduce 5 14 reduction where {
  reduction
	(_ :
	(HappyAbsSyn14  happy_var_4) :
	_ :
	(HappyAbsSyn14  happy_var_2) :
	_ :
	happyRest)
	 = HappyAbsSyn14
		 (Conj happy_var_2 happy_var_4) : happyRest;
  reduction _ = notHappyAtAll }

happyReduce_53 = happyReduce 5 14 reduction where {
  reduction
	(_ :
	(HappyAbsSyn14  happy_var_4) :
	_ :
	(HappyAbsSyn14  happy_var_2) :
	_ :
	happyRest)
	 = HappyAbsSyn14
		 (Disj happy_var_2 happy_var_4) : happyRest;
  reduction _ = 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 {
	TokenProgram -> cont 15;
	TokenBegin -> cont 16;
	TokenEnd -> cont 17;
	TokenSkip -> cont 18;
	TokenFail -> cont 19;
	TokenDo -> cont 20;
	TokenIterations -> cont 21;
	TokenFind -> cont 22;
	TokenIn -> cont 23;
	TokenWith -> cont 24;
	TokenEither -> cont 25;
	TokenOrelse -> cont 26;
	TokenIf -> cont 27;
	TokenThen -> cont 28;
	TokenElse -> cont 29;
	TokenTest -> cont 30;
	TokenSome -> cont 31;
	TokenDonot -> cont 32;
	TokenInt happy_dollar_dollar -> cont 33;
	TokenName happy_dollar_dollar -> cont 34;
	TokenTrue -> cont 35;
	TokenFalse -> cont 36;
	TokenNeg -> cont 37;
	TokenAnd -> cont 38;
	TokenOr -> cont 39;
	TokenEq -> cont 40;
	TokenMore -> cont 41;
	TokenLess -> cont 42;
	TokenPlus -> cont 43;
	TokenMinus -> cont 44;
	TokenTimes -> cont 45;
	TokenDiv -> cont 46;
	TokenOB -> cont 47;
	TokenCB -> cont 48;
	TokenSC -> cont 49;
	TokenOSB -> cont 50;
	TokenCSB -> cont 51;
	TokenDot -> cont 52;
	TokenComma -> cont 53;
	}

happyThen = \m k -> k m
happyReturn = \a tks -> a
parse = happyParse



happyError :: [Token] -> a
happyError _ = error "Parse error"


-- $Id: HappyTemplate,v 1.8 1997/12/04 15:07:21 simonm Exp $

{-
	The stack is in the following order throughout the parse:

	i	current token number
	j	another copy of this to avoid messing with the stack
	tk	current token semantic value
	st	current state
	sts	state stack
	stk	semantic stack
-}

-----------------------------------------------------------------------------

happyParse = happyNewToken action_0 [] []

-- All this HappyState stuff is simply because we can't have recursive
-- types in Haskell without an intervening data structure.

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)

-----------------------------------------------------------------------------
-- Accepting the parse

happyAccept j tk st sts [ HappyAbsSyn1 ans ] = happyReturn ans
happyAccept j tk st sts _                    = notHappyAtAll

-----------------------------------------------------------------------------
-- Shifting a token

happyShift new_state (-1) tk st sts stk@(HappyErrorToken i : _) =
--     _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:stk)

-----------------------------------------------------------------------------
-- Reducing

-- happyReduce is specialised for the common cases.

-- don't allow reductions when we're in error recovery, because this can
-- lead to an infinite loop.

happySpecReduce_0 i fn (-1) tk _ sts stk
     = case sts of
	st@(HappyState action):sts -> action (-1) (-1) tk st sts stk
	_ -> happyError
happySpecReduce_0 i fn j tk st@(HappyState action) sts stk
     = action i j tk st (st:sts) (fn : stk)

happySpecReduce_1 i fn (-1) tk _ (st@(HappyState action):sts) stk
     = action (-1) (-1) tk st sts stk
happySpecReduce_1 i fn j tk _ sts@(st@(HappyState action):_) (v1:stk')
     = action i j tk st sts (fn v1 : stk')
happySpecReduce_1 _ _ _ _ _ _ _
     = notHappyAtAll

happySpecReduce_2 i fn (-1) tk _ (st@(HappyState action):sts) stk
     = action (-1) (-1) tk st sts stk
happySpecReduce_2 i fn j tk _ (_:sts@(st@(HappyState action):_)) (v1:v2:stk')
     = action i j tk st sts (fn v1 v2 : stk')
happySpecReduce_2 _ _ _ _ _ _ _
     = notHappyAtAll

happySpecReduce_3 i fn (-1) tk _ (st@(HappyState action):sts) stk
     = action (-1) (-1) tk st sts stk
happySpecReduce_3 i fn j tk _ (_:_:sts@(st@(HappyState action):_)) 
	(v1:v2:v3:stk')
     = action i j tk st sts (fn v1 v2 v3 : stk')
happySpecReduce_3 _ _ _ _ _ _ _
     = notHappyAtAll

happyReduce k i fn (-1) tk _ (st@(HappyState action):sts) stk
     = action (-1) (-1) tk st sts stk
happyReduce k i fn j tk st sts stk = action i j tk st' sts' (fn stk)
       where sts'@(st'@(HappyState action):_) = drop (k::Int) (st:sts)

happyMonadReduce k i c fn (-1) tk _ sts stk
      = case sts of
	     (st@(HappyState action):sts) -> action (-1) (-1) tk st sts stk
	     [] -> happyError
happyMonadReduce k i c fn j tk st sts stk =
	happyThen (fn stk) (\r -> action i j tk st' sts' (c r : stk'))
       where sts'@(st'@(HappyState action):_) = drop (k::Int) (st:sts)
	     stk' = drop (k::Int) stk

-----------------------------------------------------------------------------
-- 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)

-- fail if we are in recovery and no more states to discard
happyFail  (-1) tk st' [] stk = happyError

-- discard a state
happyFail  (-1) tk st' (st@(HappyState action):sts) stk =
--	_trace "discarding state" $
	action (-1) (-1) tk st sts stk

-- Enter error recovery: generate an error token,
-- 			 save the old token and carry on.

-- we push the error token on the stack in anticipation of a shift,
-- and also because this is a convenient place to store the saved token.

happyFail  i tk st@(HappyState action) sts stk =
--	_trace "entering error recovery" $
	action (-1) (-1) tk st sts (HappyErrorToken i : stk)

-- Internal happy errors:

notHappyAtAll = error "Internal Happy error\n"

-- end of Happy Template.

