Commit Graph

28 Commits

Author SHA1 Message Date
Mattia Giambirtone 94ce81b6f1 Updated .gitignore, slightly edited README and added some more tests 2022-06-19 14:45:38 +02:00
Mattia Giambirtone 3abc243c06 Initial work on pragma handling (+ some parser fixes). Changed the way the lexer handles indentation and made tabs illegal. Added instructions for some operations on primitive types, removed file argument from serializer 2022-06-14 12:12:56 +02:00
Mattia Giambirtone 7214ea129f Fixed issues with returning/calling function objects 2022-06-13 15:44:53 +02:00
Mattia Giambirtone acf4735790 Various style fixes with nil checks, added PushC opcode, added support for calling function objects 2022-06-13 15:04:53 +02:00
Mattia Giambirtone 3377cf12b0 Initial experimental support for parsing pragmas 2022-06-07 11:23:08 +02:00
Mattia Giambirtone 887fa85ec0 Fixed if/else 2022-06-02 12:05:22 +02:00
Mattia Giambirtone 15166d26ca Fixed inverse parameter ordering (whoops) 2022-06-02 01:50:06 +02:00
Mattia Giambirtone cf133ff921 Initial work on a two-stack design 2022-06-02 01:33:56 +02:00
Mattia Giambirtone 320619d582 Fixed peon calling convention and various errors with function calls 2022-05-30 22:06:15 +02:00
Mattia Giambirtone 2829f3801d Removed debugging print (oops) 2022-05-30 12:33:30 +02:00
Mattia Giambirtone 12d303003e Various fixes to stack frame alignment and added incremental compilation to REPL 2022-05-30 12:32:24 +02:00
Mattia Giambirtone 552d00c054 Added lastPop field to VM 2022-05-30 09:32:15 +02:00
Mattia Giambirtone 2fc599dac4 Fixed closure variables and debugger output with nested CFI data (also removed unneeded peon files) 2022-05-26 18:32:02 +02:00
Mattia Giambirtone 2167838355 Fixed issues with stack frames when returning from functions 2022-05-25 14:38:40 +02:00
Mattia Giambirtone 8ecbf23710 Fixed recursion error inside inferType 2022-05-25 14:17:58 +02:00
Mattia Giambirtone 0b834fdaf4 Fixed variable declarations not compiling in some cases 2022-05-25 12:15:45 +02:00
Mattia Giambirtone 6efb062e7d Made main.nim a bit nicer with command-line options 2022-05-25 11:49:21 +02:00
Mattia Giambirtone b137e06ac6 Initial work on CFI-like functionality for better debugging 2022-05-24 22:26:45 +02:00
Mattia Giambirtone 8d1699ff9e Refactored calling convention and added stack frame support to the VM as well as StoreVar 2022-05-23 10:49:38 +02:00
Mattia Giambirtone 5f43ea9490 Initial work on calls (with runtime support too) 2022-05-22 17:23:52 +02:00
Mattia Giambirtone 50b0f98f6a Removed raise in main.nim 2022-05-22 15:31:13 +02:00
Mattia Giambirtone 21a9689f6c Functions can now return functions which return functions... recursively. Initial work on forward declarations and function call resolution 2022-05-22 15:27:28 +02:00
Mattia Giambirtone 42ab1d4c6e Initial work on call resolution, added support for running files 2022-05-22 13:02:57 +02:00
Mattia Giambirtone 6d6ae3ee7a Fixed and improved error reporting and made the parser ignore whitespace/tab (again) 2022-05-22 11:49:38 +02:00
Mattia Giambirtone e4c2ba2ce2 Got rid of serializedRaw in main module and prettyfied the output 2022-05-20 18:34:14 +02:00
Mattia Giambirtone beb853837a Added skeleton for future expansion 2022-05-20 15:55:28 +02:00
Mattia Giambirtone 025f8b463b Fixed parsing of argument-less function. Removed main.nim 2022-04-12 10:56:05 +02:00
Mattia Giambirtone 76812a2091 Initial commit from JAPL with some changes 2022-04-04 12:29:23 +02:00