-- parser produced by Happy Version 1.13

module ParHao where
import AbsHao
import LexHao
import ErrM

data HappyAbsSyn t25 t26
	= HappyTerminal Token
	| HappyErrorToken Int
	| HappyAbsSyn25 t25
	| HappyAbsSyn26 t26
	| HappyAbsSyn27 ([Op])
	| HappyAbsSyn28 ([Term])
	| HappyAbsSyn29 ([Ident])
	| HappyAbsSyn30 ([Case])
	| HappyAbsSyn31 ([Guard])
	| HappyAbsSyn32 ([Fixity])
	| HappyAbsSyn33 ([Export])
	| HappyAbsSyn34 (Module)
	| HappyAbsSyn35 (Export)
	| HappyAbsSyn36 (QIdent)
	| HappyAbsSyn37 (QInfix)
	| HappyAbsSyn38 (Symbol)
	| HappyAbsSyn39 (Op)
	| HappyAbsSyn40 (Term)
	| HappyAbsSyn45 (Case)
	| HappyAbsSyn46 (Guard)
	| HappyAbsSyn47 (Assoc)
	| HappyAbsSyn48 (Fixity)

action_0 (59) = happyShift action_54
action_0 (69) = happyShift action_23
action_0 (25) = happyGoto action_34
action_0 (27) = happyGoto action_70
action_0 (29) = happyGoto action_51
action_0 (37) = happyGoto action_52
action_0 (39) = happyGoto action_71
action_0 _ = happyReduce_24

action_1 (52) = happyShift action_39
action_1 (55) = happyShift action_40
action_1 (65) = happyShift action_41
action_1 (69) = happyShift action_23
action_1 (25) = happyGoto action_34
action_1 (28) = happyGoto action_68
action_1 (29) = happyGoto action_35
action_1 (36) = happyGoto action_36
action_1 (38) = happyGoto action_37
action_1 (40) = happyGoto action_69
action_1 (41) = happyGoto action_50
action_1 (42) = happyGoto action_47
action_1 (43) = happyGoto action_45
action_1 (44) = happyGoto action_48
action_1 _ = happyReduce_27

action_2 (69) = happyShift action_23
action_2 (25) = happyGoto action_34
action_2 (29) = happyGoto action_67
action_2 _ = happyFail

action_3 (30) = happyGoto action_66
action_3 _ = happyReduce_32

action_4 (31) = happyGoto action_65
action_4 _ = happyReduce_34

action_5 (32) = happyGoto action_64
action_5 _ = happyReduce_36

action_6 (33) = happyGoto action_63
action_6 _ = happyReduce_38

action_7 (64) = happyShift action_62
action_7 (34) = happyGoto action_61
action_7 _ = happyFail

action_8 (62) = happyShift action_60
action_8 (35) = happyGoto action_59
action_8 _ = happyFail

action_9 (69) = happyShift action_23
action_9 (25) = happyGoto action_34
action_9 (29) = happyGoto action_35
action_9 (36) = happyGoto action_58
action_9 _ = happyFail

action_10 (69) = happyShift action_23
action_10 (25) = happyGoto action_34
action_10 (29) = happyGoto action_51
action_10 (37) = happyGoto action_57
action_10 _ = happyFail

action_11 (52) = happyShift action_56
action_11 (69) = happyShift action_23
action_11 (25) = happyGoto action_34
action_11 (29) = happyGoto action_35
action_11 (36) = happyGoto action_36
action_11 (38) = happyGoto action_55
action_11 _ = happyFail

action_12 (59) = happyShift action_54
action_12 (69) = happyShift action_23
action_12 (25) = happyGoto action_34
action_12 (29) = happyGoto action_51
action_12 (37) = happyGoto action_52
action_12 (39) = happyGoto action_53
action_12 _ = happyFail

action_13 (52) = happyShift action_39
action_13 (55) = happyShift action_40
action_13 (65) = happyShift action_41
action_13 (69) = happyShift action_23
action_13 (25) = happyGoto action_34
action_13 (29) = happyGoto action_35
action_13 (36) = happyGoto action_36
action_13 (38) = happyGoto action_37
action_13 (40) = happyGoto action_49
action_13 (41) = happyGoto action_50
action_13 (42) = happyGoto action_47
action_13 (43) = happyGoto action_45
action_13 (44) = happyGoto action_48
action_13 _ = happyFail

action_14 (52) = happyShift action_39
action_14 (55) = happyShift action_40
action_14 (65) = happyShift action_41
action_14 (69) = happyShift action_23
action_14 (25) = happyGoto action_34
action_14 (29) = happyGoto action_35
action_14 (36) = happyGoto action_36
action_14 (38) = happyGoto action_37
action_14 (41) = happyGoto action_46
action_14 (42) = happyGoto action_47
action_14 (43) = happyGoto action_45
action_14 (44) = happyGoto action_48
action_14 _ = happyFail

action_15 (52) = happyShift action_39
action_15 (55) = happyShift action_40
action_15 (65) = happyShift action_41
action_15 (69) = happyShift action_23
action_15 (25) = happyGoto action_34
action_15 (29) = happyGoto action_35
action_15 (36) = happyGoto action_36
action_15 (38) = happyGoto action_37
action_15 (42) = happyGoto action_44
action_15 (43) = happyGoto action_45
action_15 (44) = happyGoto action_43
action_15 _ = happyFail

