Sebastian Schmidt
a4d1a34a0c
Implement Display and std::error::Error for Error
...
Relates to #19
2019-03-23 14:27:44 +02:00
Sebastian Schmidt
16bde54aa5
Implement display for Token and PartialToken
...
Relates to #19
2019-03-23 14:22:50 +02:00
Sebastian Schmidt
5e491f6771
Add serde feature
...
Relates to #18
2019-03-23 12:46:52 +02:00
Sebastian Schmidt
3a816fa7e7
Add highlighting to readme
2019-03-21 09:40:50 +02:00
Sebastian Schmidt
1375134e9f
Document operations on values
...
Relates to #16
2019-03-20 17:30:37 +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
c980e49014
Add shortcut functions to evaluate Node
into value types
...
+ Add functions `Node::eval_[type]` and `Node::eval_[type]_with_configuration` to evaluate a node directly into a value type
Partially implements #15
2019-03-20 16:57:21 +02:00
Sebastian Schmidt
e337520805
Introduce TupleType type alias for representing tuples
2019-03-20 16:40:57 +02:00
Sebastian Schmidt
98ca788910
Reword documentation of shortcut methods to be more direct
...
Changed `expecting a type` to `into a type` to be more clear that the function actually returns a result of the respecting type.
Related to #15
2019-03-20 16:34:23 +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
4177ae7e77
Prepare 1.0.0 release
2019-03-20 15:04:59 +02:00
Sebastian Schmidt
6f17e481aa
Ensure no-panic for operators
...
Partially implements #11
2019-03-20 12:52:11 +02:00
Sebastian Schmidt
58e8603194
Rename Node::eval
to Node::eval_with_configuration
for consistency.
...
* Rename `Node::eval` to `Node::eval_with_configuration`
+ Add `Node::eval` that calls `Node::eval_with_configuration` with an `EmptyConfiguration`
+ Improve documentation of `Node` and the changed methods
Implements #5
2019-03-20 11:58:08 +02:00
Sebastian Schmidt
e387d3370b
Fix a typo
2019-03-20 11:50:09 +02:00
Sebastian Schmidt
1ae674a693
Replace TypeError with more detailed errors
...
Implements #9
2019-03-20 11:42:17 +02:00
Sebastian Schmidt
38c4c35a0b
Document all remaining public members
...
Implements #6
2019-03-20 11:32:55 +02:00
Sebastian Schmidt
cdcd24e7b6
Document value type
...
Implements #6 partially
2019-03-19 20:31:03 +02:00
Sebastian Schmidt
6fe5a8cdef
Document toplevel functions
...
Implements #6
2019-03-19 20:24:11 +02:00
Sebastian Schmidt
4a32062089
Warn for missing docs
2019-03-19 20:13:04 +02:00
Sebastian Schmidt
827c7440be
Format code and sync readme
2019-03-19 20:12:30 +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
bcfce4aaec
Add trailing commas to match arm blocks
2019-03-19 19:06:37 +02:00
Sebastian Schmidt
f0ab317961
Test functions with arbitrary argument amount
...
Implements #7
2019-03-19 19:05:21 +02:00
Sebastian Schmidt
fd3243e555
Implement functions with arbitrary argument amount
...
Implements #7
2019-03-19 18:58:53 +02:00
Sebastian Schmidt
8e898044c0
Document the aggregation operator
...
Documents #4
2019-03-19 18:49:59 +02:00
Sebastian Schmidt
55e8b51228
Add exponentiation operator
...
+ Add hat token
+ Add exponentiation operator
+ Document exponentiation operator
+ Test exponentiation operator
Implements #3
2019-03-19 18:42:50 +02:00
Sebastian Schmidt
93e8d867b4
Add exponentation operator
...
+ Add hat token
+ Add exponentation operator
Implements #3
2019-03-19 18:32:10 +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
265b1214b0
Improve documentation about precedence and operators and README introduction
2019-03-19 16:47:17 +02:00
Sebastian Schmidt
c58d5dcda5
Test if functions can actually be called with multiple arguments
2019-03-19 12:47:01 +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
7896253fb9
Complete reimplementation
2019-03-19 12:27:43 +02:00
Sebastian Schmidt
ed73f779e9
Add explanation about functions and precedences
2019-03-19 12:22:06 +02:00
Sebastian Schmidt
2b9d50909e
Add quickstart guide and detailed explanation of features
2019-03-19 12:01:06 +02:00
Sebastian Schmidt
a51680da08
Add precedences to operators in docs
2019-03-19 11:03:34 +02:00
Sebastian Schmidt
33d26aceb0
Check how github renders readme
2019-03-19 10:43:52 +02:00
Sebastian Schmidt
79d8084baa
Add proper documentation
2019-03-18 19:51:20 +02:00
Sebastian Schmidt
d2336cb59d
Implement function to build operator tree
2019-03-18 19:25:43 +02:00
Sebastian Schmidt
879f1fcd22
Evaluate arbitrary functions
2019-03-18 19:22:44 +02:00
Sebastian Schmidt
22d0d2c3d0
Format code and specify exports
2019-03-18 18:02:45 +02:00
Sebastian Schmidt
b3a616c39a
Working on implementing functions
2019-03-15 20:26:25 +02:00
Sebastian Schmidt
3351d19db3
Tested configuration
2019-03-15 19:46:00 +02:00
Sebastian Schmidt
b1abbd6cfd
Implemented configuration
2019-03-15 19:29:36 +02:00
Sebastian Schmidt
406bfe0e05
rustfmt
2019-03-15 19:22:14 +02:00
Sebastian Schmidt
bb74bee382
Implemented boolean expressions
2019-03-15 19:19:59 +02:00
Sebastian Schmidt
a1ba054609
Implemented mod and replaced Braced with RootNode
2019-03-15 18:34:40 +02:00
Sebastian Schmidt
1bc2909c1b
Implemented and tested braces
2019-03-15 18:27:10 +02:00
Sebastian Schmidt
879fc4fe3d
Tested separate int and float types
2019-03-15 17:43:26 +02:00
Sebastian Schmidt
0ee4946eaf
Implemented separate int and float types
2019-03-15 17:40:38 +02:00
Sebastian Schmidt
22490f5036
Tested arithmetic precedence
2019-03-15 17:24:45 +02:00
Sebastian Schmidt
3975a17f0b
Fixed warnings and removed unused dependencies.
2019-03-15 17:21:34 +02:00
Sebastian Schmidt
045313f076
More test cases
2019-03-15 17:18:20 +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
Sebastian Schmidt
c313ec8ce5
Deciding to try a reboot
2019-03-15 13:42:18 +02:00
Sebastian Schmidt
f3d6c2b7ed
Updated readme
2019-03-15 13:12:18 +02:00
Sebastian Schmidt
1e5e9a3ae9
Added converge builtin function
2019-03-15 12:04:01 +02:00
fengcen
0c4413836d
fix #2
2018-08-24 09:09:55 +08:00
fengcen
daf3f5bd4a
allow null to compare
2017-12-07 07:24:12 +08:00
fengcen
ce671d0f0a
update serde to version 0.9, bump version 0.4.0
2017-02-13 08:26:47 +08:00
fengcen
ed7398ca30
fix bench.
2016-11-22 08:32:04 +08:00
fengcen
c2e3401c74
fix compile in stable.
2016-11-22 07:51:18 +08:00
fengcen
3cb3197f6f
add .
and []
support.
2016-11-21 09:14:40 +08:00
fengcen
032e57df43
add Expr builder. add ExecOptions. add len()
2016-11-20 16:04:06 +08:00
fengcen
fa9c6a4430
change readme.
2016-11-18 12:03:03 +08:00
fengcen
3c19414593
format code.
2016-11-17 23:53:17 +08:00
fengcen
3729348632
remove redundant code.
2016-11-17 08:35:02 +08:00
fengcen
638b0d8af2
update document link. rename error.
2016-11-17 00:28:54 +08:00
fengcen
1d84eea270
init repository.
2016-11-17 00:12:26 +08:00