From aa984281c0b0672342cb20b1e5dddf46fd6df409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Przemys=C5=82aw=20Pluta?= Date: Wed, 3 Nov 2021 12:49:26 +0100 Subject: [PATCH] Refactor decimal and comment tokenizers --- app/Assembler.hs | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/app/Assembler.hs b/app/Assembler.hs index 573d9bf..872e2b5 100644 --- a/app/Assembler.hs +++ b/app/Assembler.hs @@ -54,11 +54,7 @@ tokenizeDecimal input = if null numberStr where number = read numberStr len = length numberStr - numberStr = toNumber input - toNumber [] = [] - toNumber (x:xs) = if Char.isDigit x - then x : toNumber xs - else [] + numberStr = takeWhile Char.isDigit input tokenizeComment :: Tokenizer tokenizeComment [] = Nothing @@ -67,11 +63,7 @@ tokenizeComment (x:xs) = if x == ';' else Nothing where len = length comment - comment = toEOL xs - toEOL [] = [] - toEOL (x:xs) = if x == '\n' - then [] - else x : toEOL xs + comment = takeWhile (/='\n') xs type SeparatorPredicate = Char -> Bool sepTokenizer :: SeparatorPredicate -> Tokenizer -> Tokenizer