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 |
|
Stephen Chung
|
bb5dc7b637
|
Add tag to Dynamic.
|
2021-05-02 23:57:35 +08:00 |
|
Stephen Chung
|
61b559a58f
|
Refine op-assignment.
|
2021-04-24 11:55:40 +08:00 |
|
Stephen Chung
|
cc1f941875
|
Optimize op-assignment.
|
2021-04-23 23:37:10 +08:00 |
|
Stephen Chung
|
a54fbb32ff
|
Add no_position feature.
|
2021-04-22 23:02:25 +08:00 |
|
Stephen Chung
|
815f7ba09e
|
Remove Expr::FnPointer.
|
2021-04-20 23:40:52 +08:00 |
|
Stephen Chung
|
ce384d8bb0
|
Change FnPtr to SmartString.
|
2021-04-20 23:28:04 +08:00 |
|
Stephen Chung
|
8f1bff2ded
|
Change hash to hashes.
|
2021-04-20 22:26:08 +08:00 |
|
Stephen Chung
|
8ff1f57900
|
Remove redundant std.
|
2021-04-20 19:19:35 +08:00 |
|
Stephen Chung
|
a186eb8d97
|
Fix hanging when parsing unterminated statements block.
|
2021-04-20 11:22:38 +08:00 |
|
Stephen Chung
|
01f0cc028b
|
Use no-std-compat to build no-std.
|
2021-04-17 15:15:54 +08:00 |
|
Stephen Chung
|
2f2b7403cb
|
Streamline as_mut to &mut.
|
2021-04-17 13:54:24 +08:00 |
|
Stephen Chung
|
2b10c5c6c1
|
Correct position of negative numbers.
|
2021-04-16 21:59:05 +08:00 |
|
Stephen Chung
|
208e5fdbf4
|
New switch errors.
|
2021-04-16 13:28:36 +08:00 |
|
Stephen Chung
|
1f987ec61a
|
Streamine StmtBlock.
|
2021-04-16 13:15:11 +08:00 |
|
Stephen Chung
|
980a13ca42
|
Add switch case conditions.
|
2021-04-16 12:04:33 +08:00 |
|
Stephen Chung
|
8da4c0c2b2
|
Default switch case must be last.
|
2021-04-16 09:41:02 +08:00 |
|
Stephen Chung
|
6b4553ffc8
|
Fix panic with unterminated interpolated string.
|
2021-04-10 17:47:44 +08:00 |
|
Stephen Chung
|
40fda5139d
|
Support negative index counting from end.
|
2021-04-10 15:00:03 +08:00 |
|
Stephen Chung
|
29d186b361
|
Put doc-comments under metadata flag.
|
2021-04-09 22:49:47 +08:00 |
|
Stephen Chung
|
f17a826f99
|
Refine debug print-out.
|
2021-04-06 23:18:41 +08:00 |
|
Stephen Chung
|
d3cfb3c605
|
Optimize position in variable access.
|
2021-04-05 23:59:15 +08:00 |
|
Stephen Chung
|
94fc5af285
|
Store short index in variable access.
|
2021-04-05 23:06:48 +08:00 |
|
Stephen Chung
|
00784d39ad
|
PropertyExpected for map literal with interpolated key.
|
2021-04-05 14:51:26 +08:00 |
|
Stephen Chung
|
e6ea006ac6
|
Fix builds.
|
2021-04-05 00:05:56 +08:00 |
|
Stephen Chung
|
bc9c1ab850
|
Add external control interface for tokenizer.
|
2021-04-04 23:08:27 +08:00 |
|
Stephen Chung
|
20aaf1826a
|
Fix builds.
|
2021-04-04 15:06:13 +08:00 |
|
Stephen Chung
|
e6c878edf3
|
Implement string interpolation.
|
2021-04-04 13:13:07 +08:00 |
|
Stephen Chung
|
a738f750f9
|
Implement string functions with to_string/to_debug.
|
2021-04-02 19:26:55 +08:00 |
|
Stephen Chung
|
a049f7b5ba
|
Optimize data structures.
|
2021-03-30 23:55:29 +08:00 |
|
Stephen Chung
|
e36e490a30
|
Support back-tick at EOL for literal strings.
|
2021-03-30 13:59:27 +08:00 |
|
Stephen Chung
|
d756b7bac6
|
Rename FnWrongDefinition to WrongFnDefinition.
|
2021-03-30 11:39:00 +08:00 |
|
Stephen Chung
|
e306a92ea0
|
Change Map keys to Identifier.
|
2021-03-29 17:14:22 +08:00 |
|
Stephen Chung
|
41b48d591f
|
Change to no_smartstring feature.
|
2021-03-29 17:13:54 +08:00 |
|
Stephen Chung
|
07efdddba3
|
Add smartstring default feature.
|
2021-03-29 13:40:33 +08:00 |
|
Stephen Chung
|
fc6c5ecd00
|
Fix no_closure builds.
|
2021-03-29 13:07:10 +08:00 |
|
Stephen Chung
|
e5249cc1ae
|
Extract Identifier type.
|
2021-03-29 11:36:02 +08:00 |
|
Stephen Chung
|
241f5abe10
|
Change function call name into ImmutableString from Cow<str>.
|
2021-03-28 23:06:59 +08:00 |
|
Stephen Chung
|
7bdc2e3d20
|
Extract constant arguments from function calls.
|
2021-03-28 19:04:25 +08:00 |
|
Stephen Chung
|
c4fe1782df
|
Streamline string handling.
|
2021-03-24 13:17:52 +08:00 |
|
Stephen Chung
|
0d7f2c16cc
|
Reduce indirections.
|
2021-03-23 20:04:54 +08:00 |
|
Stephen Chung
|
f9429c06f9
|
Use template for object map literal.
|
2021-03-23 18:25:40 +08:00 |
|
Stephen Chung
|
f70225ca1d
|
Change HashMap to BTreeMap.
|
2021-03-23 12:13:53 +08:00 |
|