Commit Graph

690 Commits

Author SHA1 Message Date
Stephen Chung
e60d0fc0bc Add typed methods definition. 2023-03-22 16:05:25 +08:00
Stephen Chung
3d4a278f2e Remove ASTFlags::EMPTY. 2023-03-22 10:19:30 +08:00
Stephen Chung
41636eac55 Fine tune table-driven tokenizing. 2023-03-15 17:22:11 +08:00
Stephen Chung
bb404a415d Remove warnings. 2023-03-08 22:48:36 +08:00
Stephen Chung
86ccb37029 Simplify code. 2023-02-28 22:33:44 +08:00
Stephen Chung
51581cdef5 Make Engine faster to create. 2023-02-25 19:57:19 +08:00
Stephen Chung
14e205cabc Satisfy msrv by removing then_some. 2023-02-21 18:16:03 +08:00
Stephen Chung
129a5c6e86 Use then/then_some to simplify. 2023-02-21 16:36:57 +08:00
Stephen Chung
00f2b07d38 All symbols to start a custom syntax. 2023-02-20 13:28:17 +08:00
Stephen Chung
6d888cc0e4 Fix bug. 2023-02-18 14:28:38 +08:00
Stephen Chung
6b301b4e70 Set allow_loop_expressions to true by default. 2023-02-16 20:35:15 +08:00
Stephen Chung
7da20dd090 Forbid floating-point switch cases after range case. 2023-02-13 08:58:59 +08:00
Stephen Chung
10089c5cb0 Support switch range cases for floating-point values. 2023-02-12 23:20:14 +08:00
Stephen Chung
d0a47d7f66 Refactor to do more pre-calculation work. 2023-02-12 21:50:32 +08:00
Stephen Chung
dbac4d5689 Use StraightHashMap. 2023-02-11 23:51:36 +08:00
Stephen Chung
557b368fdb Fix op-assignment hashes. 2023-02-11 15:06:17 +08:00
Stephen Chung
9cb5154979 Refactor FnCallHashes. 2023-02-11 12:52:07 +08:00
Stephen Chung
75718a5a8b Satisfy clippy. 2023-02-11 00:17:26 +08:00
Stephen Chung
9608e58ded Use remove for flags. 2023-02-03 15:58:07 +08:00
Stephen Chung
ca02d46a49 Use iterators. 2023-01-31 19:44:46 +08:00
Stephen Chung
6400b33b1b Use bitflag options for chains parsing. 2023-01-30 12:31:33 +08:00
Stephen Chung
62696853b4 Fix bug with parsing improper module separator. 2023-01-29 15:23:33 +08:00
Stephen Chung
733bb07d2d Fix bug in chain parsing. 2023-01-25 07:37:44 +08:00
Stephen Chung
ea3efe654c Avoid unnecessarily creating Scope. 2023-01-11 11:42:46 +08:00
Stephen Chung
1a00ca0905 Change try_for_each to for. 2022-12-29 13:35:42 +08:00
Stephen Chung
858a6ad588 Make parse call arguments uniform. 2022-12-29 12:18:41 +08:00
Stephen Chung
00c434eb71 Use Option<Token> instead of Token::NONE. 2022-12-27 22:51:38 +08:00
Stephen Chung
bb1136e8ad Refine what can be called in method style. 2022-12-27 22:06:51 +08:00
Stephen Chung
cb09393dba Encapsulate into FlowControl type. 2022-12-23 14:26:06 +08:00
Stephen Chung
80ccd75514 Satisfy clippy. 2022-12-22 17:34:58 +08:00
Stephen Chung
babc0b5466 Remove Dynamic::NULL, use .as_deref_mut() for this_ptr. 2022-12-20 16:52:55 +08:00
Stephen Chung
67a7ab4069 Move encapsulated environment out of ScriptFnDef. 2022-12-12 16:06:24 +08:00
Stephen Chung
1f815f995f Speed up FnPtr::call when there is a linked scripted function. 2022-12-11 16:55:30 +08:00
Stephen Chung
91f149270a Add link to scripted function definition. 2022-12-11 00:08:25 +08:00
Stephen Chung
f15a9a7c9c Minor cleanup. 2022-12-09 20:42:55 +08:00
Stephen Chung
a391f26920 Refine expression nesting level. 2022-12-08 17:18:40 +08:00
Stephen Chung
e400b3627c Fix build. 2022-12-06 23:45:12 +08:00
Stephen Chung
90998f4f14 Allow closures in parse expressions. 2022-12-06 21:41:38 +08:00
Stephen Chung
249180b1e0 Fix builds. 2022-12-03 16:29:19 +08:00
Stephen Chung
55922b5c20 Hard code constant checking. 2022-12-03 16:20:13 +08:00
Stephen Chung
e10576abff Process block comments better. 2022-12-02 14:06:31 +08:00
Stephen Chung
0c4935febb Merge multiple doc-comment lines into one. 2022-12-01 14:35:45 +08:00
Stephen Chung
fc4c8731f0 Add !in. 2022-11-30 14:11:09 +08:00
Stephen Chung
c509cc896d Revise documentation. 2022-11-29 15:50:58 +08:00
Stephen Chung
0c85f0c796 Code cleanup and refactor. 2022-11-28 23:24:22 +08:00
Stephen Chung
4ab306607d Fix bug. 2022-11-27 17:21:07 +08:00
Stephen Chung
e8e1706d98 Use as_deref(). 2022-11-25 23:03:20 +08:00
Stephen Chung
d645d8271c More code refactor. 2022-11-25 20:42:16 +08:00
Stephen Chung
ccc3d51e0f Reduce size of ParseState. 2022-11-25 12:14:40 +08:00
Stephen Chung
6600862c22 Satisfy clippy. 2022-11-25 09:46:13 +08:00