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
comment <- parseComment
return $ DTF_Comment comment
+lf_nothing _ = do
+ wtf <- parseMySpaces
+ return $ DTF_Comment wtf
+
lf_label _ = do
l <- parseLabel
comment <- try(parseComment) <|> parseMySpaces
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...)