From 9e638001d2958991736acf98d3f92d635f0d0ef2 Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Fri, 14 Jan 2011 00:28:09 +0100 Subject: [PATCH] 3a_asm: FIX: tabs/blanks only zeilen werden akzeptiert --- 3a_asm/Main.hs | 6 +++++- 3a_asm/notes | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/3a_asm/Main.hs b/3a_asm/Main.hs index 3470e0d..b894fa1 100644 --- a/3a_asm/Main.hs +++ b/3a_asm/Main.hs @@ -165,7 +165,7 @@ testDTF input = parseDTFLine :: [DictElem] -> Parser DTF parseDTFLine dict = foldl1 (<|>) (fmap (\x -> try (x dict)) lineFormats) <* char '\n' -lineFormats = [lf_define, lf_sdata, lf_stext, lf_org, lf_data, lf_ifill, lf_ascii, lf_comment, lf_toparse, lf_label] +lineFormats = [lf_define, lf_sdata, lf_stext, lf_org, lf_data, lf_ifill, lf_ascii, lf_comment, lf_toparse, lf_label, lf_nothing] -- helper parseIdent :: Parser String @@ -232,6 +232,10 @@ lf_comment _ = do comment <- parseComment return $ DTF_Comment comment +lf_nothing _ = do + wtf <- parseMySpaces + return $ DTF_Comment wtf + lf_label _ = do l <- parseLabel comment <- try(parseComment) <|> parseMySpaces diff --git a/3a_asm/notes b/3a_asm/notes index c1cdc8a..0ef411d 100644 --- a/3a_asm/notes +++ b/3a_asm/notes @@ -1,6 +1,5 @@ BUGS: - parsers2/eval: kann nur "0-1" und ned "-1" auswerten -- parsers1: fail bei zeile mit tab/blanks only - parsers2/eval: aufloesen von zwei labels x und y funktioniert nicht, wenn x ein echter prefix von y ist (longest input match anyone?) - parsers2/eval: klammern bei ausdruecken (und zwar im asm, ned expr selbst...) -- 2.25.1