action_16 (52) = happyShift action_39
action_16 (55) = happyShift action_40
action_16 (65) = happyShift action_41
action_16 (69) = happyShift action_23
action_16 (25) = happyGoto action_34
action_16 (29) = happyGoto action_35
action_16 (36) = happyGoto action_36
action_16 (38) = happyGoto action_37
action_16 (43) = happyGoto action_42
action_16 (44) = happyGoto action_43
action_16 _ = happyFail

action_17 (52) = happyShift action_39
action_17 (55) = happyShift action_40
action_17 (65) = happyShift action_41
action_17 (69) = happyShift action_23
action_17 (25) = happyGoto action_34
action_17 (29) = happyGoto action_35
action_17 (36) = happyGoto action_36
action_17 (38) = happyGoto action_37
action_17 (44) = happyGoto action_38
action_17 _ = happyFail

action_18 (60) = happyShift action_33
action_18 (45) = happyGoto action_32
action_18 _ = happyFail

action_19 (57) = happyShift action_31
action_19 (46) = happyGoto action_30
action_19 _ = happyFail

action_20 (63) = happyShift action_28
action_20 (67) = happyShift action_29
action_20 (47) = happyGoto action_27
action_20 _ = happyReduce_66

action_21 (66) = happyShift action_25
action_21 (68) = happyShift action_26
action_21 (48) = happyGoto action_24
action_21 _ = happyFail

action_22 (69) = happyShift action_23
action_22 _ = happyFail

action_23 _ = happyReduce_22

action_24 (72) = happyAccept
action_24 _ = happyFail

action_25 (52) = happyShift action_99
action_25 _ = happyFail

action_26 (52) = happyShift action_98
action_26 _ = happyFail

action_27 (72) = happyAccept
action_27 _ = happyFail

action_28 _ = happyReduce_64

action_29 _ = happyReduce_65

action_30 (72) = happyAccept
action_30 _ = happyFail

action_31 (52) = happyShift action_39
action_31 (55) = happyShift action_40
action_31 (61) = happyShift action_97
action_31 (65) = happyShift action_41
action_31 (69) = happyShift action_23
action_31 (25) = happyGoto action_34
action_31 (29) = happyGoto action_35
action_31 (36) = happyGoto action_36
action_31 (38) = happyGoto action_37
action_31 (40) = happyGoto action_96
action_31 (41) = happyGoto action_50
action_31 (42) = happyGoto action_47
action_31 (43) = happyGoto action_45
action_31 (44) = happyGoto action_48
action_31 _ = happyFail

action_32 (72) = happyAccept
action_32 _ = happyFail

action_33 (52) = happyShift action_39
action_33 (55) = happyShift action_40
action_33 (65) = happyShift action_41
action_33 (69) = happyShift action_23
action_33 (25) = happyGoto action_34
action_33 (29) = happyGoto action_35
action_33 (36) = happyGoto action_36
action_33 (38) = happyGoto action_37
action_33 (40) = happyGoto action_95
action_33 (41) = happyGoto action_50
action_33 (42) = happyGoto action_47
action_33 (43) = happyGoto action_45
action_33 (44) = happyGoto action_48
action_33 _ = happyFail

action_34 (50) = happyShift action_94
action_34 _ = happyFail

action_35 (69) = happyShift action_23
action_35 (25) = happyGoto action_93
action_35 _ = happyFail

action_36 _ = happyReduce_44

action_37 _ = happyReduce_56

action_38 (72) = happyAccept
action_38 _ = happyFail

action_39 (52) = happyShift action_39
action_39 (55) = happyShift action_40
action_39 (59) = happyShift action_54
action_39 (65) = happyShift action_41
action_39 (69) = happyShift action_23
action_39 (25) = happyGoto action_34
action_39 (28) = happyGoto action_91
action_39 (29) = happyGoto action_92
action_39 (36) = happyGoto action_36
action_39 (37) = happyGoto action_52
action_39 (38) = happyGoto action_37
action_39 (39) = happyGoto action_81
action_39 (40) = happyGoto action_69
action_39 (41) = happyGoto action_50
action_39 (42) = happyGoto action_47
action_39 (43) = happyGoto action_45
action_39 (44) = happyGoto action_48
action_39 _ = happyReduce_27

action_40 (52) = happyShift action_39
action_40 (55) = happyShift action_40
action_40 (65) = happyShift action_41
action_40 (69) = happyShift action_23
action_40 (25) = happyGoto action_34
action_40 (29) = happyGoto action_35
action_40 (30) = happyGoto action_89
action_40 (36) = happyGoto action_36
action_40 (38) = happyGoto action_37
action_40 (40) = happyGoto action_90
action_40 (41) = happyGoto action_50
action_40 (42) = happyGoto action_47
action_40 (43) = happyGoto action_45
action_40 (44) = happyGoto action_48
action_40 _ = happyReduce_32

action_41 (59) = happyShift action_54
action_41 (69) = happyShift action_23
action_41 (25) = happyGoto action_34
action_41 (29) = happyGoto action_51
action_41 (37) = happyGoto action_52
action_41 (39) = happyGoto action_88
action_41 _ = happyFail

