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
|
8506640073
|
Use NonZeroU64 for function hashes.
|
2020-12-24 16:32:43 +08:00 |
|
Stephen Chung
|
15fb03218c
|
Rename packages to global modules.
|
2020-12-22 23:45:14 +08:00 |
|
Stephen Chung
|
eb46ec8296
|
Simplify Imports.
|
2020-12-22 22:36:36 +08:00 |
|
Stephen Chung
|
2e7ec8f1db
|
IdentX -> Ident.
|
2020-12-22 16:45:56 +08:00 |
|
Stephen Chung
|
ff67efc6d5
|
Add source to contexts.
|
2020-12-21 23:12:45 +08:00 |
|
Stephen Chung
|
5ac83f0f46
|
Add context source to on_debug.
|
2020-12-21 22:04:46 +08:00 |
|
Stephen Chung
|
cec27846ea
|
Simplify code.
|
2020-12-20 23:25:11 +08:00 |
|
Stephen Chung
|
f99703f951
|
Add Engine::disable_doc_comments and smarter doc-comments treatment.
|
2020-12-20 20:05:23 +08:00 |
|
Stephen Chung
|
d73f3a1d60
|
Add functions lookup cache.
|
2020-12-18 23:47:17 +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
|
17310ef576
|
Encapsulate structures.
|
2020-12-14 23:05:13 +08:00 |
|
Stephen Chung
|
ecc08271d9
|
Include actual tokens in custom syntax node.
|
2020-12-13 14:31:24 +08:00 |
|
Stephen Chung
|
40b6a014ae
|
Provide Position to debug.
|
2020-12-12 11:47:18 +08:00 |
|
Stephen Chung
|
5443368359
|
Pass Position into function calls.
|
2020-12-12 11:15:09 +08:00 |
|
Stephen Chung
|
4438c358d5
|
on_progress takes u64.
|
2020-12-12 10:10:27 +08:00 |
|
Stephen Chung
|
bed29da71a
|
Use ImmutableString.
|
2020-12-11 12:57:07 +08:00 |
|
Stephen Chung
|
99dd7a6481
|
Share constant variables for closures.
|
2020-12-09 21:06:36 +08:00 |
|
Stephen Chung
|
dbee0eb0f5
|
Rename AccessType to ReadWrite and ReadOnly.
|
2020-12-09 18:37:52 +08:00 |
|
Stephen Chung
|
7598ec136f
|
Fix feature builds.
|
2020-12-08 23:09:12 +08:00 |
|
Stephen Chung
|
f22a04fc74
|
Move constancy into Dynamic.
|
2020-12-08 22:47:38 +08:00 |
|
Stephen Chung
|
a0979d0c35
|
Code cleanup
|
2020-11-25 09:36:06 +08:00 |
|
Stephen Chung
|
b43223a94f
|
Add get_fn_metadata_list.
|
2020-11-23 19:11:32 +08:00 |
|
Stephen Chung
|
07fe132e1a
|
Add gen_fn_siguatures API.
|
2020-11-22 17:21:34 +08:00 |
|
Stephen Chung
|
739dce72e3
|
Move if_def_fn into CorePackage.
|
2020-11-22 15:41:55 +08:00 |
|
Stephen Chung
|
17cd305af7
|
Restore previous always_search when exiting block.
|
2020-11-21 12:25:39 +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
|
5e4ede6f07
|
global_module -> global_namespace.
|
2020-11-19 13:56:03 +08:00 |
|
Stephen Chung
|
a00d6ba99e
|
Optimize IndexChainValue usage.
|
2020-11-19 13:51:59 +08:00 |
|
Stephen Chung
|
a8cdb661f8
|
Optimize Imports.
|
2020-11-19 10:14:43 +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
|
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
|
ef02150afd
|
Expose methods for Engine::register_module.
|
2020-11-16 14:07:48 +08:00 |
|
Stephen Chung
|
937b45a187
|
Add Engine::load_module.
|
2020-11-15 23:14:16 +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
|
28de155f08
|
Add Expr::DynamicConstant.
|
2020-11-14 19:04:49 +08:00 |
|
Stephen Chung
|
89254a04c4
|
Fix tests.
|
2020-11-14 17:22:01 +08:00 |
|
Stephen Chung
|
56fbe39b7b
|
Use references for switch expressions, if possible.
|
2020-11-14 16:08:48 +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
|
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
|
c41f5aefcb
|
Change sub-modules to shared.
|
2020-11-09 22:44:20 +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
|
173f8474d6
|
Fix no_module build.
|
2020-11-09 12:50:18 +08:00 |
|
Stephen Chung
|
4b622a8830
|
Enable export let/export const short-hand.
|
2020-11-09 12:21:11 +08:00 |
|
Stephen Chung
|
48886eacc8
|
Add == and != to arrays and maps.
|
2020-11-08 23:00:37 +08:00 |
|
Stephen Chung
|
1e07e4356e
|
Re-index imported modules if they are not yet indexed.
|
2020-11-08 14:29:54 +08:00 |
|
Stephen Chung
|
b3d318ef7f
|
Module resolver returns shared module.
|
2020-11-07 23:33:21 +08:00 |
|
Stephen Chung
|
6bc5ba6668
|
Enable functions to use global imports.
|
2020-11-06 19:17:07 +08:00 |
|
Stephen Chung
|
07a8a43298
|
Optimize data structures.
|
2020-11-06 16:27:40 +08:00 |
|
Stephen Chung
|
2168fd5361
|
Expr::Stmt takes a statements block.
|
2020-11-04 11:49:02 +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
|
6f3ce96d9d
|
Enable termination token.
|
2020-11-02 11:04:45 +08:00 |
|
Stephen Chung
|
b07a2aa79c
|
Pack Imports.
|
2020-11-01 23:42:00 +08:00 |
|
Stephen Chung
|
c55fc5a9a5
|
Optimize Scope.
|
2020-11-01 22:46:46 +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
|
a73584cd36
|
Fix no_std.
|
2020-10-29 12:00:02 +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
|
f56c3fe9cb
|
Add Ident/IdentX to AST.
|
2020-10-28 19:11:17 +08:00 |
|
Stephen Chung
|
427af14f1b
|
Don't wrap system errors from function calls.
|
2020-10-28 14:10:46 +08:00 |
|
Stephen Chung
|
30e11f137b
|
Move ErrorAssignmentToUnknownLHS to ParseError.
|
2020-10-28 10:26:36 +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
|
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
|
3660e42b96
|
Refactor try/catch code.
|
2020-10-21 14:45:10 +08:00 |
|
Stephen Chung
|
ad60db5bae
|
Reduce max fn call level.
|
2020-10-21 10:10:46 +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
|
92ba7b42d5
|
Implement namespaces chain.
|
2020-10-20 10:54:32 +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
|
d1f9f4096d
|
Update badges
|
2020-10-19 17:26:47 +08:00 |
|
Stephen Chung
|
c8c4ca21ad
|
Update docs.
|
2020-10-19 14:26:15 +08:00 |
|
Stephen Chung
|
6e5c903241
|
Fix no_module build.
|
2020-10-18 22:10:08 +08:00 |
|
Stephen Chung
|
46b92c9d1f
|
Allow NativeCallContext in function arguments.
|
2020-10-18 21:47:34 +08:00 |
|
Stephen Chung
|
82e6dd446a
|
Encapsulate register_fn_raw parameters into NativeCallContext.
|
2020-10-18 17:02:17 +08:00 |
|
Stephen Chung
|
7a4905209c
|
Introduce EvalAltResult::ErrorSystem.
|
2020-10-17 16:34:07 +08:00 |
|
Stephen Chung
|
39474d6420
|
Streamline function pointers and currying.
|
2020-10-17 13:49:16 +08:00 |
|
Stephen Chung
|
1e21a7f7e7
|
Introduce IndexChainValue.
|
2020-10-15 23:30:30 +08:00 |
|
Stephen Chung
|
707ece7e80
|
Refactor iterators API.
|
2020-10-14 23:22:10 +08:00 |
|
Stephen Chung
|
3c7805d514
|
Encapsulate environment in ScriptFnDef.
|
2020-10-13 09:38:14 +08:00 |
|
Stephen Chung
|
747fda1ec7
|
Add filter, map, reduce to Array.
|
2020-10-12 22:49:51 +08:00 |
|
Stephen Chung
|
21b989afd5
|
Refine function call parameters size.
|
2020-10-12 17:00:58 +08:00 |
|
Stephen Chung
|
e343bcfa8f
|
Change Option<usize> to usize for variable resolver index.
|
2020-10-11 22:41:26 +08:00 |
|
Stephen Chung
|
fd5a932611
|
Implement variable resolver.
|
2020-10-11 21:58:11 +08:00 |
|
Stephen Chung
|
612ecc4ebc
|
Move StaticVec definition to lib.rs.
|
2020-10-10 13:41:55 +08:00 |
|
Stephen Chung
|
630ec51624
|
Simplify let/const statement.
|
2020-10-09 13:25:53 +08:00 |
|
Stephen Chung
|
7ede299aae
|
Allow expressions in constants.
|
2020-10-09 11:15:25 +08:00 |
|
Stephen Chung
|
d511aac7a4
|
Reduce max call stack size for debug.
|
2020-10-08 23:00:01 +08:00 |
|
Stephen Chung
|
1272eeb81a
|
Add/remove #[inline] attributes.
|
2020-10-08 22:25:50 +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
|
82d48df734
|
Merge data type mismatch errors.
|
2020-10-05 13:45:57 +08:00 |
|
Stephen Chung
|
4356d02828
|
Fix no_object builds.
|
2020-10-05 12:05:46 +08:00 |
|
Stephen Chung
|
a962debf0d
|
Simplify target back propagation.
|
2020-10-04 10:40:44 +08:00 |
|
Stephen Chung
|
23d0f52284
|
Better error messages.
|
2020-10-03 23:27:30 +08:00 |
|
Stephen Chung
|
1e13e6be5f
|
Doc formatting.
|
2020-10-03 18:49:11 +08:00 |
|
Stephen Chung
|
fbfb7677c1
|
Add is_def_var and is_def_fn.
|
2020-10-03 16:25:58 +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
|
03dce86328
|
Support Dynamic as function default return value.
|
2020-09-26 16:27:38 +08:00 |
|
Stephen Chung
|
594dcc3a06
|
Disallow registering indexers for arrays, maps and strings.
|
2020-09-22 17:57:56 +08:00 |
|
Stephen Chung
|
8095ebc9e4
|
Remove unused imports.
|
2020-09-21 18:00:46 +08:00 |
|
Stephen Chung
|
83f9df2852
|
Fix op-assignment overrides.
|
2020-09-21 16:15:52 +08:00 |
|
J Henry Waugh
|
c8dffff515
|
Fix clippy::perf lint errors
|
2020-09-20 13:07:46 -05:00 |
|
Stephen Chung
|
a49b58002a
|
Fix doc tests.
|
2020-09-20 15:55:11 +08:00 |
|
Stephen Chung
|
e2f271644a
|
Expand packages and raw Engine write-up.
|
2020-08-23 17:22:39 +08:00 |
|
Stephen Chung
|
196e145c96
|
Derive standard traits for Limits.
|
2020-08-23 16:29:32 +08:00 |
|
Stephen Chung
|
5a1a141ce3
|
Improve shared value treatment.
|
2020-08-08 16:24:10 +08:00 |
|
Stephen Chung
|
2f395492de
|
Simply error code.
|
2020-08-06 10:17:32 +08:00 |
|
Stephen Chung
|
ffe52bf437
|
Allow omitting the alias in import statement.
|
2020-08-05 23:23:53 +08:00 |
|
Stephen Chung
|
3b6d35368f
|
Handle shared for loop variable.
|
2020-08-03 23:11:38 +08:00 |
|
Stephen Chung
|
dddd8133df
|
Set unshared value in let/const statement.
|
2020-08-03 12:38:56 +08:00 |
|
Stephen Chung
|
4079164bfd
|
Implement closures.
|
2020-08-03 12:10:20 +08:00 |
|
Stephen Chung
|
b86c87253b
|
Prevent data races.
|
2020-08-02 13:33:51 +08:00 |
|
Stephen Chung
|
1daf91df30
|
Avoid storing shared value inside shared value.
|
2020-08-01 22:28:17 +08:00 |
|
Stephen Chung
|
af2f8acb5d
|
Refine indexer set.
|
2020-08-01 12:21:15 +08:00 |
|
Stephen Chung
|
5873bccd50
|
Fix no_index and no_object.
|
2020-07-31 23:37:30 +08:00 |
|
Stephen Chung
|
60891e694f
|
Streamline code and feature gates.
|
2020-07-31 22:30:23 +08:00 |
|
Stephen Chung
|
8d0623d07f
|
Add is_shared function.
|
2020-07-31 18:43:34 +08:00 |
|
Stephen Chung
|
0295e109ad
|
Fix features
|
2020-07-31 18:06:01 +08:00 |
|
Stephen Chung
|
d563b878aa
|
Fix no_std builds.
|
2020-07-31 17:26:49 +08:00 |
|
Stephen Chung
|
e70e0ff4e2
|
Fixup.
|
2020-07-31 16:39:38 +08:00 |
|
Stephen Chung
|
871fcb38be
|
Minor style changes and make sure no_shared works on all.
|
2020-07-31 16:03:08 +08:00 |
|
Ilya Lakhin
|
89f75bbf0c
|
Merge remote-tracking branch 'schungx/closures' into closures
|
2020-07-31 13:05:16 +07:00 |
|
Ilya Lakhin
|
ca64668e58
|
take() keyword; shared test with registered functions with callbacks
|
2020-07-31 11:41:22 +07:00 |
|
Stephen Chung
|
cb005506e2
|
Simplify function calling.
|
2020-07-31 12:11:16 +08:00 |
|
Ilya Lakhin
|
aa87a7f5ef
|
Fixes in Engine to properly interpret Shared Dynamic
|
2020-07-31 10:47:22 +07:00 |
|
Ilya Lakhin
|
e5fe222de3
|
Shared variant of Dynamic type; All read/write access operations in Dynamic backed by Read/Write lock guards; new shared() script function
|
2020-07-31 10:47:14 +07:00 |
|
Stephen Chung
|
7d4620d0d9
|
Unbounded -> unbound.
|
2020-07-30 23:29:11 +08:00 |
|
Stephen Chung
|
98b294c699
|
Implement capturing.
|
2020-07-30 18:18:28 +08:00 |
|
Stephen Chung
|
e505a06839
|
Add comparison operators to ImmutableString.
|
2020-07-30 13:28:25 +08:00 |
|
Stephen Chung
|
afbcd0fc0b
|
Replace StaticVec with SmallVec.
|
2020-07-29 16:10:06 +08:00 |
|
Stephen Chung
|
b63ff56e09
|
Make sure we keep the starting position of each statement (for future uses).
|
2020-07-28 10:26:20 +08:00 |
|
Stephen Chung
|
057f6435a4
|
Add public_only parameter to module function methods.
|
2020-07-27 18:10:45 +08:00 |
|
Stephen Chung
|
a3a167424b
|
Allow Rust functions in FnPtr::call_dynamic.
|
2020-07-27 12:52:32 +08:00 |
|
Stephen Chung
|
6b600704a3
|
Avoid warnings.
|
2020-07-26 15:53:22 +08:00 |
|
Stephen Chung
|
353df6bea1
|
Avoid warnings in standard build.
|
2020-07-26 10:03:59 +08:00 |
|
Stephen Chung
|
c825de6f77
|
Mark internal data structures with [INTERNALS].
|
2020-07-25 16:05:08 +08:00 |
|
Stephen Chung
|
6a96be3382
|
Merge branch 'master' of https://github.com/jonathandturner/rhai
|
2020-07-25 15:58:37 +08:00 |
|
Stephen Chung
|
284e58e8a1
|
Improve documentation on internal types.
|
2020-07-25 15:52:27 +08:00 |
|
John-John Tedro
|
d920613d57
|
Avoid shadowing call errors in get_indexed_mut
|
2020-07-25 08:13:11 +02:00 |
|
Stephen Chung
|
463d669ab5
|
Avoid shadowing indexer errors.
|
2020-07-25 09:55:33 +08:00 |
|
Stephen Chung
|
2b0aacde23
|
Fix Module::set_indexer_set_fn.
|
2020-07-24 23:16:54 +08:00 |
|
Stephen Chung
|
bff266d4e1
|
Move function calling to separate source file.
|
2020-07-23 18:40:42 +08:00 |
|
Stephen Chung
|
b913b521dc
|
Improve currying.
|
2020-07-23 10:12:51 +08:00 |
|
Stephen Chung
|
6d551f1596
|
Add currying support.
|
2020-07-22 23:12:09 +08:00 |
|
Stephen Chung
|
abf66850f6
|
Enable custom syntax without internals.
|
2020-07-22 17:05:13 +08:00 |
|
Stephen Chung
|
35374f5b3b
|
Simplify custom syntax.
|
2020-07-22 13:08:51 +08:00 |
|
Stephen Chung
|
61a1355c59
|
Add no-std example.
|
2020-07-21 22:32:24 +08:00 |
|
Stephen Chung
|
e6c3f8134d
|
Avoid copying property name for map property access.
|
2020-07-21 20:59:12 +08:00 |
|
Stephen Chung
|
e8b6d0143d
|
Small fixups.
|
2020-07-20 23:23:12 +08:00 |
|
Stephen Chung
|
cf36dc5a57
|
Support for anonymous functions.
|
2020-07-19 17:14:55 +08:00 |
|
Stephen Chung
|
d119e13b79
|
Allow binding of this pointer in FnPtr calls.
|
2020-07-17 10:18:07 +08:00 |
|
Stephen Chung
|
16fbfbb606
|
Enable call in function-call style.
|
2020-07-16 12:09:31 +08:00 |
|
Stephen Chung
|
adc96e24bd
|
Fix all features.
|
2020-07-13 19:38:50 +08:00 |
|
Stephen Chung
|
e8d78bdfde
|
Add support for String in function parameters.
|
2020-07-13 13:40:51 +08:00 |
|
Stephen Chung
|
2a8d63fd5f
|
Refine custom syntax.
|
2020-07-11 15:09:17 +08:00 |
|
Stephen Chung
|
ebffbf0f98
|
Refine docs and add custom syntax.
|
2020-07-10 22:01:47 +08:00 |
|
Stephen Chung
|
f36b4a69ae
|
FIXED - method calls inside dot chain.
|
2020-07-09 22:21:07 +08:00 |
|
Stephen Chung
|
99164ebceb
|
Add custom syntax.
|
2020-07-09 19:54:28 +08:00 |
|
Stephen Chung
|
703cc414b8
|
Allow mutating a module-qualified function's first argument if it is a variable.
|
2020-07-08 13:06:00 +08:00 |
|
Stephen Chung
|
d0711394f0
|
Expose FnPtr and move name checking into
|
2020-07-06 21:30:35 +08:00 |
|
Stephen Chung
|
d9fe6a1980
|
Add boolean xor operator and readjust % precedence.
|
2020-07-06 12:24:28 +08:00 |
|
Stephen Chung
|
ea86888638
|
Add new &Module parameter to native functions.
|
2020-07-06 12:04:02 +08:00 |
|
Stephen Chung
|
4052ad3df1
|
Assignments return () and no compound assignments.
|
2020-07-05 23:07:02 +08:00 |
|
Stephen Chung
|
e390dd73e6
|
Add custom operators.
|
2020-07-05 17:41:45 +08:00 |
|
Stephen Chung
|
936a3ff44a
|
Add feature to disable symbols.
|
2020-07-05 15:23:51 +08:00 |
|
Stephen Chung
|
368b4a480b
|
Reformat code.
|
2020-07-04 22:53:00 +08:00 |
|
Stephen Chung
|
d626bf9f5b
|
Refine no_function feature.
|
2020-07-04 16:21:15 +08:00 |
|
Stephen Chung
|
fa84e5c502
|
Add serde deserialization.
|
2020-07-03 17:19:55 +08:00 |
|
Stephen Chung
|
1b7ffdf408
|
Better type display.
|
2020-07-03 10:45:01 +08:00 |
|
Stephen Chung
|
760c13d36e
|
Fix features.
|
2020-07-01 22:21:43 +08:00 |
|
Stephen Chung
|
d6a08be223
|
Refactor.
|
2020-06-29 23:55:28 +08:00 |
|
Stephen Chung
|
527d41d0e3
|
No modules in scope.
|
2020-06-28 15:49:24 +08:00 |
|
Stephen Chung
|
aac04a5e53
|
Remove modules from Scope and use separate stack.
|
2020-06-27 23:56:24 +08:00 |
|
Stephen Chung
|
175c3ccaec
|
OOP support.
|
2020-06-26 10:39:18 +08:00 |
|
Stephen Chung
|
fe640e0e13
|
Implement function pointers.
|
2020-06-25 18:07:57 +08:00 |
|
Stephen Chung
|
58c198776f
|
Code cleanup.
|
2020-06-25 11:07:46 +08:00 |
|
Stephen Chung
|
3b1719e0bc
|
Introduce ChainType to prepare for more chaining operators.
|
2020-06-23 17:36:07 +08:00 |
|
Stephen Chung
|
7cc1a3f5dc
|
Change Map keys to ImmutableString to facilitate fast keys().
|
2020-06-21 16:37:05 +08:00 |
|
Stephen Chung
|
ffe0c559be
|
Remove scope parameter from ModuleResolver::resolve.
|
2020-06-20 21:49:45 +08:00 |
|
Stephen Chung
|
e095a87ea2
|
Remove wasm64 target.
|
2020-06-17 16:49:51 +08:00 |
|
Stephen Chung
|
84fbcb03b3
|
Add WASM section.
|
2020-06-17 15:45:11 +08:00 |
|
Stephen Chung
|
7f4f737ff2
|
Gate WASM target.
|
2020-06-17 09:54:17 +08:00 |
|
Stephen Chung
|
b6e1f652b6
|
Fix bug when setting character in string via a method call.
|
2020-06-16 23:49:11 +08:00 |
|
Stephen Chung
|
dc540755e7
|
Revert plugins.
|
2020-06-16 09:40:31 +08:00 |
|
Stephen Chung
|
ff37e02443
|
Add iterator support for strings.
|
2020-06-16 09:34:30 +08:00 |
|
Stephen Chung
|
4603f8026f
|
Add getters for Engine setting fields.
|
2020-06-15 23:20:50 +08:00 |
|
Stephen Chung
|
9bd2d4c981
|
Merge branch 'master' into plugins
|
2020-06-15 21:52:15 +08:00 |
|
Stephen Chung
|
a417bdd8e3
|
Support registering functions with a reference to the scripting engine.
|
2020-06-15 21:49:02 +08:00 |
|
Stephen Chung
|
31d2fa410b
|
Streamline code.
|
2020-06-14 22:44:59 +08:00 |
|
Stephen Chung
|
bb691a0313
|
Add maximum data size limits.
|
2020-06-14 14:25:47 +08:00 |
|
Stephen Chung
|
27ad7bbebe
|
Merge branch 'master' into plugins
|
2020-06-14 00:14:52 +08:00 |
|
Stephen Chung
|
22d30c95c9
|
Add maximum data size limits.
|
2020-06-14 00:09:16 +08:00 |
|
Stephen Chung
|
96e5a1c56d
|
Merge branch 'master' into plugins
|
2020-06-12 18:04:30 +08:00 |
|
Stephen Chung
|
9d91349513
|
Refine position display in error messages.
|
2020-06-12 18:04:16 +08:00 |
|
Stephen Chung
|
d03f6ed983
|
Merge branch 'master' into plugins
|
2020-06-11 22:45:20 +08:00 |
|
Stephen Chung
|
0ac3a7d8b4
|
Use type alias TokenStream.
|
2020-06-11 18:13:33 +08:00 |
|
Stephen Chung
|
95f94a3348
|
Add strings example.
|
2020-06-09 12:21:21 +08:00 |
|
Stephen Chung
|
a4cabc1ac7
|
Better String parameter error message.
|
2020-06-08 14:10:06 +08:00 |
|
Stephen Chung
|
d4ebb3c96d
|
Merge branch 'master' into plugins
|
2020-06-08 10:26:51 +08:00 |
|
Stephen Chung
|
ead366aac8
|
Better String parameter error message.
|
2020-06-08 10:26:32 +08:00 |
|
Stephen Chung
|
e942ef358c
|
Transparently convert &str to ImmutableString for register_fn.
|
2020-06-07 17:54:33 +08:00 |
|
Stephen Chung
|
6841beb351
|
Merge branch 'master' into plugins
|
2020-06-06 13:25:46 +08:00 |
|
Stephen Chung
|
5f40a1376a
|
Implement index setters.
|
2020-06-06 13:06:00 +08:00 |
|
Stephen Chung
|
ea806ba100
|
Merge branch 'master' into plugins
|
2020-06-05 15:39:44 +08:00 |
|
Stephen Chung
|
56eb659d5a
|
Unify all functions into CallableFunction type, remove FunctionsLib.
|
2020-06-05 15:14:42 +08:00 |
|
Stephen Chung
|
1442cc9b7a
|
Merge branch 'master' into plugins
|
2020-06-03 11:15:55 +08:00 |
|
jhwgh1968
|
27b8f9929d
|
Basic Implementation of Plugins and Plugin Functions
|
2020-06-02 21:44:28 -05:00 |
|
Stephen Chung
|
b8da1691d3
|
Consolidate callbacks.
|
2020-06-02 13:33:16 +08:00 |
|
Stephen Chung
|
b70d38e820
|
Avoid passing position until error.
|
2020-06-01 15:25:22 +08:00 |
|
Stephen Chung
|
cec6748ac6
|
Remove no_module gates to prepare for plugins.
|
2020-06-01 10:58:14 +08:00 |
|
Stephen Chung
|
840afe74bb
|
Simplify eval_dot_index_chain.
|
2020-05-31 15:51:26 +08:00 |
|
Stephen Chung
|
d7d49a5196
|
Fix bug in chained dot/index expression.
|
2020-05-31 14:27:16 +08:00 |
|
Stephen Chung
|
c9de37e8d1
|
Hash functions only once via custom hasher.
|
2020-05-31 00:02:23 +08:00 |
|
Stephen Chung
|
2bcc51cc45
|
Fix bug in index expressions.
|
2020-05-30 10:27:48 +08:00 |
|
Stephen Chung
|
e1242df5c8
|
Extract copy/restore of first argument in method call.
|
2020-05-29 18:15:58 +08:00 |
|
Stephen Chung
|
9616452c00
|
Fix bug in calling script function in method style.
|
2020-05-29 00:53:30 +08:00 |
|
Stephen Chung
|
acd4685145
|
Convert function calls to method calls to use &mut first argument.
|
2020-05-28 23:57:09 +08:00 |
|
Stephen Chung
|
e84d4a88e9
|
Do not check function call depth if no_function.
|
2020-05-28 14:08:07 +08:00 |
|
Stephen Chung
|
0b259d0062
|
Move += for ImmutableString to Engine.
|
2020-05-28 10:33:28 +08:00 |
|
Stephen Chung
|
854634afa0
|
Allow native overriding implementation of assignment operators.
|
2020-05-27 13:22:10 +08:00 |
|
Stephen Chung
|
27c7cc4af7
|
Fix syntax error.
|
2020-05-26 23:05:21 +08:00 |
|
Stephen Chung
|
b34d5fe3a1
|
Complete ImmutableString.
|
2020-05-26 14:14:03 +08:00 |
|
Stephen Chung
|
95e67c48bd
|
Optimize op-assignment statement.
|
2020-05-25 20:14:31 +08:00 |
|
Stephen Chung
|
fca140ef55
|
Refine immutable strings.
|
2020-05-25 17:01:39 +08:00 |
|
Stephen Chung
|
99ea2b33c9
|
Use immutable strings.
|
2020-05-25 13:44:28 +08:00 |
|
Stephen Chung
|
fd6dad0253
|
Remove builtin check.
|
2020-05-24 23:42:16 +08:00 |
|
Stephen Chung
|
0374311cf6
|
Optimize hot path of operators calling.
|
2020-05-24 16:40:00 +08:00 |
|
Stephen Chung
|
1798d4d6a0
|
Fix function call optimizations.
|
2020-05-24 11:57:46 +08:00 |
|
Stephen Chung
|
d56634cac7
|
Complete built-in operators.
|
2020-05-24 00:29:06 +08:00 |
|
Stephen Chung
|
b49e1e199a
|
Build-in certain common operators.
|
2020-05-23 18:59:28 +08:00 |
|
Stephen Chung
|
e224550861
|
Move boxing of ParseError into ParseErrorType.
|
2020-05-22 18:28:13 +08:00 |
|
Stephen Chung
|
3408086240
|
Copy values differently.
|
2020-05-22 13:08:57 +08:00 |
|
Stephen Chung
|
800a7bf283
|
Remove unnecessary traits and types.
|
2020-05-21 17:11:01 +08:00 |
|
Stephen Chung
|
4a1fd66b9f
|
Reduce Rc/Arc wrapping for functions.
|
2020-05-19 22:25:57 +08:00 |
|
Stephen Chung
|
ab76a69b12
|
Avoid repeating empty TypeId's when calculating hash.
|
2020-05-19 20:07:51 +08:00 |
|
Stephen Chung
|
3295060dba
|
Unify all functions under CallableFunction type.
|
2020-05-19 19:03:06 +08:00 |
|
Stephen Chung
|
6b8c6bda42
|
Use u64 for operations counter.
|
2020-05-19 10:08:27 +08:00 |
|
Stephen Chung
|
1824dced69
|
Limit expression/statement nesting depths.
|
2020-05-18 19:32:22 +08:00 |
|
Stephen Chung
|
f4a528a88a
|
Add release notes.
|
2020-05-18 09:36:34 +08:00 |
|
Stephen Chung
|
8b5550eeb6
|
Complete StaticVec implementation.
|
2020-05-17 22:19:49 +08:00 |
|
Stephen Chung
|
a2c50879fe
|
Fix dropping issues with StaticVec and use it everywhere.
|
2020-05-17 00:24:07 +08:00 |
|
Stephen Chung
|
0cb781c1aa
|
Avoid allocation in Target.
|
2020-05-16 11:42:56 +08:00 |
|
Stephen Chung
|
be97047e51
|
Limit modules loading.
|
2020-05-15 21:40:54 +08:00 |
|
Stephen Chung
|
55c97eb649
|
Add progress tracking and operations limit.
|
2020-05-15 11:43:32 +08:00 |
|
Stephen Chung
|
5d5ceb4049
|
Consolidate all unsafe code under one single file.
|
2020-05-14 18:27:22 +08:00 |
|
Stephen Chung
|
5c61827c7c
|
Force-cast local variable names when pushing into scope.
|
2020-05-14 11:21:56 +08:00 |
|
Stephen Chung
|
cabceb7498
|
Better handling of errors during function calls.
|
2020-05-13 21:58:38 +08:00 |
|
Stephen Chung
|
9d8d074940
|
Consistent naming of methods.
|
2020-05-13 20:22:05 +08:00 |
|
Stephen Chung
|
30e5e2f034
|
Use modules to implement packages.
|
2020-05-13 19:21:42 +08:00 |
|
Stephen Chung
|
8e8816cb0c
|
Add compile_scripts_with_scope.
|
2020-05-13 11:57:07 +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
|
03c64688ad
|
Fix sync feature.
|
2020-05-12 16:32:22 +08:00 |
|
Stephen Chung
|
33c9be7efc
|
Reformat.
|
2020-05-11 23:48:50 +08:00 |
|
Stephen Chung
|
414f3d3c23
|
Fix bug with calling a pure function method-call style.
|
2020-05-11 18:55:58 +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
|
974512d650
|
Use StaticVec to build arguments list.
|
2020-05-10 16:56:17 +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
|
17e4adc049
|
Move hash calculation out of loop.
|
2020-05-09 16:21:11 +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
|
e0745ef069
|
Do not build index for multiple packages to avoid Engine creation regression.
|
2020-05-08 13:27:51 +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
|
c607c7c428
|
Move Engine functions and iterators lib to Packages API.
|
2020-05-07 15:25:50 +08:00 |
|
Stephen Chung
|
fb64adca93
|
Move fn_lib into State, and use StaticVec for function call arguments in dotting/indexing chains.
|
2020-05-07 10:00:10 +08:00 |
|
Stephen Chung
|
34327f6e54
|
Avoid copying arguments in packages.
|
2020-05-06 23:52:47 +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
|
c9571d375a
|
Add position to script error.
|
2020-05-06 00:09:04 +08:00 |
|
Stephen Chung
|
82e1af7acd
|
Implement module resolvers.
|
2020-05-05 23:57:25 +08:00 |
|
Stephen Chung
|
a1bcc5cd7d
|
Merge branch 'master' into namespace
|
2020-05-05 20:42:16 +08:00 |
|
Stephen Chung
|
f081040767
|
Add support for custom type indexers.
|
2020-05-05 20:38:48 +08:00 |
|