{-# LANGUAGE OverloadedStrings #-}
import qualified Data.ByteString as BS
import Control.Applicative
import Data.Attoparsec.ByteString as P
main :: IO()
main = do
    bs <- BS.readFile "test.txt"
    parseTest pTest bs
pTest :: Parser [BS.ByteString]
pTest = do
    string "START" 
    numbs <- P.many1  (pNumber <* (string "END"))
    return numbs
pNumber :: Parser BS.ByteString
pNumber = do
    pSkipSpaces
    term <- P.takeWhile (\c -> c >= 0x31 && c <= 0x39)
    pSkipSpaces
    return term
pSkipSpaces :: Parser ()
pSkipSpaces = do
    P.takeWhile (\c -> c == 0x20) 
    return ()

