Commit Graph

690 Commits

Author SHA1 Message Date
Stephen Chung
2bf8e610a3 Reduce size of Engine. 2022-11-24 22:58:42 +08:00
Stephen Chung
cefe3f1715 Reduce Module size. 2022-11-24 22:25:19 +08:00
Stephen Chung
c9d8714fe6 Reduce size of ParseState. 2022-11-24 17:08:43 +08:00
Stephen Chung
b4ef89b596 Fix sync build. 2022-11-24 16:05:23 +08:00
Stephen Chung
d1913edf3c Use Engine's interner. 2022-11-24 15:10:17 +08:00
Stephen Chung
6791ef64da Remove crate:: from types. 2022-11-24 11:00:47 +08:00
Stephen Chung
46514bbc85 Fix builds. 2022-11-23 18:02:10 +08:00
Stephen Chung
3e7408511e Satisfy more clippy. 2022-11-23 16:14:11 +08:00
Stephen Chung
4e27039521 Use bitflags. 2022-11-23 11:36:30 +08:00
Stephen Chung
d911327242 Use SmartString for buffers and literal_syntax can panic. 2022-11-22 23:30:43 +08:00
Stephen Chung
d151c87687 Change call_fn_raw to call_fn_with_options. 2022-11-21 23:42:29 +08:00
Stephen Chung
3a028f2642 Move lib into global. 2022-11-10 11:49:10 +08:00
Stephen Chung
ce046422f0 Add Dynamic::is_XXX API. 2022-11-09 12:44:57 +08:00
Stephen Chung
e93923b3b6 Move level into GlobalRuntimeState. 2022-11-08 21:28:20 +08:00
Stephen Chung
8f128f37f0 Add Dynamic::NULL to simplify this pointer binding. 2022-11-08 16:16:42 +08:00
Stephen Chung
6053aa1641 Clean up types. 2022-11-08 15:01:40 +08:00
Stephen Chung
0c79471fd3 Change lib to &[Shared<Module>] and remove dummy lifetimes. 2022-11-07 16:18:59 +08:00
Stephen Chung
35b02ce9b7 Make parameters order uniform. 2022-11-04 21:47:09 +08:00
Stephen Chung
22ee12531c Code cleanup. 2022-10-30 18:43:18 +08:00
Stephen Chung
c9184db4d2 Refine native/script code splits. 2022-10-30 15:45:25 +08:00
Stephen Chung
d97f3f7ec4 Merge variables in Stmt::Share. 2022-10-29 15:17:12 +08:00
Stephen Chung
c14fbdb14d Add loop expressions. 2022-10-29 12:09:18 +08:00
Stephen Chung
6702fe349c Add index to Share statement. 2022-10-25 10:05:31 +08:00
Stephen Chung
d55b5a91f7 Fill variable index on captured variables in closures. 2022-10-24 23:33:24 +08:00
Stephen Chung
5035dcbf47 Fix builds. 2022-10-14 18:43:25 +08:00
Stephen Chung
ac05f0a0a8 Check if function calls cannot be scripted. 2022-10-14 18:31:40 +08:00
Stephen Chung
b65b7b05a5 Allow global functions in non-aliased imports. 2022-10-14 12:14:28 +08:00
Stephen Chung
796206f293 Fix build. 2022-10-05 15:15:42 +08:00
Stephen Chung
891214470b Make limit getters available without unchecked. 2022-10-04 15:33:51 +08:00
Stephen Chung
e8fd965eba Add parse_json. 2022-09-29 22:46:59 +08:00
Stephen Chung
6c777e68d3 Refine inlining. 2022-09-28 12:06:22 +08:00
Stephen Chung
a518ab62bb Simplify strings interner. 2022-09-27 08:52:51 +08:00
Stephen Chung
bf02d040e2 Use tokens to speed up function name lookup. 2022-09-25 23:03:18 +08:00
Stephen Chung
def1a683ef Distinguish string literals from identifiers in custom syntax parser. 2022-09-24 16:59:01 +08:00
Stephen Chung
5d275b5307 Simplify to calc_fn_hash. 2022-09-21 11:46:23 +08:00
Stephen Chung
40a12b2b7d Remove key type from StraightHashMap. 2022-09-12 23:08:38 +08:00
Stephen Chung
c1ae9e0405 Add state to custom syntax. 2022-09-12 12:03:32 +08:00
quake
239438754c perf: change BTreeMap to StraightHashMap 2022-09-05 13:13:06 +09:00
Stephen Chung
702bb9030a Make fast operators the default. 2022-09-03 22:07:36 +08:00
Stephen Chung
0516e8088c Add fast-ops feature. 2022-09-02 23:45:25 +08:00
Stephen Chung
044484c756 Merge 1.9.1 fixes. 2022-08-29 22:42:46 +08:00
Stephen Chung
0870318e4e Fix bug in strict variables mode. 2022-08-29 22:26:07 +08:00
Stephen Chung
bf5d6ab35a Shut up clippy. 2022-08-27 16:26:41 +08:00
Stephen Chung
d80184ba14 Allow if-expressions and switch-expressions in Engine::eval_expression. 2022-08-26 23:10:58 +08:00
Stephen Chung
2f02b30b6e Use String::new() for empty strings. 2022-08-21 17:35:44 +08:00
Stephen Chung
a9b6e8b98c Fix builds. 2022-08-18 21:16:42 +08:00
Stephen Chung
b75ea94908 Remove Interners struct. 2022-08-14 14:32:16 +08:00
Stephen Chung
28743594d0 Use interned strings for AST nodes. 2022-08-13 18:07:42 +08:00
Stephen Chung
cba394d73c Revise strings interning. 2022-08-12 16:34:57 +08:00
Stephen Chung
bfc766f725 Use strings interner. 2022-08-11 22:56:23 +08:00
Stephen Chung
be448dfe4d Use identifiers in format! 2022-08-11 19:01:23 +08:00
Stephen Chung
255af006ee Fix doc comments. 2022-08-10 12:48:37 +08:00
Stephen Chung
8dc7137913 Disallow import index in closures also. 2022-08-09 21:46:34 +08:00
Stephen Chung
ac93a0bbbc Fix bug in namespace searching. 2022-08-09 21:35:45 +08:00
Stephen Chung
d9ffac17fa Fix tests. 2022-08-05 23:45:40 +08:00
Stephen Chung
d8532b48b6 Add function pointer short-hand. 2022-08-05 23:30:44 +08:00
Stephen Chung
2f948a784c Clean up more clippy. 2022-07-27 18:04:59 +08:00
Stephen Chung
39dee556c4 Clean up clippy. 2022-07-27 16:04:24 +08:00
Stephen Chung
5d799fd325 Add module documentation. 2022-07-25 13:40:23 +08:00
Stephen Chung
e8d6e3f57d Add unreachable comments. 2022-07-23 21:00:58 +08:00
Stephen Chung
5149c56256 Streamline switch case AST structure. 2022-07-19 13:33:53 +08:00
Stephen Chung
f2724444bb Make default switch case Optional. 2022-07-18 22:30:09 +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
b4dbc7619a Add no_custom_syntax. 2022-07-05 22:59:03 +08:00
Stephen Chung
b6528bd51d Reduce usage of as_ref and as_mut. 2022-07-05 16:26:38 +08:00
Stephen Chung
9319f87a7b Fix builds. 2022-07-04 17:47:59 +08:00
Stephen Chung
dee66a409f Add case alternatives for switch. 2022-07-04 17:42:24 +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
09e19790fe Fix builds. 2022-06-09 18:22:53 +08:00
Stephen Chung
dcaac20eb9 Strict mode in functions check for static modules. 2022-06-09 17:59:28 +08:00
Stephen Chung
285bf23dfa Minor refactor. 2022-06-09 08:41:51 +08:00
Stephen Chung
e5f6b28abd Fix warnings. 2022-06-08 17:06:49 +08:00
Stephen Chung
493c4a71ff Add lifetime. 2022-05-26 18:17:46 +08:00
Stephen Chung
130b93d029 Use bit-flags for options. 2022-05-19 21:40:22 +08:00
Stephen Chung
857ae7a64a Comments update. 2022-05-19 14:41:48 +08:00
Stephen Chung
04df4d2547 Fix indexing parsing. 2022-05-17 11:06:34 +08:00
Stephen Chung
c69f98c2c4 Add custom state. 2022-05-02 00:03:45 +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
5e4f27ae25 Add Token::Unit. 2022-04-21 10:04:46 +08:00
Stephen Chung
299d6ef308 Type checking in switch case condition. 2022-04-19 21:45:11 +08:00
Stephen Chung
770b2e04cc Simplify switch condition. 2022-04-19 16:20:43 +08:00
Stephen Chung
60a933862e Streamline op-assignments. 2022-04-18 23:12:47 +08:00
Stephen Chung
daf73d5341 Make caches optional for EvalContext. 2022-04-16 23:32:14 +08:00
Stephen Chung
855cb76246 Rename EvalState to Caches. 2022-04-16 16:36:53 +08:00
Stephen Chung
63359f3f81 Unused parameters naming. 2022-04-11 16:29:16 +08:00
Stephen Chung
1777ee7f6f Allow strings to be iterable. 2022-04-09 13:37:43 +08:00
Stephen Chung
b35d965e55 Reverse Box<[...]> to Vec. 2022-03-06 16:37:27 +08:00
Stephen Chung
8bda8c64df Refine data structures 2022-03-05 17:57:23 +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
0e9a16e437 Add checks for is_empty. 2022-03-03 13:02:57 +08:00
Stephen Chung
99ca6de822 Respect barrier when reusing shadowed variable. 2022-02-28 22:13:03 +08:00
Stephen Chung
d41d36c8bb Simplify ParseState. 2022-02-28 16:32:08 +08:00
Stephen Chung
aee92f3b7b Move parser into Engine. 2022-02-28 14:37:46 +08:00
Stephen Chung
b17e891b63 Reduce size of Token. 2022-02-26 23:18:47 +08:00
Stephen Chung
9ef522b699 Use SmartString in parsing. 2022-02-26 17:28:58 +08:00