summaryrefslogtreecommitdiff
path: root/src/parser.cc
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright yearAlexis Hildebrandt2023-02-021-1/+1
| | | | [skip ci]
* Update copyright statement for 2022Alexis Hildebrandt2022-07-021-1/+1
|
* [misc] Update year in copyright notice to 2017Alexis Hildebrandt2018-01-271-1/+1
| | | | [ci skip]
* [misc] Update year in copyright notice to 2017Alexis Hildebrandt2017-01-051-1/+1
| | | | [ci skip]
* [misc] Update year in copyright notice to 2016Alexis Hildebrandt2016-01-021-1/+1
| | | | [ci skip]
* Bump copyright notice to 2015Alexis Hildebrandt2014-12-271-1/+1
| | | | | | The following script makes it a no-brainer: % NEXT_YEAR=2015; ag -l 'Copyright.*Wiegley' \ | xargs sed -i '' -e "s/\(Copyright.*\)-20[0-9]\{2\}/\1-${NEXT_YEAR}/"
* Bump copyright information to 2014Alexis Hildebrandt2014-02-021-1/+1
|
* Bump copyright information to 2013John Wiegley2013-02-181-1/+1
|
* Switch to using Boost.FormatJohn Wiegley2012-05-141-10/+10
|
* Many improvements to lambdas and function callingJohn Wiegley2012-03-081-3/+0
|
* More work done on proper evaluation of lambdasJohn Wiegley2012-03-071-1/+3
|
* Generalized function call parsingJohn Wiegley2012-03-051-16/+31
| | | | | | Directly calling a lambda now works: (x -> x + 10)(10) => 20
* Increased file copyrights to 2012John Wiegley2012-02-291-1/+1
|
* Corrected handling of nested definitionsJohn Wiegley2012-02-211-6/+2
|
* Introduced a new SCOPE expression terminalJohn Wiegley2012-02-201-16/+17
|
* Report an error in the case of '(1' (missing rparen)John Wiegley2011-11-101-2/+2
| | | | Fixes #557
* Made -> have higher precedence than commaJohn Wiegley2010-09-061-26/+26
|
* Added initial support for lambda functionsJohn Wiegley2010-09-061-14/+88
|
* Minor simplifications to valexpr parserJohn Wiegley2010-09-051-29/+24
| | | | | The most significant change is the way CONS sequences are parsed, and that now instead of =/:=, the operators are ==/=.
* Changes for building with Visual Studio 2008John Wiegley2010-06-151-1/+1
|
* Completely reworked argument passing in expressionsJohn Wiegley2010-06-131-3/+1
|
* Untabified all source filesJohn Wiegley2010-06-111-142/+142
|
* Improved error reporting in the expression parserJohn Wiegley2010-05-221-7/+2
| | | | Fixes 15A80F68-F233-49D9-AF0C-9908BB6903BA
* Added any() and all() value expression macrosJohn Wiegley2010-05-081-1/+4
| | | | | | | | | | | | | | | | | | | | any() matches an expression against every post in a transaction or account, and returns true if any of them are true. all() tests if all are true. For example: ledger -l 'account =~ /Expense/ & any(account =~ /MasterCard/)' reg This reports every posting affecting an Expense account (regex match), but only if some other posting in the same transaction affects the MasterCard account. Both functions also take a second boolean argument. If it is false, the "source" posting is not considered. For example: ledger -l 'any(/x/, false)' This matches any posting where a *different* posting in the same transaction contains the letter 'x'.
* Updated copyrights to 2003-2010John Wiegley2010-03-051-1/+1
|
* Fixes to the value expression parser and evaluatorJohn Wiegley2009-11-101-1/+1
|
* Redesigned the expr_t, predicate_t, query_t classesJohn Wiegley2009-11-091-2/+3
|
* Fixed many compiler warnings from g++ 4.4John Wiegley2009-10-251-4/+7
|
* Revert "Added % suffix operator, as in "$1.00 * 10%""John Wiegley2009-06-211-14/+1
| | | | This reverts commit 0e9f782a05ab9bc892af40abef84346a16d3baec.
* Added % suffix operator, as in "$1.00 * 10%"John Wiegley2009-05-261-1/+14
|
* Enabled use of pre-compiled headers by defaultJohn Wiegley2009-03-101-0/+2
|
* Added ; as a sequencing operator in valexprsJohn Wiegley2009-03-031-2/+5
|
* Fixed parsing of '(1, 2, (3, 4))'John Wiegley2009-03-031-0/+9
|
* Made error reporting while parsing more resilientJohn Wiegley2009-03-031-6/+6
|
* Added Python-style if/else expression keywordsJohn Wiegley2009-03-031-1/+35
|
* Corrected warnings g++-4.3.3 was complaining aboutJohn Wiegley2009-02-281-1/+3
|
* Marked all strings needing internationalizationJohn Wiegley2009-02-251-13/+13
| | | | | | | | | | | | | | | | 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".
* Renamed O_COMMA to O_CONS, and changed semanticsJohn Wiegley2009-02-231-2/+3
| | | | | | 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.
* Parse '/' in an operator context as "div"John Wiegley2009-02-151-12/+13
|
* Fixed the operator precedence of several operators.John Wiegley2009-02-091-100/+115
|
* Removed reference to session_t from the iterators module.John Wiegley2009-02-091-12/+14
|
* Added support for value expression definitions.John Wiegley2009-02-081-0/+3
| | | | | | | | Example: ] expr f(x) := x + 100 ] expr f(100) 200
* Better semantics for the ?: ternary operator.John Wiegley2009-02-081-6/+8
|
* Added support for metadata and tagging, and made regexs a first-class type.John Wiegley2009-02-011-8/+28
|
* Revised the way that parsing flags get passed around.John Wiegley2009-01-291-29/+28
|
* Removed some extraneous code.John Wiegley2009-01-221-6/+4
|
* Correctly report the line context when there is a valexpr parsing error.John Wiegley2009-01-221-4/+14
|
* Allow function calls without arguments in the parser.John Wiegley2009-01-221-14/+3
|
* Corrected a parse-time optimization of "! CONSTANT".John Wiegley2009-01-221-1/+1
|
* Redid the way command-line arguments are processed. Before, Ledger used - andJohn Wiegley2009-01-221-2/+14
| | | | | | | | | | | | | | | -- 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