From 9db2c42f4880362cf098358de830415c14f6878c Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Fri, 25 Dec 2015 17:56:13 +0000 Subject: Cleaned tree for rewrite --- bbcode/src/BBCode/Tokenizer.hs | 44 ------------------------------------------ 1 file changed, 44 deletions(-) delete mode 100644 bbcode/src/BBCode/Tokenizer.hs (limited to 'bbcode/src/BBCode/Tokenizer.hs') diff --git a/bbcode/src/BBCode/Tokenizer.hs b/bbcode/src/BBCode/Tokenizer.hs deleted file mode 100644 index c860c7c..0000000 --- a/bbcode/src/BBCode/Tokenizer.hs +++ /dev/null @@ -1,44 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -module BBCode.Tokenizer - ( Token(..) - , tokenize - ) where - -import qualified Data.Text.Lazy as TL -import qualified Data.Text as T - -import Control.Applicative -import Data.Attoparsec.Text.Lazy - -import Data.Char (isSpace) -import Data.Monoid (mconcat) - -data Token = Text String - | Whitespace String - | TagOpen String - | TagClose String - deriving (Show, Read, Eq) - -tokenize :: String -> Either String [Token] -tokenize = eitherResult . parse (tokenize' <* endOfInput) . TL.pack - -tokenize' :: Parser [Token] -tokenize' = many $ choice [ whitespace - , Text . T.unpack <$> ("\\" *> "[") - , tagClose - , tagOpen - , text - ] - -whitespace :: Parser Token -whitespace = Whitespace <$> many1 space - -tagOpen :: Parser Token -tagOpen = TagOpen . T.unpack <$> ("[" *> takeWhile1 (/= ']') <* "]") - -tagClose :: Parser Token -tagClose = TagClose . T.unpack <$> ("[/" *> takeWhile1 (/= ']') <* "]") - -text :: Parser Token -text = Text . T.unpack <$> takeWhile1 (\c -> not (isSpace c) && notInClass "[" c) -- cgit v1.2.3