@@ -1,4 +1,4 @@
1−{-# LANGUAGE BangPatterns, FlexibleContexts #-}
1+{-# LANGUAGE BangPatterns, CPP, FlexibleContexts #-}
3module Main (main) where
3module Main (main) where
@@ -6,13 +6,19 @@ import Control.Applicative
6import Control.Exception (bracket)
6import Control.Exception (bracket)
7import System.Environment (getArgs)
7import System.Environment (getArgs)
8import System.IO (hClose, openFile, IOMode(ReadMode))
8import System.IO (hClose, openFile, IOMode(ReadMode))
9−import Text.Parsec.ByteString (Parser, parseFromFile)
10import Text.Parsec.Char (anyChar, char, satisfy, string)
9import Text.Parsec.Char (anyChar, char, satisfy, string)
11import Text.Parsec.Combinator (many1, manyTill, skipMany1)
10import Text.Parsec.Combinator (many1, manyTill, skipMany1)
12import Text.Parsec.Prim hiding (many, token, (<|>))
11import Text.Parsec.Prim hiding (many, token, (<|>))
13−import qualified Data.ByteString as B
14import qualified Data.IntSet as S
12import qualified Data.IntSet as S
15+import Text.Parsec.ByteString.Lazy (Parser, parseFromFile)
16+import qualified Data.ByteString.Lazy as B
18+import Text.Parsec.ByteString (Parser, parseFromFile)
19+import qualified Data.ByteString as B
16token :: Stream s m Char => ParsecT s u m Char
22token :: Stream s m Char => ParsecT s u m Char
17token = satisfy $ \c -> S.notMember (fromEnum c) set
23token = satisfy $ \c -> S.notMember (fromEnum c) set
18 where set = S.fromList . map fromEnum $ ['\0'..'\31'] ++ "()<>@,;:\\\"/[]?={} \t" ++ ['\128'..'\255']
24 where set = S.fromList . map fromEnum $ ['\0'..'\31'] ++ "()<>@,;:\\\"/[]?={} \t" ++ ['\128'..'\255']