Commit graph

48 commits

Author SHA1 Message Date
John Wiegley
0951bcebef Bump copyright information to 2013 2013-02-18 06:51:21 -06:00
John Wiegley
f4f3058b8c Switch to using Boost.Format 2012-05-14 21:44:00 -06:00
John Wiegley
9617266905 Improved detection of iostream's eof() condition 2012-05-14 21:41:38 -06:00
John Wiegley
95c44609a4 Made some of the value term parsing code more resilient 2012-04-28 05:24:29 -05:00
John Wiegley
90029d9925 Allow identifier names to begin with _ 2012-03-07 10:33:46 -06:00
John Wiegley
8b9b9e9e72 Removed an old comment 2012-03-02 10:18:42 -06:00
John Wiegley
e2afc783db Increased file copyrights to 2012 2012-02-29 22:32:23 -06:00
John Wiegley
a19b541dd9 Removed unneeded default cases 2012-02-17 15:15:32 -06:00
John Wiegley
f4fd2ab1e5 Corrections to the query language parser
Fixes #552
2011-11-10 01:26:38 -06:00
John Wiegley
37e9ec8030 Report an error in the case of '(1' (missing rparen)
Fixes #557
2011-11-10 00:48:19 -06:00
John Wiegley
013aefd9fd Added casts necessary for building under Visual Studio 2011-03-03 23:17:59 -05:00
John Wiegley
0f8e0251f4 Fixed a bug preventing g++ 4.6 from working 2011-02-04 22:53:22 -05:00
John Wiegley
2208ac1226 Fixes for compilation as C++0x code 2011-02-04 22:39:41 -05:00
John Wiegley
84780270f9 Added initial support for lambda functions 2010-09-06 00:56:00 -04:00
John Wiegley
e162455ebb Minor simplifications to valexpr parser
The most significant change is the way CONS sequences are parsed, and
that now instead of =/:=, the operators are ==/=.
2010-09-05 01:38:47 -04:00
John Wiegley
968a6f3c0a Changes for building with Visual Studio 2008 2010-06-15 05:14:00 -04:00
John Wiegley
dea2aed0b5 Untabified all source files 2010-06-11 17:02:25 -04:00
John Wiegley
d6a559959c Moved a misplaced parenthesis 2010-06-02 03:39:22 -04:00
John Wiegley
a3482606dc Improved error reporting in the expression parser
Fixes 15A80F68-F233-49D9-AF0C-9908BB6903BA
2010-05-22 21:35:03 -04:00
John Wiegley
ab416f759f Updated copyrights to 2003-2010 2010-03-05 22:14:10 -05:00
John Wiegley
e4b3f0bb3a The new period parser is passing all tests 2009-11-18 05:45:48 -05:00
John Wiegley
c3535d06c8 Redesigned the expr_t, predicate_t, query_t classes 2009-11-09 02:06:06 -05:00
John Wiegley
7287aad336 Revert "Added % suffix operator, as in "$1.00 * 10%""
This reverts commit 0e9f782a05.
2009-06-21 17:49:38 +01:00
John Wiegley
0e9f782a05 Added % suffix operator, as in "$1.00 * 10%" 2009-05-26 23:45:44 -05:00
John Wiegley
a05353e269 First iteration of the new date_interval_t rewrite 2009-03-15 22:39:44 -04: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
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
81f57ecc41 Correctly accept "false" as a keyword 2009-02-22 04:51:11 -04:00
John Wiegley
bfa2691583 Don't allow '-' as part of an identifier token 2009-02-21 00:45:04 -04:00
John Wiegley
6f7f87699c Parse '/' in an operator context as "div" 2009-02-15 16:34:34 -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
19694cf2a2 Use seekg, in place of multiple ungets. 2009-02-07 04:27:14 -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
0934612436 Stubbed out the new definition for token_t::rewind(), which was failing. 2009-01-31 05:57:48 -04:00
John Wiegley
c5795c66c9 "div", or "//", is now the operator of division. 2009-01-31 01:21:14 -04:00
John Wiegley
8b75b5cbfb Revised the way that parsing flags get passed around. 2009-01-29 02:24:25 -04:00
John Wiegley
cf861b35c0 Added a pair of missing calls to in.peek(). 2009-01-23 01:08:52 -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
fac5a95a48 Accept &&/and for &, ||/or for |, and not for !. Also improved error
reporting in the tokenizer.
2009-01-22 17:01:46 -04:00
John Wiegley
ccedf7d57f Parse != as !(==) and !~ as !(=~), for simplicity's sake. 2009-01-22 16:25:51 -04:00
John Wiegley
887828a40c Increased copyright range to include 2009. 2009-01-20 01:53:31 -04:00
John Wiegley
a1db45dca1 Removed more dead code. 2008-08-17 05:09:51 -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
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 token.cc (Browse further)