Commit Graph

261 Commits

Author SHA1 Message Date
Stephen Chung
0873bdc152 Add sync feature to make Dynamic, Scope and AST Send + Sync. 2020-04-02 19:40:02 +08:00
Stephen Chung
5e7c9b47d5 Rename downcast to try_cast and add cast for Dynamic. 2020-04-02 12:35:44 +08:00
Stephen Chung
c4a51b1390 Add append/mixin functions for arrays and maps. 2020-04-01 22:56:54 +08:00
Stephen Chung
4ea2fb88ae Add continue statement. 2020-04-01 16:22:18 +08:00
Stephen Chung
246a865abd Fix doc test. 2020-04-01 10:21:49 +08:00
Stephen Chung
d7ac57c060 Minor code cleanup. 2020-04-01 09:51:33 +08:00
Stephen Chung
dcf5eaf64d Add to_string to prepare for string interpolation. 2020-03-31 10:00:17 +08:00
Stephen Chung
c17dc34f86 Refine code. 2020-03-30 22:19:37 +08:00
Stephen Chung
01c0b51017 Change object maps to #{ ... } 2020-03-30 17:40:26 +08:00
Stephen Chung
0a8b324fec Merge branch 'object_maps' 2020-03-30 16:13:12 +08:00
Stephen Chung
9f3113b11c Encapsulate getters/setters. 2020-03-30 16:10:50 +08:00
Stephen Chung
fce51758d1 Add support for string literal property names in object maps. 2020-03-30 12:14:59 +08:00
Stephen Chung
45ee51874f Add object maps. 2020-03-29 23:53:35 +08:00
Stephen Chung
ef6c6ea6d2 Add no_object feature to disable objects. 2020-03-29 17:15:12 +08:00
Stephen Chung
a8a4ed2967 Merge all MissingXXX errors into MissingToken. 2020-03-29 13:44:27 +08:00
Stephen Chung
ef6dd9414a Allow if expressions. 2020-03-27 23:47:23 +08:00
Stephen Chung
a541a4507f Remove internal function. 2020-03-27 16:46:19 +08:00
Stephen Chung
796690f506 Detect duplicated parameters in function definitions. 2020-03-27 16:46:08 +08:00
Stephen Chung
337a96394f Limit function calls depth. 2020-03-27 14:34:01 +08:00
Stephen Chung
cc8554d095 Add merge/+ to AST. 2020-03-27 11:50:24 +08:00
Stephen Chung
56df5c49c8 Encapsulate FunctionsLib to hold script-defined functions. 2020-03-26 20:26:05 +08:00
Stephen Chung
8679982b4b Use references for function call args. 2020-03-26 10:56:28 +08:00
Stephen Chung
ea4d3fa6b8 Avoid I and O as generic parameters. 2020-03-26 10:56:18 +08:00
Stephen Chung
6308e54119 Simplify. 2020-03-26 10:55:50 +08:00
Stephen Chung
a5a161ec88 Format getter/setter function name using constants. 2020-03-26 10:55:33 +08:00
Stephen Chung
2bb2e871ab Remove regnster_fn support for first argument of &type (not used). 2020-03-25 17:21:58 +08:00
Stephen Chung
5aea997672 Refine Scope API. 2020-03-25 11:27:18 +08:00
Stephen Chung
3bc02a99ad Format comments. 2020-03-25 11:27:09 +08:00
Stephen Chung
599b81ad8a Remove ScopeEntry and VariableType from public. 2020-03-25 11:24:29 +08:00
Stephen Chung
180c4dee08 Document macros. 2020-03-25 11:24:06 +08:00
Stephen Chung
d21f66b911 Fixing lint warnings 2020-03-24 16:57:35 +08:00
Stephen Chung
3ea482567f Simplify code style. 2020-03-24 16:46:47 +08:00
Stephen Chung
156ebd7ea4 Avoid copying tokens. 2020-03-24 11:21:20 +08:00
Stephen Chung
7b06715299 FIX - Errors in no_std. 2020-03-24 11:21:09 +08:00
Stephen Chung
3677bd3651 Make Token smaller by boxing LexError. 2020-03-24 09:49:37 +08:00
Stephen Chung
1b4bcbcfdf Add evaluate expressions. 2020-03-22 21:03:58 +08:00
Stephen Chung
b6320c0eef Minor fine tuning. 2020-03-22 10:18:16 +08:00
Stephen Chung
1d98f65342 Disallow statement expressions in if and while guards to reduce code confusion. 2020-03-20 19:50:58 +08:00
Stephen Chung
ed996e71d6 Enable dot operations on constant variables. 2020-03-20 19:27:02 +08:00
Stephen Chung
283602cdd8 Do not call function when optimizing if there is a script-defined function overridding it. 2020-03-19 22:29:02 +08:00
Stephen Chung
702b2010f2 Add contains to Scope. 2020-03-19 20:55:49 +08:00
Stephen Chung
6a6c5f30de Add eval function. 2020-03-19 19:53:42 +08:00
Stephen Chung
cc8ec12691 Add more comments and examples. 2020-03-19 13:52:10 +08:00
Stephen Chung
b3efb8b264 Disallow variable names starting with _ + digit. 2020-03-18 23:09:53 +08:00
Stephen Chung
0dc51f8e59 Removee debug_msgs feature. 2020-03-18 22:03:50 +08:00
Stephen Chung
019e73bc7e Allow empty statements. 2020-03-18 18:41:18 +08:00
Stephen Chung
a9c65a962c Split no_stdlib and no_std into two features. 2020-03-18 12:04:26 +08:00
Stephen Chung
ecded729ad Finalize no_std support. 2020-03-18 10:50:51 +08:00
Stephen Chung
ca20faf170 Add code comments. 2020-03-18 10:43:59 +08:00
Stephen Chung
8efe080412 Handle break and return better. 2020-03-18 10:42:27 +08:00