Commit Graph

2182 Commits

Author SHA1 Message Date
Stephen Chung
d61f7fa7c2 Add call_fn_with_global_raw. 2022-04-23 13:15:27 +08:00
Stephen Chung
63592ed648 Remove Clone from FileModuleResolver. 2022-04-23 12:49:03 +08:00
Stephen Chung
c2a796f9c2 Replace Scope display code. 2022-04-23 11:53:34 +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
2755d39cdf Return early if no type casting for call_fn. 2022-04-22 12:12:55 +08:00
Stephen Chung
a6c2c00479 Allow variables in scope for strict vars. 2022-04-22 12:12:36 +08:00
Stephen Chung
6f4cc91451 Fix builds. 2022-04-21 16:01:20 +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
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
40c4906336 Make Module::eval_ast_as_new_raw public. 2022-04-19 08:28:59 +08:00
Stephen Chung
f9ee0c29be Fix builds. 2022-04-18 23:24:08 +08:00
Stephen Chung
60a933862e Streamline op-assignments. 2022-04-18 23:12:47 +08:00
Stephen Chung
3f74e5e674 Use &Path as source path. 2022-04-18 17:34:53 +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
b696390c13 Fix no-std build. 2022-04-14 23:11:36 +08:00
Stephen Chung
3ff1ce0a19 Fix compound assignments with indexers. 2022-04-14 22:55:39 +08:00
Stephen Chung
7788e1058a Merge use. 2022-04-13 10:35:10 +08:00
Stephen Chung
a33e3ba5ff Fix build. 2022-04-11 16:34:56 +08:00
Stephen Chung
06608affc5 Fix rustyline patch. 2022-04-11 16:32:23 +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
6422fddd6d Better names for iterators. 2022-04-09 13:11:32 +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
89ed531363 Fix doc tests. 2022-04-06 17:25:04 +08:00
Stephen Chung
6f4240ed5a Add examples to Module custom type API. 2022-03-30 10:33:43 +08:00
Stephen Chung
56f6b181db Move optimization_level into Options. 2022-03-29 08:26:42 +08:00
Stephen Chung
1b6de25007 Remove Engine::custom_types. 2022-03-29 08:18:20 +08:00
Stephen Chung
95753bb9c3 Use global module constants in optimization. 2022-03-28 12:53:52 +08:00
Stephen Chung
42b6796200 Fix no-std build. 2022-03-28 12:53:49 +08:00
Stephen Chung
6369fa5c65 Minor refactor. 2022-03-27 21:53:50 +08:00
Stephen Chung
5caf20d26b Search for global variables in global modules. 2022-03-27 21:49:34 +08:00
Stephen Chung
2b10c33b81 Write JSON metadata to file for repl. 2022-03-26 18:19:42 +08:00
Stephen Chung
77c06b94a2 Use SmartString for comments. 2022-03-25 08:52:53 +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
1b3d5aeb53 fix no_module. 2022-03-19 10:29:21 +08:00
Stephen Chung
fefa633cf0 Add type alias support for plugin modules. 2022-03-19 09:43:18 +08:00
Stephen Chung
dc8c4ed8f4 Improve string functions. 2022-03-17 17:00:48 +08:00
Stephen Chung
63716759be Fix typo. 2022-03-14 11:28:52 +08:00
Stephen Chung
672cda63ab Simplify formatting. 2022-03-14 08:50:17 +08:00
Stephen Chung
a704d26986 Fixup ArgBackup. 2022-03-14 08:26:27 +08:00
Stephen Chung
963af0653e Fix sleep function. 2022-03-09 09:41:53 +08:00
Stephen Chung
1e4abd012c Minor refactor. 2022-03-09 09:25:55 +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
165fbbc855 Fix no_module builds. 2022-03-05 18:32:50 +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
14e23ed74c Fix sync build. 2022-03-03 13:14:35 +08:00
Stephen Chung
0e9a16e437 Add checks for is_empty. 2022-03-03 13:02:57 +08:00
Stephen Chung
83755bf936 Refine doc comments. 2022-03-01 15:34:15 +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
54a61bfe00 Pack Scope data more tightly. 2022-02-28 14:00:55 +08:00
Stephen Chung
15448bf660 Forbid shadowing of state variable. 2022-02-27 22:47:13 +08:00
Stephen Chung
b17e891b63 Reduce size of Token. 2022-02-26 23:18:47 +08:00
Stephen Chung
61e6403ac6 Fix bug. 2022-02-26 17:44:39 +08:00
Stephen Chung
e767731953 Fix no_function feature. 2022-02-26 17:41:27 +08:00
Stephen Chung
9ef522b699 Use SmartString in parsing. 2022-02-26 17:28:58 +08:00
Stephen Chung
8205547d8a Use bitflags. 2022-02-25 11:42:59 +08:00
Stephen Chung
f47b911681 Remove warning. 2022-02-25 10:03:34 +08:00
Stephen Chung
07a61a9562 Fix build. 2022-02-25 09:00:15 +08:00
Stephen Chung
23c74cac61 Use boxed slices. 2022-02-25 08:38:03 +08:00
Stephen Chung
5931f43d4d Implement Ord and PartialOrd. 2022-02-25 08:37:57 +08:00
Stephen Chung
d2ad56e279 Improve string parameters. 2022-02-24 13:39:10 +08:00
Stephen Chung
39ef766bf1 Raise error when exporting local anonymous function. 2022-02-24 11:24:31 +08:00
Stephen Chung
73f10b8adc Minor housekeeping. 2022-02-24 10:36:20 +08:00
Stephen Chung
2f5ce2fe5b Deprecate Position::new_const. 2022-02-24 09:08:10 +08:00
Stephen Chung
fa8e2e638b Fix bug. 2022-02-23 15:43:27 +08:00
Stephen Chung
dd566ed1e1 Fix builds. 2022-02-19 12:26:17 +08:00
Stephen Chung
67a6638818 Allow variable to overwrite constant when shadowing. 2022-02-18 19:14:42 +08:00
Stephen Chung
78b5c9fd4e Fix bug in Scope::is_constant. 2022-02-18 19:13:09 +08:00
Stephen Chung
ef87ae48c1 Fix doc-test. 2022-02-18 16:21:20 +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
1011602cf6 Fix no-std build. 2022-02-16 18:05:09 +08:00
Stephen Chung
0d2e3d82f3 Reduce size of Stmt. 2022-02-16 17:51:14 +08:00
Stephen Chung
cf0660e36b Expand StmtBlock inline size. 2022-02-16 12:57:26 +08:00
Stephen Chung
3db918e89a Doc fixup. 2022-02-15 19:56:42 +08:00
Stephen Chung
84face341a Fix doc comments. 2022-02-15 15:49:03 +08:00
Stephen Chung
fb9964e1a3 Revise on_def_var API. 2022-02-15 10:56:05 +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
83e1e88531 Add specific implementations for to_string. 2022-02-12 16:23:36 +08:00
Stephen Chung
fda94c1cb6 Better printing. 2022-02-11 22:43:09 +08:00
Stephen Chung
41caa233bb Fix string parsing. 2022-02-10 18:24:04 +08:00
Stephen Chung
d23d1159ab Fix positions. 2022-02-10 17:55:32 +08:00
Stephen Chung
3050e38c5e Fix interpolated string position. 2022-02-10 14:51:31 +08:00
Stephen Chung
d1a97be9e3 New syntax for package definition. 2022-02-10 12:33:48 +08:00
Stephen Chung
1c89c6be4f Doc fixes. 2022-02-10 08:31:41 +08:00