action_42 (52) = happyShift action_39
action_42 (55) = happyShift action_40
action_42 (65) = happyShift action_41
action_42 (69) = happyShift action_23
action_42 (72) = happyAccept
action_42 (25) = happyGoto action_34
action_42 (29) = happyGoto action_35
action_42 (36) = happyGoto action_36
action_42 (38) = happyGoto action_37
action_42 (44) = happyGoto action_87
action_42 _ = happyFail

action_43 _ = happyReduce_54

action_44 (59) = happyShift action_54
action_44 (69) = happyShift action_23
action_44 (72) = happyAccept
action_44 (25) = happyGoto action_34
action_44 (29) = happyGoto action_51
action_44 (37) = happyGoto action_52
action_44 (39) = happyGoto action_86
action_44 _ = happyFail

action_45 (52) = happyShift action_39
action_45 (55) = happyShift action_40
action_45 (65) = happyShift action_41
action_45 (69) = happyShift action_23
action_45 (25) = happyGoto action_34
action_45 (29) = happyGoto action_35
action_45 (36) = happyGoto action_36
action_45 (38) = happyGoto action_37
action_45 (44) = happyGoto action_87
action_45 _ = happyReduce_52

action_46 (72) = happyAccept
action_46 _ = happyFail

action_47 (59) = happyShift action_54
action_47 (69) = happyShift action_23
action_47 (25) = happyGoto action_34
action_47 (29) = happyGoto action_51
action_47 (37) = happyGoto action_52
action_47 (39) = happyGoto action_86
action_47 _ = happyReduce_50

action_48 (54) = happyShift action_85
action_48 _ = happyReduce_54

action_49 (51) = happyShift action_74
action_49 (72) = happyAccept
action_49 _ = happyFail

action_50 _ = happyReduce_48

action_51 (70) = happyShift action_84
action_51 (26) = happyGoto action_83
action_51 _ = happyFail

action_52 _ = happyReduce_46

action_53 (72) = happyAccept
action_53 _ = happyFail

action_54 (52) = happyShift action_56
action_54 (69) = happyShift action_23
action_54 (25) = happyGoto action_34
action_54 (29) = happyGoto action_35
action_54 (36) = happyGoto action_36
action_54 (38) = happyGoto action_82
action_54 _ = happyFail

action_55 (72) = happyAccept
action_55 _ = happyFail

action_56 (59) = happyShift action_54
action_56 (69) = happyShift action_23
action_56 (25) = happyGoto action_34
action_56 (29) = happyGoto action_51
action_56 (37) = happyGoto action_52
action_56 (39) = happyGoto action_81
action_56 _ = happyFail

action_57 (72) = happyAccept
action_57 _ = happyFail

action_58 (72) = happyAccept
action_58 _ = happyFail

action_59 (72) = happyAccept
action_59 _ = happyFail

action_60 (52) = happyShift action_56
action_60 (69) = happyShift action_23
action_60 (25) = happyGoto action_34
action_60 (29) = happyGoto action_35
action_60 (36) = happyGoto action_36
action_60 (38) = happyGoto action_80
action_60 _ = happyFail

action_61 (72) = happyAccept
action_61 _ = happyFail

action_62 (69) = happyShift action_23
action_62 (25) = happyGoto action_34
action_62 (29) = happyGoto action_79
action_62 _ = happyFail

action_63 (62) = happyShift action_60
action_63 (72) = happyAccept
action_63 (35) = happyGoto action_78
action_63 _ = happyFail

action_64 (66) = happyShift action_25
action_64 (68) = happyShift action_26
action_64 (72) = happyAccept
action_64 (48) = happyGoto action_77
action_64 _ = happyFail

action_65 (57) = happyShift action_31
action_65 (72) = happyAccept
action_65 (46) = happyGoto action_76
action_65 _ = happyFail

action_66 (60) = happyShift action_33
action_66 (72) = happyAccept
action_66 (45) = happyGoto action_75
action_66 _ = happyFail

action_67 (72) = happyAccept
action_67 _ = happyFail

action_68 (72) = happyAccept
action_68 _ = happyFail

action_69 (49) = happyShift action_73
action_69 (51) = happyShift action_74
action_69 _ = happyReduce_28

action_70 (72) = happyAccept
action_70 _ = happyFail

action_71 (49) = happyShift action_72
action_71 _ = happyReduce_25

action_72 (59) = happyShift action_54
action_72 (69) = happyShift action_23
action_72 (25) = happyGoto action_34
action_72 (27) = happyGoto action_118
action_72 (29) = happyGoto action_51
action_72 (37) = happyGoto action_52
action_72 (39) = happyGoto action_71
action_72 _ = happyReduce_24

action_73 (52) = happyShift action_39
action_73 (55) = happyShift action_40
action_73 (65) = happyShift action_41
action_73 (69) = happyShift action_23
action_73 (25) = happyGoto action_34
action_73 (28) = happyGoto action_117
action_73 (29) = happyGoto action_35
action_73 (36) = happyGoto action_36
action_73 (38) = happyGoto action_37
action_73 (40) = happyGoto action_69
action_73 (41) = happyGoto action_50
action_73 (42) = happyGoto action_47
action_73 (43) = happyGoto action_45
action_73 (44) = happyGoto action_48
action_73 _ = happyReduce_27

