diff --git a/src/Mima/Parse/Assembly/Statement.hs b/src/Mima/Parse/Assembly/Statement.hs index b46a5e5..fd1fed1 100644 --- a/src/Mima/Parse/Assembly/Statement.hs +++ b/src/Mima/Parse/Assembly/Statement.hs @@ -27,9 +27,9 @@ lLabel = lexeme $ try $ labelName <* symbol ":" lStatement :: Parser (Statement Address) lStatement = - SDirective <$> lDirective <* lNewlines - <|> SRawInstruction <$> lRawInstruction <* lNewlines - <|> SLabel <$> lLabel <* many lNewline + try (SDirective <$> lDirective <* lNewlines) + <|> try (SRawInstruction <$> lRawInstruction <* lNewlines) + <|> (SLabel <$> lLabel <* many lNewline) lStatements :: Parser [WithOffset (Statement Address)] lStatements = many (withOffset lStatement)