Commit Graph

32 Commits

Author SHA1 Message Date
Sebastian Schmidt
4e5e218d3e Fix #94.
Introduce a new error type for illegal parenthese expressions such as `4(5)`.
2022-01-13 14:50:38 +02:00
Sebastian Schmidt
094c2d59dc Format code. 2021-07-21 13:39:19 +03:00
Dennis Marttinen
fbbecc766f
Add support for scientific notation of the form <coefficient>e{+,-,}<exponent> 2021-07-20 20:34:51 +03:00
Sebastian Schmidt
e80fd20804 Increase test coverage and fix wrong error in shortcut method. 2021-07-13 14:28:25 +03:00
Sebastian Schmidt
9103aa7a26 Make more functions const. 2021-07-13 13:55:22 +03:00
Sebastian Schmidt
8b493be1dd Increase test coverage.
Implement more tests and exclude modules from test that do not make sense to be tested.
2021-07-13 13:41:16 +03:00
Sebastian Schmidt
7ebf7e61d5 Increase test coverage.
Implement more tests and exclude modules from test that do not make sense to be tested.
2021-07-13 13:39:47 +03:00
Sebastian Schmidt
bd9a314baa Increase test coverage. 2021-06-22 11:41:51 +02:00
Sebastian Schmidt
6e5ff8615a Fix lints and benches. 2021-05-28 09:07:26 +03:00
Sebastian Schmidt
43e0256550 Fix != was wrongfully parsed as Token::Eq
Fixes #68
2019-08-30 12:48:00 +03:00
Sebastian Schmidt
b7233a3337 Implement operator assignments
Implements #34
2019-08-29 13:10:12 +03:00
Sebastian Schmidt
2399df16a1 Run rustfmt 2019-08-29 10:02:05 +03:00
Atul Bhosale
311c70a823
Update crate for Rust 2018 using 'cargo fix --edition' 2019-06-06 23:23:30 +05:30
Sebastian Schmidt
21b308f3ae Format code 2019-04-26 17:37:59 +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
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
d77fa15864 Use EvalexprResult<T> everywhere
Relates to #31
2019-03-27 19:09:58 +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
16bde54aa5 Implement display for Token and PartialToken
Relates to #19
2019-03-23 14:22:50 +02:00
Sebastian Schmidt
38c4c35a0b Document all remaining public members
Implements #6
2019-03-20 11:32:55 +02:00
Sebastian Schmidt
bcfce4aaec Add trailing commas to match arm blocks 2019-03-19 19:06:37 +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
879f1fcd22 Evaluate arbitrary functions 2019-03-18 19:22:44 +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
0ee4946eaf Implemented separate int and float types 2019-03-15 17:40:38 +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