Commit Graph

  • 77bd0c8b6f Minor changes to bytecode file Mattia Giambirtone 2022-05-18 13:47:07 +0200
  • 5a821c055a Minor changes to bytecode file Nocturn9x 2022-05-18 13:47:07 +0200
  • cb21af4aa3 Added Makefile, prettyfied code, initial work on pragmas Mattia Giambirtone 2022-05-18 13:32:32 +0200
  • 2f7a628d79 Added Makefile, prettyfied code, initial work on pragmas Nocturn9x 2022-05-18 13:32:32 +0200
  • e8cbec94bd Minor bug fixes Mattia Giambirtone 2022-05-16 19:40:13 +0200
  • 0e22351e35 Minor bug fixes Nocturn9x 2022-05-16 19:40:13 +0200
  • ffee77b6fc Made function jumps absolute Mattia Giambirtone 2022-05-16 19:31:17 +0200
  • 9360aca647 Made function jumps absolute Nocturn9x 2022-05-16 19:31:17 +0200
  • 620c56237a Fixed an issue with jump offsets and with functions return types Mattia Giambirtone 2022-05-16 19:23:38 +0200
  • a0d312736f Fixed an issue with jump offsets and with functions return types Nocturn9x 2022-05-16 19:23:38 +0200
  • 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 Mattia Giambirtone 2022-05-07 10:48:01 +0200
  • 98e6d91ba1 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 Nocturn9x 2022-05-07 10:48:01 +0200
  • 4af22621ea Updated .gitignore Mattia Giambirtone 2022-05-04 14:28:52 +0200
  • f7c0b8ce4c Updated .gitignore Nocturn9x 2022-05-04 14:28:52 +0200
  • 6ec5619d04 Added missing typing module Mattia Giambirtone 2022-05-04 14:28:36 +0200
  • f778ec99e5 Added missing typing module Nocturn9x 2022-05-04 14:28:36 +0200
  • c7500f610e Renamed all infer* functions to inferType, minor changes to signatures of declaration() and statement() Mattia Giambirtone 2022-05-04 14:27:15 +0200
  • 61a7c9a92d Renamed all infer* functions to inferType, minor changes to signatures of declaration() and statement() Nocturn9x 2022-05-04 14:27:15 +0200
  • a1c5430773 Collections are no longer a compiler intrinsic. Added parser support for ptr/ref arguments Mattia Giambirtone 2022-05-04 14:01:38 +0200
  • 0d48f86149 Collections are no longer a compiler intrinsic. Added parser support for ptr/ref arguments Nocturn9x 2022-05-04 14:01:38 +0200
  • f189b0214e Initial work on simplifying the type system and added more VM utility functions Mattia Giambirtone 2022-05-02 23:19:17 +0200
  • 4d41054120 Initial work on simplifying the type system and added more VM utility functions Nocturn9x 2022-05-02 23:19:17 +0200
  • b4fffe18aa Completely reworked the type inference system. Initial work on specializing the constants table in the bytecode chunk Mattia Giambirtone 2022-05-02 17:26:38 +0200
  • 1ceedde8e9 Completely reworked the type inference system. Initial work on specializing the constants table in the bytecode chunk Nocturn9x 2022-05-02 17:26:38 +0200
  • 0493181262 Removed broken optimizer module Mattia Giambirtone 2022-05-02 12:38:43 +0200
  • 299643e8be Removed broken optimizer module Nocturn9x 2022-05-02 12:38:43 +0200
  • 8d31b79302 The parser can now correctly recognize returning functions from other functions Mattia Giambirtone 2022-05-02 11:13:04 +0200
  • 69a585b117 The parser can now correctly recognize returning functions from other functions Nocturn9x 2022-05-02 11:13:04 +0200
  • f2b60bd9c4 Experimental support for multiple arguments of the same type using only one type declaration + various compiler fixes Mattia Giambirtone 2022-05-01 13:07:50 +0200
  • 8ca5caabb7 Experimental support for multiple arguments of the same type using only one type declaration + various compiler fixes Mattia Giambirtone 2022-05-01 13:07:50 +0200
  • 776968bffc Name stropping, added NoOp, minor AST fixes, removed builtin opcodes for most operations Mattia Giambirtone 2022-04-29 23:04:53 +0200
  • eea6137df5 Name stropping, added NoOp, minor AST fixes, removed builtin opcodes for most operations Mattia Giambirtone 2022-04-29 23:04:53 +0200
  • 299b359344 Name stropping now is generic to identifiers Mattia Giambirtone 2022-04-29 17:15:57 +0200
  • cc9cd9f877 Name stropping now is generic to identifiers Mattia Giambirtone 2022-04-29 17:15:57 +0200
  • cc47113d65 Deleted peon bytecode file Mattia Giambirtone 2022-04-29 16:57:41 +0200
  • a3219adcd6 Deleted peon bytecode file Nocturn9x 2022-04-29 16:57:41 +0200
  • d81ceb6760 Added types module Mattia Giambirtone 2022-04-29 16:57:14 +0200
  • 14f861a876 Added types module Nocturn9x 2022-04-29 16:57:14 +0200
  • 223ba603a7 Removed old JAPL type system. Initial dummy VM for testing purposes Mattia Giambirtone 2022-04-28 18:06:53 +0200
  • 85fb778647 Removed old JAPL type system. Initial dummy VM for testing purposes Nocturn9x 2022-04-28 18:06:53 +0200
  • 0e4eb82554 Fixed AST inheritance issues and got back to a working state Mattia Giambirtone 2022-04-28 11:50:10 +0200
  • c3c4804320 Fixed AST inheritance issues and got back to a working state Nocturn9x 2022-04-28 11:50:10 +0200
  • f26541d4ae BROKEN: Initial work on closed-over variables and attempt to cleanup the AST type structure Mattia Giambirtone 2022-04-27 16:03:48 +0200
  • 78d955541d BROKEN: Initial work on closed-over variables and attempt to cleanup the AST type structure Nocturn9x 2022-04-27 16:03:48 +0200
  • 87b46da41a Updated .gitignore to ignore .pbc files Mattia Giambirtone 2022-04-26 16:22:46 +0200
  • 43040df9f9 Updated .gitignore to ignore .pbc files Nocturn9x 2022-04-26 16:22:46 +0200
  • d7cb6eaae0 Bytecode is now serialized to a file Mattia Giambirtone 2022-04-26 16:22:23 +0200
  • 625d090350 Bytecode is now serialized to a file Nocturn9x 2022-04-26 16:22:23 +0200
  • c1152b8859 Updated commit hash in config.nim Mattia Giambirtone 2022-04-26 13:05:17 +0200
  • ae7915faa1 Updated commit hash in config.nim Nocturn9x 2022-04-26 13:05:17 +0200
  • 76d2b4e59d Fixed various bugs with parsing and compiling functions as well as with jumping Mattia Giambirtone 2022-04-26 13:04:40 +0200
  • ed79385e2a Fixed various bugs with parsing and compiling functions as well as with jumping Nocturn9x 2022-04-26 13:04:40 +0200
  • 4839c9a341 Turned off optimizer (breaks compiler) further work on closures and scope resolution Mattia Giambirtone 2022-04-26 09:29:59 +0200
  • ff7dc450ae Turned off optimizer (breaks compiler) further work on closures and scope resolution Nocturn9x 2022-04-26 09:29:59 +0200
  • d38ad5aab4 Initial work on static name resolution Mattia Giambirtone 2022-04-21 15:58:33 +0200
  • f7962a687a Initial work on static name resolution Nocturn9x 2022-04-21 15:58:33 +0200
  • 79ca72d983 Initial work on type inference and variable declarations. Minor changes to the optimizer Mattia Giambirtone 2022-04-21 15:25:29 +0200
  • 36a3a1e810 Initial work on type inference and variable declarations. Minor changes to the optimizer Nocturn9x 2022-04-21 15:25:29 +0200
  • e02f159514 Initial work on inferring types Mattia Giambirtone 2022-04-12 12:18:25 +0200
  • 7d409b6070 Initial work on inferring types Nocturn9x 2022-04-12 12:18:25 +0200
  • 025f8b463b Fixed parsing of argument-less function. Removed main.nim Mattia Giambirtone 2022-04-12 10:56:05 +0200
  • 8175c990d7 Fixed parsing of argument-less function. Removed main.nim Nocturn9x 2022-04-12 10:56:05 +0200
  • 2c2cd03d4a Minor changes Mattia Giambirtone 2022-04-11 15:00:15 +0200
  • a68f1de087 Minor changes Nocturn9x 2022-04-11 15:00:15 +0200
  • 42c47fc0e8 Minor changes Mattia Giambirtone 2022-04-11 14:59:34 +0200
  • 3a8eaf4cfc Minor changes Nocturn9x 2022-04-11 14:59:34 +0200
  • 722d345979 Minor changes Mattia Giambirtone 2022-04-11 14:41:20 +0200
  • 5202bf5489 Minor changes Nocturn9x 2022-04-11 14:41:20 +0200
  • 8a509f2de6 Minor changes to optimizer Mattia Giambirtone 2022-04-07 15:29:19 +0200
  • cf40d21e1c Minor changes to optimizer Nocturn9x 2022-04-07 15:29:19 +0200
  • a388333278 Hooked up old JAPL components Mattia Giambirtone 2022-04-07 15:06:15 +0200
  • 9588ace741 Hooked up old JAPL components Nocturn9x 2022-04-07 15:06:15 +0200
  • 78e169bd82 Hooked up the compiler and debugger (VERY experimental) Mattia Giambirtone 2022-04-07 13:02:23 +0200
  • 64ff6a12ca Hooked up the compiler and debugger (VERY experimental) Nocturn9x 2022-04-07 13:02:23 +0200
  • 15c46a2f46 Parser support for forward declarations Mattia Giambirtone 2022-04-07 12:15:34 +0200
  • 79af16ccc9 Parser support for forward declarations Nocturn9x 2022-04-07 12:15:34 +0200
  • e1543f8ba6 Removed unused unnest() procedure Mattia Giambirtone 2022-04-07 11:52:05 +0200
  • a86a1736ec Removed unused unnest() procedure Nocturn9x 2022-04-07 11:52:05 +0200
  • ae8d348e0d Added notes to README, minor changes to lexer and test file Mattia Giambirtone 2022-04-07 11:51:36 +0200
  • 32e0c20417 Added notes to README, minor changes to lexer and test file Nocturn9x 2022-04-07 11:51:36 +0200
  • e82ef02772 Minor changes to test.nim Mattia Giambirtone 2022-04-06 20:29:51 +0200
  • fe8d1926c9 Minor changes to test.nim Nocturn9x 2022-04-06 20:29:51 +0200
  • 2756030b6d Experimental support for arbitrary user-defined operators Mattia Giambirtone 2022-04-06 20:08:36 +0200
  • 2e4091de1f Experimental support for arbitrary user-defined operators Nocturn9x 2022-04-06 20:08:36 +0200
  • d1dbf771ab Minor changes to how await/yield expressions are parsed Mattia Giambirtone 2022-04-06 15:57:47 +0200
  • 6500dd632e Minor changes to how await/yield expressions are parsed Nocturn9x 2022-04-06 15:57:47 +0200
  • 6789a45e28 Fixed a bug with parsing non base-10 numbers in the lexer. Minor fixes to the parser and updated docs and comments Mattia Giambirtone 2022-04-06 12:09:19 +0200
  • ce82517f14 Fixed a bug with parsing non base-10 numbers in the lexer. Minor fixes to the parser and updated docs and comments Nocturn9x 2022-04-06 12:09:19 +0200
  • dbab30952b Initial work on adding type support to the parser for declarations + fixes for lambdas Mattia Giambirtone 2022-04-05 15:52:58 +0200
  • 7edf072093 Initial work on adding type support to the parser for declarations + fixes for lambdas Nocturn9x 2022-04-05 15:52:58 +0200
  • 7f950893c5 Wired up the parser Mattia Giambirtone 2022-04-05 11:23:59 +0200
  • c91cbf0ac1 Wired up the parser Nocturn9x 2022-04-05 11:23:59 +0200
  • 21fda63fad Huge lexer refactoring Mattia Giambirtone 2022-04-05 00:26:01 +0200
  • 5ea6f91ce4 Huge lexer refactoring Nocturn9x 2022-04-05 00:26:01 +0200
  • 76812a2091 Initial commit from JAPL with some changes Mattia Giambirtone 2022-04-04 12:29:23 +0200
  • 3862c6ba36 Initial commit from JAPL with some changes Nocturn9x 2022-04-04 12:29:23 +0200
  • a20cfc532b Initial commit Mattia Giambirtone 2022-04-04 12:28:39 +0200