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 |
|
Stephen Chung
|
8205547d8a
|
Use bitflags.
|
2022-02-25 11:42:59 +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
|
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
|
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
|
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
|
d23d1159ab
|
Fix positions.
|
2022-02-10 17:55:32 +08:00 |
|
Stephen Chung
|
e5a673b3ae
|
Add position info for closures.
|
2022-02-09 13:40:51 +08:00 |
|
Stephen Chung
|
3b9dbd5fce
|
Add Span.
|
2022-02-08 23:01:47 +08:00 |
|
Stephen Chung
|
8cf6f424a5
|
Use turbofish notation.
|
2022-02-08 21:28:15 +08:00 |
|
Stephen Chung
|
7686ca619a
|
Use .. for (_).
|
2022-02-08 09:46:14 +08:00 |
|
Stephen Chung
|
f8cee0fe4e
|
Simplify using ..
|
2022-02-08 09:02:15 +08:00 |
|
Stephen Chung
|
187a20fd8b
|
Refactor OptimizationLevel.
|
2022-02-07 21:03:39 +08:00 |
|
Stephen Chung
|
cfbf0397a6
|
Better position of assignment errors.
|
2022-02-06 21:24:02 +08:00 |
|
Stephen Chung
|
f09abd7ab3
|
Fix builds.
|
2022-02-04 13:31:33 +08:00 |
|
Stephen Chung
|
3be27746e0
|
Add allow_shadowing.
|
2022-02-04 13:20:47 +08:00 |
|
Stephen Chung
|
6c1c8bc538
|
Improve position display.
|
2022-02-04 12:04:33 +08:00 |
|
Stephen Chung
|
f1458e79e0
|
Improve AST debug display.
|
2022-01-31 13:38:27 +08:00 |
|
Stephen Chung
|
7b92a80c32
|
Fix encapsulated environment in module functions.
|
2022-01-30 17:27:13 +08:00 |
|
Stephen Chung
|
6b02dde848
|
Gate dead code for no_module.
|
2022-01-29 11:09:43 +08:00 |
|
Stephen Chung
|
c93e94c7cd
|
Fix builds.
|
2022-01-28 21:35:16 +08:00 |
|
Stephen Chung
|
66af69aaff
|
Refactor and add state to debugger.
|
2022-01-28 18:59:18 +08:00 |
|
Stephen Chung
|
20baae71d4
|
Factor tuples into structs to aid in understanding.
|
2022-01-28 10:11:40 +08:00 |
|
Stephen Chung
|
b9f2fdb635
|
Rename AST option flags.
|
2022-01-28 08:28:17 +08:00 |
|
Stephen Chung
|
fc87dec128
|
Add debugging interface.
|
2022-01-27 16:58:11 +08:00 |
|
Stephen Chung
|
37dbc68bf5
|
Use target_family for wasm.
|
2022-01-12 08:12:28 +08:00 |
|
Stephen Chung
|
bc6bf6c6ba
|
Change expect("exists") to unwrap().
|
2022-01-06 11:07:52 +08:00 |
|
Stephen Chung
|
d99953c101
|
Fixup AsRef<str> vs &str.
|
2022-01-04 15:22:48 +08:00 |
|
Stephen Chung
|
a6ddb64596
|
Fix builds.
|
2022-01-01 17:38:32 +08:00 |
|
Stephen Chung
|
64bf2eef5c
|
Better error messages.
|
2021-12-30 12:19:41 +08:00 |
|
Stephen Chung
|
807240e249
|
Rename Imports to GlobalRuntimeState.
|
2021-12-28 11:42:52 +08:00 |
|
Stephen Chung
|
a78488d935
|
Rename Imports to GlobalRuntimeState.
|
2021-12-27 23:03:30 +08:00 |
|
Stephen Chung
|
e8b070cbf8
|
Fix builds.
|
2021-12-27 22:28:11 +08:00 |
|
Stephen Chung
|
9c7ced2b80
|
Move custom syntax to api.
|
2021-12-27 22:02:34 +08:00 |
|
Stephen Chung
|
4d226542fa
|
Split out strings interner.
|
2021-12-27 21:56:50 +08:00 |
|
Stephen Chung
|
05d4c81e7a
|
Use type alias for error.
|
2021-12-27 12:27:31 +08:00 |
|
Stephen Chung
|
01c35808cb
|
Use type alias
|
2021-12-25 23:49:14 +08:00 |
|
Stephen Chung
|
5c31ec7f78
|
Fix array bug.
|
2021-12-22 22:22:20 +08:00 |
|
Stephen Chung
|
1c50efbac8
|
Unroll switch range case if range has only one number.
|
2021-12-22 10:48:19 +08:00 |
|
Stephen Chung
|
dc6896fbe2
|
Add OpAssignment::new_from_token.
|
2021-12-17 16:55:24 +08:00 |
|
Stephen Chung
|
b1b2c62d7d
|
Merge branch 'v1.3-fixes'
|
2021-12-16 22:40:25 +08:00 |
|
Stephen Chung
|
10fa6844c4
|
Fix custom syntax with method calls.
|
2021-12-16 22:40:10 +08:00 |
|
Stephen Chung
|
fbc2b1f13d
|
Allow non-custom reserved symbols in custom syntax.
|
2021-12-16 18:01:49 +08:00 |
|
Stephen Chung
|
f92cbe1f6d
|
Merge branch 'v1.3-fixes'
|
2021-12-16 16:10:39 +08:00 |
|
Stephen Chung
|
224aa0ea68
|
Allow custom syntax inside binary operator expressions.
|
2021-12-16 16:06:44 +08:00 |
|
Stephen Chung
|
ef14079c61
|
Add ranges.
|
2021-12-15 12:06:17 +08:00 |
|
Stephen Chung
|
780c36e675
|
Simplify if let.
|
2021-12-12 12:33:22 +08:00 |
|
Stephen Chung
|
2a7a648429
|
Reduce feature gates.
|
2021-12-06 20:52:47 +08:00 |
|
Stephen Chung
|
6f6380ca3a
|
Fix builds.
|
2021-12-04 18:07:27 +08:00 |
|
Stephen Chung
|
b8c4054c20
|
Add strict variables mode.
|
2021-12-04 17:57:28 +08:00 |
|
Stephen Chung
|
fd26654125
|
Add allow_looping.
|
2021-12-03 11:24:38 +08:00 |
|
Stephen Chung
|
7cd76c6d18
|
Add language options.
|
2021-12-03 11:16:35 +08:00 |
|
Stephen Chung
|
c5f2b0a253
|
Fix builds.
|
2021-11-29 10:17:04 +08:00 |
|
Stephen Chung
|
95dc2ad502
|
Remove fields and parameters under no_function.
|
2021-11-29 09:43:35 +08:00 |
|
Stephen Chung
|
f49ff28b82
|
Fix test.
|
2021-11-28 10:49:48 +08:00 |
|
Stephen Chung
|
e918e61e95
|
Use AsRef<str> for more flexible API.
|
2021-11-27 23:04:45 +08:00 |
|
Stephen Chung
|
d56585c877
|
Remove no_smartstring feature.
|
2021-11-27 14:24:36 +08:00 |
|
Stephen Chung
|
abe6b4a29b
|
Use more const functions.
|
2021-11-27 14:24:06 +08:00 |
|
Stephen Chung
|
280b5b405e
|
Make some new functions const.
|
2021-11-25 17:09:00 +08:00 |
|
Stephen Chung
|
b7dc94fc1d
|
Refactor.
|
2021-11-16 23:13:53 +08:00 |
|
Stephen Chung
|
e961ae23fd
|
Eliminate script hashes under no_function.
|
2021-11-16 13:42:46 +08:00 |
|
Stephen Chung
|
615c3acad6
|
Use actual outer scope for function-bang calls.
|
2021-11-14 22:48:57 +08:00 |
|
Stephen Chung
|
64b889fb95
|
Restructure code base.
|
2021-11-13 22:36:23 +08:00 |
|
Stephen Chung
|
42a14ab4cc
|
Make file structures consistent.
|
2021-06-16 18:36:33 +08:00 |
|
Stephen Chung
|
aa2e04bd25
|
Simplify Expr::Export.
|
2021-06-16 16:35:56 +08:00 |
|
Stephen Chung
|
0a857e6944
|
Remove position for catch keyword.
|
2021-06-16 16:15:29 +08:00 |
|
Stephen Chung
|
b5898f451e
|
Fix no_closure build.
|
2021-06-14 12:09:54 +08:00 |
|
Stephen Chung
|
743d48f44f
|
Code style cleanup.
|
2021-06-13 17:41:34 +08:00 |
|
Stephen Chung
|
8ca24059b1
|
Add #[must_use]
|
2021-06-12 22:47:43 +08:00 |
|
Stephen Chung
|
a5031969ca
|
New custom syntax expression types.
|
2021-06-10 10:16:39 +08:00 |
|
Stephen Chung
|
2c21928f67
|
Simplify constant function call arguments.
|
2021-06-08 14:46:49 +08:00 |
|
Stephen Chung
|
3e08160653
|
Simplify variable name parsing.
|
2021-06-07 11:43:00 +08:00 |
|
Stephen Chung
|
1e66f1963a
|
Add counter variable to for statement.
|
2021-06-07 11:01:16 +08:00 |
|
Stephen Chung
|
4cf6550fc6
|
Fix tests.
|
2021-06-02 15:05:33 +08:00 |
|
Stephen Chung
|
71684f5e2a
|
Implement bit-fields.
|
2021-06-02 14:29:18 +08:00 |
|
Stephen Chung
|
76bd48d0a6
|
Code style refinements.
|
2021-05-29 18:33:29 +08:00 |
|
Stephen Chung
|
dfea3ed22a
|
Code style refactor.
|
2021-05-25 10:54:48 +08:00 |
|
Stephen Chung
|
d07d4d295d
|
Fix tests.
|
2021-05-22 19:34:10 +08:00 |
|
Stephen Chung
|
cc3e2d79a5
|
Replace unwrap with expect.
|
2021-05-22 19:14:24 +08:00 |
|
Stephen Chung
|
1545b602a7
|
Streamline hashing function.
|
2021-05-19 20:26:11 +08:00 |
|
Stephen Chung
|
dc9b4d7f4d
|
Indexer as fallback to property.
|
2021-05-18 20:12:30 +08:00 |
|
Stephen Chung
|
d1fc362eec
|
Handle constants propagation.
|
2021-05-16 21:21:13 +08:00 |
|
Stephen Chung
|
941e09d29d
|
Guard against setters mutating constants, and allow pure setters.
|
2021-05-15 11:41:42 +08:00 |
|
Stephen Chung
|
97c8194d17
|
No need to specify number of variables added/removed for custom syntax.
|
2021-05-11 10:58:28 +08:00 |
|
Stephen Chung
|
2c0215ea3f
|
Shrink arrays and use boxed slices.
|
2021-05-05 18:38:52 +08:00 |
|