Commit graph

201 commits

Author SHA1 Message Date
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
John Wiegley
9c9a34388a First round of work to get the balance report working again. 2008-08-04 16:24:41 -04:00
John Wiegley
966b231f23 When doing a command-line tag search, search for :tag:, not just tag. 2008-08-04 16:10:54 -04:00
John Wiegley
bcffbc96ba Regular expressions are working again, such that very basic register reports
are now possible.
2008-08-03 23:44:18 -04:00
John Wiegley
bbdab79302 Rearranged the code a bit, breaking walk.cc into several different files:
compare         compare_items<T>
  handler         item_handler<T>
  iterators       used to iterators sets of journal objects
  filters         derived from item_handler, they morph the result set
  output          derived from item_handler, these do the printing

Also, created a new 'help' files which contains just Ledger's help text.
2008-08-03 21:38:53 -04:00
John Wiegley
363fb6d558 Got date, payee and accounts back into the register report. 2008-08-03 00:22:55 -04:00
John Wiegley
e52a6a9bd8 More infrastructure work toward getting journal objects to provide their own
information in an abstract manner.
2008-08-02 16:32:16 -04:00
John Wiegley
5bf3f536b3 Restored the interval_t time and added a new "period" debugging command.
You can use 'ledger period "daily in june"' to find out how Ledger will parse
that date string, plus up to the first 20 dates it encounters in the range.
Note that the 'end' displayed is currently exclusive.
2008-08-02 00:37:36 -04:00
John Wiegley
ea3b386062 Added a new 'format' debugging command, which dissects the formatting
expression in its argument.
2008-08-01 03:44:22 -04:00
John Wiegley
af344b1ab1 Improved the output from some debugging commands.
There are now three commands one can use to interact with value expressions
directly:

  ledger parse EXPR       # shows the parse tree resulting from EXPR
  ledger compile EXPR     # shows what the compiled tree looks like
  ledger eval EXPR        # print the resulting value, useful in scripts