action_74 (52) = happyShift action_39
action_74 (55) = happyShift action_40
action_74 (65) = happyShift action_41
action_74 (69) = happyShift action_23
action_74 (25) = happyGoto action_34
action_74 (29) = happyGoto action_35
action_74 (36) = happyGoto action_36
action_74 (38) = happyGoto action_37
action_74 (41) = happyGoto action_116
action_74 (42) = happyGoto action_47
action_74 (43) = happyGoto action_45
action_74 (44) = happyGoto action_48
action_74 _ = happyFail

action_75 _ = happyReduce_33

action_76 _ = happyReduce_35

action_77 _ = happyReduce_37

action_78 (51) = happyShift action_115
action_78 _ = happyFail

action_79 (51) = happyShift action_114
action_79 _ = happyFail

action_80 _ = happyReduce_41

action_81 (53) = happyShift action_113
action_81 _ = happyFail

action_82 (59) = happyShift action_112
action_82 _ = happyFail

action_83 _ = happyReduce_43

action_84 _ = happyReduce_23

action_85 (52) = happyShift action_39
action_85 (55) = happyShift action_40
action_85 (65) = happyShift action_41
action_85 (69) = happyShift action_23
action_85 (25) = happyGoto action_34
action_85 (29) = happyGoto action_35
action_85 (36) = happyGoto action_36
action_85 (38) = happyGoto action_37
action_85 (41) = happyGoto action_111
action_85 (42) = happyGoto action_47
action_85 (43) = happyGoto action_45
action_85 (44) = happyGoto action_48
action_85 _ = happyFail

action_86 (52) = happyShift action_39
action_86 (55) = happyShift action_40
action_86 (65) = happyShift action_41
action_86 (69) = happyShift action_23
action_86 (25) = happyGoto action_34
action_86 (29) = happyGoto action_35
action_86 (36) = happyGoto action_36
action_86 (38) = happyGoto action_37
action_86 (43) = happyGoto action_110
action_86 (44) = happyGoto action_43
action_86 _ = happyFail

action_87 _ = happyReduce_55

action_88 (63) = happyShift action_28
action_88 (67) = happyShift action_29
action_88 (47) = happyGoto action_109
action_88 _ = happyReduce_66

action_89 (56) = happyShift action_108
action_89 (60) = happyShift action_33
action_89 (45) = happyGoto action_75
action_89 _ = happyFail

action_90 (51) = happyShift action_74
action_90 (56) = happyShift action_107
action_90 _ = happyFail

action_91 (53) = happyShift action_106
action_91 _ = happyFail

action_92 (69) = happyShift action_23
action_92 (70) = happyShift action_84
action_92 (25) = happyGoto action_93
action_92 (26) = happyGoto action_83
action_92 _ = happyFail

action_93 _ = happyReduce_42

action_94 (69) = happyShift action_23
action_94 (25) = happyGoto action_34
action_94 (29) = happyGoto action_105
action_94 _ = happyReduce_30

action_95 (51) = happyShift action_74
action_95 (31) = happyGoto action_104
action_95 _ = happyReduce_34

action_96 (51) = happyShift action_74
action_96 (58) = happyShift action_103
action_96 _ = happyFail

action_97 (58) = happyShift action_102
action_97 _ = happyFail

action_98 (59) = happyShift action_54
action_98 (69) = happyShift action_23
action_98 (25) = happyGoto action_34
action_98 (27) = happyGoto action_101
action_98 (29) = happyGoto action_51
action_98 (37) = happyGoto action_52
action_98 (39) = happyGoto action_71
action_98 _ = happyReduce_24

action_99 (59) = happyShift action_54
action_99 (69) = happyShift action_23
action_99 (25) = happyGoto action_34
action_99 (27) = happyGoto action_100
action_99 (29) = happyGoto action_51
action_99 (37) = happyGoto action_52
action_99 (39) = happyGoto action_71
action_99 _ = happyReduce_24

action_100 (53) = happyShift action_124
action_100 _ = happyFail

action_101 (53) = happyShift action_123
action_101 _ = happyFail

action_102 (52) = happyShift action_39
action_102 (55) = happyShift action_40
action_102 (65) = happyShift action_41
action_102 (69) = happyShift action_23
action_102 (25) = happyGoto action_34
action_102 (29) = happyGoto action_35
action_102 (36) = happyGoto action_36
action_102 (38) = happyGoto action_37
action_102 (40) = happyGoto action_122
action_102 (41) = happyGoto action_50
action_102 (42) = happyGoto action_47
action_102 (43) = happyGoto action_45
action_102 (44) = happyGoto action_48
action_102 _ = happyFail

action_103 (52) = happyShift action_39
action_103 (55) = happyShift action_40
action_103 (65) = happyShift action_41
action_103 (69) = happyShift action_23
action_103 (25) = happyGoto action_34
action_103 (29) = happyGoto action_35
action_103 (36) = happyGoto action_36
action_103 (38) = happyGoto action_37
action_103 (40) = happyGoto action_121
action_103 (41) = happyGoto action_50
action_103 (42) = happyGoto action_47
action_103 (43) = happyGoto action_45
action_103 (44) = happyGoto action_48
action_103 _ = happyFail

action_104 (57) = happyShift action_31
action_104 (46) = happyGoto action_76
action_104 _ = happyReduce_61

action_105 _ = happyReduce_31

action_106 _ = happyReduce_59

action_107 _ = happyReduce_58

action_108 _ = happyReduce_57

action_109 (32) = happyGoto action_120
action_109 _ = happyReduce_36

