Commit Graph

30 Commits

Author SHA1 Message Date
Sebastian Schmidt
67d68cd974 Add string constants
* Implement string parsing in tokenizer
 * Implement escape sequences `\"` and `\\`
 * Document changes
 * Update change log

Relates to #35
2019-03-30 11:54:26 +01:00
Sebastian Schmidt
c63206fa17 Add derive(Default) to HashMapContext 2019-03-28 15:44:25 +01:00
Sebastian Schmidt
862963d447 Prepare 3.1.0 release 2019-03-28 15:42:11 +01:00
Sebastian Schmidt
e56afad25f Add release name to change log and prepare for next release 2019-03-28 12:12:00 +01:00
Sebastian Schmidt
9faf781623 Update change log 2019-03-28 11:55:27 +01:00
Sebastian Schmidt
e266f4fc0d Merge ContextMut with Context and add eval_<type>_with_context_mut methods
Trait objects of `ContextMut` cannot be converted into `Context`, even though `ContextMut` requires `Context`.

Relates to #30
2019-03-28 09:22:48 +01:00
Sebastian Schmidt
451a3aa97e Fix release date of 2.0.0 in change log 2019-03-28 08:48:18 +01:00
Sebastian Schmidt
5bd514041b Add release note 2019-03-27 19:27:44 +01:00
Sebastian Schmidt
6f31d69d7d Prepare 2.0.0 release 2019-03-27 19:14:24 +01:00
Sebastian Schmidt
d5544cdbf2 Add eval_number[_with_context] crate methods
Relates to #20
2019-03-27 18:59:06 +01:00
Sebastian Schmidt
720b2f90c2 Add Node::eval_number[_with_context] methods
Relates to #20
2019-03-27 18:55:51 +01:00
Sebastian Schmidt
7d0abc8406 Rename as_float to as_number and add strict as_float
Relates to #20
2019-03-27 18:49:02 +01:00
Sebastian Schmidt
1574514220 Add forgotten changes to change log 2019-03-27 18:19:05 +01:00
Sebastian Schmidt
9283d5412f Rename Context to ContextMut and Configuration to Context
Get rid of two different words for the same concept.

Relates to #22
2019-03-27 18:09:33 +01:00
Sebastian Schmidt
b65127c2cb Add Context trait
* Rename `HashMapConfiguration` to `HashMapContext`
 * Rename `EmptyConfiguration` to `EmptyContext`
 * Implement `Context` for both predefined contexts
 * Add the `ContextNotManipulable` error variant
 * Add function `EvalexprError::expected_type` to emit a specific type error when a type is expected dynamically within a context
 * Update tests and doctests
 * Add ValueType enum to aid dynamic typing

Relates to #22
2019-03-27 17:53:01 +01:00
Sebastian Schmidt
d64aacea17 Update changelog 2019-03-27 16:19:56 +01:00
Sebastian Schmidt
a33c91813b Prepare changelog for next development iteration 2019-03-23 16:17:09 +02:00
Sebastian Schmidt
6e5d8e6d75 Prepare change log for release 2019-03-23 16:15:48 +02:00
Sebastian Schmidt
1a733ccf63 Log addition of custom error type in change log 2019-03-23 15:30:54 +02:00
Sebastian Schmidt
a7ca4c717d Implement, test and document serde Deserialize for expressions
Relates to #18
2019-03-23 15:20:43 +02:00
Sebastian Schmidt
5e491f6771 Add serde feature
Relates to #18
2019-03-23 12:46:52 +02:00
Sebastian Schmidt
348578ca9f Add missing unreleased section header to changelog 2019-03-21 12:45:58 +02:00
Sebastian Schmidt
3a816fa7e7 Add highlighting to readme 2019-03-21 09:40:50 +02:00
Sebastian Schmidt
ef24c068fd Prepare changelog for release 2019-03-20 17:43:06 +02:00
Sebastian Schmidt
e4f12da24e Organize change log and complete it for #15 2019-03-20 17:09:16 +02:00
Sebastian Schmidt
e337520805 Introduce TupleType type alias for representing tuples 2019-03-20 16:40:57 +02:00
Sebastian Schmidt
2dac0576a7 Add shortcut functions for evaluating directly into a value type
+ Added shortcut functions `eval_[type]` and `eval_[type]_with_configuration` for each value type
 + Added integration tests for the above

 Partially implements #15
2019-03-20 16:29:50 +02:00
Sebastian Schmidt
5549f1bba5 Make internal value type aliases for float and int public 2019-03-20 16:18:52 +02:00
Sebastian Schmidt
36a65c470b Refactor lib.rs
* Move tests into integration test folder
 * Move crate methods into interface module
2019-03-20 15:48:05 +02:00
Sebastian Schmidt
3bcb9b2770 Add initial change log 2019-03-20 15:37:07 +02:00