Commit Graph

71 Commits

Author SHA1 Message Date
Mattia Giambirtone e823a459c8 Implemented jump opcodes and LoadUInt64 in the VM, some style and proc changes in the compiler, chunk constants are now type-aware, fixed various inheritance mistakes in the AST node, refined type inference system, moved types back to the compiler and completely redesigned operator parsing to be more modular 2022-05-07 10:48:42 +02:00
Mattia Giambirtone 6ec5619d04 Added missing typing module 2022-05-04 14:28:36 +02:00
Mattia Giambirtone a1c5430773 Collections are no longer a compiler intrinsic. Added parser support for ptr/ref arguments 2022-05-04 14:01:38 +02:00
Mattia Giambirtone b4fffe18aa Completely reworked the type inference system. Initial work on specializing the constants table in the bytecode chunk 2022-05-02 17:26:38 +02:00
Mattia Giambirtone f2b60bd9c4 Experimental support for multiple arguments of the same type using only one type declaration + various compiler fixes 2022-05-01 13:08:02 +02:00
Mattia Giambirtone 776968bffc Name stropping, added NoOp, minor AST fixes, removed builtin opcodes for most operations 2022-04-29 23:04:53 +02:00
Mattia Giambirtone 299b359344 Name stropping now is generic to identifiers 2022-04-29 17:15:57 +02:00
Mattia Giambirtone 223ba603a7 Removed old JAPL type system. Initial dummy VM for testing purposes 2022-04-28 18:06:53 +02:00
Mattia Giambirtone 0e4eb82554 Fixed AST inheritance issues and got back to a working state 2022-04-28 11:50:10 +02:00
Mattia Giambirtone f26541d4ae BROKEN: Initial work on closed-over variables and attempt to cleanup the AST type structure 2022-04-27 16:03:48 +02:00
Mattia Giambirtone 4839c9a341 Turned off optimizer (breaks compiler) further work on closures and scope resolution 2022-04-26 09:29:59 +02:00
Mattia Giambirtone 79ca72d983 Initial work on type inference and variable declarations. Minor changes to the optimizer 2022-04-21 15:25:29 +02:00
Mattia Giambirtone e02f159514 Initial work on inferring types 2022-04-12 12:18:25 +02:00
Mattia Giambirtone 025f8b463b Fixed parsing of argument-less function. Removed main.nim 2022-04-12 10:56:05 +02:00
Mattia Giambirtone 722d345979 Minor changes 2022-04-11 14:41:20 +02:00
Mattia Giambirtone a388333278 Hooked up old JAPL components 2022-04-07 15:06:15 +02:00
Mattia Giambirtone 78e169bd82 Hooked up the compiler and debugger (VERY experimental) 2022-04-07 13:02:23 +02:00
Mattia Giambirtone 6789a45e28 Fixed a bug with parsing non base-10 numbers in the lexer. Minor fixes to the parser and updated docs and comments 2022-04-06 12:09:19 +02:00
Mattia Giambirtone dbab30952b Initial work on adding type support to the parser for declarations + fixes for lambdas 2022-04-05 15:52:58 +02:00
Mattia Giambirtone 21fda63fad Huge lexer refactoring 2022-04-05 00:26:01 +02:00
Mattia Giambirtone 76812a2091 Initial commit from JAPL with some changes 2022-04-04 12:29:23 +02:00