Commit Graph

80 Commits

Author SHA1 Message Date
nocturn9x 633c0f67f6 Moved common objects to a separate module 2020-08-26 11:41:39 +02:00
nocturn9x 458c7ab77e Fixed strings allocation (for real this time) 2020-08-25 11:10:14 +02:00
nocturn9x f0a5f9d3c7 Now strings are truly manually allocated 2020-08-25 10:24:50 +02:00
nocturn9x 49551d817d Added data structures WIP (not working yet) 2020-08-24 11:25:53 +02:00
Mattia 66bf395314
Update README.md 2020-08-24 09:19:46 +02:00
nocturn9x 59e79dddae Removed binary file 2020-08-24 09:00:40 +02:00
nocturn9x f882581e7b Fixed bugs in the memory template and attempt to fix the arraylist 2020-08-24 09:00:23 +02:00
nocturn9x 68b10602b5 Added support for negative slice indexes, fixed a couple bugs and refactored the lexer a bit to use the new methods to convert from and to JAPL values 2020-08-24 08:05:12 +02:00
nocturn9x ff0ec33991 Strings are now implemented in terms of an array of char and are no longer garbage collected by nim automatically 2020-08-23 23:48:38 +02:00
nocturn9x 92e91f2c17 Removed binary file 2020-08-23 16:13:28 +02:00
nocturn9x 3e5c86f1a1 Have to fix weird string type issues 2020-08-23 16:12:54 +02:00
nocturn9x 01b7c6e6a2 Completely revised the object structure, need to fix compiler (nim) crash issue 2020-08-23 12:10:08 +02:00
nocturn9x ea471678ae Breaking changes, starting to work on a new GC 2020-08-21 19:10:33 +02:00
nocturn9x 50d171de83 Added support for break (thanks dictu) 2020-08-20 22:51:56 +02:00
nocturn9x d2910fb13d Fixed while loop 2020-08-20 14:36:58 +02:00
nocturn9x e76534f8f2 Empty strings are now falsey 2020-08-20 14:30:00 +02:00
nocturn9x bf055191a7 Continue statement implemented, break needs jumping mechanism 2020-08-20 11:23:49 +02:00
nocturn9x d3999887a1 Support for nested loops 2020-08-20 09:29:59 +02:00
nocturn9x b58ea99aed Fixed a bug in the lexer 2020-08-19 21:45:51 +02:00
nocturn9x 9552a1f04f Made the repl exit gracefully after Ctrl+C 2020-08-19 18:15:48 +02:00
nocturn9x 1dadbd0523 Added for and while loop 2020-08-19 16:19:10 +02:00
nocturn9x faf5e6149b Fixed numerous bugs with improper statements in the parser 2020-08-19 14:19:01 +02:00
nocturn9x b9fecca2d9 Fixed a bug in the REPL and added logical operators 2020-08-19 13:24:37 +02:00
nocturn9x 941e728a92 If statement now pops from the stack, added debug machinery for new opcodes 2020-08-19 13:10:34 +02:00
nocturn9x a9f35d2134 Fixed various bugs (scoping, parsing) and added if/else constructs 2020-08-19 12:40:01 +02:00
nocturn9x 7ed7d49ecd Fixed the del statement 2020-08-17 08:55:33 +02:00
nocturn9x ad769ffbaf Added local scoping support 2020-08-17 08:17:27 +02:00
nocturn9x ca2e643e5d Fixed assignment precedence and various minor bugs 2020-08-15 12:07:01 +02:00
nocturn9x 7e40894047 Added support for the del statement 2020-08-15 11:38:36 +02:00
nocturn9x 5667691669 Implemented globals setters and getters, also made the repl friendlier and fixed some minor bugs with strings multiplication 2020-08-15 11:27:04 +02:00
nocturn9x b708340183 Added support for mutually exclusive slice conditions, started to work on the global scope 2020-08-15 08:52:58 +02:00
nocturn9x 810c49f29e Added support for slice ranges 2020-08-14 10:20:42 +02:00
nocturn9x cbe8272ecc Added support for string slicing and integer implicit cinversions with comparison operators 2020-08-14 10:02:13 +02:00
nocturn9x b8ea713312 Added support for string literals and related operations 2020-08-14 08:25:05 +02:00
nocturn9x 3fe0660b32 Removed gitignore and updated old one 2020-08-13 23:47:29 +02:00
nocturn9x 52bd5ad830 Added gitignore 2020-08-13 23:46:33 +02:00
nocturn9x 5ab06455cf Added the new instructions in the debugger 2020-08-13 23:45:25 +02:00
nocturn9x cc1b41e7ed Added comparison operators and logical not 2020-08-13 23:39:26 +02:00
nocturn9x 8ed20c0275 Added support for booleans and fixed a couple bugs 2020-08-13 17:53:23 +02:00
nocturn9x bf2814f580 Partial fix to expressions bug 2020-08-12 11:41:21 +02:00
nocturn9x 1005c81a1f Attempt to fix unterminated expressions (failed) 2020-08-10 22:36:41 +02:00
nocturn9x 58866be514 Removed development binary file 2020-08-10 18:40:22 +02:00
nocturn9x 22e35b9a46 Fixed minor bug in the interpreter 2020-08-10 18:39:53 +02:00
nocturn9x 14442a659f Updated readme 2020-08-10 10:56:34 +02:00
nocturn9x e4791ef027 Added double-precision floating point numbers and integers. Implemented the 4 fundamental operations, modulo division and exponentiation 2020-08-10 10:48:21 +02:00
nocturn9x fe07ed4f49 Minor refactoring to value representation, needs a fix to the function pointers 2020-08-09 21:45:50 +02:00
nocturn9x 382e92f900 Fixed the fuckload of mistakes and errors 2020-08-09 10:09:03 +02:00
nocturn9x 7ec58d482e Added support for number literals in the compiler 2020-08-08 19:08:09 +02:00
nocturn9x c4baf9b7bf Started to wire up the VM with the lexer and the parser/compiler 2020-08-08 16:19:44 +02:00
nocturn9x ee9444a3bf Added support for OP_CONSTANT_LONG 2020-08-07 19:38:52 +02:00