This commit is contained in:
ctsk
2023-08-30 12:22:06 +02:00
parent 2ca20a6074
commit 5796db3249
6 changed files with 597 additions and 1 deletions

View File

@@ -3,21 +3,26 @@
module Parse where
import Common
import Data.Char (digitToInt)
import Data.Function ((&))
import Data.Text qualified as T
import Data.Void
import Text.Megaparsec qualified as M
import Text.Megaparsec.Char (digitChar)
import Text.Megaparsec.Char qualified as MC
import Text.Megaparsec.Char.Lexer qualified as MCL
import Util (both)
type Parser = M.Parsec Void T.Text
someLines :: Parser a -> Parser [a]
someLines p = p `M.sepEndBy1` MC.newline
number :: Parser Int
number = MCL.decimal
type Parser = M.Parsec Void T.Text
digit :: Parser Int
digit = digitToInt <$> digitChar
parsecDay ::
Parser a ->