Commit Graph

325 Commits

Author SHA1 Message Date
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 61f554d563 Merge branch 'lambdas' into compiler-refactor 2023-03-05 16:50:26 +01:00
Mattia Giambirtone 2a11a52aa6 Added lambda test 2023-03-05 16:50:14 +01:00
Mattia Giambirtone 0bb4f1b9fa Merge branch 'master' into compiler-refactor 2023-03-05 16:49: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 0e2a66ce61 Added choosenim link 2023-03-03 01:02:30 +01:00
Mattia Giambirtone d98feb499d Added choosenim link 2023-03-03 01:02:18 +01:00
Mattia Giambirtone 1a2c13cd4f Merge branch 'master' of https://git.nocturn9x.space/nocturn9x/peon 2023-03-03 00:57:35 +01:00
Mattia Giambirtone 5cc058023d Added basic build instructions 2023-03-03 00:57:28 +01:00
Mattia Giambirtone 4cdb92150d Added basic build instructions 2023-03-03 00:56:58 +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 ae819daac4 Added draft for peon's grammar 2023-01-25 10:20:37 +01:00
Mattia Giambirtone 88dc610363 Updated nim.cfg with more general import search path 2023-01-24 12:25:01 +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 63a3f5b228 Updates to bytecode doc 2023-01-22 20:58:25 +01:00
Mattia Giambirtone 3ced4c358f Minor updates to design doc 2023-01-22 20:45:32 +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 cc5622605d Updated manual 2022-12-15 16:11:15 +01:00
Mattia Giambirtone 3a48999a35 Updated manual 2022-12-15 15:52:04 +01:00
Mattia Giambirtone 42a7c4d050 Updated manual 2022-12-15 15:34:02 +01:00
Mattia Giambirtone e4f5c0dd4b Updated manual 2022-12-15 15:33:20 +01:00
Mattia Giambirtone 398af0f467 Updated manual 2022-12-15 15:32:28 +01:00