No description
Find a file
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
scripts Added a new script that enables use of Ledger as a smart "du". 2008-04-13 02:41:31 -04:00
test Corrected a failing test. 2008-07-30 15:57:03 -04:00
.gitignore Cleaned up the value expression code a bit before undertaking the real work of 2008-07-27 20:37:21 -04:00
account.cc Enabled a huge number of warning flags for g++ in acprep, and fixed them all 2008-07-30 05:12:46 -04:00
account.h Enabled a huge number of warning flags for g++ in acprep, and fixed them all 2008-07-30 05:12:46 -04:00
acprep Corrected a failing test. 2008-07-30 15:57:03 -04:00
amount.cc Cleaned up some method names and documentation relating to values. 2008-07-31 05:05:24 -04:00
amount.h Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
amounts.cc (read_binary_journal): Fixed a tiny memory leak when reading from a 2008-04-13 02:41:28 -04:00
balance.cc Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
balance.h Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
balpair.h Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
binary.cc A new binary_cache_t object has been creating to manage saving and restoring a 2008-07-31 04:28:58 -04:00
binary.h A new binary_cache_t object has been creating to manage saving and restoring a 2008-07-31 04:28:58 -04:00
cache.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
cache.h Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
commodity.cc Cleaned up some method names and documentation relating to values. 2008-07-31 05:05:24 -04:00
commodity.h Corrected a failing test. 2008-07-30 15:57:03 -04:00
configure.tmpl Renamed configure.in to configure.tmpl. 2008-05-11 20:50:12 -04:00
csv.cc Moved around and renamed a very large amount of code in order to rationalize 2008-07-29 20:10:03 -04:00
csv.h Moved around and renamed a very large amount of code in order to rationalize 2008-07-29 20:10:03 -04:00
derive.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
derive.h A large body of work to get the register report printing again, but still 2008-07-27 00:10:35 -04:00
emacs.cc Enabled a huge number of warning flags for g++ in acprep, and fixed them all 2008-07-30 05:12:46 -04:00
emacs.h Moved around and renamed a very large amount of code in order to rationalize 2008-07-29 20:10:03 -04:00
entry.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
entry.h Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
error.h Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
expr.cc Moved around and renamed a very large amount of code in order to rationalize 2008-07-29 20:10:03 -04:00
expr.h Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
fdstream.hpp Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
flags.h Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
format.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
format.h Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
gnucash.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
gnucash.h Value expression architecture is now rewritten, but the functionality of the 2008-07-29 05:59:38 -04:00
hooks.h Moved around and renamed a very large amount of code in order to rationalize 2008-07-29 20:10:03 -04:00
journal.cc A new binary_cache_t object has been creating to manage saving and restoring a 2008-07-31 04:28:58 -04:00
journal.h Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
ledger.el Merged in from master. 2008-07-21 17:34:39 -04:00
ledger.h Value expression architecture is now rewritten, but the functionality of the 2008-07-29 05:59:38 -04:00
ledger.texi More copyright date updates. 2008-07-21 06:29:40 -04:00
ledger.vim *** empty log message *** 2008-04-13 02:41:17 -04:00
LICENSE More copyright date updates. 2008-07-21 06:29:40 -04:00
main.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
Makefile.am A new binary_cache_t object has been creating to manage saving and restoring a 2008-07-31 04:28:58 -04:00
mask.cc A new binary_cache_t object has been creating to manage saving and restoring a 2008-07-31 04:28:58 -04:00
mask.h A new binary_cache_t object has been creating to manage saving and restoring a 2008-07-31 04:28:58 -04:00
NEWS Added the concept of "balance setting transactions". 2008-07-27 18:37:55 -04:00
ofx.cc Moved around and renamed a very large amount of code in order to rationalize 2008-07-29 20:10:03 -04:00
ofx.h Value expression architecture is now rewritten, but the functionality of the 2008-07-29 05:59:38 -04:00
op.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
op.h Value expression architecture is now rewritten, but the functionality of the 2008-07-29 05:59:38 -04:00
option.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
option.h Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
parser.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
parser.h Value expression architecture is now rewritten, but the functionality of the 2008-07-29 05:59:38 -04:00
predicate.h Enabled a huge number of warning flags for g++ in acprep, and fixed them all 2008-07-30 05:12:46 -04:00
pushvar.h Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
py_amount.cc Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
py_commodity.cc Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
py_times.cc Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
py_utils.cc Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
pyfstream.h Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
pyinterp.cc Changed the way scopes are structured for an upcoming design change. 2008-07-29 18:57:02 -04:00
pyinterp.h Changed the way scopes are structured for an upcoming design change. 2008-07-29 18:57:02 -04:00
pyledger.cc Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
pyledger.h Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
pyutils.h Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
qif.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
qif.h Value expression architecture is now rewritten, but the functionality of the 2008-07-29 05:59:38 -04:00
quotes.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
quotes.h Moved around and renamed a very large amount of code in order to rationalize 2008-07-29 20:10:03 -04:00
README Removed Python integration support. 2008-04-13 02:41:21 -04:00
reconcile.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
reconcile.h Moved around and renamed a very large amount of code in order to rationalize 2008-07-29 20:10:03 -04:00
report.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
report.h Moved around and renamed a very large amount of code in order to rationalize 2008-07-29 20:10:03 -04:00
sample.dat updated to version 2.0 2008-04-13 02:40:47 -04:00
scope.cc Moved around and renamed a very large amount of code in order to rationalize 2008-07-29 20:10:03 -04:00
scope.h Moved around and renamed a very large amount of code in order to rationalize 2008-07-29 20:10:03 -04:00
session.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
session.h A new binary_cache_t object has been creating to manage saving and restoring a 2008-07-31 04:28:58 -04:00
setup.py Most things are building, but not the Python code 2008-05-12 05:10:08 -04:00
system.hh Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
textual.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
textual.h Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
timeclock.el Removed Python integration support. 2008-04-13 02:41:21 -04:00
times.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
times.h Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
token.cc Enabled a huge number of warning flags for g++ in acprep, and fixed them all 2008-07-30 05:12:46 -04:00
token.h Value expression architecture is now rewritten, but the functionality of the 2008-07-29 05:59:38 -04:00
tuples.hpp Updated all copyright messages to 2003-2008. 2008-07-27 02:26:35 -04:00
utils.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
utils.h Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
valgrind.sh Migrated over both code and build environment from was-v3.0 branch. 2008-05-08 02:50:19 -04:00
value.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
value.h Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
version Migrated over both code and build environment from was-v3.0 branch. 2008-05-08 02:50:19 -04:00
walk.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
walk.h Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
xact.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
xact.h Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
xml.cc Revised the way that exceptions are thrown around. Instead of context being a 2008-07-31 06:24:45 -04:00
xml.h Value expression architecture is now rewritten, but the functionality of the 2008-07-29 05:59:38 -04:00

			  Welcome to Ledger

		 the command-line accounting program

