Commit Graph

198 Commits

Author SHA1 Message Date
Stephen Chung
3f2dd23e6e Allow #[cfg(...)] in plugin functions. 2021-10-20 15:30:11 +08:00
Stephen Chung
c8e7c970d1 Add variants of Array methods taking FnPtr with function names. 2021-10-20 11:06:38 +08:00
Stephen Chung
3001e90775 Deprecate From<EvalAltResult> for Result<T, Box<EvalAltResult>> because it is clearer for code to explicitly wrap errors in Err. 2021-10-19 23:52:58 +08:00
Stephen Chung
6d31bb0d19 Do not inline error path functions. 2021-10-19 20:16:36 +08:00
Stephen Chung
2334cd8f56 Avoid cloning in array methods as much as possible. 2021-10-19 19:57:15 +08:00
Stephen Chung
6177a291e2 Bump version. 2021-10-11 17:57:11 +08:00
Stephen Chung
c768ef4ca9 Bump version. 2021-10-11 17:56:22 +08:00
Stephen Chung
504e695956 Turn on smartstring/serde with metadata. 2021-09-28 19:19:17 +08:00
Stephen Chung
87d48948f9 Merge branch 'bug-fixes' 2021-09-28 16:55:33 +08:00
Stephen Chung
0cde18d3b5 Bump version. 2021-09-28 16:51:23 +08:00
Stephen Chung
85dcd6e754 Fix bug with changing property of value obtained via index getter. 2021-09-28 15:59:46 +08:00
Stephen Chung
e963a7251c Check if empty string came from global instance. 2021-09-27 11:09:19 +08:00
Stephen Chung
fe47058add Merge branch 'bug-fixes' 2021-09-27 10:34:46 +08:00
Stephen Chung
6df2178460 Assume property getters are pure. 2021-09-27 10:34:24 +08:00
Stephen Chung
a130960627 Fix empty strings. 2021-09-26 21:25:29 +08:00
Stephen Chung
d791052d5c Add Engine::on_parse_token. 2021-09-24 18:00:48 +08:00
Stephen Chung
cd8af67842 Merge branch 'bug-fixes' 2021-09-24 09:27:45 +08:00
Stephen Chung
d9dca6ef98 Expore more internal data structures. 2021-09-24 09:26:35 +08:00
Stephen Chung
6e7fbfa66f Add pop to string. 2021-09-20 16:25:23 +08:00
Stephen Chung
71e8cf727d Use LazyCompact for SmartString. 2021-09-20 11:34:01 +08:00
Stephen Chung
e191f9d91e Merge branch 'bug-fixes' 2021-09-19 22:34:47 +08:00
Stephen Chung
caf3c7e698 Bump version. 2021-09-19 22:31:50 +08:00
Stephen Chung
5163fb0a33 Upgrade to rust-decimal 1.16 and add sin/cos/tan. 2021-09-15 10:41:35 +08:00
Stephen Chung
c231646197 Add sign function fixes. 2021-09-15 10:31:46 +08:00
Stephen Chung
6510b617fe Reduce usage of Default::default() 2021-09-11 19:40:40 +08:00
Stephen Chung
84be799403 Change StaticVec to 3 inline elements. 2021-09-10 20:25:22 +08:00
Stephen Chung
43de522568 Use option flags for certain AST nodes. 2021-09-10 20:23:59 +08:00
Stephen Chung
5ac33ce64d Do not export FloatWrapper under no_float. 2021-09-04 18:43:18 +08:00
Stephen Chung
791808d7d7 Categorize enhancements. 2021-09-03 21:01:07 +08:00
Stephen Chung
6a2c9f0293 Add ASTNode::position(). 2021-09-03 20:47:45 +08:00
Stephen Chung
cbe08fb64e Merge branch 'bug-fixes' 2021-09-03 10:19:58 +08:00
Stephen Chung
71711998f1 Fix bug in catch error variable. 2021-09-03 10:05:58 +08:00
Stephen Chung
65fbfe36e7 Merge branch 'bug-fixes' 2021-09-02 22:49:17 +08:00
Stephen Chung
457be797a2 Fixed bug in using error variable within catch block. 2021-09-02 22:17:45 +08:00
Stephen Chung
db3049e574 Engine::register_type_XXX available under no_object. 2021-08-23 23:10:54 +08:00
Stephen Chung
58352e00bd Prevent spill-over of new variables in Engine::call_fn. 2021-08-17 23:24:41 +08:00
Stephen Chung
9c6cea3c9f Add Scope::set_or_push. 2021-08-17 15:51:14 +08:00
Stephen Chung
0354f154ce Add Scope::is_constant. 2021-08-17 15:51:14 +08:00
Stephen Chung
114c93f430 Fix bug in custom syntax starting with disabled stardard keyword. 2021-08-17 15:51:14 +08:00
Stephen Chung
288d575046 Add log10 for Decimal. 2021-08-17 15:50:56 +08:00
Stephen Chung
180ad77224 Change Engine::consume_XXX to Engine::run_XXX. 2021-08-17 15:50:56 +08:00
Stephen Chung
e0125a1033 Allow self-terminating custom syntax. 2021-08-17 15:50:56 +08:00
Stephen Chung
3127f9a8af Add new constant from functions for Dynamic. 2021-08-17 15:50:56 +08:00
Stephen Chung
ffb1531e0e New constants for Dynamic. 2021-08-17 15:50:56 +08:00
Stephen Chung
94674679d9 Rename as_string and as_immutable_string. 2021-08-17 15:50:55 +08:00
Stephen Chung
b21deaf052 Support $symbol$ in custom syntax. 2021-08-17 15:50:55 +08:00
Stephen Chung
e0cae4546c Polyfiill some functions for decimal+no_float. 2021-08-17 15:50:54 +08:00
Stephen Chung
73c0ba4ec5 Add to CHANGELOG. 2021-08-17 15:46:21 +08:00
Stephen Chung
4807fdf1cf Loops cannot be pure. 2021-08-04 17:37:56 +08:00
Stephen Chung
b8485b1909 Fix bug in indexing. 2021-07-24 12:27:33 +08:00
Stephen Chung
9cb7610cc5 Unreserve begin, end, then, each, unless 2021-07-06 09:51:29 +08:00
Stephen Chung
b4da054bab Catch more parse errors. 2021-07-04 00:15:27 +08:00
Stephen Chung
f3541bae19 Update SmartString to work for no-std. 2021-07-01 18:44:01 +08:00
Stephen Chung
8c802dcd58 Fix optimizer bug. 2021-07-01 12:27:29 +08:00
Stephen Chung
f033896fec Add From<BTreeSet> and From<HashSet> for Dynamic. 2021-06-30 11:08:29 +08:00
Stephen Chung
0888738b75 Change AST::clone_source to AST::source_raw. 2021-06-28 13:53:30 +08:00
Stephen Chung
7196b017f5 Add is_odd, is_even and is_zero. 2021-06-27 22:10:52 +08:00
Stephen Chung
83297ffa00 Bump version to 1.0. 2021-06-24 11:50:03 +08:00
Stephen Chung
ba0cf80314 Prepare for 0.20.3 release. 2021-06-22 22:32:50 +08:00
Stephen Chung
4093727dcb New string functions. 2021-06-17 13:31:58 +08:00
Stephen Chung
40e33fa6f9 Add to_hex, to_octal and to_binary. 2021-06-16 23:49:18 +08:00
Stephen Chung
f9dcfeb1ad Check data size after assignments. 2021-06-11 19:59:50 +08:00
Stephen Chung
79d9977cd5 Change take_string and take_immutable_string to as_XXX. 2021-06-10 10:45:44 +08:00
Stephen Chung
a5031969ca New custom syntax expression types. 2021-06-10 10:16:39 +08:00
Stephen Chung
1e66f1963a Add counter variable to for statement. 2021-06-07 11:01:16 +08:00
Stephen Chung
989cb702c0 Use chars() to iterate strings. 2021-06-07 09:47:49 +08:00
Stephen Chung
71684f5e2a Implement bit-fields. 2021-06-02 14:29:18 +08:00
Stephen Chung
76bd48d0a6 Code style refinements. 2021-05-29 18:33:29 +08:00
Stephen Chung
cc3e2d79a5 Replace unwrap with expect. 2021-05-22 19:14:24 +08:00
Stephen Chung
dc9b4d7f4d Indexer as fallback to property. 2021-05-18 20:12:30 +08:00
Stephen Chung
3116a39331 Minor code refactor. 2021-05-18 12:24:11 +08:00
Stephen Chung
941e09d29d Guard against setters mutating constants, and allow pure setters. 2021-05-15 11:41:42 +08:00
Stephen Chung
202285f9ab Disallow pure setters. 2021-05-13 10:34:24 +08:00
Stephen Chung
9585de4ae4 Add Dynamic from shared. 2021-05-11 21:38:07 +08:00
Stephen Chung
97c8194d17 No need to specify number of variables added/removed for custom syntax. 2021-05-11 10:58:28 +08:00
Stephen Chung
fd19d625b0 Refine doc comments. 2021-05-10 11:07:19 +08:00
Stephen Chung
d230f448c0 Add no_smartstring to disable using SmartString. 2021-05-08 22:59:33 +08:00
Stephen Chung
aad842fe50 Remove Engine::enable_doc_comments. 2021-05-03 13:07:51 +08:00
Stephen Chung
13d5092c4d Allow setters returning values when return_raw. 2021-05-02 23:51:37 +08:00
Stephen Chung
9fabca5937 Bump version. 2021-05-02 20:36:59 +08:00
Stephen Chung
a5d4a0abb9 Disable on_progress with unchecked. 2021-04-25 15:27:58 +08:00
Stephen Chung
b5a2937336 Do not treat Expr::Index with pure index as pure. 2021-04-24 13:42:30 +08:00
Stephen Chung
a54fbb32ff Add no_position feature. 2021-04-22 23:02:25 +08:00
Stephen Chung
c5e716e71f Fix zero position bugs in array methods. 2021-04-19 15:11:03 +08:00
Stephen Chung
1be7e60be2 Automatic global module. 2021-04-17 17:25:35 +08:00
Stephen Chung
807a14eaa2 call_fn always evalutes AST. 2021-04-17 13:36:23 +08:00
Stephen Chung
6c92011ea1 Hide is_shared and is_locked under feature gates. 2021-04-17 12:03:29 +08:00
Stephen Chung
6eaee57578 Bump version. 2021-04-16 22:07:18 +08:00
Stephen Chung
e31506fe51 Bump version. 2021-04-16 21:59:11 +08:00
Stephen Chung
208e5fdbf4 New switch errors. 2021-04-16 13:28:36 +08:00
Stephen Chung
980a13ca42 Add switch case conditions. 2021-04-16 12:04:33 +08:00
Stephen Chung
8da4c0c2b2 Default switch case must be last. 2021-04-16 09:41:02 +08:00
Stephen Chung
40fda5139d Support negative index counting from end. 2021-04-10 15:00:03 +08:00
Stephen Chung
29d186b361 Put doc-comments under metadata flag. 2021-04-09 22:49:47 +08:00
Stephen Chung
0807c474a1 Revise using string interpolation. 2021-04-04 23:22:45 +08:00
Stephen Chung
20aaf1826a Fix builds. 2021-04-04 15:06:13 +08:00
Stephen Chung
e6c878edf3 Implement string interpolation. 2021-04-04 13:13:07 +08:00
Stephen Chung
b089d5b8f4 Fix bug in property setter op-assignment. 2021-04-03 11:12:35 +08:00
Stephen Chung
889edbef71 Allow cross-loading of relative file paths in FileModuleResolver. 2021-04-02 12:34:39 +08:00
Stephen Chung
294d233c02 Bump version. 2021-03-31 17:01:08 +08:00