Commit Graph

95 Commits

Author SHA1 Message Date
nocturn9x 683588f693 Experimental unicode support (yay) + fixed a bug with string indexing at the last element that caused an out of bounds exception 2021-10-10 23:27:48 +02:00
nocturn9x c2aa8752f4 Edited comment on linear probing/tombstones 2021-10-03 12:29:02 +02:00
nocturn9x b66cd7bf4e Fixed broken linear probe sequence in our hashmap 2021-10-03 12:23:20 +02:00
nocturn9x 408d8cbeaa The REPL no longer shows the last pop value if an error occurs 2021-09-30 19:38:35 +02:00
nocturn9x b9b5301ad4 laid out basic closure object 2021-04-19 15:01:00 +02:00
nocturn9x 2fb0a9a621 Added missing license header 2021-04-18 19:27:53 +02:00
nocturn9x a14d9a7882 Added simpleHashMap for internal use 2021-04-18 13:45:38 +02:00
nocturn9x a767e44daa Added --timeout option in build.py 2021-04-18 12:04:24 +02:00
nocturn9x f959693076 Minor fixes to VM because yes 2021-04-07 00:25:11 +02:00
nocturn9x 22d6408236 Moved to custom hashmap 2021-03-18 15:09:36 +01:00
nocturn9x cd180fe4d7 Added value checking with 'as' conversion + minor fixes to testmarkup.md 2021-03-01 19:28:58 +01:00
Productive2 f94d4fecc8 Fixed bug with break (breaking the test for.jpl) 2021-02-28 18:46:21 +01:00
Productive2 fb11433477 better compiler debugging
added test for defaults
2021-02-28 18:09:19 +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 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