Sebastian Schmidt
0c5d032b37
Merge remote-tracking branch 'origin/master'
2019-08-29 08:57:07 +03:00
Sebastian Schmidt
e6c19077b6
Implement value decomposition API
...
* Removed expect_... methods and replaced them with .as_...() methods. This removes the need to import the free-standing methods every time and makes the code cleaner.
* Changed all the examples appropriately.
Implements #53
2019-08-29 08:56:49 +03:00
Atul Bhosale
311c70a823
Update crate for Rust 2018 using 'cargo fix --edition'
2019-06-06 23:23:30 +05:30
Sebastian Schmidt
502ec0adce
Format code
2019-05-04 13:54:19 +02:00
Sebastian Schmidt
f6c2ef2fb6
Remove automatic function argument decomposition
...
Relates to #52
2019-05-04 13:43:29 +02:00
Sebastian Schmidt
6c078c49e5
Refactor operators into an enum
...
(This commit is not formatted properly)
Relates to #46
2019-04-14 16:54:35 +02:00
Quest
dbf3949af6
Namespace string builtins into "str::".
2019-04-12 23:45:29 +02:00
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
Sebastian Schmidt
17bedddb11
Add serde support for HashMapContext
...
Relates to #33
2019-03-28 15:40:02 +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
0acbcd8958
Format code
2019-03-28 08:44:04 +01:00
Sebastian Schmidt
d77fa15864
Use EvalexprResult<T>
everywhere
...
Relates to #31
2019-03-27 19:09:58 +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
fd879193b6
Rename Error to EvalexprError and add EvalexprResult
...
Relates to #27
2019-03-27 16:33:46 +01:00
Sebastian Schmidt
38c4c35a0b
Document all remaining public members
...
Implements #6
2019-03-20 11:32:55 +02:00
Sebastian Schmidt
92da684c69
Implement min and max builtin functions
...
Implement #8 , partially implement #1
2019-03-19 20:08:23 +02:00
Sebastian Schmidt
fd3243e555
Implement functions with arbitrary argument amount
...
Implements #7
2019-03-19 18:58:53 +02:00
Sebastian Schmidt
c631171ff0
Add comma operator and display implementations
...
+ Add comma token
+ Add tuple operator
+ Add tuple value type
+ Implement display for `tree::Node` and all related types
+ Add support for right-to-left chaining of operators with same precedence
The priority of chaining of operators with the same precedence remains left-to-right.
Only if two consecutive operators with the same precedence are right-to-left, they will be ordered right-to-left.
Implements #4 .
2019-03-19 18:24:36 +02:00
Sebastian Schmidt
dc8c818789
Move function module to folder to match module style of this repo
2019-03-19 12:29:03 +02:00
Sebastian Schmidt
b38c102c1d
Complete rewrite of crate. Simple tokenizer and treeifyer (Or however the compiler people call these.).
2019-03-15 17:14:27 +02:00
fengcen
3c19414593
format code.
2016-11-17 23:53:17 +08:00
fengcen
1d84eea270
init repository.
2016-11-17 00:12:26 +08:00