Introduction
============

Ledger is an accounting program which is invoked from the command-line
using a textual ledger file.  To start using Ledger, you will need to
create such a file containing your financial transactions.  A sample
has been provided in the file "sample.dat".  See the documentation
(ledger.pdf, or ledger.info) for full documentation on creating a
ledger file and using Ledger to generate reports.

Once you have such a file -- you might call it "ledger.dat" -- you can
start looking at balances and account registers using commands like
the following:

  ledger -f ledger.dat balance assets:checking
  ledger -f ledger.dat register expenses:food

This assumes, of course, that like the sample file you use account
names such as "Assets:Checking" and "Expenses:Food".  If you use other
account names, you will need to vary the reporting commands you use
accordingly.


Building
========

To build Ledger, you will need a fairly modern C++ compiler (gcc 2.95
will not work), and at least these two libraries installed:

    gmp        GNU multi-precision library
    pcre       Perl regular expression library

(On some GNU/Linux systems, the packages you need to install are
called "gmp-dev" and "pcre-dev").

If you wish to read Gnucash data files, you will also need two XML
libraries, which may or may not be available in a single package (it
depends on your distribution):

    libexpat, or libxmlparse and libxmltok

Once you have determined where the headers and libraries for the above
packages are installed, run the script "configure", passing those
paths.  If you installed everything under /usr/local, you can probably
just type "./configure".  Otherwise, do this:

    ./configure CPPFLAGS=-I<INCLUDE-PATH>  LDFLAGS=-L<LIBRARY-PATH>

If you need to specify multiple include or library paths, then do
this:

    ./configure CPPFLAGS="-I<PATH1> -I<PATH2>"  LDFLAGS="-L<PATH1> -L<PATH2>"

Once configure is done running, just type:

    make install


Mailing List and IRC
====================

If you need help on how to use Ledger, or run into problems, you can
join the Ledger mailing list at the following Web address:

    https://lists.sourceforge.net/lists/listinfo/ledger-discuss

You can also find help at the #ledger channel on the IRC server
irc.freenode.net.