Stephen Chung
|
cabceb7498
|
Better handling of errors during function calls.
|
2020-05-13 21:58:38 +08:00 |
|
Stephen Chung
|
996a54279c
|
Pre-calculate property getter/setter function names.
|
2020-05-13 10:19:18 +08:00 |
|
Stephen Chung
|
ec67879759
|
Derive more standard traits.
|
2020-05-12 18:48:25 +08:00 |
|
Stephen Chung
|
2e28967565
|
Fix bug with wrong method call hash.
|
2020-05-12 10:20:29 +08:00 |
|
Stephen Chung
|
33c9be7efc
|
Reformat.
|
2020-05-11 23:48:50 +08:00 |
|
Stephen Chung
|
4a8710a4a9
|
Create NativeCallable trait.
|
2020-05-11 13:36:50 +08:00 |
|
Stephen Chung
|
8aa0e2ceb4
|
Use StaticVec to avoid most allocations with function arguments.
|
2020-05-10 21:25:47 +08:00 |
|
Stephen Chung
|
80debbc432
|
Refactor.
|
2020-05-10 00:19:13 +08:00 |
|
Stephen Chung
|
a7bfac21bd
|
Reducing boxing and sizes of Expr/Stmt.
|
2020-05-09 21:46:38 +08:00 |
|
Stephen Chung
|
79f39bd702
|
Pre-calculate function call hashes.
|
2020-05-09 16:15:50 +08:00 |
|
Stephen Chung
|
0d20137d6c
|
Implement private modifier for functions.
|
2020-05-09 11:29:30 +08:00 |
|
Stephen Chung
|
d1de84fdd2
|
Add comments and fix documentation.
|
2020-05-09 10:00:59 +08:00 |
|
Stephen Chung
|
e50fcc385f
|
Pre-calculate index for module-qualified calls.
|
2020-05-08 22:38:56 +08:00 |
|
Stephen Chung
|
eb52bfa28a
|
Add export statement.
|
2020-05-08 16:49:24 +08:00 |
|
Stephen Chung
|
89d75b1b11
|
Fix compilation errors for no_module.
|
2020-05-08 14:50:48 +08:00 |
|
Stephen Chung
|
e6fabe58cc
|
Unify function hash calculations, pre-hash module-qualified function calls.
|
2020-05-08 11:34:56 +08:00 |
|
Stephen Chung
|
5f12391ec6
|
Use hashed lookup for module-qualified functions and variables.
|
2020-05-08 00:19:08 +08:00 |
|
Stephen Chung
|
f3c0609377
|
Catch more assignment errors at parse time.
|
2020-05-07 12:25:09 +08:00 |
|
Stephen Chung
|
e966f5d49e
|
Fix bug with let statement without expression.
|
2020-05-06 22:54:34 +08:00 |
|
Stephen Chung
|
d75a8bc6cd
|
Make sure all features compile correctly.
|
2020-05-06 19:45:17 +08:00 |
|
Stephen Chung
|
88fec57394
|
Make module_resolver optional and remove NullModuleResolver.
|
2020-05-06 16:09:44 +08:00 |
|
Stephen Chung
|
aae9e43109
|
Implement module-qualified functions.
|
2020-05-05 17:51:40 +08:00 |
|
Stephen Chung
|
38e717a838
|
Build Module type plus engine hooks.
|
2020-05-05 15:00:10 +08:00 |
|
Stephen Chung
|
c03b162b7e
|
Refactor code base and split into more module files.
|
2020-05-05 12:24:13 +08:00 |
|
Stephen Chung
|
143861747d
|
Rename sub-scope/SubScope to module.
|
2020-05-05 10:39:12 +08:00 |
|
Stephen Chung
|
64036f69ca
|
Refine modules.
|
2020-05-04 23:07:42 +08:00 |
|
Stephen Chung
|
2bdd174f16
|
Add import statement.
|
2020-05-04 19:36:58 +08:00 |
|
Stephen Chung
|
ead9716f6d
|
Add namespacing syntax.
|
2020-05-04 17:43:54 +08:00 |
|
jhwgh1968
|
7011e4068f
|
Start on namespaces
|
2020-05-03 12:19:01 -05:00 |
|
Stephen Chung
|
d83b829810
|
Avoid copying arguments for function calls.
|
2020-05-03 16:54:24 +08:00 |
|
Stephen Chung
|
c7c7fe3dfc
|
Reduce size of Expr and Stmt by Boxing strings.
|
2020-05-01 17:32:39 +08:00 |
|
Stephen Chung
|
21c3edb31e
|
Streamline.
|
2020-04-29 16:11:54 +08:00 |
|
Stephen Chung
|
304c658f89
|
Use scope offset for variable access.
|
2020-04-28 23:05:03 +08:00 |
|
Stephen Chung
|
9ad9dd52ab
|
Reduce unnecessary Cow's in Expr.
|
2020-04-28 19:39:36 +08:00 |
|
Stephen Chung
|
f5c7d7cd0d
|
Reduce memory footprint of Target.
|
2020-04-26 19:37:32 +08:00 |
|
Stephen Chung
|
33d3e34908
|
Deep linking for dot/index chains.
|
2020-04-26 18:04:07 +08:00 |
|
Stephen Chung
|
5aaaa7be3b
|
Simplify parsing by expecting the tokens stream will never be exhausted.
|
2020-04-23 13:24:24 +08:00 |
|
Stephen Chung
|
fbfea60903
|
Disallow assignments in expressions.
|
2020-04-22 17:37:06 +08:00 |
|
Stephen Chung
|
c69647d9fd
|
Change Dynamic::from_xxx to From<xxx> impl.
|
2020-04-22 12:12:13 +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
|
0306d15c04
|
Split core and standard libraries into packages.
|
2020-04-21 00:11:25 +08:00 |
|
Stephen Chung
|
a0bc49c867
|
Reduce size of Dynamic by boxing large types.
|
2020-04-18 11:10:03 +08:00 |
|
Stephen Chung
|
f5fff828e8
|
Box errors to reduce return type footprint.
|
2020-04-18 00:14:33 +08:00 |
|
Stephen Chung
|
65d611b976
|
FIX: no_float errors.
|
2020-04-17 20:08:41 +08:00 |
|
Stephen Chung
|
c5f66e932b
|
Simplify parsing by introducing an EOF token.
|
2020-04-17 20:01:41 +08:00 |
|
Stephen Chung
|
5d9a99cefc
|
Refine postfix operators handling.
|
2020-04-17 19:00:52 +08:00 |
|
Stephen Chung
|
3a93ab8240
|
Make FunctionsLib a HashMap.
|
2020-04-16 23:58:57 +08:00 |
|
Stephen Chung
|
f8e9d66a0b
|
Remove lifetime from Engine.
|
2020-04-16 23:31:48 +08:00 |
|
Stephen Chung
|
a35518fe49
|
Split tokenizer into separate file, plus fix no_std feature.
|
2020-04-15 22:21:23 +08:00 |
|
Stephen Chung
|
78cd53db09
|
Streamline tokens reading and reformat code for easier reading.
|
2020-04-15 21:41:28 +08:00 |
|
Stephen Chung
|
5152a40e93
|
Change Dynamic to enum.
|
2020-04-12 23:00:06 +08:00 |
|
Stephen Chung
|
bc0d43d68f
|
Simplify code.
|
2020-04-11 18:09:03 +08:00 |
|
Stephen Chung
|
d73cfb6da5
|
Allow escaping quotes in strings.
|
2020-04-11 12:46:10 +08:00 |
|
Stephen Chung
|
4b2cff715e
|
Optimize property access for object maps.
|
2020-04-10 21:02:13 +08:00 |
|
Stephen Chung
|
ff8eca8a5e
|
Add parse_json.
|
2020-04-10 17:14:07 +08:00 |
|
Stephen Chung
|
adbfceb5be
|
Do not omit error enum variants.
|
2020-04-10 12:16:39 +08:00 |
|
Stephen Chung
|
bcff6bfd71
|
Remove no_stdlib feature in favor of Engine::new_raw().
|
2020-04-08 10:19:03 +08:00 |
|
Stephen Chung
|
e0bb2e5c97
|
Change optimize_ast to take optimization level as parameter.
|
2020-04-08 09:30:50 +08:00 |
|
Stephen Chung
|
e795a50ae2
|
Make Engine reentrant to prepare for parallel execution.
|
2020-04-07 13:23:06 +08:00 |
|
Stephen Chung
|
e204ae1a2c
|
Add 'in' expression.
|
2020-04-06 17:47:34 +08:00 |
|
Stephen Chung
|
32672b184b
|
Avoid copying strings.
|
2020-04-06 12:29:01 +08:00 |
|
Stephen Chung
|
44d6a5e466
|
Reduce cloning.
|
2020-04-05 17:44:48 +08:00 |
|
Stephen Chung
|
e0514a4ec0
|
Remove ref modifiers.
|
2020-04-05 12:37:07 +08:00 |
|
Stephen Chung
|
29150faef2
|
Improve AST evaluation efficiency by sharing functions.
|
2020-04-04 22:00:44 +08:00 |
|
Stephen Chung
|
92b549b828
|
Add features info in docs.
|
2020-04-03 19:42:01 +08:00 |
|
Stephen Chung
|
5e7c9b47d5
|
Rename downcast to try_cast and add cast for Dynamic.
|
2020-04-02 12:35:44 +08:00 |
|
Stephen Chung
|
4ea2fb88ae
|
Add continue statement.
|
2020-04-01 16:22:18 +08:00 |
|
Stephen Chung
|
246a865abd
|
Fix doc test.
|
2020-04-01 10:21:49 +08:00 |
|
Stephen Chung
|
01c0b51017
|
Change object maps to #{ ... }
|
2020-03-30 17:40:26 +08:00 |
|
Stephen Chung
|
fce51758d1
|
Add support for string literal property names in object maps.
|
2020-03-30 12:14:59 +08:00 |
|
Stephen Chung
|
45ee51874f
|
Add object maps.
|
2020-03-29 23:53:35 +08:00 |
|
Stephen Chung
|
ef6c6ea6d2
|
Add no_object feature to disable objects.
|
2020-03-29 17:15:12 +08:00 |
|
Stephen Chung
|
a8a4ed2967
|
Merge all MissingXXX errors into MissingToken.
|
2020-03-29 13:44:27 +08:00 |
|
Stephen Chung
|
ef6dd9414a
|
Allow if expressions.
|
2020-03-27 23:47:23 +08:00 |
|
Stephen Chung
|
796690f506
|
Detect duplicated parameters in function definitions.
|
2020-03-27 16:46:08 +08:00 |
|
Stephen Chung
|
cc8554d095
|
Add merge/+ to AST.
|
2020-03-27 11:50:24 +08:00 |
|
Stephen Chung
|
56df5c49c8
|
Encapsulate FunctionsLib to hold script-defined functions.
|
2020-03-26 20:26:05 +08:00 |
|
Stephen Chung
|
5aea997672
|
Refine Scope API.
|
2020-03-25 11:27:18 +08:00 |
|
Stephen Chung
|
3ea482567f
|
Simplify code style.
|
2020-03-24 16:46:47 +08:00 |
|
Stephen Chung
|
156ebd7ea4
|
Avoid copying tokens.
|
2020-03-24 11:21:20 +08:00 |
|
Stephen Chung
|
3677bd3651
|
Make Token smaller by boxing LexError.
|
2020-03-24 09:49:37 +08:00 |
|
Stephen Chung
|
1b4bcbcfdf
|
Add evaluate expressions.
|
2020-03-22 21:03:58 +08:00 |
|
Stephen Chung
|
b6320c0eef
|
Minor fine tuning.
|
2020-03-22 10:18:16 +08:00 |
|
Stephen Chung
|
1d98f65342
|
Disallow statement expressions in if and while guards to reduce code confusion.
|
2020-03-20 19:50:58 +08:00 |
|
Stephen Chung
|
6a6c5f30de
|
Add eval function.
|
2020-03-19 19:53:42 +08:00 |
|
Stephen Chung
|
b3efb8b264
|
Disallow variable names starting with _ + digit.
|
2020-03-18 23:09:53 +08:00 |
|
Stephen Chung
|
019e73bc7e
|
Allow empty statements.
|
2020-03-18 18:41:18 +08:00 |
|
Stephen Chung
|
ca20faf170
|
Add code comments.
|
2020-03-18 10:43:59 +08:00 |
|
Stephen Chung
|
8efe080412
|
Handle break and return better.
|
2020-03-18 10:42:27 +08:00 |
|
Stephen Chung
|
b26ca753c2
|
Mandatory semiclolons separating statements.
|
2020-03-18 10:40:07 +08:00 |
|
Stephen Chung
|
abe5365bfd
|
Improve error messages to lists.
|
2020-03-18 10:40:07 +08:00 |
|
Trangar
|
c8a9df0a0a
|
Added no_std support
|
2020-03-17 19:26:11 +01:00 |
|
Stephen Chung
|
2c90fea764
|
Catch illegal variable names.
|
2020-03-16 12:38:01 +08:00 |
|
Stephen Chung
|
372321dfe3
|
Add full optimization level for aggressive optimizing.
|
2020-03-15 22:39:58 +08:00 |
|
Stephen Chung
|
01cf777961
|
Use matches! macro.
|
2020-03-14 23:41:15 +08:00 |
|
Stephen Chung
|
973153e832
|
Add no_optimize feature to disable optimizations.
|
2020-03-14 20:06:10 +08:00 |
|
Stephen Chung
|
26bdc8ba08
|
FIX - fixes panic when constant array is assigned to. Refine README section on constants.
|
2020-03-14 19:46:44 +08:00 |
|
Stephen Chung
|
504fd56f1f
|
More documentation on chained assignment.
|
2020-03-14 14:57:59 +08:00 |
|
Stephen Chung
|
360fab7760
|
Merge branch 'chained-assignments'
|
2020-03-14 14:41:48 +08:00 |
|
Stephen Chung
|
b3a22d942a
|
Allow AST optimization based on external Scope.
|
2020-03-14 14:30:44 +08:00 |
|