Commit Graph

82 Commits

Author SHA1 Message Date
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 d82e8ed2b0 Added a comment for a future implementation of greater/less than comparisons and reverted old behavior 2021-02-27 17:40:50 +01:00
Productive2 960ba879cb Merge remote-tracking branch 'upstream/master' 2021-02-26 15:13:20 +01:00
Productive2 8090fd23bb use jale instead of stdin.readLine 2021-02-26 15:12:02 +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 7c9d313f60 Made code after return statements illegal 2021-02-19 17:14:13 +01:00
nocturn9x c705a76dde Removed useless code in funDeclaration 2021-02-19 16:54:19 +01:00
Productive2 3fbf4300dc now really fixed indentation. sorry im half asleep. 2021-02-15 00:11:37 +01:00
Productive2 328dfacef1 fix indentation 2021-02-15 00:09:47 +01:00
Productive2 9a70d646ef Fix stdlib bug (segfault at readLine()) 2021-02-15 00:04:49 +01:00
nocturn9x 7c1cd5df8e Removed binary file 2021-02-09 18:49:50 +01:00
nocturn9x b67ec65a33 Minor fixes and cleanups 2021-02-09 18:49:34 +01:00
Productive2 0a7db3ec0c Added printErr, tests to test the test suite 2021-02-09 16:59:34 +01:00
Productive2 ad74c45213 Fixed debug.nim not showing DEBUG - before a message
Made whitespace significant in the test suite
Fixed tests with DEBUG - on partially
2021-02-09 15:00:18 +01:00
nocturn9x 9ffff11bf9 Added an optional prompt parameter to readline and renamed it to readLine. Added string support in toInt 2021-02-04 12:03:10 +01:00
nocturn9x 95522cd3c7 Minor style fixes to jats and fixed debug logs clashing when debug_vm and debug_alloc are both enabled 2021-01-31 10:51:29 +01:00
Productive2 76b92e85a7 new test notation (uses //stdout:, //stderr:) now
wip //stdin:
non-behaving tests get killed after a while now
added // exit and improved // clear repl commands
2021-01-30 18:42:04 +01:00
nocturn9x c621ce09b3 Changed equality for function objects (moved to pointer equality). TODO: Fix integer identity bug 2021-01-29 15:34:05 +01:00
nocturn9x 807237b884 Removed binary file 2021-01-27 15:51:29 +01:00
nocturn9x 787d34a8b5 Added WIP implementation of a generic hashmap that should behave better with JAPL's own memory manager 2021-01-27 15:51:15 +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 71f79d8174 Fixed various minor bugs, improved debugger output and consistency 2021-01-16 18:14:22 +01:00
nocturn9x e15e03764e Added support for 0-argument functions and lambdas without parentheses 2021-01-16 15:11:09 +01:00
Productive2 22788fad3b Fix #25 2021-01-16 11:58:56 +00: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 882efd28da Separated string interning tests in compile-time vs runtime, fixed a bug in the build script and added some comments to the VM as well as a toStr function to obtain objects representations as strings 2021-01-14 22:37:11 +01:00
nocturn9x 260cd5b515 Reset permissions to 644 2021-01-14 16:04:53 +01:00
nocturn9x 28abedf498 Added support for environment variables in build.py and refactored anonymous functions to use the lambda keyword 2021-01-14 16:03:31 +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 766f0162ba Added when clause for strformat import and changed NilAccessError to NilAccessDefect 2021-01-12 09:57:06 +01:00
nocturn9x 1e353ef1cc Fixed a precedence bug with the is operator and added getBoolean to OpCode.Not in the VM 2021-01-12 09:55:41 +01:00
nocturn9x 3eeffabe7d Added the retNative enum for native functions to handle singletons properly, minor refactoring in the parser and the vm 2021-01-11 13:17:01 +01:00
nocturn9x c882281944 Removed var parameters for the Lexer object and re-added the ! token 2021-01-11 11:31:37 +01:00
nocturn9x a62198a152 Changed the logical not operator from ! to not for consistency with other operators (and, or, is) 2021-01-11 11:07:39 +01:00
nocturn9x d0c6240b5a Removed some more duplicate code fragments from some opcodes 2021-01-11 08:42:05 +01:00
nocturn9x 064b3f087b Removed duplicate code fragments from some opcodes 2021-01-11 08:40:28 +01:00
nocturn9x c79095c99b Merge branch 'master' of https://github.com/japl-lang/japl 2021-01-11 08:07:02 +01:00
nocturn9x 410a557ce5 Fixed a bug with the compiler where it would crash with incomplete assignment expressions 2021-01-11 08:06:55 +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 0b3614d1e7 Improved debugging output 2021-01-10 09:50:43 +01:00
nocturn9x 612ec1bfd0 Made semicolons optional 2021-01-10 09:50:27 +01:00
nocturn9x 89af076ef8 Added the -c command line option to run one-liners 2021-01-10 09:50:02 +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 2d2ef61fa1 Added bitwise operator tests
Fixed bitwise not crashing compiler when used as a binary op
2021-01-05 20:32:50 +01:00
nocturn9x a58b8a9ef0 Removed unused/dead code + improved test suite code quality 2021-01-05 16:10:28 +01:00
Mattia aaf2e66528
Merge pull request #28 from Productive2/master
Testing suite + debugger bugs + some binary operator fixes
2021-01-05 14:56:44 +01:00
nocturn9x cb5eb78ff7 Fixed a bug in the debugger regarding the output of the global scope. Re-added the del statement + small fixes 2021-01-05 14:55:37 +01:00
Productive2 fb9bfd18e4 Merge remote-tracking branch 'upstream/master' 2021-01-05 13:17:18 +01:00