Sebastian Schmidt
697fbb5d45
Implement iterators over variable and function identifiers
...
Relates to #37
2019-04-13 20:16:05 +02:00
Sebastian Schmidt
eb5c6e99bd
Add flattening of operator chains when building operator tree
...
Relates to #44
2019-04-13 20:07:16 +02:00
Sebastian Schmidt
1721e163b0
Make Operator::max_argument_amount
optional
...
Relates to #44
2019-04-13 20:06:57 +02:00
Sebastian Schmidt
1c68866777
Sync readme
2019-04-13 18:27:59 +02:00
Sebastian Schmidt
0af5e3ed32
Update changelog
2019-04-13 18:27:53 +02:00
Sebastian Schmidt
83386c03d3
Improve documentation of builtin functions
...
Relates to #38
2019-04-13 18:12:33 +02:00
ISibboI
2f7d1c2dfe
Merge pull request #38 from bittrance/string-operators
...
String operators and builtin functions
2019-04-13 18:02:24 +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
f6c8689303
fixup! Builtin string functions - downcase, len, match(regex), replace(regex), trim, upcase. New dependency regex.
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
e328adb97b
Implement Node::iter_identifiers()
...
This commit implements an iterator over the identifiers in an expression.
The identifiers are iterated pre-order, meaning that higher nodes in the tree are emitted first.
The identifier iterator is based on a general iterator over all nodes in an operator tree, which can be used for further featues.
Relates to #37
2019-04-12 19:27:34 +02:00
Sebastian Schmidt
7545d1f31e
Fix ExpectedNumber
error message
...
Relates to #40
2019-04-12 18:48:27 +02:00
Sebastian Schmidt
c2cbc0b941
Add Cargo.lock to repository
2019-04-12 18:47:05 +02:00
Sebastian Schmidt
15313f7341
Update target release
2019-04-12 18:45:46 +02:00
Quest
a9c45307dd
Support addition and comparison of strings.
2019-04-05 23:07:54 +02:00
Sebastian Schmidt
725472ef96
(cargo-release) start next development iteration 4.1.0
2019-03-31 15:47:23 +02:00
Sebastian Schmidt
62cd548f3c
(cargo-release) version 4.1.0
2019-03-31 15:47:10 +02:00
Sebastian Schmidt
3dd6892a80
Prepare 4.1.0 release
2019-03-31 15:46:58 +02:00
Sebastian Schmidt
2caf000584
Export expect_function_argument_amount
2019-03-31 15:46:22 +02:00
Sebastian Schmidt
05c032fcba
(cargo-release) start next development iteration 4.0.0
2019-03-30 11:58:22 +01:00
Sebastian Schmidt
16aecd0925
(cargo-release) version 4.0.0
2019-03-30 11:55:27 +01:00
Sebastian Schmidt
1bcbe8cede
Set next release goal to 4.0.0
2019-03-30 11:54:56 +01: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
e19770b517
(cargo-release) start next development iteration 3.1.0
2019-03-28 16:30:46 +01:00
Sebastian Schmidt
b4b53d0af0
(cargo-release) version 3.1.0
2019-03-28 16:30:41 +01:00
Sebastian Schmidt
c0906bbf2d
(cargo-release) version 3.1.0-rc.2
2019-03-28 15:44:45 +01:00
Sebastian Schmidt
c63206fa17
Add derive(Default)
to HashMapContext
2019-03-28 15:44:25 +01:00
Sebastian Schmidt
e8578bf175
(cargo-release) version 3.1.0-rc.1
2019-03-28 15:42:18 +01:00
Sebastian Schmidt
862963d447
Prepare 3.1.0 release
2019-03-28 15:42:11 +01:00
Sebastian Schmidt
17bedddb11
Add serde support for HashMapContext
...
Relates to #33
2019-03-28 15:40:02 +01:00
Sebastian Schmidt
0cd6acfeb6
(cargo-release) start next development iteration 3.0.0
2019-03-28 15:04:01 +01:00
Sebastian Schmidt
c77629bfac
(cargo-release) version 3.0.0
2019-03-28 15:03:56 +01:00
Sebastian Schmidt
606c358cc9
Make operator table one-columned
2019-03-28 15:01:20 +01:00
Sebastian Schmidt
6f384d6a6b
(cargo-release) version 3.0.0-rc.2
2019-03-28 14:51:39 +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
dd19870c44
(cargo-release) version 3.0.0-rc.1
2019-03-28 12:10:19 +01:00
Sebastian Schmidt
aeb584edca
Add quickstart documentation with chain and assign features
2019-03-28 12:09:46 +01:00
Sebastian Schmidt
9faf781623
Update change log
2019-03-28 11:55:27 +01:00
Sebastian Schmidt
44152533c3
Set release target to major
2019-03-28 11:49:06 +01:00
Sebastian Schmidt
ab49531306
Document chain operator
...
Relates to #26
2019-03-28 11:46:56 +01:00
Sebastian Schmidt
9d27969eac
Implement and test chain operator
...
Relates to #26
2019-03-28 11:34:54 +01:00
Sebastian Schmidt
4838a21a57
Add default implementation for Operator::is_left_to_right
2019-03-28 11:14:55 +01:00
Sebastian Schmidt
83269068a2
Add the assignment operator
...
Relates to #25
2019-03-28 11:12:47 +01:00
Sebastian Schmidt
13420ed745
Document the empty type
...
Relates to #28
2019-03-28 10:38:16 +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
a7b5f602d5
Do not require expressions to have content
...
* Make parser return implicit toplevel node
* Make `RootNode` return `Value::Empty` if it has no arguments instead of failing
Relates to #28
2019-03-28 10:10:16 +01:00
Sebastian Schmidt
88ab1e1987
Add Value::Empty
and ValueType::Empty
...
Relates to #28
2019-03-28 09:56:44 +01:00