Paul Beckingham
6276241ef0
Eval: Removed ::ambiguity
2015-07-01 17:54:36 -04:00
Paul Beckingham
b090c6bccf
Lexer: Removed unnecessary ::ambiguity method
2015-07-01 16:18:28 -04:00
Paul Beckingham
9db73962da
Eval: Added method for providing a precompiled expression
2015-06-22 00:20:03 -04:00
Paul Beckingham
e74c6963a9
C++11: Cleaned up program framework with range-based for
2015-05-11 17:50:53 -04:00
Paul Beckingham
935b2993f3
C++11: Took advantage of N1757.
2015-04-06 15:30:39 -04:00
Wilhelm Schuermann
7a64c19641
Resolve most compiler warnings
2015-03-29 22:05:38 +02:00
Paul Beckingham
237d932ff9
Lexer
...
- Improved ::isIdentifier, ::isUUID and ::isDOM.
2015-03-01 23:54:45 -05:00
Paul Beckingham
745aad0d27
Lexer
...
- Renamed Lexer2 to Lexer, it looks good enough to assume control.
2015-02-22 18:23:03 -05:00
Paul Beckingham
0cf18f3b16
Lexer2
...
- Integrated Lexer2 in place of Lexer. Tests fail.
2015-02-22 13:52:14 -05:00
Paul Beckingham
b7ad091d00
Updated copyright to 2015
2015-01-01 00:00:41 -05:00
Paul Beckingham
8de2a1030e
Eval
...
- Reduced the verbosity of Eval under rc.debug.parser=3, improving readability.
- Updated unit tests regarding modified debug output.
2014-12-28 12:48:16 -05:00
Paul Beckingham
c0424cedeb
Eval
...
- The _neg_ operator was a copy/paste of the ! operator, and needed to be
numeric, not boolean.
2014-12-28 09:18:59 -05:00
Paul Beckingham
3279566244
CLI
...
- Modify ::disqualifyOnlyParenOps to count sugared operators.
- Labelled '(' and ')' as circumflex operators, thanks awwaiid.
2014-11-09 16:52:43 -05:00
Paul Beckingham
125b5464dc
Eval
...
- Do not mark the '(' and ')' operators as binary. I don't know what they are,
but they are not binary.
2014-11-09 16:12:47 -05:00
Paul Beckingham
d7378d830f
Eval
...
- Implemented ::getBinaryOperators.
2014-11-09 15:18:04 -05:00
Paul Beckingham
959df159fa
Eval
...
- Code cleanup.
2014-10-23 22:42:21 -04:00
Paul Beckingham
8905dd1c32
Eval
...
- The operator classifier failed to include '!=='.
2014-10-13 21:39:51 -04:00
Paul Beckingham
9e0ea1cb4a
Eval
...
- Better error message for malformed expressions, ie when a binary operator
expects two values, and sees less then two or when a unary operator sees
less than one.
2014-09-27 17:08:26 -04:00
Paul Beckingham
071cf55c00
Unit Tests
...
- Added a default 'hooks=off' to the basetest class, after it was discovered
that the scan for runnable hooks takes non-trivial time.
2014-09-27 16:49:06 -04:00
Paul Beckingham
a77e50b441
Eval
...
- Converted from std::cout to Context::debug. This is in preparation for
supporting multiple debug levels.
2014-08-31 10:20:18 -04:00
Paul Beckingham
70156d3c3d
L10N
...
- Localized Eval.
2014-07-04 17:40:11 -04:00
Paul Beckingham
d54afc844c
Eval
...
- Improved formatting for diagnostics.
2014-06-28 12:40:27 -04:00
Paul Beckingham
0c4c665653
Eval
...
- Diagnostics now represent correct stack size.
2014-06-28 12:35:43 -04:00
Paul Beckingham
80c8daff08
Eval
...
- Removed Eval diagnostics that dispalyed the wrong type.
2014-06-28 12:33:22 -04:00
Paul Beckingham
f72aa7b02c
Eval
...
- Updated Eval runtime diagnostics, so that all stack I/O is shown during
evaluation.
2014-06-24 22:15:59 -04:00
Paul Beckingham
b7d668fb7d
Eval
...
- Raises an exception if an expression evaluation yields an unexpected
stack size at the end. This indicates that an expression like 'one two'
was evaluated. Note that string field updates require evaluation, but
this case occurs frequently.
2014-06-15 09:32:17 -04:00
Paul Beckingham
9318dced5a
Eval
...
- Eval maps '!==' to Variant::operator!=, '!=' to Variant::operator_nopartial,
'==' to Variant::operator== and '=' to Variant::operator_partial.
2014-06-14 15:59:31 -04:00
Paul Beckingham
05d4ac16a3
Eval
...
- Now prints the evaluated form, instead of the input form in debug mode, after
successful source lookup.
2014-06-09 18:01:45 -04:00
Paul Beckingham
512fe2f6c7
Variant
...
- ::operator_match and ::operator_nomatch now take a 'const Task&' argument to
use for description/annotation matching.
- Updated unit tests.
2014-06-03 01:27:02 -04:00
Paul Beckingham
ca6940ba2e
Variant
...
::operator_hastag now uses contextTask for resolution.
2014-06-03 01:10:58 -04:00
Paul Beckingham
e88ccee1e6
Eval
...
- Added the new Variant::operator_hastag and Variant::operator_notag operators
to the expression evaluator. All operators now implemented, at least in
stubbed form.
2014-05-26 21:05:38 -04:00
Paul Beckingham
70620366c4
Eval
...
- Filter token diagnostics are color coded.
2014-05-26 12:55:22 -04:00
Paul Beckingham
bba0b75a3b
Eval
...
- Cleaned up debug FILTER diagnostics.
2014-05-26 12:16:44 -04:00
Paul Beckingham
949063102a
Diagnostics
...
- Further removal of diagnostic output.
2014-05-25 14:59:09 -04:00
Paul Beckingham
4a4cdd6324
Eval
...
- Removed more diagnostics.
2014-05-25 14:30:02 -04:00
Paul Beckingham
d62c4428a9
Eval
...
- Removed exception handlers in ::infixParse, thereby relying on the caller to
set up appropriate handling.
2014-05-25 14:26:20 -04:00
Paul Beckingham
d79c86ebb5
Eval
...
- ::dump method now colorizeѕ tokens according to a map.
2014-05-25 14:22:19 -04:00
Paul Beckingham
fee493bcc0
Eval
...
- Removed std::cout diagnostics, stubbed the A3::dump replacement.
2014-05-25 14:11:55 -04:00
Paul Beckingham
6b2a71770d
Code Cleanup
...
- Removed unnecessary diagnostics.
2014-05-25 13:48:26 -04:00
Paul Beckingham
cdf9f3c04e
Eval
...
- Protection against array overrun.
- Typo in diagnostic output.
2014-05-23 15:49:15 -04:00
Paul Beckingham
42f3419bd3
Eval
...
- Added range checking to the while loop for the parser, to prevent
runnig over, which caused some of the problems with segfaults on
Debian & Ubuntu.
2014-05-22 22:52:23 -04:00
Paul Beckingham
d9e1607f05
Eval
...
- Attempts named source resolution as part of primitive parsing.
2014-05-19 22:06:58 -04:00
Paul Beckingham
592b3bdcb9
Eval
...
- Connected operator '=' to Variant::operator_partial.
2014-05-19 20:13:35 -04:00
Paul Beckingham
468e02c73b
Eval
...
- Marked the partial match operator as needing special consideration for
proejct and UUID.
2014-05-12 00:17:36 -04:00
Paul Beckingham
a97ce45cdf
Eval
...
- Debug mode can now be disabled.
2014-05-11 10:15:10 -04:00
Paul Beckingham
fcb039f801
Eval
...
- Labeled the (now differentiated) = and == operators.
2014-05-02 23:09:00 -04:00
Paul Beckingham
e3a1789b3f
Eval
...
- Added support for compiled expressions that are compiled once and
evaluated multiple times in different contexts.
2014-04-27 10:07:11 -07:00
Paul Beckingham
bf30fb3085
Eval
...
- Added Eval::getOperators to expose suported operator symbols.
2014-04-16 00:38:43 -04:00
Paul Beckingham
05c90b1779
Bug
...
- Fixed bug in named entity lookup.
- Removed obsolete failing test.
2014-04-12 12:28:48 -04:00
Paul Beckingham
25b8082fbd
Diagnostics
...
- Added diagnostic token dump to 'calc' in debug mode, after token substitution
so the new tokens can be seen.
- Added unit tests to look for parser syntax errors.
- Added test for '2--3'.
2014-04-06 23:57:15 -04:00