Commit Graph

49 Commits

Author SHA1 Message Date
Stephen Chung
1a61ed167c Fix optimizer constants propagation bug. 2023-04-24 12:17:23 +08:00
Stephen Chung
dd0d1dd7ca Fix test. 2023-04-11 10:35:24 +08:00
Stephen Chung
20c535ecd3 Add full optimization test. 2023-04-10 22:29:44 +08:00
Stephen Chung
26ad454cb1 Streamline data types. 2023-04-10 18:47:53 +08:00
Stephen Chung
b5c81c9baa Fix test. 2023-04-10 13:17:48 +08:00
Stephen Chung
120ff91074 Fix bug in optimize_ast skipping Stmt::FnCall. 2023-04-10 13:11:24 +08:00
Stephen Chung
a8be9c4d64 Reduce size of AST. 2023-02-21 17:52:11 +08:00
Stephen Chung
4100e6da64 Use ImmutableString for source. 2022-10-29 14:12:18 +08:00
Stephen Chung
702bb9030a Make fast operators the default. 2022-09-03 22:07:36 +08:00
Stephen Chung
06dea067b7 Change fast_ops to options. 2022-09-03 15:15:42 +08:00
Stephen Chung
0516e8088c Add fast-ops feature. 2022-09-02 23:45:25 +08:00
Stephen Chung
be448dfe4d Use identifiers in format! 2022-08-11 19:01:23 +08:00
Stephen Chung
5d799fd325 Add module documentation. 2022-07-25 13:40:23 +08:00
Stephen Chung
95753bb9c3 Use global module constants in optimization. 2022-03-28 12:53:52 +08:00
Stephen Chung
8205547d8a Use bitflags. 2022-02-25 11:42:59 +08:00
Stephen Chung
bb04fab011 Optimize variable shadowing. 2022-02-18 15:04:46 +08:00
Stephen Chung
0d2e3d82f3 Reduce size of Stmt. 2022-02-16 17:51:14 +08:00
Stephen Chung
f1458e79e0 Improve AST debug display. 2022-01-31 13:38:27 +08:00
Stephen Chung
135b1f54c2 Remove Option from source and use empty string as no source. 2022-01-01 17:20:00 +08:00
Stephen Chung
95dc2ad502 Remove fields and parameters under no_function. 2021-11-29 09:43:35 +08:00
Stephen Chung
c8b59bd9ca Fix test. 2021-11-08 23:24:03 +08:00
Stephen Chung
5083df3096 Propagate constants to functions for Engine::XXX_with_scope calls. 2021-11-08 22:16:28 +08:00
Stephen Chung
1d82a11f0b Change AST nodes to use bitflags for options. 2021-08-03 22:19:25 +08:00
Stephen Chung
0944261b88 Merge Stmt::Let and Stmt::Const into Stmt::Var. 2021-08-01 11:59:53 +08:00
Stephen Chung
3e0fd33db4 Fix optimizer test. 2021-07-01 12:33:16 +08:00
Stephen Chung
8c802dcd58 Fix optimizer bug. 2021-07-01 12:27:29 +08:00
Stephen Chung
cc3e2d79a5 Replace unwrap with expect. 2021-05-22 19:14:24 +08:00
Stephen Chung
a54fbb32ff Add no_position feature. 2021-04-22 23:02:25 +08:00
Stephen Chung
0f66c67f82 Do not unnecessarily use raw strings. 2021-04-20 12:01:35 +08:00
Stephen Chung
0f2e7e3825 Fix builds and tests. 2021-04-06 23:28:22 +08:00
Stephen Chung
f17a826f99 Refine debug print-out. 2021-04-06 23:18:41 +08:00
Stephen Chung
d0922adb5b Deprecate RegisterFn and RegisterResultFn. 2021-03-15 11:36:30 +08:00
Stephen Chung
4e3fdf6dab Revamp statement block optimization. 2021-03-13 23:43:05 +08:00
Stephen Chung
cbad703b00 Flatten data structures and more aggressive inlining. 2021-03-10 13:32:09 +08:00
Stephen Chung
352408fd36 Flatten statement blocks. 2021-03-10 12:27:10 +08:00
Stephen Chung
b11b8d6d39 Reduce redirections in Stmt. 2021-03-09 23:30:48 +08:00
Stephen Chung
fe65bf6137 Fix bug in optimizer. 2021-01-12 23:52:50 +08:00
Stephen Chung
5c813ca7c0 Code cleanup. 2020-12-28 09:49:54 +08:00
Stephen Chung
2e7ec8f1db IdentX -> Ident. 2020-12-22 16:45:56 +08:00
Stephen Chung
5ac83f0f46 Add context source to on_debug. 2020-12-21 22:04:46 +08:00
Stephen Chung
dbdb8f43b7 Change AST to struct. 2020-12-12 15:57:55 +08:00
Stephen Chung
bed29da71a Use ImmutableString. 2020-12-11 12:57:07 +08:00
Stephen Chung
8e8069f819 Do not propagate constants if shadowed. 2020-12-08 22:20:29 +08:00
Stephen Chung
d511aac7a4 Reduce max call stack size for debug. 2020-10-08 23:00:01 +08:00
Stephen Chung
e34a370f33 Test optimizer with overriding operator. 2020-10-08 10:34:32 +08:00
Stephen Chung
aac04a5e53 Remove modules from Scope and use separate stack. 2020-06-27 23:56:24 +08:00
Stephen Chung
954f971ddf New optimizer test. 2020-06-13 21:57:46 +08:00
Stephen Chung
69733688bf Make all public API's return Box<EvalAltResult> to reduce footprint. 2020-04-21 23:25:12 +08:00
Stephen Chung
372321dfe3 Add full optimization level for aggressive optimizing. 2020-03-15 22:39:58 +08:00