Commit Graph

253 Commits

Author SHA1 Message Date
Stephen Chung
937b45a187 Add Engine::load_module. 2020-11-15 23:14:16 +08:00
Stephen Chung
83c7c101d1 Add docs and tests for switch. 2020-11-14 09:38:16 +08:00
Stephen Chung
55b4907f19 Add switch expression. 2020-11-13 18:32:18 +08:00
Stephen Chung
958762079e Change modules to namespace. 2020-11-10 23:26:50 +08:00
Stephen Chung
ecfdfa8a97 Bump version. 2020-11-10 11:44:36 +08:00
Stephen Chung
e69444293c Encapsulate imported modules into AST. 2020-11-09 21:52:23 +08:00
Stephen Chung
821e64adc4 Allow multiple exports. 2020-11-09 14:38:33 +08:00
Stephen Chung
4b622a8830 Enable export let/export const short-hand. 2020-11-09 12:21:11 +08:00
Stephen Chung
48886eacc8 Add == and != to arrays and maps. 2020-11-08 23:00:37 +08:00
Stephen Chung
487a073caf Fix recursive file import bug. 2020-11-08 23:00:03 +08:00
Stephen Chung
232ba27548 Add NativeCallContext::new. 2020-11-08 18:15:23 +08:00
Stephen Chung
1e07e4356e Re-index imported modules if they are not yet indexed. 2020-11-08 14:29:54 +08:00
Stephen Chung
b3d318ef7f Module resolver returns shared module. 2020-11-07 23:33:21 +08:00
Stephen Chung
6bc5ba6668 Enable functions to use global imports. 2020-11-06 19:17:07 +08:00
Stephen Chung
99669b5909 Bump version. 2020-11-04 17:17:21 +08:00
Stephen Chung
da1c5e364d Docs revision. 2020-11-04 17:11:56 +08:00
Stephen Chung
32f41c69bd Refine code and docs. 2020-11-03 21:50:14 +08:00
Stephen Chung
d7d6f74dfd Add constant NO_POS. 2020-11-02 12:50:27 +08:00
Stephen Chung
6f3ce96d9d Enable termination token. 2020-11-02 11:04:45 +08:00
Stephen Chung
b07a2aa79c Pack Imports. 2020-11-01 23:42:00 +08:00
Stephen Chung
a2e2b5e2ef Add f32_float feature. 2020-11-01 15:48:48 +08:00
Stephen Chung
1e16cb03ce Add content to no-std buld. 2020-10-31 11:52:42 +08:00
Stephen Chung
72941fac4b Fix links. 2020-10-31 11:52:23 +08:00
Stephen Chung
4add90b215 Change parser output to String. 2020-10-27 09:56:37 +08:00
Stephen Chung
7496c77ac9 Custom syntax parser function takes &[String]. 2020-10-26 19:46:58 +08:00
Stephen Chung
b607a3a9ba Add raw API for custom syntax. 2020-10-25 21:57:18 +08:00
Stephen Chung
2c7c719cd5 Minor cleanup before release. 2020-10-22 12:26:44 +08:00
Stephen Chung
ad60db5bae Reduce max fn call level. 2020-10-21 10:10:46 +08:00
Stephen Chung
07bdb824fe Add try-catch. 2020-10-20 23:16:03 +08:00
Stephen Chung
5ee9dfc5cd 1) Change namespaces to iter_namespaces
2) throw can throw any value
2020-10-20 18:09:26 +08:00
Stephen Chung
92ba7b42d5 Implement namespaces chain. 2020-10-20 10:54:32 +08:00
Stephen Chung
f2b6d58122 Bump version. 2020-10-20 09:21:36 +08:00
Stephen Chung
a9fd0ff4de Encapsulate scope into EvalContext;
Fix bug with custom syntax delta.
2020-10-19 19:11:55 +08:00
Stephen Chung
c8c4ca21ad Update docs. 2020-10-19 14:26:15 +08:00
Stephen Chung
25f820f5bf Reimplement pad for string. 2020-10-18 22:36:58 +08:00
Stephen Chung
46b92c9d1f Allow NativeCallContext in function arguments. 2020-10-18 21:47:34 +08:00
Stephen Chung
82e6dd446a Encapsulate register_fn_raw parameters into NativeCallContext. 2020-10-18 17:02:17 +08:00
Stephen Chung
58c820785b Add drain and retain for arrays. 2020-10-18 13:18:12 +08:00
Stephen Chung
39474d6420 Streamline function pointers and currying. 2020-10-17 13:49:16 +08:00
Stephen Chung
6f134368c3 Bump version. 2020-10-16 21:19:24 +08:00
Stephen Chung
e62df6cbed Remove none for array. 2020-10-16 21:02:16 +08:00
Stephen Chung
849aec0621 Set version to 0.19.1. 2020-10-16 17:32:26 +08:00
Stephen Chung
fb05e811b7 Map::keys and Map::values can be used method-call style. 2020-10-15 22:11:40 +08:00
Stephen Chung
ea9ef1091a Add example to function pointer. 2020-10-15 20:05:23 +08:00
Stephen Chung
e0c39edff4 Enhance array functions. 2020-10-14 21:27:31 +08:00
Stephen Chung
13c4d0bbb3 Adjust precedence of in. 2020-10-13 16:01:42 +08:00
Stephen Chung
9dceeaf114 Reserve ** operator. 2020-10-13 15:51:59 +08:00
Stephen Chung
037e8334d4 Reset modulo precedence. 2020-10-13 15:49:09 +08:00
Stephen Chung
6db412815b Add chop and extract for arrays. 2020-10-13 14:39:49 +08:00
Stephen Chung
1c86c66f1a Add more functions to arrays. 2020-10-13 10:57:29 +08:00
Stephen Chung
0b4129fb98 Raise precedence of ~ and %. 2020-10-13 09:33:16 +08:00
Stephen Chung
e6667a3996 Revise docs. 2020-10-12 23:17:22 +08:00
Stephen Chung
747fda1ec7 Add filter, map, reduce to Array. 2020-10-12 22:49:51 +08:00
Stephen Chung
c4f00afbee Disallow ! in module function calls. 2020-10-12 16:59:59 +08:00
Stephen Chung
e343bcfa8f Change Option<usize> to usize for variable resolver index. 2020-10-11 22:41:26 +08:00
Stephen Chung
fd5a932611 Implement variable resolver. 2020-10-11 21:58:11 +08:00
Stephen Chung
9d93dac8e7 Reserve some more symbols. 2020-10-10 22:14:10 +08:00
Stephen Chung
994e5a4251 Move some concat functions to builtin. 2020-10-10 22:13:55 +08:00
Stephen Chung
dd9f58f323 Merge ser/de modules. 2020-10-10 13:43:14 +08:00
Stephen Chung
b23966e16b Clarify no capturing for constants. 2020-10-09 13:36:48 +08:00
Stephen Chung
7ede299aae Allow expressions in constants. 2020-10-09 11:15:25 +08:00
Stephen Chung
d511aac7a4 Reduce max call stack size for debug. 2020-10-08 23:00:01 +08:00
Stephen Chung
a56859c2ac Add README for docs. 2020-10-07 13:23:28 +08:00
Stephen Chung
1523981e4e Add AST::combine and AST::combine_filtered. 2020-10-07 12:11:25 +08:00
Stephen Chung
df1dd5190e Add usage pattern on multi-layer functions. 2020-10-07 10:43:53 +08:00
Stephen Chung
762072685d Move script optimization into separate section. 2020-10-06 22:35:27 +08:00
Stephen Chung
1de44c7ecd Reserve $ symbol. 2020-10-05 23:02:50 +08:00
Stephen Chung
0d0affd5e9 Eagerly evaluate built-in operators for OptimizationLevel::Simple. 2020-10-05 10:27:31 +08:00
Stephen Chung
b91a073596 Add events handler pattern. 2020-10-04 23:05:33 +08:00
Stephen Chung
d802829156 Bump version. 2020-10-03 23:29:34 +08:00
Stephen Chung
fbfb7677c1 Add is_def_var and is_def_fn. 2020-10-03 16:25:58 +08:00
Stephen Chung
eec3f4e1bf Module:;eval_ast_as_new defaults to merging namespaces. 2020-10-03 11:42:54 +08:00
Stephen Chung
d2c94ba07c Add more module tests. 2020-10-02 14:55:02 +08:00
Stephen Chung
a13fcc5cc2 Refine plugin module docs. 2020-10-01 16:47:02 +08:00
Stephen Chung
07fdd1bef1 Fix image url link. 2020-10-01 00:11:45 +08:00
Stephen Chung
cbc3d8764a Revise docs for 0.19.0. 2020-09-30 23:02:01 +08:00
Stephen Chung
c7dfbd48a6 Restore call_fn_dynamic. 2020-09-29 18:37:00 +08:00
Stephen Chung
64c421b3d7 Revise docs. 2020-09-28 22:14:19 +08:00
Stephen Chung
726b030616 Implement +/- operators for timestamp. 2020-09-26 19:45:33 +08:00
Stephen Chung
03dce86328 Support Dynamic as function default return value. 2020-09-26 16:27:38 +08:00
Stephen Chung
4efe6b90e7 Add string::split(). 2020-09-25 23:02:49 +08:00
Stephen Chung
599fe846cb Add complete_namespace to Module::eval_ast_as_new. 2020-09-25 18:07:39 +08:00
Stephen Chung
e637bfa51d Change pure to independent. 2020-09-25 09:39:18 +08:00
Stephen Chung
c4ec93080e New FileModuleResolver. 2020-09-24 22:50:28 +08:00
Stephen Chung
12e9a8567d Make tables casing consistent. 2020-09-24 11:17:39 +08:00
Stephen Chung
9fcbda1ba4 Add reverse function to arrays. 2020-09-24 10:51:21 +08:00
Stephen Chung
ed38b50490 Add parse_int and parse_float. 2020-09-23 12:00:03 +08:00
Stephen Chung
594dcc3a06 Disallow registering indexers for arrays, maps and strings. 2020-09-22 17:57:56 +08:00
Stephen Chung
283495a02f Setters should have no return value. 2020-09-22 12:14:26 +08:00
Stephen Chung
83f9df2852 Fix op-assignment overrides. 2020-09-21 16:15:52 +08:00
Stephen Chung
c7a675e18a Fix no_object builds. 2020-09-20 14:52:38 +08:00
Stephen Chung
3341f40fd2 Refine docs. 2020-09-20 10:50:58 +08:00
Stephen Chung
2ff3a1fde5 Refine docs. 2020-09-19 12:14:02 +08:00
Stephen Chung
b795ce9f45 Refine docs. 2020-09-18 11:52:23 +08:00
Stephen Chung
1060ff35fd Fix tests. 2020-09-16 21:53:22 -05:00
Stephen Chung
7ceb624ec1 Add combine_with_exported_module. 2020-09-16 21:53:22 -05:00
Stephen Chung
654da2db8a Fix tests. 2020-09-16 21:53:22 -05:00
Stephen Chung
848bdf3f01 Add combine_with_exported_module. 2020-09-16 21:50:44 -05:00
Stephen Chung
c7de72aba2 Clarify private module functions/variables. 2020-09-10 17:42:53 +08:00
Stephen Chung
939f4413de Add multiple registrations of plugin function names. 2020-09-10 12:10:49 +08:00