From e60a824afcb8bab73d3cd8092ea48f4c922ac869 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Mon, 8 Mar 2021 18:03:07 +0100 Subject: [PATCH] Token parser --- app/MyGetOpt.hs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/MyGetOpt.hs b/app/MyGetOpt.hs index b0ec885..87ea73e 100644 --- a/app/MyGetOpt.hs +++ b/app/MyGetOpt.hs @@ -45,6 +45,9 @@ charIf f = do x <- char if f x then return x else empty +alphaNum :: Parser Char +alphaNum = charIf isAlphaNum + digit :: Parser Char digit = charIf isDigit @@ -67,6 +70,13 @@ maybeInt = P $ \str -> case parse int str of Nothing -> Just (Nothing, str) Just (y, lo) -> Just (Just y, lo) +token :: Parser a -> Parser a +token p = do + many $ charIf isSpace + ret <- p + many $ charIf isSpace + return ret + data Configuration = Configuration { rule :: Int, start :: Maybe Int,