Improve address range parsing error messages
This commit is contained in:
parent
6dbaadda6a
commit
d6db284c22
1 changed files with 5 additions and 4 deletions
|
|
@ -31,10 +31,11 @@ lFlags :: Parser (Set.Set Flag)
|
||||||
lFlags = Set.unions <$> some lFlag
|
lFlags = Set.unions <$> some lFlag
|
||||||
|
|
||||||
lAddressRange :: Parser AddressRange
|
lAddressRange :: Parser AddressRange
|
||||||
lAddressRange = try twoAddresses <|> oneAddress
|
lAddressRange = do
|
||||||
where
|
firstAddress <- lAddress
|
||||||
twoAddresses = range <$> lAddress <*> (symbol "-" *> lAddress)
|
secondAddress <- (symbol "-" *> lAddress) <|> pure firstAddress
|
||||||
oneAddress = (\a -> range a a) <$> lAddress -- More fun to read than the do syntax :)
|
void $ symbol ":"
|
||||||
|
pure $ range firstAddress secondAddress
|
||||||
|
|
||||||
lLine :: Parser (AddressRange, Set.Set Flag)
|
lLine :: Parser (AddressRange, Set.Set Flag)
|
||||||
lLine = do
|
lLine = do
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue