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 |
|
Stephen Chung
|
6667a22c0c
|
Code style and docs.
|
2021-03-17 13:30:47 +08:00 |
|
Stephen Chung
|
d9df6aabc8
|
Change precedence to own type.
|
2021-03-14 10:47:29 +08:00 |
|
Stephen Chung
|
85fcb74be9
|
Furtuer optimize data structure sizes.
|
2021-03-12 14:11:08 +08:00 |
|
Stephen Chung
|
728ed81173
|
Optimize layout.
|
2021-03-10 22:12:48 +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
|
2ff2789326
|
Fix Stmt size.
|
2021-03-09 23:48:40 +08:00 |
|
Stephen Chung
|
b11b8d6d39
|
Reduce redirections in Stmt.
|
2021-03-09 23:30:48 +08:00 |
|
Stephen Chung
|
975bb3d6bf
|
Map in operator to contains function call.
|
2021-03-09 13:44:54 +08:00 |
|
Stephen Chung
|
62928f8613
|
Revise function hashing.
|
2021-03-08 15:30:32 +08:00 |
|
Stephen Chung
|
330d3f87af
|
Use namespace for ScriptFnDef.
|
2021-03-07 22:10:54 +08:00 |
|
Stephen Chung
|
a126d05c3f
|
Skip evaluate condition for loop statement.
|
2021-03-06 16:05:22 +08:00 |
|
Stephen Chung
|
0589572d19
|
Refine inlining.
|
2021-03-04 18:13:47 +08:00 |
|
Stephen Chung
|
4ac05aee8b
|
Disallow implicit comparisons between different numeric types.
|
2021-02-24 15:45:29 +08:00 |
|
Stephen Chung
|
6f876e85cc
|
Always call native for op-assignment operators.
|
2021-02-23 20:32:50 +08:00 |
|
Stephen Chung
|
bd5ff457d2
|
Built-in interop between FLOAT/Decimal and INT.
|
2021-02-19 11:47:26 +08:00 |
|
Stephen Chung
|
3650b04c38
|
Add Decimal number type.
|
2021-02-13 20:57:56 +08:00 |
|
Stephen Chung
|
e88e65f36e
|
Fix bug with parsing empty statements.
|
2021-02-09 14:08:17 +08:00 |
|
Stephen Chung
|
7b87f81850
|
Add has_override and script calls to function resolution cache.
|
2021-02-07 15:09:27 +08:00 |
|
Stephen Chung
|
c5e2620d0f
|
Minor code refactors.
|
2021-02-03 19:14:26 +08:00 |
|
Stephen Chung
|
42058836ba
|
Fix panic in property access parsing error.
|
2021-01-31 18:44:50 +08:00 |
|
Stephen Chung
|
e902c74073
|
Add threading example.
|
2021-01-25 11:31:54 +08:00 |
|
Stephen Chung
|
c245fe88fd
|
Allow stacking ! operators.
|
2021-01-24 21:21:15 +08:00 |
|
Stephen Chung
|
fe65bf6137
|
Fix bug in optimizer.
|
2021-01-12 23:52:50 +08:00 |
|
Stephen Chung
|
a5d6392107
|
Use NonZero for limits.
|
2021-01-06 13:46:53 +08:00 |
|
Stephen Chung
|
cf9d35166d
|
Remove hashing of the entire script by making Expr and Stmt Hash.
|
2021-01-04 11:58:24 +08:00 |
|
Stephen Chung
|
e2a47b2a65
|
Disallow duplicated function definitions.
|
2021-01-03 20:54:08 +08:00 |
|
Stephen Chung
|
ef48f47b74
|
Refine docs and comments etc.
|
2021-01-02 23:30:10 +08:00 |
|
Stephen Chung
|
13f5cec291
|
Fix call stack limits.
|
2020-12-29 12:29:45 +08:00 |
|
Stephen Chung
|
eca8212f38
|
More code refinements.
|
2020-12-29 10:41:20 +08:00 |
|
Stephen Chung
|
e481a8019d
|
Simplify code and better error messages.
|
2020-12-28 14:21:13 +08:00 |
|
Stephen Chung
|
5c813ca7c0
|
Code cleanup.
|
2020-12-28 09:49:54 +08:00 |
|
Stephen Chung
|
6b8d78d64c
|
Streamline parsing.
|
2020-12-27 16:50:48 +08:00 |
|
Stephen Chung
|
48af8719e7
|
Fix closure property access.
|
2020-12-27 11:50:24 +08:00 |
|
Stephen Chung
|
66d3af256e
|
Enhance custom operators.
|
2020-12-26 23:21:09 +08:00 |
|
Stephen Chung
|
dc4e52e795
|
Code enhancements.
|
2020-12-26 13:05:57 +08:00 |
|
Stephen Chung
|
822fe80105
|
Reduce redirections.
|
2020-12-25 11:02:29 +08:00 |
|
Stephen Chung
|
8f969b1ab5
|
Reduce indirections.
|
2020-12-24 23:22:50 +08:00 |
|
Stephen Chung
|
363085efc3
|
Map actual 0 hash to 42.
|
2020-12-24 18:43:04 +08:00 |
|
Stephen Chung
|
8506640073
|
Use NonZeroU64 for function hashes.
|
2020-12-24 16:32:43 +08:00 |
|
Stephen Chung
|
2e7ec8f1db
|
IdentX -> Ident.
|
2020-12-22 16:45:56 +08:00 |
|
Stephen Chung
|
10da4d8976
|
LexError directly to ParseError.
|
2020-12-22 11:55:51 +08:00 |
|
Stephen Chung
|
2955a4ab64
|
Fix unary operators binding.
|
2020-12-21 17:39:37 +08:00 |
|
Stephen Chung
|
db7b9cb0f9
|
Native only if function call is not a valid identifier.
|
2020-12-18 23:03:56 +08:00 |
|
Stephen Chung
|
882b26d2a1
|
Change ScriptFnMetadata to hold references.
|
2020-12-18 16:31:44 +08:00 |
|
Stephen Chung
|
f8c14ba1c4
|
Add look-ahead to custom syntax parser.
|
2020-12-15 19:23:30 +08:00 |
|
Stephen Chung
|
ecc08271d9
|
Include actual tokens in custom syntax node.
|
2020-12-13 14:31:24 +08:00 |
|
Stephen Chung
|
87174de051
|
Add doc-comment to function metadata.
|
2020-12-12 20:09:29 +08:00 |
|
Stephen Chung
|
26449a9f1c
|
Add ScriptFnMetadata.
|
2020-12-12 18:44:28 +08:00 |
|
Stephen Chung
|
bed29da71a
|
Use ImmutableString.
|
2020-12-11 12:57:07 +08:00 |
|
Stephen Chung
|
dbee0eb0f5
|
Rename AccessType to ReadWrite and ReadOnly.
|
2020-12-09 18:37:52 +08:00 |
|
Stephen Chung
|
f22a04fc74
|
Move constancy into Dynamic.
|
2020-12-08 22:47:38 +08:00 |
|
Stephen Chung
|
36546c7325
|
Fix builds
|
2020-11-27 23:37:59 +08:00 |
|
Stephen Chung
|
a0979d0c35
|
Code cleanup
|
2020-11-25 09:36:06 +08:00 |
|
Stephen Chung
|
0046fe7e73
|
Prefer Engine::disable_symbol to disable eval.
|
2020-11-21 15:08:18 +08:00 |
|
Stephen Chung
|
2be757fda0
|
Make shadowing variables in custom syntax work.
|
2020-11-21 13:05:57 +08:00 |
|
Stephen Chung
|
6069a4cf55
|
do loop.
|
2020-11-20 22:23:37 +08:00 |
|
Stephen Chung
|
783803ec46
|
Update comments with links.
|
2020-11-20 16:52:28 +08:00 |
|
Stephen Chung
|
15afd83da5
|
Merge Expr::True/False into BoolConstant.
|
2020-11-19 22:29:50 +08:00 |
|
Stephen Chung
|
038e3c2554
|
Add FnNamespace for module functions.
|
2020-11-17 12:23:53 +08:00 |
|
Stephen Chung
|
999a87f86e
|
Fix no_optimize build.
|
2020-11-16 23:32:44 +08:00 |
|
Stephen Chung
|
7ef3bd6b20
|
Fix no_function build.
|
2020-11-16 23:25:19 +08:00 |
|
Stephen Chung
|
699220057f
|
Fix bug.
|
2020-11-16 23:17:34 +08:00 |
|
Stephen Chung
|
272c8505b8
|
Refactor use.
|
2020-11-16 23:10:14 +08:00 |
|
Stephen Chung
|
d50d48f26f
|
Move definition of Array and Map to lib.rs.
|
2020-11-16 21:14:32 +08:00 |
|
Stephen Chung
|
adb902326e
|
Reduce feature gates on imports.
|
2020-11-16 16:28:04 +08:00 |
|
Stephen Chung
|
b75964e383
|
Add Dynamic::UNIT.
|
2020-11-15 23:14:29 +08:00 |
|
Stephen Chung
|
c919ee4e46
|
Fine tune hash map sizes.
|
2020-11-15 13:49:54 +08:00 |
|
Stephen Chung
|
bde8917ed4
|
Set capacity of hash maps.
|
2020-11-15 12:07:35 +08:00 |
|
Stephen Chung
|
a63f14b59c
|
Expr::Switch -> Stmt::Switch.
|
2020-11-14 23:43:36 +08:00 |
|
Stephen Chung
|
0182117759
|
Change Stmt Variant names.
|
2020-11-14 22:55:23 +08:00 |
|
Stephen Chung
|
b0c66eb5e5
|
Add benchmarks for switch statement.
|
2020-11-13 19:35:51 +08:00 |
|
Stephen Chung
|
55b4907f19
|
Add switch expression.
|
2020-11-13 18:32:18 +08:00 |
|
Stephen Chung
|
7d1b971b39
|
More interned strings.
|
2020-11-13 10:43:54 +08:00 |
|
Stephen Chung
|
27619b86db
|
Fix builds.
|
2020-11-12 23:09:27 +08:00 |
|
Stephen Chung
|
69a0f044f4
|
Use interned strings to prepare for match statement.
|
2020-11-12 22:36:13 +08:00 |
|
Stephen Chung
|
958762079e
|
Change modules to namespace.
|
2020-11-10 23:26:50 +08:00 |
|
Stephen Chung
|
e69444293c
|
Encapsulate imported modules into AST.
|
2020-11-09 21:52:23 +08:00 |
|
Stephen Chung
|
821e64adc4
|
Allow multiple exports.
|
2020-11-09 14:38:33 +08:00 |
|
Stephen Chung
|
4b622a8830
|
Enable export let/export const short-hand.
|
2020-11-09 12:21:11 +08:00 |
|
Stephen Chung
|
760f6c3678
|
Fix no_function build.
|
2020-11-08 10:56:33 +08:00 |
|
Stephen Chung
|
07a8a43298
|
Optimize data structures.
|
2020-11-06 16:27:40 +08:00 |
|
Stephen Chung
|
c287a61b93
|
Streamline ScriptFnDef.
|
2020-11-04 12:34:54 +08:00 |
|
Stephen Chung
|
2168fd5361
|
Expr::Stmt takes a statements block.
|
2020-11-04 11:49:02 +08:00 |
|
Stephen Chung
|
f74d947c6b
|
Fix constant assignment.
|
2020-11-03 13:08:19 +08:00 |
|
Stephen Chung
|
b9de8eaa7f
|
Minor code refactor.
|
2020-11-02 23:54:19 +08:00 |
|
Stephen Chung
|
d7d6f74dfd
|
Add constant NO_POS.
|
2020-11-02 12:50:27 +08:00 |
|
Stephen Chung
|
629e02f9da
|
Use Ident.
|
2020-11-01 00:04:02 +08:00 |
|
Stephen Chung
|
abbee80e5d
|
Do not box ModuleRef.
|
2020-10-31 23:51:59 +08:00 |
|
Stephen Chung
|
42eac410b7
|
Optimize Expr.
|
2020-10-31 23:26:21 +08:00 |
|
Stephen Chung
|
89811c8dfc
|
Pack Stmt and Expr some more.
|
2020-10-31 14:13:45 +08:00 |
|
Stephen Chung
|
4e115d2bc2
|
Code structure refactor.
|
2020-10-29 11:37:51 +08:00 |
|
Stephen Chung
|
f5ffbfbe06
|
Code structure cleanup.
|
2020-10-28 22:18:44 +08:00 |
|
Stephen Chung
|
53adc58f63
|
Fix no_closure build.
|
2020-10-28 19:21:45 +08:00 |
|
Stephen Chung
|
f56c3fe9cb
|
Add Ident/IdentX to AST.
|
2020-10-28 19:11:17 +08:00 |
|
Stephen Chung
|
30e11f137b
|
Move ErrorAssignmentToUnknownLHS to ParseError.
|
2020-10-28 10:26:36 +08:00 |
|
Stephen Chung
|
4b087d0e69
|
Fix test.
|
2020-10-27 23:45:04 +08:00 |
|
Stephen Chung
|
51fca1e757
|
Move Assignment to Stmt.
|
2020-10-27 23:21:20 +08:00 |
|
Stephen Chung
|
fd2ba54b49
|
Introduce BinaryExpr.
|
2020-10-27 23:00:05 +08:00 |
|
Stephen Chung
|
f62f7908ab
|
Pack Stmt tighter.
|
2020-10-27 19:23:43 +08:00 |
|
Stephen Chung
|
93b5df6b3c
|
Pack Stmt structure.
|
2020-10-27 18:18:19 +08:00 |
|
Stephen Chung
|
01663a6581
|
Refine docs.
|
2020-10-27 11:30:38 +08:00 |
|
Stephen Chung
|
54d68c1061
|
Fix bug.
|
2020-10-26 21:49:49 +08:00 |
|
Stephen Chung
|
7496c77ac9
|
Custom syntax parser function takes &[String].
|
2020-10-26 19:46:58 +08:00 |
|
Stephen Chung
|
b607a3a9ba
|
Add raw API for custom syntax.
|
2020-10-25 21:57:18 +08:00 |
|
Stephen Chung
|
2c7c719cd5
|
Minor cleanup before release.
|
2020-10-22 12:26:44 +08:00 |
|
Stephen Chung
|
07bdb824fe
|
Add try-catch.
|
2020-10-20 23:16:03 +08:00 |
|
Stephen Chung
|
5ee9dfc5cd
|
1) Change namespaces to iter_namespaces
2) throw can throw any value
|
2020-10-20 18:09:26 +08:00 |
|
Stephen Chung
|
ccba5f2188
|
Move custom syntax into separate function.
|
2020-10-19 19:21:40 +08:00 |
|
Stephen Chung
|
a9fd0ff4de
|
Encapsulate scope into EvalContext;
Fix bug with custom syntax delta.
|
2020-10-19 19:11:55 +08:00 |
|
Stephen Chung
|
6e5c903241
|
Fix no_module build.
|
2020-10-18 22:10:08 +08:00 |
|
Stephen Chung
|
dc4c47e008
|
Fix no_function and no_module builds.
|
2020-10-18 17:29:11 +08:00 |
|
Stephen Chung
|
82e6dd446a
|
Encapsulate register_fn_raw parameters into NativeCallContext.
|
2020-10-18 17:02:17 +08:00 |
|
Stephen Chung
|
f903eda8ab
|
Catch Fn and eval in method call at parse time.
|
2020-10-17 18:18:29 +08:00 |
|
Stephen Chung
|
39474d6420
|
Streamline function pointers and currying.
|
2020-10-17 13:49:16 +08:00 |
|
Stephen Chung
|
3c7805d514
|
Encapsulate environment in ScriptFnDef.
|
2020-10-13 09:38:14 +08:00 |
|
Stephen Chung
|
c4f00afbee
|
Disallow ! in module function calls.
|
2020-10-12 16:59:59 +08:00 |
|
Stephen Chung
|
612ecc4ebc
|
Move StaticVec definition to lib.rs.
|
2020-10-10 13:41:55 +08:00 |
|
Stephen Chung
|
7ede299aae
|
Allow expressions in constants.
|
2020-10-09 11:15:25 +08:00 |
|
Stephen Chung
|
1272eeb81a
|
Add/remove #[inline] attributes.
|
2020-10-08 22:25:50 +08:00 |
|
Stephen Chung
|
b2d603ec06
|
Refine Add/AddAssign for AST and Module.
|
2020-10-07 23:25:08 +08:00 |
|
Stephen Chung
|
d7bfe13b3e
|
Add convenient functions and operators for Module and module resolvers.
|
2020-10-07 15:40:36 +08:00 |
|
Stephen Chung
|
1523981e4e
|
Add AST::combine and AST::combine_filtered.
|
2020-10-07 12:11:25 +08:00 |
|
Stephen Chung
|
ae1157a140
|
Remove Expr::get_constant_str and change Expr::get_constant_value not to panic.
|
2020-10-06 22:09:26 +08:00 |
|
Stephen Chung
|
1e13e6be5f
|
Doc formatting.
|
2020-10-03 18:49:11 +08:00 |
|
Stephen Chung
|
a72f70846f
|
Make merged namespace more efficient.
|
2020-10-02 23:14:33 +08:00 |
|
Stephen Chung
|
08ca90a136
|
Use ImmutableString for import alias.
|
2020-10-02 18:52:18 +08:00 |
|
Stephen Chung
|
e8d5f78f88
|
Simplify code.
|
2020-10-01 23:31:27 +08:00 |
|
Stephen Chung
|
03dce86328
|
Support Dynamic as function default return value.
|
2020-09-26 16:27:38 +08:00 |
|
Stephen Chung
|
c4ec93080e
|
New FileModuleResolver.
|
2020-09-24 22:50:28 +08:00 |
|
Stephen Chung
|
b8aeaa84de
|
Add functions to iterate script function definitions.
|
2020-09-24 16:10:25 +08:00 |
|
J Henry Waugh
|
c8dffff515
|
Fix clippy::perf lint errors
|
2020-09-20 13:07:46 -05:00 |
|
Stephen Chung
|
d1ab9a2848
|
Fix bug on unary function hashes.
|
2020-09-11 22:09:09 +08:00 |
|
Stephen Chung
|
a72f797da1
|
Merge branch 'plugins' into plugins_dev
|
2020-08-23 17:54:37 +08:00 |
|
Stephen Chung
|
7cd345b128
|
Fix bug in closure capture for no_object.
|
2020-08-23 17:46:39 +08:00 |
|
Stephen Chung
|
3042e3d9db
|
Merge branch 'master' into plugins_dev
|
2020-08-22 22:51:41 +08:00 |
|
Stephen Chung
|
0ece75aba3
|
Allow module access in closures.
|
2020-08-22 22:44:24 +08:00 |
|
Stephen Chung
|
0b04d05afe
|
Do not parse closures when allow_anonymous_fn is false.
|
2020-08-22 11:08:27 +08:00 |
|
Stephen Chung
|
08977e2a62
|
Use combine_flatten for plugin modules.
|
2020-08-21 21:48:45 +08:00 |
|
Stephen Chung
|
564d3bc339
|
Add more closure tests.
|
2020-08-09 22:12:50 +08:00 |
|
Ilya Lakhin
|
39ee74112c
|
no-closure feature issue fixed
|
2020-08-09 18:42:33 +07:00 |
|
Ilya Lakhin
|
20cff87e14
|
False-positive capturing prevention bug fix
|
2020-08-09 18:35:29 +07:00 |
|
Stephen Chung
|
da3cce58d3
|
Minor refactor.
|
2020-08-08 22:59:05 +08:00 |
|
Ilya Lakhin
|
45d021c7ef
|
Function names capturing as external variables bug
|
2020-08-08 17:55:58 +07:00 |
|
Stephen Chung
|
ffe52bf437
|
Allow omitting the alias in import statement.
|
2020-08-05 23:23:53 +08:00 |
|
Stephen Chung
|
ae11dbbefe
|
Fix feature flags.
|
2020-08-05 22:53:01 +08:00 |
|
Stephen Chung
|
2aa08c0dd9
|
get_constant_value for FnPointer.
|
2020-08-03 23:12:42 +08:00 |
|
Stephen Chung
|
4079164bfd
|
Implement closures.
|
2020-08-03 12:10:20 +08:00 |
|
Stephen Chung
|
60891e694f
|
Streamline code and feature gates.
|
2020-07-31 22:30:23 +08:00 |
|
Ilya Lakhin
|
89f75bbf0c
|
Merge remote-tracking branch 'schungx/closures' into closures
|
2020-07-31 13:05:16 +07:00 |
|
Ilya Lakhin
|
060dd33046
|
Shared Dynamic tests and fixes in Engine; Also fixed a bug in Parser variable capturing
|
2020-07-31 10:47:22 +07:00 |
|
Ilya Lakhin
|
aa87a7f5ef
|
Fixes in Engine to properly interpret Shared Dynamic
|
2020-07-31 10:47:22 +07:00 |
|
Stephen Chung
|
a7ff207636
|
Use Scope::flatten_clone for capturing.
|
2020-07-30 23:29:30 +08:00 |
|
Stephen Chung
|
98b294c699
|
Implement capturing.
|
2020-07-30 18:18:28 +08:00 |
|
Stephen Chung
|
691e04292f
|
Put externals in ScriptFnDef.
|
2020-07-30 13:28:06 +08:00 |
|
Stephen Chung
|
721c578407
|
Use HashMap for externals.
|
2020-07-29 23:34:48 +08:00 |
|
Stephen Chung
|
1465ba2315
|
Refactor auto-currying.
|
2020-07-29 22:43:50 +08:00 |
|
Stephen Chung
|
a5a3bbd399
|
Merge pull request #19 from Eliah-Lakhin/closures
Autocurry feature
|
2020-07-29 21:24:43 +08:00 |
|
Ilya Lakhin
|
8fc16b40e6
|
Code style issues fixed
|
2020-07-29 20:17:18 +07:00 |
|
Ilya Lakhin
|
a856a8bbcb
|
max_expr_depth bug fix
|
2020-07-29 19:04:33 +07:00 |
|
Ilya Lakhin
|
48356abc83
|
Autocurry fixes and test
|
2020-07-29 18:52:54 +07:00 |
|
Ilya Lakhin
|
8e51988b66
|
A prototype of a new feature to automatically curry of external scope variables
|
2020-07-29 16:56:32 +07:00 |
|