parse error fixes
This commit is contained in:
parent
ac307957e5
commit
cfaacd26b6
@ -103,7 +103,7 @@ ledgerFile = do items <- many ledgerItem
|
|||||||
]
|
]
|
||||||
|
|
||||||
ledgerDirective :: GenParser Char LedgerFileCtx (ErrorT String IO (RawLedger -> RawLedger))
|
ledgerDirective :: GenParser Char LedgerFileCtx (ErrorT String IO (RawLedger -> RawLedger))
|
||||||
ledgerDirective = do char '!'
|
ledgerDirective = do char '!' <?> "directive"
|
||||||
directive <- many nonspace
|
directive <- many nonspace
|
||||||
case directive of
|
case directive of
|
||||||
"include" -> ledgerInclude
|
"include" -> ledgerInclude
|
||||||
@ -252,7 +252,7 @@ See "Tests" for sample data.
|
|||||||
|
|
||||||
emptyLine :: GenParser Char st ()
|
emptyLine :: GenParser Char st ()
|
||||||
emptyLine = do many spacenonewline
|
emptyLine = do many spacenonewline
|
||||||
optional $ char ';' >> many (noneOf "\n")
|
optional $ (char ';' <?> "comment") >> many (noneOf "\n")
|
||||||
newline
|
newline
|
||||||
return ()
|
return ()
|
||||||
|
|
||||||
@ -275,7 +275,7 @@ ledgerModifierTransaction = do
|
|||||||
|
|
||||||
ledgerPeriodicTransaction :: GenParser Char LedgerFileCtx PeriodicTransaction
|
ledgerPeriodicTransaction :: GenParser Char LedgerFileCtx PeriodicTransaction
|
||||||
ledgerPeriodicTransaction = do
|
ledgerPeriodicTransaction = do
|
||||||
char '~' <?> "entry"
|
char '~' <?> "periodic transaction"
|
||||||
many spacenonewline
|
many spacenonewline
|
||||||
periodexpr <- restofline
|
periodexpr <- restofline
|
||||||
postings <- ledgerpostings
|
postings <- ledgerpostings
|
||||||
@ -283,7 +283,7 @@ ledgerPeriodicTransaction = do
|
|||||||
|
|
||||||
ledgerHistoricalPrice :: GenParser Char LedgerFileCtx HistoricalPrice
|
ledgerHistoricalPrice :: GenParser Char LedgerFileCtx HistoricalPrice
|
||||||
ledgerHistoricalPrice = do
|
ledgerHistoricalPrice = do
|
||||||
char 'P' <?> "hprice"
|
char 'P' <?> "historical price"
|
||||||
many spacenonewline
|
many spacenonewline
|
||||||
date <- ledgerdate
|
date <- ledgerdate
|
||||||
many spacenonewline
|
many spacenonewline
|
||||||
@ -308,7 +308,7 @@ ledgerDefaultYear = do
|
|||||||
-- and if we cannot, raise an error.
|
-- and if we cannot, raise an error.
|
||||||
ledgerTransaction :: GenParser Char LedgerFileCtx LedgerTransaction
|
ledgerTransaction :: GenParser Char LedgerFileCtx LedgerTransaction
|
||||||
ledgerTransaction = do
|
ledgerTransaction = do
|
||||||
date <- ledgerdate <?> "entry"
|
date <- ledgerdate <?> "transaction"
|
||||||
status <- ledgerstatus
|
status <- ledgerstatus
|
||||||
code <- ledgercode
|
code <- ledgercode
|
||||||
description <- liftM rstrip (many1 (noneOf ";\n") <?> "description")
|
description <- liftM rstrip (many1 (noneOf ";\n") <?> "description")
|
||||||
@ -353,10 +353,10 @@ ledgerdatetime = do
|
|||||||
return $ LocalTime day tod
|
return $ LocalTime day tod
|
||||||
|
|
||||||
ledgerstatus :: GenParser Char st Bool
|
ledgerstatus :: GenParser Char st Bool
|
||||||
ledgerstatus = try (do { char '*'; many1 spacenonewline; return True } ) <|> return False
|
ledgerstatus = try (do { char '*' <?> "status"; many1 spacenonewline; return True } ) <|> return False
|
||||||
|
|
||||||
ledgercode :: GenParser Char st String
|
ledgercode :: GenParser Char st String
|
||||||
ledgercode = try (do { char '('; code <- anyChar `manyTill` char ')'; many1 spacenonewline; return code } ) <|> return ""
|
ledgercode = try (do { char '(' <?> "code"; code <- anyChar `manyTill` char ')'; many1 spacenonewline; return code } ) <|> return ""
|
||||||
|
|
||||||
ledgerpostings :: GenParser Char LedgerFileCtx [Posting]
|
ledgerpostings :: GenParser Char LedgerFileCtx [Posting]
|
||||||
ledgerpostings = many1 $ try ledgerposting
|
ledgerpostings = many1 $ try ledgerposting
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user