Commit graph

49 commits

Author SHA1 Message Date
John Wiegley
1aff6ec01d Abort journal parsing if Control-C is caught 2009-02-16 04:16:20 -04:00
John Wiegley
78e57ac4cf item_predicate now operates on scope_t
This means item_predicate is no longer a template.
2009-02-15 20:56:48 -04:00
John Wiegley
e0e181d2af Made (un)reduce rvalue methods more consistent
They names were changed from reduce/unreduce to reduced/unreduced, since
they return the modified value.  This is more consistent with the naming
of rounded/rounded.
2009-02-12 20:44:46 -04:00
John Wiegley
f8c48d7a6f Ignore lines in Ledger files which contain only whitespace. 2009-02-12 02:35:05 -04:00
John Wiegley
6d4c3ffde5 If a textual directive can't be found, ignore it. 2009-02-10 04:23:50 -04:00
John Wiegley
3c3606aa0d Break libledger_data's dependency on session_t. 2009-02-09 18:46:01 -04:00
John Wiegley
3f7104e9be Removed the balance_pair_t type, since it's now an unneeded abstraction.
This type was a holdback from the days before the amount_expr was used
everywhere to determine a transaction's value.
2009-02-09 14:54:42 -04:00
John Wiegley
ffba456113 Several fixes to get the state flags to appear right in "print". 2009-02-07 23:30:40 -04:00
John Wiegley
589eabd8e6 Threw away the "multiple parser" infrastructure. 2009-02-07 17:45:48 -04:00
John Wiegley
eb98e0da8b More revision to the way options are handled; reworked CSV command. 2009-02-07 04:26:30 -04:00
John Wiegley
408b819c6e Greatly simplified the way option and command handlers are defined. 2009-02-05 21:20:09 -04:00
John Wiegley
0e2a3a9c00 Moved much of the main.cc code into a new global_scope_t class. 2009-02-05 04:06:58 -04:00
John Wiegley
2d941730b1 Largely removed all of Ledger's use of global variables, for the REPL's sake. 2009-02-04 19:55:27 -04:00
John Wiegley
b9603a1512 Moved ptristream into its own file. 2009-02-04 03:54:29 -04:00
John Wiegley
1cc33531ea Simplified the textual parser, and improved metadata support. 2009-02-04 03:34:37 -04:00
John Wiegley
28da097fc2 Several improvement to transaction parsing. 2009-02-04 00:52:52 -04:00
John Wiegley
2e9c14ef30 Don't store the amount expression object in transactions.
This is unnecessary since binary caching is no longer being used.
2009-02-03 19:06:56 -04:00
John Wiegley
2ce7ae376c Removed used of src_idx. 2009-02-03 19:06:53 -04:00
John Wiegley
8948e161cd A little code rearranging. 2009-02-03 18:31:52 -04:00
John Wiegley
6bd82c6bcd Implemented a text parsing optimization.
Amounts, costs and assigned amounts are now parsed as regular amounts.  To
have a full value expression at any of those positions, surround it with
parentheses.  The reason for this is that the amount parser is far simpler and
quicker -- and by far the common case -- compared to the full expression
parser.
2009-02-03 17:47:02 -04:00
John Wiegley
ad34a71646 Corrected a display error when showing error context. 2009-02-03 00:45:14 -04:00
John Wiegley
cf9b4a3873 Removed report_error() function and reordered context for parsing errors. 2009-02-02 15:16:18 -04:00
John Wiegley
9540406af1 Simplified error context handling. 2009-02-02 00:24:26 -04:00
John Wiegley
fb5428ce85 Added support for metadata and tagging, and made regexs a first-class type. 2009-02-01 22:10:32 -04:00
John Wiegley
59a080cdb6 Changed many uses of "unsigned long" to std::size_t. 2009-02-01 18:33:46 -04:00
John Wiegley
6983e6a38a Fixed error context output. 2009-01-31 01:21:30 -04:00
John Wiegley
6213dc5af8 Whitespace fix. 2009-01-30 19:28:53 -04:00
John Wiegley
54e24a4aa2 Fixed some tracing labels. 2009-01-30 00:40:59 -04:00
John Wiegley
c96635fe60 Refactored the textual parser, to allow easy extensions in Python. 2009-01-29 19:11:36 -04:00
John Wiegley
8b75b5cbfb Revised the way that parsing flags get passed around. 2009-01-29 02:24:25 -04:00
John Wiegley
a69649fb7f Switched over to using irrxml for parsing XML, rather than expat. 2009-01-24 04:49:58 -04:00
John Wiegley
900a92e115 Added support for Unicode text in Ledger files, thanks to 'utfcpp', which can
be located at http://utfcpp.sourceforge.net.
2009-01-23 19:50:00 -04:00
John Wiegley
c2761f4e90 Moved the occurance of "Error:" when reporting context. 2009-01-22 21:17:16 -04:00
John Wiegley
887828a40c Increased copyright range to include 2009. 2009-01-20 01:53:31 -04:00
John Wiegley
5c17da6572 Instead of doing price annotations in the textual parser, use
commodity_t::exchange.
2009-01-19 22:25:12 -04:00
John Wiegley
d9197fc2e5 Changed COMMODITY_STYLE_NOMARKET TO COMMODITY_NOMARKET. 2009-01-19 22:24:56 -04:00
John Wiegley
97d7896069 Whitespace fix. 2009-01-14 00:32:13 -04:00
John Wiegley
93f884b5f2 The cleared or pending flag of a transaction overrides the flag for the entire
entry only if it is "more" cleared.
2009-01-14 00:32:02 -04:00
John Wiegley
a374979aaa Changed debug class ledger.textual.parse to just textual.parse. 2008-09-19 08:10:13 -04:00
John Wiegley
5b5d6ac0ce Removed unneeded NULL argument. 2008-09-19 08:09:17 -04:00
John Wiegley
1edb531c05 Renamed XACT_BALANCE flag to XACT_MUST_BALANCE. 2008-09-19 08:08:28 -04:00
John Wiegley
1c2944d829 When automatically associating lot details with a commodity, use only the
price (based on the cost of the transactions), don't automatically use the
date and the entry code -- since most people aren't going to be that specific
at the time of sale, it's causes confusion in certain cases.
2008-09-19 08:07:51 -04:00
John Wiegley
fdc7a4e4c5 Factored common parts of entry_t and xact_t into new item_t 2008-09-19 08:06:20 -04:00
John Wiegley
50ee03e3f0 Fixed the way that nested caught exceptions are rethrown, and how value
expressions are displayed when errors are found in them.
2008-09-15 02:36:50 -04:00
John Wiegley
1624984981 If an entry is being parsed but yields all null-amount transactions,
completely ignore the entry.  This is useful for supporting "safety" entries
whose only purpose is to assert the balance of account(s) at a certain point
in time.
2008-09-14 19:44:35 -04:00
John Wiegley
7d1809cb15 Transactional assignments (i.e., confirmed balances) are working now. 2008-09-14 19:38:44 -04:00
John Wiegley
fd2e6c2502 Ledger now builds without any significant warnings, except for one file. Some
of the warnings had to be temporarily disabled, but will be checked again once
the code has moved into master.
2008-08-10 02:52:38 -04:00
John Wiegley
5419e74378 Merge branch 'master' into v2.7a 2008-08-09 17:40:47 -04:00
John Wiegley
f6f4a46cf5 Moved around most of the files so that source code is in src/, documentation
is in doc/, etc.
2008-08-05 18:05:49 -04:00
Renamed from textual.cc (Browse further)