Quest
d72334c246
Rename builtin upcase,downcase -> to_uppercase, to_lowercase.
2019-04-12 23:45:29 +02:00
Quest
7c6b6d4319
Rename matches,replace -> regex_{matches,replace}.
...
Also simplify their error handling.
2019-04-12 23:45:29 +02:00
Quest
be54931f76
Builtin string functions - downcase, len, match(regex), replace(regex), trim, upcase. New dependency regex.
2019-04-12 23:35:33 +02:00
Quest
a9c45307dd
Support addition and comparison of strings.
2019-04-05 23:07:54 +02:00
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
9d27969eac
Implement and test chain operator
...
Relates to #26
2019-03-28 11:34:54 +01:00
Sebastian Schmidt
83269068a2
Add the assignment operator
...
Relates to #25
2019-03-28 11:12:47 +01:00
Sebastian Schmidt
5bc4bcb702
Add crate level shortcut evaluations for Value::Empty
...
Relates to #28
2019-03-28 10:32:42 +01:00
Sebastian Schmidt
7d36ebe8df
Add Node
shortcut evaluations for Value::Empty
...
Relates to #28
2019-03-28 10:26:49 +01:00
Sebastian Schmidt
3c108d5960
Add crate shortcut methods to eval with context mut
...
Relates to #30
2019-03-28 09:48:12 +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
0acbcd8958
Format code
2019-03-28 08:44:04 +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
b18521b8aa
Format code
2019-03-27 18:35:16 +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
3da6019dae
Add Context
trait
...
* Rename `HashMapConfiguration` to `HashMapContext`
* Rename `EmptyConfiguration` to `EmptyContext`
* Implement `Context` for both predefined contexts
* Update tests and doctests
Relates to #22
2019-03-27 17:45:06 +01:00
Sebastian Schmidt
fd879193b6
Rename Error to EvalexprError and add EvalexprResult
...
Relates to #27
2019-03-27 16:33:46 +01: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
d3deef1f53
Provide more methods for value conversions
...
+ Provide is_[type] for each value type
+ Provide as_[type] for each value type
Related to #16
2019-03-20 17:30:14 +02:00
Sebastian Schmidt
d4359d71bf
Document the shortcut functions for direct evaluation into types
...
Related to #15
2019-03-20 17:06:47 +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
36a65c470b
Refactor lib.rs
...
* Move tests into integration test folder
* Move crate methods into interface module
2019-03-20 15:48:05 +02:00