action_110 (52) = happyShift action_39
action_110 (55) = happyShift action_40
action_110 (65) = happyShift action_41
action_110 (69) = happyShift action_23
action_110 (25) = happyGoto action_34
action_110 (29) = happyGoto action_35
action_110 (36) = happyGoto action_36
action_110 (38) = happyGoto action_37
action_110 (44) = happyGoto action_87
action_110 _ = happyReduce_53

action_111 _ = happyReduce_51

action_112 _ = happyReduce_47

action_113 _ = happyReduce_45

action_114 (33) = happyGoto action_119
action_114 _ = happyReduce_38

action_115 _ = happyReduce_39

action_116 _ = happyReduce_49

action_117 _ = happyReduce_29

action_118 _ = happyReduce_26

action_119 (52) = happyShift action_39
action_119 (55) = happyShift action_40
action_119 (62) = happyShift action_60
action_119 (65) = happyShift action_41
action_119 (69) = happyShift action_23
action_119 (25) = happyGoto action_34
action_119 (29) = happyGoto action_35
action_119 (35) = happyGoto action_78
action_119 (36) = happyGoto action_36
action_119 (38) = happyGoto action_37
action_119 (40) = happyGoto action_125
action_119 (41) = happyGoto action_50
action_119 (42) = happyGoto action_47
action_119 (43) = happyGoto action_45
action_119 (44) = happyGoto action_48
action_119 _ = happyFail

action_120 (66) = happyShift action_25
action_120 (68) = happyShift action_26
action_120 (48) = happyGoto action_77
action_120 _ = happyReduce_60

action_121 (51) = happyShift action_74
action_121 _ = happyReduce_62

action_122 (51) = happyShift action_74
action_122 _ = happyReduce_63

action_123 _ = happyReduce_68

action_124 _ = happyReduce_67

action_125 (51) = happyShift action_74
action_125 _ = happyReduce_40

happyReduce_22 = happySpecReduce_1 25 happyReduction_22
happyReduction_22 (HappyTerminal (PT _ (TV happy_var_1)))
	 =  HappyAbsSyn25
		 (Ident happy_var_1
	)
happyReduction_22 _  = notHappyAtAll 

happyReduce_23 = happySpecReduce_1 26 happyReduction_23
happyReduction_23 (HappyTerminal (PT _ (T_Infix happy_var_1)))
	 =  HappyAbsSyn26
		 (Infix happy_var_1
	)
happyReduction_23 _  = notHappyAtAll 

happyReduce_24 = happySpecReduce_0 27 happyReduction_24
happyReduction_24  =  HappyAbsSyn27
		 ([]
	)

happyReduce_25 = happySpecReduce_1 27 happyReduction_25
happyReduction_25 (HappyAbsSyn39  happy_var_1)
	 =  HappyAbsSyn27
		 ((:[]) happy_var_1
	)
happyReduction_25 _  = notHappyAtAll 

happyReduce_26 = happySpecReduce_3 27 happyReduction_26
happyReduction_26 (HappyAbsSyn27  happy_var_3)
	_
	(HappyAbsSyn39  happy_var_1)
	 =  HappyAbsSyn27
		 ((:) happy_var_1 happy_var_3
	)
happyReduction_26 _ _ _  = notHappyAtAll 

happyReduce_27 = happySpecReduce_0 28 happyReduction_27
happyReduction_27  =  HappyAbsSyn28
		 ([]
	)

happyReduce_28 = happySpecReduce_1 28 happyReduction_28
happyReduction_28 (HappyAbsSyn40  happy_var_1)
	 =  HappyAbsSyn28
		 ((:[]) happy_var_1
	)
happyReduction_28 _  = notHappyAtAll 

happyReduce_29 = happySpecReduce_3 28 happyReduction_29
happyReduction_29 (HappyAbsSyn28  happy_var_3)
	_
	(HappyAbsSyn40  happy_var_1)
	 =  HappyAbsSyn28
		 ((:) happy_var_1 happy_var_3
	)
happyReduction_29 _ _ _  = notHappyAtAll 

happyReduce_30 = happySpecReduce_2 29 happyReduction_30
happyReduction_30 _
	(HappyAbsSyn25  happy_var_1)
	 =  HappyAbsSyn29
		 ((:[]) happy_var_1
	)
happyReduction_30 _ _  = notHappyAtAll 

happyReduce_31 = happySpecReduce_3 29 happyReduction_31
happyReduction_31 (HappyAbsSyn29  happy_var_3)
	_
	(HappyAbsSyn25  happy_var_1)
	 =  HappyAbsSyn29
		 ((:) happy_var_1 happy_var_3
	)
happyReduction_31 _ _ _  = notHappyAtAll 

happyReduce_32 = happySpecReduce_0 30 happyReduction_32
happyReduction_32  =  HappyAbsSyn30
		 ([]
	)

happyReduce_33 = happySpecReduce_2 30 happyReduction_33
happyReduction_33 (HappyAbsSyn45  happy_var_2)
	(HappyAbsSyn30  happy_var_1)
	 =  HappyAbsSyn30
		 (flip (:) happy_var_1 happy_var_2
	)
happyReduction_33 _ _  = notHappyAtAll 

happyReduce_34 = happySpecReduce_0 31 happyReduction_34
happyReduction_34  =  HappyAbsSyn31
		 ([]
	)