2008-08-01 02:53:32 -04:00
John Wiegley
99313ebc6c Revised the way that exceptions are thrown around. Instead of context being a
complicated string of pointers, it's now just a global block of text that gets
appended to as the error is being thrown up, and can be displayed at the catch
point if desired.  There are almost no cases where a thrown exception will not
result in an error message being displayed to the user.
2008-07-31 06:24:45 -04:00
John Wiegley
8276b51f56 A new binary_cache_t object has been creating to manage saving and restoring a
Ledger session from a cache file.  It doesn't work at all yet, though at least
the major structures are in place now.
2008-07-31 04:28:58 -04:00
John Wiegley
2aff35215f Enabled a huge number of warning flags for g++ in acprep, and fixed them all
except for several unused parameter warnings (because there is so much code
still #if 0'd out), and one implicit conversion from long long to long which
still has to be dealt with.
2008-07-30 05:12:46 -04:00
John Wiegley
1bb29cdbb7 The register report has begun printing real data, although not all the pieces
are in place yet and the formatting is still off.
2008-07-29 21:44:21 -04:00
John Wiegley
42e1d725aa The next value expression scheme is working, but the individual accessor
functions for each of the journal objects has yet to be ported.
2008-07-29 21:05:08 -04:00
John Wiegley
ea27d1b45a Moved around and renamed a very large amount of code in order to rationalize
the way that value expressions extract information from journal objects.
2008-07-29 20:10:03 -04:00
John Wiegley
4518ea9540 Value expression architecture is now rewritten, but the functionality of the
old system (for example, the meaning of 'a') has yet to be restored.  In the
new scheme, this will be done by definition a function outside of the value
expression logic, rather than the tight coupling between journal innards and
value expressions that occurred in 2.x.
2008-07-29 05:59:38 -04:00
John Wiegley
e14d7b6e54 Cleaned up the value expression code a bit before undertaking the real work of
getting everything back up to what it was (plus the new code written for 3.0).
2008-07-27 20:37:21 -04:00
John Wiegley
ebfe2d1011 Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
John Wiegley
713f896790 A large body of work to get the register report printing again, but still
fails due to the fact that 2.x value expression syntax is not restored.
2008-07-27 00:10:35 -04:00
John Wiegley
162d982b0c The --verify option is now working properly again. Use "--verify --verbose"
if you wish to see memory usage statistics along with a top-level trace.
2008-07-26 05:06:06 -04:00
John Wiegley
ee39695722 Parsing now works again. And there was much rejoicing. 2008-07-24 11:36:40 -04:00
John Wiegley
4bc29e1351 A great deal of reorganization to restore the old parsing code (since the
newer XML stuff was pulled).
2008-07-22 02:23:45 -04:00
John Wiegley
e41dbc204a Report an error if the user forgets to pass an argument to --trace. 2008-07-22 00:58:46 -04:00
John Wiegley
aa4f0d4364 Added the var_t helper class, which can be seen in the beginning
implementation of register_command in main.cc.
2008-07-21 20:41:42 -04:00
John Wiegley
0a1bce0f80 Re-enabled almost all of the code in main.cc. 2008-07-20 23:28:29 -04:00
John Wiegley
219cc71bb0 Things are at least compiling and linking again, but we're still far from
having a functional binary.
2008-07-20 21:17:26 -04:00
John Wiegley
b85e9ba95f Everything but main.cc is compiling again (but with much #if 0'd code). 2008-07-20 06:00:06 -04:00
John Wiegley
20e35aa6f5 I have walked further along the road less compiled by... 2008-07-20 05:32:09 -04:00
John Wiegley
52fc9f2e44 Brought in the final round of 3.0 code, although it does not compile yet:
report, session, parts of xpath, main, journal, option.
2008-07-20 05:03:54 -04:00
John Wiegley
88634973a2 Some basic fixes to get things almost running, although we still can't parse
my personal ledger file yet.
2008-07-19 23:10:37 -04:00
John Wiegley
d568319495 Merged in bug fixes from master (done for 2.6.1b) 2008-07-19 21:36:34 -04:00
John Wiegley
5f472969cd Moved an auto_ptr up into main, since the memory it governs must still be
available to the exception handlers that come immediately after it.
2008-07-17 20:55:15 -04:00
John Wiegley
d159501993 The code is compiling again, but it's far from being able to run yet. 2008-05-08 02:50:19 -04:00
John Wiegley
04dfda2282 Made separate modules for the csv command, since the prior method was
not fully correct.
2008-04-13 02:41:33 -04:00
John Wiegley
5a93d4819e Reworked the way date/times are handled. 2008-04-13 02:41:32 -04:00
John Wiegley
c3c401ac0f *** empty log message *** 2008-04-13 02:41:32 -04:00
John Wiegley
a5aff9eee9 Several fixes to lot price handling. 2008-04-13 02:41:31 -04:00
John Wiegley
32bdfe20d9 Tons of corrections and fixes to value expressions and lot figures. 2008-04-13 02:41:31 -04:00
John Wiegley
9800e3febc *** empty log message *** 2008-04-13 02:41:31 -04:00
John Wiegley
49ae3b65d5 *** empty log message *** 2008-04-13 02:41:30 -04:00
John Wiegley
e32d9e64a7 Added much better error location. 2008-04-13 02:41:29 -04:00
John Wiegley
b737cd8e6d Added a DATETIME value type. 2008-04-13 02:41:29 -04:00
John Wiegley
7acc1306d9 *** empty log message *** 2008-04-13 02:41:29 -04:00
John Wiegley
96d6d62ad9 Began support for improved commodity handling. 2008-04-13 02:41:28 -04:00
John Wiegley
7d3e45958e *** empty log message *** 2008-04-13 02:41:28 -04:00
John Wiegley
7901598f1d Checked in all major updates. 2008-04-13 02:41:27 -04:00
John Wiegley
e75bb1f71f *** empty log message *** 2008-04-13 02:41:26 -04:00
John Wiegley
f2a167e0ed *** empty log message *** 2008-04-13 02:41:26 -04:00
John Wiegley
4aea9709bb Made several changes to the parsing infrastructure to allow passing
the "config_t" object around.  This is needed for parsing option
settings in the initialization file.
2008-04-13 02:41:23 -04:00