diff --git a/src/GF/Source/ParGF.hs b/src/GF/Source/ParGF.hs index 654889f60..823a48838 100644 --- a/src/GF/Source/ParGF.hs +++ b/src/GF/Source/ParGF.hs @@ -16,9 +16,14 @@ import GHC.Exts import GlaExts #endif --- parser produced by Happy Version 1.16 +-- parser produced by Happy Version 1.17 -newtype HappyAbsSyn = HappyAbsSyn (() -> ()) +newtype HappyAbsSyn = HappyAbsSyn HappyAny +#if __GLASGOW_HASKELL__ >= 607 +type HappyAny = GHC.Exts.Any +#else +type HappyAny = forall a . a +#endif happyIn7 :: (Ident) -> (HappyAbsSyn ) happyIn7 x = unsafeCoerce# x {-# INLINE happyIn7 #-} @@ -530,6 +535,7 @@ happyOutTok :: (HappyAbsSyn ) -> Token happyOutTok x = unsafeCoerce# x {-# INLINE happyOutTok #-} + happyActOffsets :: HappyAddr happyActOffsets = HappyA# "\x00\x00\x76\x01\x41\x05\x48\x01\x23\x05\x00\x00\x59\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x05\xb2\x01\x7e\x00\x53\x05\x18\x05\x43\x05\x00\x00\x5f\x05\x1c\x05\x5e\x00\x3c\x00\x1c\x05\x00\x00\x48\x01\xa0\x00\x1c\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x01\x00\x00\x56\x05\xb2\x02\x16\x00\x55\x05\x52\x05\x99\x02\x51\x05\x00\x00\x00\x00\x00\x00\x00\x00\x05\x05\x00\x00\x09\x01\x0e\x00\xf0\x04\x07\x05\x00\x00\x04\x05\xf1\xff\x50\x05\x4e\x05\x4c\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x00\x00\x09\x01\x00\x00\x4b\x05\x00\x00\x09\x01\x09\x01\x09\x01\xe0\x07\x48\x01\x00\x00\x15\x00\xe5\x00\xfa\x00\xff\x04\xac\x00\xac\x00\x34\x05\xb1\x01\x3c\x05\x0e\x05\xef\x04\x34\x00\x73\x00\x02\x05\x00\x00\x00\x00\x2f\x05\x30\x05\x29\x00\x00\x00\x2e\x05\x2a\x05\x20\x05\x53\x02\x80\x02\x24\x05\x00\x00\x59\x03\x1d\x05\x19\x05\x4b\x02\xda\x01\x1b\x05\xac\x00\x7d\x01\xac\x00\x7d\x01\x7d\x01\x7d\x01\xac\x00\x1a\x05\x10\x05\x09\x00\x32\x02\x00\x00\xce\x04\x00\x00\x00\x00\xcf\x04\xcd\x04\x00\x00\x19\x02\x19\x02\x19\x02\x00\x00\x19\x02\xc1\x02\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x04\xcd\x04\x12\x05\xac\x00\x00\x00\x00\x00\xe4\x01\x09\x05\xb9\x04\x00\x00\x00\x00\xac\x00\xac\x00\xec\x04\xac\x00\x29\x00\x01\x05\xf5\x04\x00\x00\x00\x00\x00\x00\x73\x00\xfa\x04\x00\x05\xfb\x04\xb2\x04\xe5\x00\xe5\x00\x00\x00\x00\x00\xf9\x04\xac\x00\xb0\x04\xac\x00\xac\x00\xeb\x04\xe9\x04\xe4\x04\xd9\x04\x00\x03\xd1\x04\x00\x00\x20\x03\xe5\x04\xe1\x04\x73\x00\xe5\x00\xac\x00\xdf\x04\x00\x00\x9d\x00\x94\x04\x94\x00\x94\x04\x94\x04\x94\x00\x94\x00\x94\x00\x94\x00\x94\x00\x94\x04\x94\x04\x94\x00\xbb\x00\x94\x04\x94\x00\x94\x00\x00\x00\x00\x00\x00\x00\x09\x01\x00\x00\xc7\x04\x00\x00\x00\x00\xaa\x04\x97\x04\x00\x00\x59\x00\xc4\x04\xa2\x04\x33\x02\x00\x00\xa8\x04\xbc\x04\x8d\x00\x78\x04\x78\x04\x78\x04\x78\x04\x27\x00\x00\x00\x00\x00\xb3\x04\x00\x00\x03\x01\x2f\x00\x67\x04\x00\x00\xb1\x04\xa7\x04\x00\x00\x9c\x04\x96\x04\x4d\x00\x4d\x00\x00\x00\x95\x04\x8e\x04\x00\x00\x8f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8d\x04\x00\x00\x86\x04\x8a\x04\x89\x04\x00\x00\x00\x00\xd6\x01\x7a\x04\x00\x00\x00\x00\x00\x00\x79\x04\x00\x00\x2d\x04\x00\x00\x6c\x04\xb5\x00\x73\x04\x00\x00\x00\x00\x97\x00\x97\x00\x97\x00\xac\x00\x00\x00\x00\x00\x29\x04\x73\x00\x00\x00\xac\x00\xac\x00\x5d\x04\x00\x00\x00\x00\x00\x00\x30\x04\x18\x01\x53\x04\x49\x04\x17\x02\xf3\x01\x51\x04\x5a\x04\x52\x04\x00\x00\x73\x00\xac\x00\x00\x00\xf8\x03\x97\x00\x00\x00\x00\x00\xac\x00\x32\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x04\x00\x00\x3f\x04\x00\x00\x36\x04\x00\x00\x8f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x04\x00\x00\x00\x00\x00\x00\x00\x00\xea\x03\x97\x00\x00\x00\x00\x00\x00\x00\x97\x00\xac\x00\xac\x00\x1c\x04\x28\x04\x1a\x04\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\xcb\x01\xd4\x03\xd4\x03\xd4\x03\xd4\x03\xac\x00\xd4\x03\x19\x04\xd1\x03\x26\x00\x00\x00\x00\x00\xac\x00\x0f\x00\x0f\x00\x00\x00\x0f\x04\xac\x00\xac\x00\x12\x04\x0f\x00\x00\x00\x04\x04\x5d\x00\x00\x00\x00\x00\x00\x00\xfe\x03\x00\x00\xba\x03\xfd\xff\xba\x03\x02\x04\xfd\xff\xac\x03\xe9\x03\xf0\x03\xa5\x03\xa5\x03\xe4\x03\xc1\x03\xe3\x03\x00\x00\x9d\x03\xd8\x03\x00\x00\x9b\x03\x00\x00\x00\x00\xfd\xff\x00\x00\xac\x00\xd2\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x03\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x03\xb1\x03\x00\x00\xb4\x03\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x18\x00\x00\x00\x00\x00\xac\x00\xac\x00\x00\x00\x00\x00\x00\x00\x18\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x03\x9e\x03\x60\x03\x60\x03\xcd\x03\x60\x03\x60\x03\xcb\x01\xac\x00\x00\x00\x00\x00\xeb\x00\x69\x03\xfd\xff\xa6\x03\xfd\xff\x00\x00\x00\x00\x95\x03\x8f\x03\x51\x03\x00\x00\x00\x00\x00\x00\x96\x03\x94\x03\x4a\x03\x00\x00\x00\x00\x00\x00\x89\x03\x8b\x03\x00\x00\x00\x00\xac\x00\x44\x03\x87\x03\x75\x03\x00\x00\x00\x00\x5b\x03\x00\x00\x43\x03\x5d\x03\x48\x03\x42\x03\x00\x00\xfc\x02\xfc\x02\x3b\x03\x85\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x03\x5e\x03\x00\x00\x00\x00\xf2\x02\xa7\x00\xfd\xff\xfd\xff\x30\x03\x2c\x03\x00\x00\x00\x00\x00\x00"# @@ -537,7 +543,7 @@ happyGotoOffsets :: HappyAddr happyGotoOffsets = HappyA# "\x6c\x02\x9f\x00\xd6\xff\x51\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x03\x16\x04\xc5\x01\x27\x03\x00\x00\x3f\x03\x74\x00\x15\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x07\x00\x00\x00\x00\xc9\x04\xdf\x01\x00\x00\x00\x00\x92\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x03\x04\x00\x00\x00\xff\x02\x08\x03\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\xfd\x02\xfb\x02\xf7\x02\xf6\x02\xf5\x02\xec\x02\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x08\x00\x07\x00\xd2\x02\x85\x04\x00\x00\x00\x00\x1c\x03\x1a\x07\xcb\x02\x69\x04\xfe\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x01\xd6\x02\x3f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xad\x04\x00\x00\x00\x00\xe3\x06\x6c\x07\xc7\x06\x8a\x07\x7b\x07\x46\x02\xac\x06\x00\x00\x00\x00\x2d\x00\xf8\x01\x00\x00\x56\x01\x00\x00\x00\x00\xc6\x02\x4e\x01\x00\x00\x50\x03\x50\x03\x50\x03\x00\x00\x50\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\xb6\x02\x00\x00\x90\x06\x00\x00\x00\x00\x22\x04\x00\x00\xb1\x02\x00\x00\x00\x00\x28\x03\x75\x06\x00\x00\x59\x06\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x03\x00\x00\x00\x00\x00\x00\x21\x01\x70\x04\x79\x02\x00\x00\x00\x00\x00\x00\x3e\x06\x30\x01\x22\x06\x07\x06\x00\x00\x00\x00\x00\x00\x00\x00\x67\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x02\xa8\x01\x4d\x04\x00\x00\x00\x00\xc9\x02\x8d\x03\xe4\x07\xb0\x00\x99\x03\xd7\x07\xd1\x07\xc9\x07\xc7\x07\xc4\x07\xa7\x02\xb0\x01\xb6\x07\xae\x07\x96\x02\xa8\x07\x18\x03\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x04\x00\x00\x00\x00\x00\x00\x00\x00\x83\x02\x00\x00\x00\x00\x93\x02\x5e\x02\x7d\x02\x6f\x02\x10\x01\x00\x00\x00\x00\x00\x00\x00\x00\x86\x02\x00\x00\x45\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x07\x79\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x02\x00\x00\x00\x00\x3f\x02\x00\x00\x00\x00\x1f\x02\x00\x00\x00\x00\x00\x00\x29\x01\xc6\x03\xac\x01\xeb\x05\x00\x00\x00\x00\x27\x02\xdb\x00\x00\x00\x31\x04\xf0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xd0\x05\x00\x00\x23\x02\x32\x00\x00\x00\x00\x00\xb4\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x00\xd5\x03\x00\x00\x00\x00\x00\x00\x12\x02\x99\x05\x7d\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x01\x70\x02\x11\x00\x09\x02\xf2\x01\x1c\x00\x08\x02\x62\x05\xee\x02\x00\x00\x92\x01\x7a\x01\x00\x00\x00\x00\x46\x05\x0e\x01\xbd\x03\x00\x00\x00\x00\x2b\x05\x0f\x05\x00\x00\xe4\x02\x00\x00\x00\x00\xf6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x02\xfa\x02\x17\x00\x00\x00\xc8\x02\x11\x01\x00\x00\x00\x00\xd9\x01\x1f\x00\x00\x00\x00\x00\x00\x00\xb9\x01\x00\x00\x00\x00\x00\x00\xb6\x01\x00\x00\x00\x00\xf6\x00\x00\x00\xf4\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x01\x00\x00\x00\x00\x00\x00\x00\x00\x77\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x03\x00\x00\x11\x00\x00\x00\x00\x00\xac\x02\xd8\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x00\x83\x01\x5e\x01\x6c\x01\x54\x01\x11\x00\xbd\x04\x00\x00\x00\x00\x00\x00\x53\x01\x4f\x02\x43\x01\xa1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x76\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x04\x1f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x00\xb2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x02\x24\x01\x00\x00\x9b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x93\x00\x00\x00\x00\x00\x0a\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# happyDefActions :: HappyAddr -happyDefActions = HappyA# "\xf5\xff\xcd\xff\x06\xff\x00\x00\x00\x00\xfb\xff\x7d\xff\x78\xff\x79\xff\x77\xff\x6c\xff\x68\xff\x5e\xff\x59\xff\x4b\xff\x4c\xff\x00\x00\x57\xff\x7a\xff\x00\x00\x80\xff\x23\xff\x00\x00\x00\x00\x76\xff\x1c\xff\x23\xff\x00\x00\x2e\xff\x2c\xff\x2b\xff\x2d\xff\x2f\xff\x00\x00\x74\xff\x00\x00\x00\x00\x80\xff\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xf9\xff\xf8\xff\xf7\xff\x00\x00\xd9\xff\x00\x00\x00\x00\x00\x00\x00\x00\xcc\xff\x00\x00\xcd\xff\xf4\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf3\xff\x03\xff\x04\xff\x00\x00\x05\xff\x00\x00\x00\x00\x00\x00\x07\xff\x4a\xff\x7d\xff\x00\x00\x80\xff\x00\x00\x00\x00\x4a\xff\x00\x00\x89\xff\x00\x00\x7f\xff\x00\x00\x80\xff\x00\x00\x12\xff\x00\x00\x5d\xff\x25\xff\x22\xff\x00\x00\x23\xff\x24\xff\x1e\xff\x1b\xff\x00\x00\x00\x00\x47\xff\x00\x00\x75\xff\x7d\xff\x00\x00\x00\x00\x00\x00\x89\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\xff\x00\x00\x00\x00\x5f\xff\x80\xff\x31\xff\x6b\xff\x00\x00\x80\xff\x52\xff\x5b\xff\x5c\xff\x5a\xff\x56\xff\x59\xff\x4b\xff\x58\xff\x53\xff\x71\xff\x7c\xff\x00\x00\x00\x00\x7d\xff\x00\x00\x6d\xff\x72\xff\x47\xff\x00\x00\x00\x00\x7b\xff\x70\xff\x1c\xff\x00\x00\x00\x00\x00\x00\x23\xff\x00\x00\x44\xff\x41\xff\x3f\xff\x40\xff\x27\xff\x00\x00\x11\xff\x00\x00\x2a\xff\x00\x00\x19\xff\x45\xff\x4d\xff\x00\x00\x00\x00\x80\xff\x00\x00\x00\x00\x00\x00\x49\xff\x00\x00\x00\x00\x89\xff\x36\xff\x33\xff\x00\x00\x15\xff\x00\x00\x00\x00\x00\x00\x4a\xff\x00\x00\xd8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xff\x01\xff\x00\xff\xfe\xfe\xff\xfe\x00\x00\xe6\xff\xe5\xff\x00\x00\x00\x00\xe7\xff\xc8\xff\x00\x00\x00\x00\xc5\xff\xf1\xff\xd2\xff\xe1\xff\xc7\xff\x00\x00\xc8\xff\x00\x00\x00\x00\x00\x00\xfd\xfe\x87\xff\x00\x00\xac\xff\x85\xff\x00\x00\x00\x00\xb9\xff\x00\x00\x00\x00\xb0\xff\x85\xff\x00\x00\x00\x00\x00\x00\xae\xff\x9e\xff\x00\x00\xb8\xff\x00\x00\xb7\xff\xaf\xff\xb5\xff\xb6\xff\xb4\xff\x00\x00\xbd\xff\x00\x00\x00\x00\x00\x00\xb1\xff\xbb\xff\x89\xff\x00\x00\xbc\xff\xba\xff\x09\xff\x00\x00\xbe\xff\x00\x00\x62\xff\x00\x00\x44\xff\x00\x00\x37\xff\x66\xff\x00\x00\x00\x00\x00\x00\x00\x00\x39\xff\x3b\xff\x00\x00\x00\x00\x60\xff\x4a\xff\x0e\xff\x83\xff\x82\xff\x7e\xff\x50\xff\x00\x00\x1d\xff\x18\xff\x00\x00\x00\x00\x89\xff\x00\x00\x29\xff\x00\x00\x4e\xff\x12\xff\x00\x00\x26\xff\x00\x00\x00\x00\x21\xff\x55\xff\x00\x00\x00\x00\x1e\xff\x1a\xff\x69\xff\x73\xff\x46\xff\x00\x00\x6f\xff\x00\x00\x88\xff\x00\x00\x30\xff\x89\xff\x4f\xff\x6a\xff\x20\xff\x6e\xff\x54\xff\x00\x00\x42\xff\x13\xff\x10\xff\x3e\xff\x2a\xff\x00\x00\x43\xff\x3c\xff\x3d\xff\x19\xff\x00\x00\x00\x00\x00\x00\x0d\xff\x00\x00\x48\xff\x38\xff\x42\xff\x16\xff\x34\xff\x35\xff\x14\xff\x65\xff\x64\xff\x09\xff\x98\xff\xaa\xff\x94\xff\xa3\xff\x8e\xff\x00\x00\x00\x00\x96\xff\x00\x00\x92\xff\x8c\xff\xb2\xff\xb3\xff\x00\x00\x00\x00\x90\xff\xab\xff\x00\x00\x00\x00\x00\x00\x00\x00\x9a\xff\xd0\xff\x00\x00\xcb\xff\xe3\xff\xe4\xff\xda\xff\xc7\xff\xdb\xff\xc8\xff\xd5\xff\xd7\xff\x00\x00\xd5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\xff\xd9\xff\x00\x00\xdd\xff\xc6\xff\x00\x00\xca\xff\xc9\xff\x00\x00\x99\xff\x00\x00\xc2\xff\xc1\xff\x86\xff\x8f\xff\x84\xff\x9c\xff\x09\xff\x8b\xff\xa0\xff\x00\x00\x91\xff\xd9\xff\x95\xff\xa7\xff\x9b\xff\x8d\xff\xa5\xff\xa2\xff\xa6\xff\x00\x00\x93\xff\x0a\xff\x08\xff\x23\xff\x97\xff\x00\x00\x3a\xff\x61\xff\x0e\xff\x00\x00\x81\xff\x51\xff\x17\xff\x32\xff\x28\xff\x63\xff\x0f\xff\x0c\xff\xa9\xff\x00\x00\xa3\xff\x00\x00\x00\x00\x00\x00\x8c\xff\x9d\xff\x00\x00\xc0\xff\xe2\xff\x00\x00\xd2\xff\xd5\xff\x00\x00\xd5\xff\xd1\xff\xc4\xff\x00\x00\x00\x00\xef\xff\xc3\xff\xd3\xff\xde\xff\xdc\xff\x00\x00\x00\x00\xcf\xff\xbf\xff\x8a\xff\x00\x00\x00\x00\xa4\xff\xa1\xff\x00\x00\x00\x00\x00\x00\x00\x00\xad\xff\x9f\xff\x00\x00\xd9\xff\xd2\xff\x00\x00\xee\xff\x00\x00\xf2\xff\xef\xff\x00\x00\x00\x00\x00\x00\xce\xff\x0b\xff\xa8\xff\xe0\xff\xd9\xff\xeb\xff\xf0\xff\xed\xff\xec\xff\x00\x00\xdf\xff\xea\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe9\xff\xe8\xff"# +happyDefActions = HappyA# "\xf5\xff\xcd\xff\x06\xff\x00\x00\x00\x00\xfb\xff\x7d\xff\x78\xff\x79\xff\x77\xff\x6c\xff\x68\xff\x5e\xff\x59\xff\x4b\xff\x4c\xff\x00\x00\x57\xff\x7a\xff\x00\x00\x80\xff\x23\xff\x00\x00\x00\x00\x76\xff\x1c\xff\x23\xff\x00\x00\x2e\xff\x2c\xff\x2b\xff\x2d\xff\x2f\xff\x00\x00\x74\xff\x00\x00\x00\x00\x80\xff\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xf9\xff\xf8\xff\xf7\xff\x00\x00\xd9\xff\x00\x00\x00\x00\x00\x00\x00\x00\xcc\xff\x00\x00\xcd\xff\xf4\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf3\xff\x03\xff\x04\xff\x00\x00\x05\xff\x00\x00\x00\x00\x00\x00\x07\xff\x4a\xff\x7d\xff\x00\x00\x80\xff\x00\x00\x00\x00\x4a\xff\x00\x00\x89\xff\x00\x00\x7f\xff\x00\x00\x80\xff\x00\x00\x12\xff\x00\x00\x5d\xff\x25\xff\x22\xff\x00\x00\x23\xff\x24\xff\x1e\xff\x1b\xff\x00\x00\x00\x00\x47\xff\x00\x00\x75\xff\x7d\xff\x00\x00\x00\x00\x00\x00\x89\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\xff\x00\x00\x00\x00\x5f\xff\x80\xff\x31\xff\x6b\xff\x00\x00\x80\xff\x52\xff\x5b\xff\x5c\xff\x5a\xff\x56\xff\x59\xff\x4b\xff\x58\xff\x53\xff\x71\xff\x7c\xff\x00\x00\x00\x00\x7d\xff\x00\x00\x6d\xff\x72\xff\x47\xff\x00\x00\x00\x00\x7b\xff\x70\xff\x1c\xff\x00\x00\x00\x00\x00\x00\x23\xff\x00\x00\x44\xff\x41\xff\x3f\xff\x40\xff\x27\xff\x00\x00\x11\xff\x00\x00\x2a\xff\x00\x00\x19\xff\x45\xff\x4d\xff\x00\x00\x00\x00\x80\xff\x00\x00\x00\x00\x00\x00\x49\xff\x00\x00\x00\x00\x89\xff\x36\xff\x33\xff\x00\x00\x15\xff\x00\x00\x00\x00\x00\x00\x4a\xff\x00\x00\xd8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xff\x01\xff\x00\xff\xfe\xfe\xff\xfe\x00\x00\xe6\xff\xe5\xff\x00\x00\x00\x00\xe7\xff\xc8\xff\x00\x00\x00\x00\xc5\xff\xf1\xff\xd2\xff\xe0\xff\xc7\xff\x00\x00\xc8\xff\x00\x00\x00\x00\x00\x00\xfd\xfe\x87\xff\x00\x00\xac\xff\x85\xff\x00\x00\x00\x00\xb9\xff\x00\x00\x00\x00\xb0\xff\x85\xff\x00\x00\x00\x00\x00\x00\xae\xff\x9e\xff\x00\x00\xb8\xff\x00\x00\xb7\xff\xaf\xff\xb5\xff\xb6\xff\xb4\xff\x00\x00\xbd\xff\x00\x00\x00\x00\x00\x00\xb1\xff\xbb\xff\x89\xff\x00\x00\xbc\xff\xba\xff\x09\xff\x00\x00\xbe\xff\x00\x00\x62\xff\x00\x00\x44\xff\x00\x00\x37\xff\x66\xff\x00\x00\x00\x00\x00\x00\x00\x00\x39\xff\x3b\xff\x00\x00\x00\x00\x60\xff\x4a\xff\x0e\xff\x83\xff\x82\xff\x7e\xff\x50\xff\x00\x00\x1d\xff\x18\xff\x00\x00\x00\x00\x89\xff\x00\x00\x29\xff\x00\x00\x4e\xff\x12\xff\x00\x00\x26\xff\x00\x00\x00\x00\x21\xff\x55\xff\x00\x00\x00\x00\x1e\xff\x1a\xff\x69\xff\x73\xff\x46\xff\x00\x00\x6f\xff\x00\x00\x88\xff\x00\x00\x30\xff\x89\xff\x4f\xff\x6a\xff\x20\xff\x6e\xff\x54\xff\x00\x00\x42\xff\x13\xff\x10\xff\x3e\xff\x2a\xff\x00\x00\x43\xff\x3c\xff\x3d\xff\x19\xff\x00\x00\x00\x00\x00\x00\x0d\xff\x00\x00\x48\xff\x38\xff\x42\xff\x16\xff\x34\xff\x35\xff\x14\xff\x65\xff\x64\xff\x09\xff\x98\xff\xaa\xff\x94\xff\xa3\xff\x8e\xff\x00\x00\x00\x00\x96\xff\x00\x00\x92\xff\x8c\xff\xb2\xff\xb3\xff\x00\x00\x00\x00\x90\xff\xab\xff\x00\x00\x00\x00\x00\x00\x00\x00\x9a\xff\xd0\xff\x00\x00\xcb\xff\xe3\xff\xe4\xff\xda\xff\xc7\xff\xdb\xff\xc8\xff\xd5\xff\xd7\xff\x00\x00\xd5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\xff\xd9\xff\x00\x00\xdf\xff\xc6\xff\x00\x00\xca\xff\xc9\xff\x00\x00\x99\xff\x00\x00\xc2\xff\xc1\xff\x86\xff\x8f\xff\x84\xff\x9c\xff\x09\xff\x8b\xff\xa0\xff\x00\x00\x91\xff\xd9\xff\x95\xff\xa7\xff\x9b\xff\x8d\xff\xa5\xff\xa2\xff\xa6\xff\x00\x00\x93\xff\x0a\xff\x08\xff\x23\xff\x97\xff\x00\x00\x3a\xff\x61\xff\x0e\xff\x00\x00\x81\xff\x51\xff\x17\xff\x32\xff\x28\xff\x63\xff\x0f\xff\x0c\xff\xa9\xff\x00\x00\xa3\xff\x00\x00\x00\x00\x00\x00\x8c\xff\x9d\xff\x00\x00\xc0\xff\xe2\xff\x00\x00\xd2\xff\xd5\xff\x00\x00\xd5\xff\xd1\xff\xc4\xff\x00\x00\x00\x00\xef\xff\xc3\xff\xd3\xff\xe1\xff\xdd\xff\x00\x00\x00\x00\xcf\xff\xbf\xff\x8a\xff\x00\x00\x00\x00\xa4\xff\xa1\xff\x00\x00\x00\x00\x00\x00\x00\x00\xad\xff\x9f\xff\x00\x00\xd9\xff\xd2\xff\x00\x00\xee\xff\x00\x00\xf2\xff\xef\xff\x00\x00\x00\x00\x00\x00\xce\xff\x0b\xff\xa8\xff\xde\xff\xd9\xff\xeb\xff\xf0\xff\xed\xff\xec\xff\x00\x00\xdc\xff\xea\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe9\xff\xe8\xff"# happyCheck :: HappyAddr happyCheck = HappyA# "\xff\xff\x00\x00\x05\x00\x02\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x02\x00\x02\x00\x00\x00\x00\x00\x02\x00\x02\x00\x01\x00\x00\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x0c\x00\x00\x00\x03\x00\x03\x00\x0b\x00\x03\x00\x00\x00\x05\x00\x2d\x00\x00\x00\x0b\x00\x30\x00\x07\x00\x0b\x00\x0c\x00\x1c\x00\x50\x00\x51\x00\x10\x00\x11\x00\x12\x00\x05\x00\x05\x00\x00\x00\x17\x00\x14\x00\x0b\x00\x02\x00\x00\x00\x01\x00\x02\x00\x03\x00\x07\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x19\x00\x00\x00\x22\x00\x0f\x00\x28\x00\x30\x00\x0e\x00\x52\x00\x1b\x00\x29\x00\x41\x00\x42\x00\x0c\x00\x4c\x00\x2b\x00\x00\x00\x01\x00\x02\x00\x03\x00\x3e\x00\x13\x00\x41\x00\x42\x00\x52\x00\x53\x00\x4c\x00\x52\x00\x53\x00\x0b\x00\x52\x00\x52\x00\x4c\x00\x03\x00\x52\x00\x52\x00\x4e\x00\x52\x00\x03\x00\x4c\x00\x05\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x0b\x00\x3d\x00\x39\x00\x3a\x00\x3b\x00\x10\x00\x11\x00\x12\x00\x4c\x00\x4c\x00\x4c\x00\x00\x00\x4c\x00\x03\x00\x19\x00\x05\x00\x1b\x00\x48\x00\x49\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x4e\x00\x25\x00\x39\x00\x12\x00\x28\x00\x09\x00\x4c\x00\x2b\x00\x4e\x00\x40\x00\x2e\x00\x30\x00\x1b\x00\x32\x00\x00\x00\x33\x00\x39\x00\x15\x00\x16\x00\x4a\x00\x4b\x00\x0a\x00\x1a\x00\x4c\x00\x03\x00\x42\x00\x05\x00\x3f\x00\x0b\x00\x0b\x00\x47\x00\x43\x00\x44\x00\x13\x00\x0d\x00\x4c\x00\x07\x00\x49\x00\x0b\x00\x12\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x03\x00\x00\x00\x05\x00\x1b\x00\x14\x00\x19\x00\x41\x00\x42\x00\x0b\x00\x03\x00\x19\x00\x05\x00\x1b\x00\x10\x00\x11\x00\x12\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x0e\x00\x12\x00\x19\x00\x0b\x00\x12\x00\x4a\x00\x14\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x1b\x00\x25\x00\x22\x00\x00\x00\x28\x00\x2e\x00\x00\x00\x2b\x00\x4b\x00\x29\x00\x2e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x33\x00\x4c\x00\x26\x00\x3b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x03\x00\x4c\x00\x05\x00\x3f\x00\x4c\x00\x02\x00\x0f\x00\x43\x00\x44\x00\x06\x00\x0d\x00\x1d\x00\x1e\x00\x49\x00\x00\x00\x12\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x03\x00\x2b\x00\x05\x00\x1b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x0b\x00\x03\x00\x4c\x00\x05\x00\x13\x00\x10\x00\x11\x00\x12\x00\x0a\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x3f\x00\x19\x00\x39\x00\x12\x00\x0d\x00\x0e\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x1b\x00\x25\x00\x01\x00\x00\x00\x28\x00\x13\x00\x00\x00\x2b\x00\x1d\x00\x0f\x00\x2e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x33\x00\x0a\x00\x17\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x3f\x00\x2c\x00\x2d\x00\x2b\x00\x43\x00\x44\x00\x00\x00\x01\x00\x02\x00\x03\x00\x49\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x03\x00\x2b\x00\x05\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x0b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x10\x00\x11\x00\x12\x00\x2b\x00\x19\x00\x3c\x00\x2e\x00\x2f\x00\x3f\x00\x19\x00\x39\x00\x3a\x00\x3b\x00\x12\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x00\x00\x25\x00\x39\x00\x2b\x00\x28\x00\x48\x00\x49\x00\x2b\x00\x20\x00\x40\x00\x2e\x00\x19\x00\x39\x00\x2b\x00\x00\x00\x33\x00\x2e\x00\x2f\x00\x2a\x00\x40\x00\x03\x00\x2b\x00\x05\x00\x00\x00\x2e\x00\x2f\x00\x0f\x00\x3f\x00\x0b\x00\x4a\x00\x4b\x00\x43\x00\x44\x00\x10\x00\x11\x00\x12\x00\x00\x00\x49\x00\x00\x00\x04\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x0a\x00\x20\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x00\x00\x25\x00\x2d\x00\x2a\x00\x28\x00\x30\x00\x4f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x00\x00\x01\x00\x02\x00\x03\x00\x00\x00\x1f\x00\x11\x00\x02\x00\x13\x00\x03\x00\x00\x00\x05\x00\x07\x00\x27\x00\x08\x00\x2b\x00\x3f\x00\x0b\x00\x2e\x00\x2f\x00\x43\x00\x44\x00\x10\x00\x11\x00\x12\x00\x00\x00\x49\x00\x02\x00\x0f\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x03\x00\x1f\x00\x05\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0b\x00\x27\x00\x02\x00\x00\x00\x28\x00\x10\x00\x11\x00\x12\x00\x04\x00\x00\x00\x0a\x00\x39\x00\x3a\x00\x3b\x00\x0a\x00\x39\x00\x3a\x00\x03\x00\x0e\x00\x05\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0b\x00\x48\x00\x49\x00\x00\x00\x28\x00\x10\x00\x11\x00\x12\x00\x04\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x0a\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x00\x00\x00\x00\x2b\x00\x15\x00\x28\x00\x2e\x00\x2f\x00\x1d\x00\x1e\x00\x4f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x03\x00\x06\x00\x05\x00\x00\x00\x01\x00\x02\x00\x03\x00\x00\x00\x0b\x00\x1c\x00\x0f\x00\x00\x00\x30\x00\x10\x00\x11\x00\x12\x00\x16\x00\x17\x00\x17\x00\x26\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x03\x00\x3e\x00\x05\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0b\x00\x0b\x00\x00\x00\x0d\x00\x28\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x39\x00\x3a\x00\x3b\x00\x03\x00\x00\x00\x05\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0b\x00\x45\x00\x39\x00\x47\x00\x28\x00\x10\x00\x11\x00\x12\x00\x00\x00\x40\x00\x11\x00\x0e\x00\x13\x00\x10\x00\x4f\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x00\x00\x00\x00\x05\x00\x06\x00\x28\x00\x16\x00\x17\x00\x30\x00\x31\x00\x32\x00\x00\x00\x01\x00\x02\x00\x03\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x03\x00\x3e\x00\x05\x00\x00\x00\x01\x00\x02\x00\x03\x00\x1a\x00\x0b\x00\x00\x00\x01\x00\x02\x00\x03\x00\x10\x00\x11\x00\x12\x00\x00\x00\x24\x00\x12\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x03\x00\x00\x00\x05\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0b\x00\x08\x00\x09\x00\x00\x00\x28\x00\x10\x00\x11\x00\x12\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x00\x00\x39\x00\x3a\x00\x3b\x00\x03\x00\x00\x00\x05\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0b\x00\x45\x00\x39\x00\x47\x00\x28\x00\x10\x00\x11\x00\x12\x00\x39\x00\x40\x00\x01\x00\x00\x00\x00\x00\x09\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x15\x00\x16\x00\x02\x00\x11\x00\x28\x00\x13\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x1a\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x3e\x00\x19\x00\x00\x00\x24\x00\x00\x00\x43\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x18\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x03\x00\x04\x00\x05\x00\x00\x00\x23\x00\x00\x00\x1b\x00\x0a\x00\x11\x00\x0d\x00\x13\x00\x0e\x00\x0f\x00\x2c\x00\x2d\x00\x12\x00\x25\x00\x14\x00\x00\x00\x16\x00\x17\x00\x00\x00\x2b\x00\x1a\x00\x1b\x00\x00\x00\x01\x00\x02\x00\x03\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x0f\x00\x3e\x00\x0f\x00\x18\x00\x2b\x00\x06\x00\x43\x00\x2e\x00\x2f\x00\x06\x00\x17\x00\x46\x00\x05\x00\x1a\x00\x23\x00\x4c\x00\x4d\x00\x03\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x2c\x00\x2d\x00\x04\x00\x2b\x00\x4c\x00\x01\x00\x2e\x00\x2f\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x39\x00\x3a\x00\x3b\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x02\x00\x07\x00\x06\x00\x04\x00\x0a\x00\x48\x00\x49\x00\x3e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x43\x00\x44\x00\x14\x00\x46\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x00\x00\x01\x00\x02\x00\x03\x00\x06\x00\x39\x00\x3e\x00\x08\x00\x09\x00\x30\x00\x31\x00\x43\x00\x44\x00\x26\x00\x46\x00\x28\x00\x29\x00\x2a\x00\x04\x00\x2c\x00\x04\x00\x01\x00\x00\x00\x3e\x00\x06\x00\x01\x00\x4d\x00\x34\x00\x35\x00\x36\x00\x37\x00\x4c\x00\x03\x00\x3a\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x4c\x00\x40\x00\x09\x00\x39\x00\x0c\x00\x39\x00\x45\x00\x46\x00\x07\x00\x48\x00\x40\x00\x1b\x00\x1c\x00\x04\x00\x26\x00\x4c\x00\x28\x00\x29\x00\x2a\x00\x39\x00\x2c\x00\x25\x00\x26\x00\x1b\x00\x03\x00\x02\x00\x40\x00\x2b\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x25\x00\x3a\x00\x0f\x00\x3c\x00\x3d\x00\x3e\x00\x2b\x00\x40\x00\x00\x00\x01\x00\x02\x00\x03\x00\x45\x00\x46\x00\x26\x00\x48\x00\x28\x00\x29\x00\x2a\x00\x04\x00\x2c\x00\x0e\x00\x02\x00\x00\x00\x01\x00\x02\x00\x03\x00\x2e\x00\x34\x00\x35\x00\x36\x00\x37\x00\x21\x00\x0f\x00\x3a\x00\x09\x00\x3c\x00\x3d\x00\x3e\x00\x28\x00\x40\x00\x4c\x00\x4b\x00\x2c\x00\x2d\x00\x45\x00\x46\x00\x0a\x00\x48\x00\x2e\x00\x0c\x00\x4c\x00\x02\x00\x26\x00\x0b\x00\x28\x00\x29\x00\x2a\x00\x4c\x00\x2c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x39\x00\x3a\x00\x34\x00\x35\x00\x36\x00\x37\x00\x03\x00\x4c\x00\x3a\x00\x0a\x00\x3c\x00\x3d\x00\x3e\x00\x08\x00\x40\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x45\x00\x46\x00\x02\x00\x48\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x0c\x00\x03\x00\x4c\x00\x04\x00\x0e\x00\x4c\x00\x10\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x16\x00\x17\x00\x01\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x4c\x00\x04\x00\x3e\x00\x1d\x00\x04\x00\x41\x00\x42\x00\x43\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x4c\x00\x13\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x30\x00\x02\x00\x3e\x00\x06\x00\x04\x00\x41\x00\x42\x00\x43\x00\x38\x00\x01\x00\x13\x00\x0a\x00\x2e\x00\x02\x00\x3e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x30\x00\x3e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x43\x00\x4c\x00\x38\x00\x04\x00\x0c\x00\x4c\x00\x01\x00\x01\x00\x3e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x01\x00\x3e\x00\x02\x00\x07\x00\x01\x00\x01\x00\x43\x00\x02\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x02\x00\x02\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x0a\x00\x3e\x00\x01\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x01\x00\x4c\x00\x01\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x30\x00\x3e\x00\x4c\x00\x09\x00\x24\x00\x03\x00\x43\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x07\x00\x38\x00\x3e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x30\x00\x31\x00\x3e\x00\x4c\x00\x39\x00\x38\x00\x04\x00\x43\x00\x04\x00\x01\x00\x16\x00\x04\x00\x10\x00\x01\x00\x3e\x00\x01\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x30\x00\x31\x00\x3e\x00\x4c\x00\x04\x00\x4c\x00\x04\x00\x43\x00\x01\x00\x08\x00\x0e\x00\x03\x00\x4c\x00\x1a\x00\x3e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x24\x00\x0c\x00\x3e\x00\x27\x00\x06\x00\x4c\x00\x4c\x00\x43\x00\x4d\x00\x03\x00\x0e\x00\x04\x00\x07\x00\x31\x00\x32\x00\x06\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x0c\x00\x41\x00\x3e\x00\x13\x00\x0a\x00\x07\x00\x46\x00\x43\x00\x08\x00\x0a\x00\x38\x00\x4c\x00\x2e\x00\x01\x00\x0a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x4c\x00\x01\x00\x3e\x00\x02\x00\x4c\x00\x02\x00\x01\x00\x43\x00\x4c\x00\x03\x00\x03\x00\x52\x00\x52\x00\x03\x00\x03\x00\x17\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x08\x00\x4c\x00\x3e\x00\x52\x00\x18\x00\x0e\x00\x14\x00\x43\x00\x4c\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x00\x00\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x00\x00\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x21\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x28\x00\x36\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\x00\x00\x21\x00\x3e\x00\x30\x00\x31\x00\x32\x00\x00\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x00\x00\xff\xff\xff\xff\x3e\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x00\x00\x30\x00\x31\x00\x00\x00\x3e\x00\x00\x00\xff\xff\x23\x00\xff\xff\xff\xff\x18\x00\x21\x00\xff\xff\x00\x00\xff\xff\x3e\x00\x2c\x00\x2d\x00\x28\x00\x00\x00\xff\xff\x23\x00\x2c\x00\x2d\x00\x18\x00\xff\xff\xff\xff\x18\x00\xff\xff\x18\x00\x2c\x00\x2d\x00\x00\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\x23\x00\xff\xff\x23\x00\xff\xff\xff\xff\x18\x00\x2c\x00\x2d\x00\x21\x00\x2c\x00\x2d\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\x28\x00\x23\x00\xff\xff\x18\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\x26\x00\x23\x00\x28\x00\x29\x00\x2a\x00\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"# @@ -810,7 +816,7 @@ happyReduce_4 = happySpecReduce_1 0# happyReduction_4 happyReduction_4 happy_x_1 = case happyOutTok happy_x_1 of { (PT _ (TV happy_var_1)) -> happyIn7 - (identC happy_var_1 --H + (identC happy_var_1 )} happyReduce_5 = happySpecReduce_1 1# happyReduction_5 @@ -1044,15 +1050,39 @@ happyReduction_29 (happy_x_6 `HappyStk` (MTTransfer happy_var_2 happy_var_4 happy_var_6 ) `HappyStk` happyRest}}} -happyReduce_30 = happySpecReduce_1 14# happyReduction_30 -happyReduction_30 happy_x_1 +happyReduce_30 = happyReduce 5# 14# happyReduction_30 +happyReduction_30 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut23 happy_x_1 of { happy_var_1 -> + case happyOut25 happy_x_2 of { happy_var_2 -> + case happyOut22 happy_x_4 of { happy_var_4 -> + happyIn21 + (MBody happy_var_1 happy_var_2 (reverse happy_var_4) + ) `HappyStk` happyRest}}} + +happyReduce_31 = happySpecReduce_1 14# happyReduction_31 +happyReduction_31 happy_x_1 = case happyOut29 happy_x_1 of { happy_var_1 -> happyIn21 (MNoBody happy_var_1 )} -happyReduce_31 = happyReduce 8# 14# happyReduction_31 -happyReduction_31 (happy_x_8 `HappyStk` +happyReduce_32 = happySpecReduce_3 14# happyReduction_32 +happyReduction_32 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut30 happy_x_1 of { happy_var_1 -> + case happyOut24 happy_x_3 of { happy_var_3 -> + happyIn21 + (MWith happy_var_1 happy_var_3 + )}} + +happyReduce_33 = happyReduce 8# 14# happyReduction_33 +happyReduction_33 (happy_x_8 `HappyStk` happy_x_7 `HappyStk` happy_x_6 `HappyStk` happy_x_5 `HappyStk` @@ -1069,8 +1099,22 @@ happyReduction_31 (happy_x_8 `HappyStk` (MWithBody happy_var_1 happy_var_3 happy_var_5 (reverse happy_var_7) ) `HappyStk` happyRest}}}} -happyReduce_32 = happyReduce 10# 14# happyReduction_32 -happyReduction_32 (happy_x_10 `HappyStk` +happyReduce_34 = happyReduce 5# 14# happyReduction_34 +happyReduction_34 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut29 happy_x_1 of { happy_var_1 -> + case happyOut30 happy_x_3 of { happy_var_3 -> + case happyOut24 happy_x_5 of { happy_var_5 -> + happyIn21 + (MWithE happy_var_1 happy_var_3 happy_var_5 + ) `HappyStk` happyRest}}} + +happyReduce_35 = happyReduce 10# 14# happyReduction_35 +happyReduction_35 (happy_x_10 `HappyStk` happy_x_9 `HappyStk` happy_x_8 `HappyStk` happy_x_7 `HappyStk` @@ -1090,44 +1134,6 @@ happyReduction_32 (happy_x_10 `HappyStk` (MWithEBody happy_var_1 happy_var_3 happy_var_5 happy_var_7 (reverse happy_var_9) ) `HappyStk` happyRest}}}}} -happyReduce_33 = happyReduce 5# 14# happyReduction_33 -happyReduction_33 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut23 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_2 of { happy_var_2 -> - case happyOut22 happy_x_4 of { happy_var_4 -> - happyIn21 - (MBody happy_var_1 happy_var_2 (reverse happy_var_4) - ) `HappyStk` happyRest}}} - -happyReduce_34 = happySpecReduce_3 14# happyReduction_34 -happyReduction_34 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut30 happy_x_1 of { happy_var_1 -> - case happyOut24 happy_x_3 of { happy_var_3 -> - happyIn21 - (MWith happy_var_1 happy_var_3 - )}} - -happyReduce_35 = happyReduce 5# 14# happyReduction_35 -happyReduction_35 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut29 happy_x_1 of { happy_var_1 -> - case happyOut30 happy_x_3 of { happy_var_3 -> - case happyOut24 happy_x_5 of { happy_var_5 -> - happyIn21 - (MWithE happy_var_1 happy_var_3 happy_var_5 - ) `HappyStk` happyRest}}} - happyReduce_36 = happySpecReduce_2 14# happyReduction_36 happyReduction_36 happy_x_2 happy_x_1 @@ -3195,13 +3201,14 @@ happyError ts = _ -> " before " ++ unwords (map prToken (take 4 ts)) myLexer = tokens -{-# LINE 1 "GenericTemplate.hs" #-} +{-# LINE 1 "templates/GenericTemplate.hs" #-} +{-# LINE 1 "templates/GenericTemplate.hs" #-} {-# LINE 1 "" #-} {-# LINE 1 "" #-} -{-# LINE 1 "GenericTemplate.hs" #-} +{-# LINE 1 "templates/GenericTemplate.hs" #-} -- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp -{-# LINE 28 "GenericTemplate.hs" #-} +{-# LINE 28 "templates/GenericTemplate.hs" #-} data Happy_IntList = HappyCons Int# Happy_IntList @@ -3210,11 +3217,11 @@ data Happy_IntList = HappyCons Int# Happy_IntList -{-# LINE 49 "GenericTemplate.hs" #-} +{-# LINE 49 "templates/GenericTemplate.hs" #-} -{-# LINE 59 "GenericTemplate.hs" #-} +{-# LINE 59 "templates/GenericTemplate.hs" #-} -{-# LINE 68 "GenericTemplate.hs" #-} +{-# LINE 68 "templates/GenericTemplate.hs" #-} infixr 9 `HappyStk` data HappyStk a = HappyStk a (HappyStk a) @@ -3266,7 +3273,7 @@ happyDoAction i tk st action | check = indexShortOffAddr happyTable off_i | otherwise = indexShortOffAddr happyDefActions st -{-# LINE 127 "GenericTemplate.hs" #-} +{-# LINE 127 "templates/GenericTemplate.hs" #-} indexShortOffAddr (HappyA# arr) off = @@ -3299,7 +3306,7 @@ data HappyAddr = HappyA# Addr# ----------------------------------------------------------------------------- -- HappyState data type (not arrays) -{-# LINE 170 "GenericTemplate.hs" #-} +{-# LINE 170 "templates/GenericTemplate.hs" #-} ----------------------------------------------------------------------------- -- Shifting a token diff --git a/src/GF/Source/ParGF.y b/src/GF/Source/ParGF.y index 944fe7562..c15c57c08 100644 --- a/src/GF/Source/ParGF.y +++ b/src/GF/Source/ParGF.y @@ -1,9 +1,11 @@ -- This Happy file was machine-generated by the BNF converter { -module ParGF where -import AbsGF -import LexGF -import ErrM +{-# OPTIONS -fno-warn-incomplete-patterns -fno-warn-overlapping-patterns #-} +module GF.Source.ParGF where --H +import GF.Source.AbsGF --H +import GF.Source.LexGF --H +import GF.Infra.Ident --H +import GF.Data.ErrM --H } %name pGrammar Grammar @@ -102,7 +104,7 @@ L_err { _ } %% -Ident :: { Ident } : L_ident { Ident $1 } +Ident :: { Ident } : L_ident { identC $1 } --H Integer :: { Integer } : L_integ { (read $1) :: Integer } String :: { String } : L_quoted { $1 } Double :: { Double } : L_doubl { (read $1) :: Double } @@ -158,8 +160,11 @@ ModType : 'abstract' Ident { MTAbstract $2 } ModBody :: { ModBody } ModBody : Extend Opens '{' ListTopDef '}' { MBody $1 $2 (reverse $4) } - | Ident 'with' ListOpen { MWith $1 $3 } - | ListIncluded '**' Ident 'with' ListOpen { MWithE $1 $3 $5 } + | ListIncluded { MNoBody $1 } + | Included 'with' ListOpen { MWith $1 $3 } + | Included 'with' ListOpen '**' Opens '{' ListTopDef '}' { MWithBody $1 $3 $5 (reverse $7) } + | ListIncluded '**' Included 'with' ListOpen { MWithE $1 $3 $5 } + | ListIncluded '**' Included 'with' ListOpen '**' Opens '{' ListTopDef '}' { MWithEBody $1 $3 $5 $7 (reverse $9) } | 'reuse' Ident { MReuse $2 } | 'union' ListIncluded { MUnion $2 } @@ -603,7 +608,11 @@ 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))) + Bad $ "syntax error at " ++ tokenPos ts ++ + case ts of + [] -> [] + [Err _] -> " due to lexer error" + _ -> " before " ++ unwords (map prToken (take 4 ts)) myLexer = tokens }