diff -urw --exclude='*.o' --exclude='*.hi' BNFC_2.2.orig/CF.hs BNFC_2.2/CF.hs --- BNFC_2.2.orig/CF.hs 2004-09-22 18:10:57.000000000 +0200 +++ BNFC_2.2/CF.hs 2006-09-13 16:53:52.000000000 +0200 @@ -469,7 +469,7 @@ badtypes = filter isBadType $ cat : [c | Left c <- rhs] isBadType c = not (isUpper (head c) || isList c || c == "#") badFunName = not (isUpper (head f) - || isCoercion f || isNilFun f || isOneFun f || isConsFun f) + || isCoercion f || isNilFun f || isOneFun f || isConsFun f) isPositionCat :: CFG f -> Cat -> Bool isPositionCat cf cat = or [b | TokenReg name b _ <- pragmasOfCF cf, name == cat] diff -urw --exclude='*.o' --exclude='*.hi' BNFC_2.2.orig/GetCF.hs BNFC_2.2/GetCF.hs --- BNFC_2.2.orig/GetCF.hs 2004-09-26 18:45:35.000000000 +0200 +++ BNFC_2.2/GetCF.hs 2006-09-13 16:54:13.000000000 +0200 @@ -117,7 +117,7 @@ pragma = [r | Left (Left r) <- rs] errors = [s | Right s <- rs, not (null s)] (symbols,keywords) = partition (any isSpec) reservedWords - isSpec = flip elem "$+-*=<>[](){}!?.,;:^§~|&%#/\\$_@\"\'" + isSpec = flip elem "$+-*=<>[](){}!?.,;:^\167~|&%#/\\$_@\"\'" reservedWords = nub [t | (_,(_,its)) <- rules, Right t <- its] cats = [] in (((pragma,(literals,symbols,keywords,cats)),rules),errors) Only in BNFC_2.2.orig/: ParBNF.y Only in BNFC_2.2: bnfc diff -urw --exclude='*.o' --exclude='*.hi' BNFC_2.2.orig/formats/cpp/RegToFlex.hs BNFC_2.2/formats/cpp/RegToFlex.hs --- BNFC_2.2.orig/formats/cpp/RegToFlex.hs 2004-02-03 17:04:42.000000000 +0100 +++ BNFC_2.2/formats/cpp/RegToFlex.hs 2006-09-13 16:49:01.000000000 +0200 @@ -69,5 +69,5 @@ mkEsc :: String -> String mkEsc = concatMap escChar where escChar c - | c `elem` "$+-*=<>[](){}!?.,;:^§~|&%#/\\$_@\"" = '\\':[c] + | c `elem` "$+-*=<>[](){}!?.,;:^\167~|&%#/\\$_@\"" = '\\':[c] | otherwise = [c] diff -urw --exclude='*.o' --exclude='*.hi' BNFC_2.2.orig/formats/haskell2/CFtoAlex.hs BNFC_2.2/formats/haskell2/CFtoAlex.hs --- BNFC_2.2.orig/formats/haskell2/CFtoAlex.hs 2004-10-14 18:34:56.000000000 +0200 +++ BNFC_2.2/formats/haskell2/CFtoAlex.hs 2006-09-13 16:55:02.000000000 +0200 @@ -84,7 +84,7 @@ where mkEsc = unwords . map ( f . (:[])) f s = if all isSpec s then '^':s else s - isSpec = flip elem "$+-*=<>[](){}!?.,;:^§~|&%#/\\$_@\"" + isSpec = flip elem "$+-*=<>[](){}!?.,;:^\167~|&%#/\\$_@\"" restOfAlex :: CF -> [String] restOfAlex cf = [ diff -urw --exclude='*.o' --exclude='*.hi' BNFC_2.2.orig/formats/haskell2/CFtoAlex2.hs BNFC_2.2/formats/haskell2/CFtoAlex2.hs --- BNFC_2.2.orig/formats/haskell2/CFtoAlex2.hs 2004-12-08 15:22:47.000000000 +0100 +++ BNFC_2.2/formats/haskell2/CFtoAlex2.hs 2006-09-13 16:54:44.000000000 +0200 @@ -105,7 +105,7 @@ where mkEsc = unwords . map ( f . (:[])) f s = if all isSpec s then '\\':s else s - isSpec = flip elem "$+-*=<>[](){}!?.,;:^§~|&%#/\\$_@\"" + isSpec = flip elem "$+-*=<>[](){}!?.,;:^\167~|&%#/\\$_@\"" restOfAlex :: String -> Bool -> CF -> [String] restOfAlex shareMod shareStrings cf = [