Commit Graph

19 Commits

Author SHA1 Message Date
nocturn9x 22d6408236 Moved to custom hashmap 2021-03-18 15:09:36 +01:00
Productive2 f94d4fecc8 Fixed bug with break (breaking the test for.jpl) 2021-02-28 18:46:21 +01:00
Productive2 5d98814d7d improve debug vm
improved coloring
removed d:danger so debug output is present
fixed frame length debug output
2021-02-28 17:00:12 +01:00
nocturn9x 5d8c31fb07 Fixed identity operator bug and added isnot for consistency. Changed behavior for gt/lt comparisons to account for more complex expressions 2021-02-26 12:27:10 +01:00
nocturn9x 86fc8b9ca3 Disabled dead code after return check (bug) + use non GC'ed memory in chunks and function objects 2021-02-20 14:10:47 +01:00
nocturn9x fb34faac2d Added a generic custom sequence implementation to replace nim's seq type and moved as much functionality as possible from nim to us in order to avoid GC clashes 2021-01-17 16:54:55 +01:00
nocturn9x f8ac8d08cb Removed short version of constants for benchmarking purposes and refactored the type system's behavior to return more consistent values 2021-01-16 11:47:01 +01:00
nocturn9x 2e60ab9fb6 Added a beta implementation for arrow functions 2021-01-14 12:55:51 +01:00
nocturn9x 56938897d6 Fixed precedence of is added beta support for the as operator for casting 2021-01-12 12:10:15 +01:00
nocturn9x 64dfb219f7 Reverted semicolons patch to lexer (rework needed) and removed wrong bounds check from frame.nim 2021-01-10 10:06:20 +01:00
nocturn9x 87fa674b15 Fixed a minor bug when calling natives with variadic arguments. Improved tests/runtests.nim and integrated the test suite in the build script. Added type(), round() and toInt() builtins to JAPL as well as the identity operator (revision needed). Got rid of an unused parameter inside frame.nim and cleaned up the VM's code by no longer using var parameters for the VM. Exception objects are now added to the VM's objects stack and variables used for debugging purposes are now only declared/modified when the debug flags are turned on 2021-01-09 18:03:47 +01:00
Productive2 8fe70d2f95 Fixed debugger bugs
Made exponentiation larger precedence than unary
2021-01-05 13:15:43 +01:00
Productive2 7d059bd50e Fixes call frames, Op.SetLocal 2020-12-26 20:05:45 +01:00
nocturn9x 1e8b4632e9 Attempt to fix function calls by using ref seqs (failed, lol). Now all math operations on nan raise a TypeError 2020-12-26 17:01:03 +01:00
nocturn9x d27cc60891 Moved the templates inside vm.run into separate procedures. Fixed a couple of logical mistakes and renamed SliceRange to Slice and Slice to GetItem. Added the cache optimization to other singletons (nil, nan, inf) 2020-12-21 21:53:45 +01:00
nocturn9x 18823ccf0d Fixed some of the bugs with function calls (recursion needs revision) and locals resolution. JumpIfFalse now always pops its operand even when the condition isn't met. Fixed a lot of typos inside types/jobject.nim caused by copy-paste errors and got rid of newString in favor of asStr 2020-12-21 18:37:08 +01:00
nocturn9x e87096ce71 Type system refactoring partially done, the VM is now at a compilable and semi-runnable state 2020-10-26 20:29:35 +01:00
Productive2 44aab6f5fc a few minor changes, so it compiles 2020-10-25 17:47:53 +01:00
nocturn9x 673b88f9de Huge refactoring for the type system and object structure, VM needs opcode refactoring 2020-10-25 12:45:03 +01:00