Commit Graph

271 Commits

Author SHA1 Message Date
Mattia Giambirtone c1a2c9bc55
Updates to README. Cleanup & refactoring 2023-10-01 13:16:40 +02:00
Mattia Giambirtone 5fa463d9b4 It is now possible to test the serializer on arbitrary bytecode files 2023-07-22 16:19:52 +02:00
Mattia Giambirtone 68a6e2e83b
Minor fixes and changes to the parser 2023-07-11 13:46:04 +02:00
Mattia Giambirtone 88073194f2
Fixed test suite and added test suite runner. Also yeeted templates 2023-07-04 14:33:32 +02:00
Mattia Giambirtone 20a2f07eba
Initial work on fixing the hellish nightmare of bugs of this repo 2023-06-30 17:26:42 +02:00
Mattia Giambirtone 919cc25579
Get rid of REPL + minor refactorings 2023-06-29 13:58:03 +02:00
Mattia Giambirtone 45c5be7470
Update copyright notice in help menu 2023-06-28 17:35:38 +02:00
Mattia Giambirtone 6979d0316f
Minor refactor + fix minor oopsie 2023-06-28 17:33:48 +02:00
Mattia Giambirtone 71f44313da
Work on keyword arguments. REPL has been disabled (it's broken). Fixed various issues with casts and typevars 2023-06-01 12:56:59 +02:00
Mattia Giambirtone 86231291c4
Fixed bugs with globals and added related test 2023-05-23 12:10:30 +02:00
Mattia Giambirtone bc0f614143
Fixed issues with generic specialization and other minor bugs 2023-05-23 11:13:10 +02:00
Mattia Giambirtone 789462c86a
Bugfixes 2023-05-22 15:54:38 +02:00
Mattia Giambirtone b281961a5c
Fixed bug with imports and added missing time module 2023-05-22 14:38:03 +02:00
Mattia Giambirtone 879fec20fe
Various components are now debuggable without recompiling 2023-05-22 13:10:15 +02:00
Mattia Giambirtone 40d0f23135
Fixed various bugs related to lambdas and imports. Added module info section to bytecode dumps 2023-05-22 12:57:38 +02:00
Mattia Giambirtone 20da594116 Merge 2023-05-09 11:00:35 +02:00
Mattia Giambirtone 42ba738620
Added 'is' identity operator and implemented equality for booleans 2023-05-01 16:37:33 +02:00
Mattia Giambirtone de9b51152e
Fixed issue with resuming from incremental compilation 2023-05-01 16:27:00 +02:00
Mattia Giambirtone dc195409c9
Removed old note about pointer tagging 2023-05-01 16:07:41 +02:00
Mattia Giambirtone cd853bb140 Reverted variable hoisting and fixed minor issue during name resolution. Updated comments 2023-05-01 15:30:55 +02:00
Mattia Giambirtone a706fdad7a
Made VM helpers pure 2023-03-27 19:14:22 +02:00
Mattia Giambirtone a7899e8473
Fixed bug with globals and hoisted global declarations 2023-03-27 19:08:58 +02:00
Mattia Giambirtone 3e9b84fb4f
Got rid of pointer tagging (was probably useless) 2023-03-27 18:33:00 +02:00
Mattia Giambirtone 2d9a6b9a8d
Incremental compilation now works in the REPL 2023-03-27 17:57:18 +02:00
Mattia Giambirtone 8277472819
Initial work on the new compiler module 2023-03-27 09:53:56 +02:00
Mattia Giambirtone 32ae21d143 Forbid use of automatic types in lambdas 2023-03-07 11:41:37 +01:00
Mattia Giambirtone e926696953 Super clunky lambda implementation 2023-03-05 16:49:14 +01:00
Mattia Giambirtone 97698b28af Initial work on fixing lambdas and minor improvements to error reporting 2023-03-04 12:13:19 +01:00
Mattia Giambirtone 47ac1be6aa Merge branch 'gc-upgrade' into compiler-refactor 2023-02-25 17:37:32 +01:00
Mattia Giambirtone f4752a9f7c Added pointer tagging to GC to resolve potential memory leak 2023-02-25 17:35:57 +01:00
Mattia Giambirtone f2dbfcbd0a Simplified GC implementation by removing unnecessary metadata 2023-02-25 16:17:38 +01:00
Mattia Giambirtone 197367edae Merge branch 'compiler-refactor' of https://git.nocturn9x.space/nocturn9x/peon into compiler-refactor 2023-02-11 13:44:52 +01:00
Mattia Giambirtone c69daba89a Removed unnecessary old code from the lexer 2023-02-08 17:55:44 +01:00
Mattia Giambirtone f284da7691 Fixed minor bug in the REPL 2023-02-02 15:29:41 +01:00
Mattia Giambirtone 81e10ae1ea Reformatted help menu, added -w option. All code can now be disassembled 2023-01-26 12:11:29 +01:00
Mattia Giambirtone c666c66813 Added short type aliases to peon stdlib + minor comment fixes 2023-01-24 12:22:26 +01:00
Mattia Giambirtone bf2be7deac Minor documentation changes 2023-01-24 12:19:06 +01:00
Mattia Giambirtone f10d813414 Added visibility checks to forward declarations 2023-01-24 12:08:29 +01:00
Mattia Giambirtone d16d4d5977 Minor changes and fixes 2023-01-23 01:12:09 +01:00
Mattia Giambirtone dccaf7dda4 Minor changes and additions to comments 2023-01-22 18:02:31 +01:00
Mattia Giambirtone d1d5c10e49 Fixed issue with self-referencing variable declarations 2023-01-22 17:58:52 +01:00
Mattia Giambirtone ace04ee34c Minor additions and cleanup 2023-01-17 12:53:23 +01:00
Mattia Giambirtone e97653cbc7 Initial ground work on typed AST, minor fixes to compiler, switch statement now looks for equality operator instead of emitting the Equal opcode 2023-01-05 12:44:11 +01:00
Mattia Giambirtone 14f58921a5 Minor stylistic updates to CLI interface 2022-12-16 15:29:13 +01:00
Mattia Giambirtone 8cad266651 Updated help menu in config.nim 2022-12-16 15:23:32 +01:00
Mattia Giambirtone 382244f7a7 Added -o/--output option 2022-12-16 15:19:38 +01:00
Mattia Giambirtone cf6d20e757 Added mutateOuterScope to noWarn option, improved error formatting, added backend flag, updated help menu 2022-12-16 15:11:20 +01:00
Mattia Giambirtone ffe57c134a Minor improvements to modularization (moved even more procedures to generalized methods) 2022-12-16 14:32:20 +01:00
Mattia Giambirtone db021cb821 Initial ground work on the C backend 2022-12-15 16:49:27 +01:00
Mattia Giambirtone 385701ab83 Minor change (all test suite is passing) 2022-12-15 13:32:17 +01:00