happyReduce_35 = happySpecReduce_2 31 happyReduction_35
happyReduction_35 (HappyAbsSyn46  happy_var_2)
	(HappyAbsSyn31  happy_var_1)
	 =  HappyAbsSyn31
		 (flip (:) happy_var_1 happy_var_2
	)
happyReduction_35 _ _  = notHappyAtAll 

happyReduce_36 = happySpecReduce_0 32 happyReduction_36
happyReduction_36  =  HappyAbsSyn32
		 ([]
	)

happyReduce_37 = happySpecReduce_2 32 happyReduction_37
happyReduction_37 (HappyAbsSyn48  happy_var_2)
	(HappyAbsSyn32  happy_var_1)
	 =  HappyAbsSyn32
		 (flip (:) happy_var_1 happy_var_2
	)
happyReduction_37 _ _  = notHappyAtAll 

happyReduce_38 = happySpecReduce_0 33 happyReduction_38
happyReduction_38  =  HappyAbsSyn33
		 ([]
	)

happyReduce_39 = happySpecReduce_3 33 happyReduction_39
happyReduction_39 _
	(HappyAbsSyn35  happy_var_2)
	(HappyAbsSyn33  happy_var_1)
	 =  HappyAbsSyn33
		 (flip (:) happy_var_1 happy_var_2
	)
happyReduction_39 _ _ _  = notHappyAtAll 

