Commit Graph

443 Commits

Author SHA1 Message Date
Stephen Chung
ac93a0bbbc Fix bug in namespace searching. 2022-08-09 21:35:45 +08:00
Stephen Chung
47f02b96d7 Add top-level wrappers. 2022-08-08 09:10:15 +08:00
Stephen Chung
d8532b48b6 Add function pointer short-hand. 2022-08-05 23:30:44 +08:00
Stephen Chung
1073a7bd54 Fix bug in constant interpolated string. 2022-07-29 10:49:03 +08:00
Stephen Chung
fc976172e7 Fix bug with capturing undefined variable. 2022-07-29 09:43:40 +08:00
Stephen Chung
ea38185cac Add ParseError:err_type and ParseError::position. 2022-07-29 09:42:30 +08:00
Stephen Chung
39dee556c4 Clean up clippy. 2022-07-27 16:04:24 +08:00
Stephen Chung
21f822020f Add Scope::remove. 2022-07-27 11:35:40 +08:00
Stephen Chung
8e21c4727b Fix definitions API code styles and formatting. 2022-07-26 22:38:40 +08:00
Stephen Chung
a76f4dd6d3 Rename Iterator<Item=T> to Iterator<T> 2022-07-26 14:46:34 +08:00
Stephen Chung
492d79d8a2 Add documentation to Module. 2022-07-25 17:42:15 +08:00
Stephen Chung
5d799fd325 Add module documentation. 2022-07-25 13:40:23 +08:00
Stephen Chung
f85ad28e93 Add FnNamespace methods. 2022-07-21 14:01:28 +08:00
Stephen Chung
6bc0118074 Add FnAccess methods. 2022-07-21 14:01:28 +08:00
Stephen Chung
753e527cbb Fix BLOB and string operations. 2022-07-20 21:17:21 +08:00
Stephen Chung
281e94fc62 Switch case condition that is constant () no longer optimizes to false. 2022-07-18 23:28:12 +08:00
Stephen Chung
7dca916c45 Allow duplicated switch cases. 2022-07-18 13:40:41 +08:00
Stephen Chung
4b760d1d0f Unroll switch ranges if possible. 2022-07-18 08:54:10 +08:00
Stephen Chung
a12401a1fe New range variant. 2022-07-17 12:09:19 +08:00
Stephen Chung
0555069de0 Bump minimum Rust version. 2022-07-13 19:21:13 +08:00
Stephen Chung
dda7bc7b85 Add eval_expression_tree_raw. 2022-07-06 12:56:15 +08:00
Stephen Chung
b4dbc7619a Add no_custom_syntax. 2022-07-05 22:59:03 +08:00
Stephen Chung
dee66a409f Add case alternatives for switch. 2022-07-04 17:42:24 +08:00
Stephen Chung
335957fbc2 Enable modifying constant shared values. 2022-06-26 17:04:08 +08:00
Stephen Chung
2b44778a5c Add elvis operator for indexing. 2022-06-12 00:32:12 +08:00
Stephen Chung
8999872d62 Add null coalescing operator. 2022-06-10 11:22:33 +08:00
Stephen Chung
0f1e51b1c9 Support Elvis operator. 2022-06-10 10:26:06 +08:00
Stephen Chung
206318e14c Add new reserved symbols. 2022-06-10 08:47:22 +08:00
Stephen Chung
dcaac20eb9 Strict mode in functions check for static modules. 2022-06-09 17:59:28 +08:00
Stephen Chung
f4ebaa7abf Improve chaining speed. 2022-06-08 09:19:21 +08:00
Stephen Chung
84e3296559 Fix bug on chaining function calls returning shared values. 2022-06-07 11:31:46 +08:00
Stephen Chung
5dc8b20c8d Add #[doc(hidden)] to plugin-generated artifacts. 2022-06-05 18:07:20 +08:00
Stephen Chung
52bb6e68e8 Add Scope::get. 2022-05-24 16:05:17 +08:00
Stephen Chung
e4d492c727 Fix no_object build. 2022-05-23 22:58:15 +08:00
Stephen Chung
1abec0a8a8 Allow initialization of EvalState tag and separate debugger state into separate variable. 2022-05-21 21:44:12 +08:00
Stephen Chung
5435fdb8c8 Fix tests. 2022-05-21 11:57:23 +08:00
Stephen Chung
46c1d86221 Fix merge AST with self-contained AST. 2022-05-20 21:49:27 +08:00
Stephen Chung
a53bcc2e1d Add EvalAltResult::IndexNotFound. 2022-05-19 10:02:12 +08:00
Stephen Chung
04df4d2547 Fix indexing parsing. 2022-05-17 11:06:34 +08:00
Stephen Chung
c7aea45d4b Add to_int for decimal. 2022-05-09 14:20:33 +08:00
Stephen Chung
fc64e93b93 Deprecate FnPtr::num_curried. 2022-05-05 22:30:55 +08:00
Stephen Chung
b23d64bec0 Fix bug with using self-contained AST with call_fn. 2022-05-05 21:34:15 +08:00
Stephen Chung
2a57bd9d25 Mark some types as non_exhaustive. 2022-05-03 21:55:08 +08:00
Stephen Chung
c69f98c2c4 Add custom state. 2022-05-02 00:03:45 +08:00
Stephen Chung
2889ca0988 Add Start/End to DebuggerEvent. 2022-04-26 16:36:24 +08:00
Stephen Chung
1d904f4758 Add Engine::eval_statements_raw. 2022-04-23 13:37:08 +08:00
Stephen Chung
0ef5c0ec54 Change to call_fn_raw_raw. 2022-04-23 13:28:26 +08:00
Stephen Chung
d61f7fa7c2 Add call_fn_with_global_raw. 2022-04-23 13:15:27 +08:00
Stephen Chung
5a75479119 Fix bug in Scope cloning. 2022-04-23 11:53:17 +08:00
Stephen Chung
71bc605fe6 Add scope to FileModuleResolver. 2022-04-22 13:39:51 +08:00
Stephen Chung
a6c2c00479 Allow variables in scope for strict vars. 2022-04-22 12:12:36 +08:00
Stephen Chung
6b8ddd925b Allow scope constants in strict variables mode. 2022-04-21 13:21:53 +08:00
Stephen Chung
c3d013bddc Add to_json for maps. 2022-04-21 12:15:21 +08:00
Stephen Chung
4f2764d233 Revise parse_json. 2022-04-21 10:04:57 +08:00
Stephen Chung
299d6ef308 Type checking in switch case condition. 2022-04-19 21:45:11 +08:00
Stephen Chung
40c4906336 Make Module::eval_ast_as_new_raw public. 2022-04-19 08:28:59 +08:00
Stephen Chung
3ff1ce0a19 Fix compound assignments with indexers. 2022-04-14 22:55:39 +08:00
Stephen Chung
c5015d5e86 Bump version. 2022-04-11 16:53:44 +08:00
Stephen Chung
06608affc5 Fix rustyline patch. 2022-04-11 16:32:23 +08:00
Stephen Chung
1777ee7f6f Allow strings to be iterable. 2022-04-09 13:37:43 +08:00
Stephen Chung
8bd33d7b34 Change string splitting. 2022-04-09 13:07:42 +08:00
Stephen Chung
42f977862f Add Dynamic parameters to qualified function calls. 2022-04-08 16:42:53 +08:00
Stephen Chung
0e4f1f1447 Update log. 2022-03-30 08:06:19 +08:00
Stephen Chung
1b6de25007 Remove Engine::custom_types. 2022-03-29 08:18:20 +08:00
Stephen Chung
5caf20d26b Search for global variables in global modules. 2022-03-27 21:49:34 +08:00
Stephen Chung
cad4c7a942 Add starts_with and ends_with for strings. 2022-03-23 14:28:45 +08:00
Stephen Chung
99118fe2c3 Minor refactors. 2022-03-20 21:58:43 +08:00
Stephen Chung
89426f8b3a Add Scope::set_alias. 2022-03-09 09:25:32 +08:00
Stephen Chung
cbb1c5c6a0 Add sleep. 2022-03-08 18:26:32 +08:00
Stephen Chung
b35d965e55 Reverse Box<[...]> to Vec. 2022-03-06 16:37:27 +08:00
Stephen Chung
e06c2b2abb Remove constants in function call expressions. 2022-03-05 12:06:47 +08:00
Stephen Chung
0335035b0f Fix bug with eager optimization of method calls. 2022-03-04 12:22:44 +08:00
Stephen Chung
15448bf660 Forbid shadowing of state variable. 2022-02-27 22:47:13 +08:00
Stephen Chung
23c74cac61 Use boxed slices. 2022-02-25 08:38:03 +08:00
Stephen Chung
39ef766bf1 Raise error when exporting local anonymous function. 2022-02-24 11:24:31 +08:00
Stephen Chung
7263896776 Bump minimum compiler version. 2022-02-24 08:54:37 +08:00
Stephen Chung
78b5c9fd4e Fix bug in Scope::is_constant. 2022-02-18 19:13:09 +08:00
Stephen Chung
bb04fab011 Optimize variable shadowing. 2022-02-18 15:04:46 +08:00
Stephen Chung
83786c992b Fix parser bug. 2022-02-18 11:05:58 +08:00
Stephen Chung
cdc8005146 Bump version. 2022-02-15 11:38:35 +08:00
Stephen Chung
5bb6ce835f Run var def filter during parsing. 2022-02-13 18:46:25 +08:00
Stephen Chung
664e3d31e5 BLOB's and strings. 2022-02-12 23:39:07 +08:00
Stephen Chung
d1a97be9e3 New syntax for package definition. 2022-02-10 12:33:48 +08:00
Stephen Chung
340a047369 Add fail on invalid property for maps. 2022-02-09 13:12:43 +08:00
Stephen Chung
1b4184ef16 Run debugger with no optimization. 2022-02-09 08:00:05 +08:00
Stephen Chung
5e7db6e105 Use new version of rustyline. 2022-02-08 22:16:12 +08:00
Stephen Chung
83b213b086 Unwrap error when caught. 2022-02-08 19:02:40 +08:00
Stephen Chung
be9356727f Add variable definition filter. 2022-02-04 22:59:41 +08:00
Stephen Chung
3be27746e0 Add allow_shadowing. 2022-02-04 13:20:47 +08:00
Stephen Chung
6c1c8bc538 Improve position display. 2022-02-04 12:04:33 +08:00
Stephen Chung
345a060672 Fix type name display. 2022-02-03 23:54:53 +08:00
Stephen Chung
419ee45043 Add bin-features to pull in all features for bin tools. 2022-02-03 21:17:47 +08:00
Stephen Chung
8322e62c18 Fix function exit trigger and add function enter trigger. 2022-02-02 22:42:33 +08:00
Stephen Chung
4a80483749 Support call stack and FunctionExit for native functions. 2022-02-02 14:47:35 +08:00
Stephen Chung
389bb9bf66 Add history recall to repl. 2022-01-31 21:02:36 +08:00
Stephen Chung
7b92a80c32 Fix encapsulated environment in module functions. 2022-01-30 17:27:13 +08:00
Stephen Chung
19ef92a3f3 Fix builds. 2022-01-29 13:37:58 +08:00
Stephen Chung
6b02dde848 Gate dead code for no_module. 2022-01-29 11:09:43 +08:00
Stephen Chung
20baae71d4 Factor tuples into structs to aid in understanding. 2022-01-28 10:11:40 +08:00
Stephen Chung
538af8caee Scope::clone_visible clones value access mode also. 2022-01-27 16:58:11 +08:00
Stephen Chung
aee35e5f20 Add DebuggingPackage. 2022-01-27 16:58:11 +08:00
Stephen Chung
fc87dec128 Add debugging interface. 2022-01-27 16:58:11 +08:00
Stephen Chung
69dab31617 Remove need for default features in dependencies. 2022-01-27 08:22:20 +08:00
Stephen Chung
d8a6b93f43 Fix off-by-one position error after comment line. 2022-01-24 16:06:41 +08:00
Stephen Chung
8d34ffb9f5 Fix bug in try block. 2022-01-24 08:34:21 +08:00
Stephen Chung
922931f51d Bump version. 2022-01-23 21:49:46 +08:00
Stephen Chung
97be256a1a Fix bug with optimizing op-assignment operators. 2022-01-23 21:09:37 +08:00
Stephen Chung
f0781c9736 Properly handle \r\n pairs in doc-comments. 2022-01-17 23:15:51 +08:00
Stephen Chung
d58df1fb34 Engine::gen_fn_signatures enumerates non-standard external packages. 2022-01-17 23:15:22 +08:00
Stephen Chung
5232bbbff8 Add get/set methods to arrays, blobs, maps and strings. 2022-01-17 10:21:03 +08:00
Stephen Chung
3667761340 Fix bugs and add comments to standard library. 2022-01-15 23:34:38 +08:00
Stephen Chung
00b189d0c6 Replace Cow<str> in Scope with SmartString. 2022-01-15 11:26:43 +08:00
Stephen Chung
a8ec984b0f Fix unsafe violation in for loop. 2022-01-15 10:18:16 +08:00
Stephen Chung
e2e0b8d083 Fix Array::chop. 2022-01-14 10:04:24 +08:00
Stephen Chung
25f54c0ea5 Pretty-display return types. 2022-01-13 22:51:10 +08:00
Stephen Chung
5ab7c59ba0 Fix Array::pad infinite loop. 2022-01-13 22:05:07 +08:00
Stephen Chung
a3a527923a Fix metadata param name in JSON. 2022-01-13 18:13:38 +08:00
Stephen Chung
0f4e8848f9 Extract index calculataion into functions. 2022-01-13 18:13:27 +08:00
Stephen Chung
6dedb1ed9f Fix no_std builds. 2022-01-11 11:33:54 +08:00
Stephen Chung
00255a9b78 Merge 1.3.1 into 1.4.0. 2022-01-11 09:05:18 +08:00
Stephen Chung
80edb1200d Fix Array::pad limits. 2022-01-06 15:30:17 +08:00
Stephen Chung
97295a66da Fix test. 2022-01-05 13:24:52 +08:00
Stephen Chung
8961f36e8e Move bit-fields into new package. 2022-01-03 23:10:20 +08:00
Stephen Chung
43363e0660 Reserve is keyword. 2021-12-24 14:59:14 +08:00
Stephen Chung
422db4269e Allow multiple packages in def_package. 2021-12-22 12:41:55 +08:00
Stephen Chung
b85a9b3c1c Extract doc-comment on plugin functions. 2021-12-21 16:14:07 +08:00
Stephen Chung
bca9fe53b0 New syntax for def_package. 2021-12-20 11:42:39 +08:00
Stephen Chung
541ef319bb Merge branch 'v1.3-fixes' 2021-12-18 18:22:20 +08:00
Stephen Chung
9736171089 Fix bug in hex parsing for negative numbers. 2021-12-18 17:07:30 +08:00
Stephen Chung
fc84600b22 Add NativeCallContext::call_fn 2021-12-18 12:29:04 +08:00
Stephen Chung
b1b2c62d7d Merge branch 'v1.3-fixes' 2021-12-16 22:40:25 +08:00
Stephen Chung
10fa6844c4 Fix custom syntax with method calls. 2021-12-16 22:40:10 +08:00
Stephen Chung
fbc2b1f13d Allow non-custom reserved symbols in custom syntax. 2021-12-16 18:01:49 +08:00
Stephen Chung
f92cbe1f6d Merge branch 'v1.3-fixes' 2021-12-16 16:10:39 +08:00
Stephen Chung
224aa0ea68 Allow custom syntax inside binary operator expressions. 2021-12-16 16:06:44 +08:00
Stephen Chung
abbfa3777d Add more range API's. 2021-12-15 22:12:51 +08:00
Stephen Chung
ef14079c61 Add ranges. 2021-12-15 12:06:17 +08:00
Stephen Chung
93e3c4c10a Compact BLOB display. 2021-12-13 09:40:43 +08:00
Stephen Chung
6af406bafc Add parse/write to blobs. 2021-12-12 16:29:54 +08:00
Stephen Chung
780c36e675 Simplify if let. 2021-12-12 12:33:22 +08:00
Stephen Chung
675ddb89f9 Add "" and `` in string literals. 2021-12-09 13:34:51 +08:00
Stephen Chung
d9d44a9683 Add Engine::register_type_with_name_raw. 2021-12-09 12:49:12 +08:00
Stephen Chung
4421f33b2c Fix bug in blob's. 2021-12-07 19:03:04 +08:00
Stephen Chung
5b64e0b383 Use deref for Expression. 2021-12-06 18:50:37 +08:00
Stephen Chung
cc98e82ea1 Include hashes in JSON output. 2021-12-06 11:12:54 +08:00
Stephen Chung
b8c4054c20 Add strict variables mode. 2021-12-04 17:57:28 +08:00
Stephen Chung
fd26654125 Add allow_looping. 2021-12-03 11:24:38 +08:00
Stephen Chung
7cd76c6d18 Add language options. 2021-12-03 11:16:35 +08:00
Stephen Chung
ec95e5ca97 Merge branch 'v1.2-fixes' 2021-12-02 14:30:25 +08:00
Stephen Chung
068e8c647e Support Option in from_dynamic. 2021-12-02 14:14:57 +08:00