Commit Graph

15 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 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 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 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 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 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 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 612ec1bfd0 Made semicolons optional 2021-01-10 09:50:27 +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
nocturn9x b93643e5b5 Moved object structure to a single file + random stuff idk I'm tired 2020-10-25 15:08:08 +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