happyReduce_40 = happyReduce 5 34 happyReduction_40
happyReduction_40 ((HappyAbsSyn40  happy_var_5) `HappyStk`
	(HappyAbsSyn33  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn29  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn34
		 (Module happy_var_2 (reverse happy_var_4) happy_var_5
	) `HappyStk` happyRest

happyReduce_41 = happySpecReduce_2 35 happyReduction_41
happyReduction_41 (HappyAbsSyn38  happy_var_2)
	_
	 =  HappyAbsSyn35
		 (Export happy_var_2
	)
happyReduction_41 _ _  = notHappyAtAll 

happyReduce_42 = happySpecReduce_2 36 happyReduction_42
happyReduction_42 (HappyAbsSyn25  happy_var_2)
	(HappyAbsSyn29  happy_var_1)
	 =  HappyAbsSyn36
		 (FQIdent happy_var_1 happy_var_2
	)
happyReduction_42 _ _  = notHappyAtAll 

happyReduce_43 = happySpecReduce_2 37 happyReduction_43
happyReduction_43 (HappyAbsSyn26  happy_var_2)
	(HappyAbsSyn29  happy_var_1)
	 =  HappyAbsSyn37
		 (FQInfix happy_var_1 happy_var_2
	)
happyReduction_43 _ _  = notHappyAtAll 

happyReduce_44 = happySpecReduce_1 38 happyReduction_44
happyReduction_44 (HappyAbsSyn36  happy_var_1)
	 =  HappyAbsSyn38
		 (IdSym happy_var_1
	)
happyReduction_44 _  = notHappyAtAll 

happyReduce_45 = happySpecReduce_3 38 happyReduction_45
happyReduction_45 _
	(HappyAbsSyn39  happy_var_2)
	_
	 =  HappyAbsSyn38
		 (OpSym happy_var_2
	)
happyReduction_45 _ _ _  = notHappyAtAll 

happyReduce_46 = happySpecReduce_1 39 happyReduction_46
happyReduction_46 (HappyAbsSyn37  happy_var_1)
	 =  HappyAbsSyn39
		 (InfOp happy_var_1
	)
happyReduction_46 _  = notHappyAtAll 

happyReduce_47 = happySpecReduce_3 39 happyReduction_47
happyReduction_47 _
	(HappyAbsSyn38  happy_var_2)
	_
	 =  HappyAbsSyn39
		 (IdOp happy_var_2
	)
happyReduction_47 _ _ _  = notHappyAtAll 

happyReduce_48 = happySpecReduce_1 40 happyReduction_48
happyReduction_48 (HappyAbsSyn40  happy_var_1)
	 =  HappyAbsSyn40
		 (happy_var_1
	)
happyReduction_48 _  = notHappyAtAll 

happyReduce_49 = happySpecReduce_3 40 happyReduction_49
happyReduction_49 (HappyAbsSyn40  happy_var_3)
	_
	(HappyAbsSyn40  happy_var_1)
	 =  HappyAbsSyn40
		 (Seq happy_var_1 happy_var_3
	)
happyReduction_49 _ _ _  = notHappyAtAll 

happyReduce_50 = happySpecReduce_1 41 happyReduction_50
happyReduction_50 (HappyAbsSyn40  happy_var_1)
	 =  HappyAbsSyn40
		 (happy_var_1
	)
happyReduction_50 _  = notHappyAtAll 

happyReduce_51 = happySpecReduce_3 41 happyReduction_51
happyReduction_51 (HappyAbsSyn40  happy_var_3)
	_
	(HappyAbsSyn40  happy_var_1)
	 =  HappyAbsSyn40
		 (Binding happy_var_1 happy_var_3
	)
happyReduction_51 _ _ _  = notHappyAtAll 

happyReduce_52 = happySpecReduce_1 42 happyReduction_52
happyReduction_52 (HappyAbsSyn40  happy_var_1)
	 =  HappyAbsSyn40
		 (happy_var_1
	)
happyReduction_52 _  = notHappyAtAll 

happyReduce_53 = happySpecReduce_3 42 happyReduction_53
happyReduction_53 (HappyAbsSyn40  happy_var_3)
	(HappyAbsSyn39  happy_var_2)
	(HappyAbsSyn40  happy_var_1)
	 =  HappyAbsSyn40
		 (OpApp happy_var_1 happy_var_2 happy_var_3
	)
happyReduction_53 _ _ _  = notHappyAtAll 

happyReduce_54 = happySpecReduce_1 43 happyReduction_54
happyReduction_54 (HappyAbsSyn40  happy_var_1)
	 =  HappyAbsSyn40
		 (happy_var_1
	)
happyReduction_54 _  = notHappyAtAll 

happyReduce_55 = happySpecReduce_2 43 happyReduction_55
happyReduction_55 (HappyAbsSyn40  happy_var_2)
	(HappyAbsSyn40  happy_var_1)
	 =  HappyAbsSyn40
		 (App happy_var_1 happy_var_2
	)
happyReduction_55 _ _  = notHappyAtAll 

happyReduce_56 = happySpecReduce_1 44 happyReduction_56
happyReduction_56 (HappyAbsSyn38  happy_var_1)
	 =  HappyAbsSyn40
		 (Var happy_var_1
	)
happyReduction_56 _  = notHappyAtAll 

happyReduce_57 = happySpecReduce_3 44 happyReduction_57
happyReduction_57 _
	(HappyAbsSyn30  happy_var_2)
	_
	 =  HappyAbsSyn40
		 (Form (reverse happy_var_2)
	)
happyReduction_57 _ _ _  = notHappyAtAll 

happyReduce_58 = happySpecReduce_3 44 happyReduction_58
happyReduction_58 _
	(HappyAbsSyn40  happy_var_2)
	_
	 =  HappyAbsSyn40
		 (Block happy_var_2
	)
happyReduction_58 _ _ _  = notHappyAtAll 

happyReduce_59 = happySpecReduce_3 44 happyReduction_59
happyReduction_59 _
	(HappyAbsSyn28  happy_var_2)
	_
	 =  HappyAbsSyn40
		 (Tuple happy_var_2
	)
happyReduction_59 _ _ _  = notHappyAtAll 

happyReduce_60 = happyReduce 4 44 happyReduction_60
happyReduction_60 ((HappyAbsSyn32  happy_var_4) `HappyStk`
	(HappyAbsSyn47  happy_var_3) `HappyStk`
	(HappyAbsSyn39  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn40
		 (OpDecl happy_var_2 happy_var_3 (reverse happy_var_4)
	) `HappyStk` happyRest

happyReduce_61 = happySpecReduce_3 45 happyReduction_61
happyReduction_61 (HappyAbsSyn31  happy_var_3)
	(HappyAbsSyn40  happy_var_2)
	_
	 =  HappyAbsSyn45
		 (PatCase happy_var_2 (reverse happy_var_3)
	)
happyReduction_61 _ _ _  = notHappyAtAll 

happyReduce_62 = happyReduce 4 46 happyReduction_62
happyReduction_62 ((HappyAbsSyn40  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn40  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn46
		 (NormGuard happy_var_2 happy_var_4
	) `HappyStk` happyRest

happyReduce_63 = happyReduce 4 46 happyReduction_63
happyReduction_63 ((HappyAbsSyn40  happy_var_4) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn46
		 (DefaultGuard happy_var_4
	) `HappyStk` happyRest

happyReduce_64 = happySpecReduce_1 47 happyReduction_64
happyReduction_64 _
	 =  HappyAbsSyn47
		 (LeftAssoc
	)

happyReduce_65 = happySpecReduce_1 47 happyReduction_65
happyReduction_65 _
	 =  HappyAbsSyn47
		 (RightAssoc
	)

happyReduce_66 = happySpecReduce_0 47 happyReduction_66
happyReduction_66  =  HappyAbsSyn47
		 (NoAssoc
	)

happyReduce_67 = happyReduce 4 48 happyReduction_67
happyReduction_67 (_ `HappyStk`
	(HappyAbsSyn27  happy_var_3) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn48
		 (GtFixity happy_var_3
	) `HappyStk` happyRest

happyReduce_68 = happyReduce 4 48 happyReduction_68
happyReduction_68 (_ `HappyStk`
	(HappyAbsSyn27  happy_var_3) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn48
		 (LtFixity happy_var_3
	) `HappyStk` happyRest

happyNewToken action sts stk [] =
	action 72 72 (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 {
	PT _ (TS ",") -> cont 49;
	PT _ (TS "::") -> cont 50;
	PT _ (TS ";") -> cont 51;
	PT _ (TS "(") -> cont 52;
	PT _ (TS ")") -> cont 53;
	PT _ (TS "=") -> cont 54;
	PT _ (TS "{") -> cont 55;
	PT _ (TS "}") -> cont 56;
	PT _ (TS "|") -> cont 57;
	PT _ (TS ":") -> cont 58;
	PT _ (TS "`") -> cont 59;
	PT _ (TS "case") -> cont 60;
	PT _ (TS "default") -> cont 61;
	PT _ (TS "export") -> cont 62;
	PT _ (TS "left") -> cont 63;
	PT _ (TS "module") -> cont 64;
	PT _ (TS "operator") -> cont 65;
	PT _ (TS "precedes") -> cont 66;
	PT _ (TS "right") -> cont 67;
	PT _ (TS "succeeds") -> cont 68;
	PT _ (TV happy_dollar_dollar) -> cont 69;
	PT _ (T_Infix happy_dollar_dollar) -> cont 70;
	_ -> cont 71;
	_ -> happyError tks
	}

happyThen :: Err a -> (a -> Err b) -> Err b
happyThen = (thenM)
happyReturn :: a -> Err a
happyReturn = (returnM)
happyThen1 m k tks = (thenM) m (\a -> k a tks)
happyReturn1 = \a tks -> (returnM) a

pListOp tks = happyThen (happyParse action_0 tks) (\x -> case x of {HappyAbsSyn27 z -> happyReturn z; _other -> notHappyAtAll })

pListTerm tks = happyThen (happyParse action_1 tks) (\x -> case x of {HappyAbsSyn28 z -> happyReturn z; _other -> notHappyAtAll })

pListIdent tks = happyThen (happyParse action_2 tks) (\x -> case x of {HappyAbsSyn29 z -> happyReturn z; _other -> notHappyAtAll })

pListCase tks = happyThen (happyParse action_3 tks) (\x -> case x of {HappyAbsSyn30 z -> happyReturn z; _other -> notHappyAtAll })

pListGuard tks = happyThen (happyParse action_4 tks) (\x -> case x of {HappyAbsSyn31 z -> happyReturn z; _other -> notHappyAtAll })

pListFixity tks = happyThen (happyParse action_5 tks) (\x -> case x of {HappyAbsSyn32 z -> happyReturn z; _other -> notHappyAtAll })

pListExport tks = happyThen (happyParse action_6 tks) (\x -> case x of {HappyAbsSyn33 z -> happyReturn z; _other -> notHappyAtAll })

pModule tks = happyThen (happyParse action_7 tks) (\x -> case x of {HappyAbsSyn34 z -> happyReturn z; _other -> notHappyAtAll })

pExport tks = happyThen (happyParse action_8 tks) (\x -> case x of {HappyAbsSyn35 z -> happyReturn z; _other -> notHappyAtAll })

pQIdent tks = happyThen (happyParse action_9 tks) (\x -> case x of {HappyAbsSyn36 z -> happyReturn z; _other -> notHappyAtAll })

pQInfix tks = happyThen (happyParse action_10 tks) (\x -> case x of {HappyAbsSyn37 z -> happyReturn z; _other -> notHappyAtAll })

pSymbol tks = happyThen (happyParse action_11 tks) (\x -> case x of {HappyAbsSyn38 z -> happyReturn z; _other -> notHappyAtAll })

pOp tks = happyThen (happyParse action_12 tks) (\x -> case x of {HappyAbsSyn39 z -> happyReturn z; _other -> notHappyAtAll })

pTerm tks = happyThen (happyParse action_13 tks) (\x -> case x of {HappyAbsSyn40 z -> happyReturn z; _other -> notHappyAtAll })

pTerm1 tks = happyThen (happyParse action_14 tks) (\x -> case x of {HappyAbsSyn40 z -> happyReturn z; _other -> notHappyAtAll })

pTerm2 tks = happyThen (happyParse action_15 tks) (\x -> case x of {HappyAbsSyn40 z -> happyReturn z; _other -> notHappyAtAll })

pTerm3 tks = happyThen (happyParse action_16 tks) (\x -> case x of {HappyAbsSyn40 z -> happyReturn z; _other -> notHappyAtAll })

pTerm4 tks = happyThen (happyParse action_17 tks) (\x -> case x of {HappyAbsSyn40 z -> happyReturn z; _other -> notHappyAtAll })

pCase tks = happyThen (happyParse action_18 tks) (\x -> case x of {HappyAbsSyn45 z -> happyReturn z; _other -> notHappyAtAll })

pGuard tks = happyThen (happyParse action_19 tks) (\x -> case x of {HappyAbsSyn46 z -> happyReturn z; _other -> notHappyAtAll })

pAssoc tks = happyThen (happyParse action_20 tks) (\x -> case x of {HappyAbsSyn47 z -> happyReturn z; _other -> notHappyAtAll })

pFixity tks = happyThen (happyParse action_21 tks) (\x -> case x of {HappyAbsSyn48 z -> happyReturn z; _other -> notHappyAtAll })

happySeq = happyDontSeq

returnM :: a -> Err a
returnM = return

thenM :: Err a -> (a -> Err b) -> Err b
thenM = (>>=)

happyError :: [Token] -> Err a
happyError ts =
  Bad $ "syntax error at " ++ tokenPos ts ++ if null ts then [] else (" before " ++ unwords (map prToken (take 4 ts)))

myLexer = tokens
{-# LINE 1 "GenericTemplate.hs" #-}
{-# LINE 1 "<built-in>" #-}
{-# LINE 1 "<command line>" #-}
{-# LINE 1 "GenericTemplate.hs" #-}
-- $Id: GenericTemplate.hs,v 1.23 2002/05/23 09:24:27 simonmar Exp $

{-# LINE 16 "GenericTemplate.hs" #-}
{-# LINE 28 "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 151 "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

{-# LINE 235 "GenericTemplate.hs" #-}
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.

{-# LINE 300 "GenericTemplate.hs" #-}
{-# 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.

