Commit graph

28 commits

Author SHA1 Message Date
John Wiegley
0e9f782a05 Added % suffix operator, as in "$1.00 * 10%" 2009-05-26 23:45:44 -05:00
John Wiegley
110f0b8023 Enabled use of pre-compiled headers by default 2009-03-10 17:02:03 -04:00
John Wiegley
e2c30cf6e4 Added ; as a sequencing operator in valexprs 2009-03-03 16:05:04 -04:00
John Wiegley
098e3b0043 Fixed parsing of '(1, 2, (3, 4))' 2009-03-03 16:02:34 -04:00
John Wiegley
67a45a0e3c Made error reporting while parsing more resilient 2009-03-03 14:42:46 -04:00
John Wiegley
0f9d919367 Added Python-style if/else expression keywords 2009-03-03 13:26:27 -04:00
John Wiegley
38122c2224 Corrected warnings g++-4.3.3 was complaining about 2009-02-28 04:54:54 -04:00
John Wiegley
238bd7f8a5 Marked all strings needing internationalization
These strings are now collected automagically in the file po/ledger.pot.
If you'd like to produce a translation, just run this command after
building Ledger:

    msginit -l LOCALE -o LANG.po -i po/ledger.pot

Where LOCALE is a string like de or en_GB, and LANG is a short
descriptive word for your language.

Then send me this .po file so I can commit it to the Ledger sources
(alternatively, you could maintain the file in a fork on GitHub), and
setup the build script to format and install your new message catalog
during a "make install".
2009-02-25 03:51:42 -04:00
John Wiegley
e919f53c99 Renamed O_COMMA to O_CONS, and changed semantics
In the old scheme, nested values would simply flatten and concatenate,
so that '((1, 2), 3) = (1, 2, 3)'.  Now sublists are preserved, so that
sequences may be passed as arguments to functions.
2009-02-23 15:04:07 -04:00
John Wiegley
6f7f87699c Parse '/' in an operator context as "div" 2009-02-15 16:34:34 -04:00
John Wiegley
3925240c7b Fixed the operator precedence of several operators. 2009-02-09 18:02:05 -04:00
John Wiegley
47567307ce Removed reference to session_t from the iterators module. 2009-02-09 17:41:55 -04:00
John Wiegley
2d5ad7dee8 Added support for value expression definitions.
Example:

  ] expr f(x) := x + 100
  ] expr f(100)
  200
2009-02-08 04:30:05 -04:00
John Wiegley
7594639581 Better semantics for the ?: ternary operator. 2009-02-08 03:01:51 -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
8b75b5cbfb Revised the way that parsing flags get passed around. 2009-01-29 02:24:25 -04:00
John Wiegley
52524ff2fb Removed some extraneous code. 2009-01-22 21:17:32 -04:00
John Wiegley
812d38c176 Correctly report the line context when there is a valexpr parsing error. 2009-01-22 21:16:43 -04:00
John Wiegley
9c164bd3dc Allow function calls without arguments in the parser. 2009-01-22 18:53:59 -04:00
John Wiegley
e95e8c3f79 Corrected a parse-time optimization of "! CONSTANT". 2009-01-22 18:53:44 -04:00
John Wiegley
0b9f22b4d2 Redid the way command-line arguments are processed. Before, Ledger used - and
-- to mean special things after the command verb was seen.  But now, what used
to be specified as this:

  ledger -n reg cash -payable -- shell

Is now specified as this:

  ledger reg -n cash not payable @shell

It could also be specified as:

  ledger -n reg \(cash and not payable\) and @shell
2009-01-22 16:27:24 -04:00
John Wiegley
887828a40c Increased copyright range to include 2009. 2009-01-20 01:53:31 -04:00
John Wiegley
01aa3800fb Fixes to the way that EXPR_PARSE_SINGLE behaves. 2008-09-15 02:37:04 -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
db9f891003 Added value expression parsing flag EXPR_PARSE_SINGLE, which means to read
only a single expression and then quit immediately.  Useful for parsing
expressions that begin with a left parenthesis and are known to end at the
right parenthesis.
2008-09-14 19:44:35 -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
a42ecd5938 Removed all use of USE_BOOST_PYTHON from the main Ledger sources. When Python
support is enabled for use within Ledger, it will do so through the current
scoping mechanism.
2008-08-08 18:50:21 -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 parser.cc (Browse further)