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
|
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
|
de9b51152e
|
Fixed issue with resuming from incremental compilation
|
2023-05-01 16:27:00 +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
|
2d9a6b9a8d
|
Incremental compilation now works in the REPL
|
2023-03-27 17:57:18 +02: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
|
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
|
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
|
dc393bbb34
|
Initial work on multi-backend support
|
2022-12-15 11:48:43 +01:00 |
Mattia Giambirtone
|
b912d58cad
|
Peon bytecode files can now be executed directly
|
2022-12-09 13:42:52 +01:00 |
Mattia Giambirtone
|
d7d561f45e
|
Updated REPL to be more forgiving once errors occur
|
2022-12-05 19:56:00 +01:00 |
Mattia Giambirtone
|
21738b9382
|
Removed broken closure implementation, changed local resolution mechanism, many bug fixes to namespaces and tests
|
2022-12-04 16:54:28 +01:00 |
Mattia Giambirtone
|
63cdda42ce
|
Added tagged type unions, moved intrinsics to peon's stdlib and fixed issues with generics and parametric polymorphism
|
2022-11-29 16:48:05 +01:00 |
Mattia Giambirtone
|
2187aa19d8
|
Minor fixes and changes, renamed nodump option to noDump, added missing support for mode flag. Minor additions and style fixes to parser and compiler
|
2022-11-28 14:04:12 +01:00 |
Mattia Giambirtone
|
b99be47556
|
Added compilation mode flag
|
2022-11-23 10:40:45 +01:00 |
Mattia Giambirtone
|
9567319c40
|
Major error formatting refactoring. Improved warning system
|
2022-11-23 01:02:35 +01:00 |
Mattia Giambirtone
|
a3b4fd1048
|
Initial warning support
|
2022-11-22 15:13:42 +01:00 |
Mattia Giambirtone
|
b93ac201f2
|
Fixed all bugs: test suite is passing
|
2022-11-05 14:27:57 +01:00 |
Mattia Giambirtone
|
26e16e7f8e
|
Reverted to old style REPL and added note in the README
|
2022-11-05 12:38:05 +01:00 |
Mattia Giambirtone
|
3dead5a555
|
Fixed various bugs and added more tests. Also added nim.cfg
|
2022-11-05 10:57:45 +01:00 |
Mattia Giambirtone
|
9573769868
|
Various fixes to module system
|
2022-10-21 16:10:00 +02:00 |
Mattia Giambirtone
|
d33a597f19
|
Massive improvements to import system (added export statement, initial work on namespaces, module names can now be paths, added module search paths)
|
2022-10-17 11:28:00 +02:00 |
Mattia Giambirtone
|
c7893fb14b
|
Fixed issues with negative numbers and infinity. Variables can now accept function expressions as type arguments. Compiler.infer() now always returns a concrete type, minor bug fix in varDecl
|
2022-10-13 18:34:11 +02:00 |
Mattia Giambirtone
|
95315a0094
|
Minor changes and fixes
|
2022-08-18 11:15:55 +02:00 |
Mattia Giambirtone
|
36970e493b
|
Slotted in JAPL's old memory manager and fixed strings. Preliminary work for GC
|
2022-08-17 22:35:32 +02:00 |
Mattia Giambirtone
|
47a6f16664
|
Even more cleanup. Added ✨pretty colors✨ to the VM's debugger
|
2022-08-17 20:40:34 +02:00 |
Mattia Giambirtone
|
77fd5931fa
|
Further clean up
|
2022-08-17 19:31:27 +02:00 |
Mattia Giambirtone
|
f7733d925f
|
Cleaned up and renamed some things
|
2022-08-17 19:23:11 +02:00 |
Mattia Giambirtone
|
19a089f4a2
|
Move towards unboxed types in the Peon VM
|
2022-08-17 17:31:15 +02:00 |
Mattia Giambirtone
|
13b432b2d2
|
Basic support for actual incremental compilation
|
2022-08-16 12:20:17 +02:00 |
Mattia Giambirtone
|
626375bc1f
|
Added all missing comparison operators and fixed error reporting system
|
2022-08-15 22:15:06 +02:00 |
Mattia Giambirtone
|
edef50deca
|
Made exception handling in main.nim module-aware and did some minor refactoring
|
2022-08-15 11:46:24 +02:00 |
Mattia Giambirtone
|
c85fff8f67
|
Initial tests for an import system
|
2022-08-14 18:37:17 +02:00 |
Mattia Giambirtone
|
67b44dbfc9
|
Added support for GenericPrint opcode
|
2022-08-01 10:44:38 +02:00 |
Mattia Giambirtone
|
b4628109ce
|
Fixed a bug with nested scopes
|
2022-07-31 16:40:47 +02:00 |
Mattia Giambirtone
|
33066d3b9b
|
Fixed bug with calling a call
|
2022-07-31 16:09:22 +02:00 |
Mattia Giambirtone
|
da2cfefe75
|
Removed the need for parentheses around control flow and looping statements, enforced braces instead. Got rid of the old C-style for loop
|
2022-07-16 13:21:40 +02:00 |
Mattia Giambirtone
|
b40275b52f
|
Added Compiler.check(), made type constraints mandatory in generics, reverted '\n' being converted to a semicolon, minor refactoring
|
2022-07-16 13:04:00 +02:00 |
Mattia Giambirtone
|
2072f34d4c
|
BYE BYE SEMICOLONS!
|
2022-07-15 19:48:32 +02:00 |
Mattia Giambirtone
|
60028ed664
|
Fixed issues when debugSerializer == true
|
2022-07-10 16:31:30 +02:00 |
Mattia Giambirtone
|
cc0aab850e
|
Simplified calling convention, added for PeonObject, added some comments, fixed bug with StoreVar in stack frames, fixed issues with functions assigned to variables, changed the way closures are emitted so that empty jumps are no longer needed
|
2022-07-09 12:47:53 +02:00 |
Mattia Giambirtone
|
95880b7ba2
|
Updated .gitignore, slightly edited README and added some more tests
|
2022-06-19 14:45:38 +02:00 |
Mattia Giambirtone
|
5d572386a3
|
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
|
e3ab2fbdb6
|
Fixed issues with returning/calling function objects
|
2022-06-13 15:44:53 +02:00 |
Mattia Giambirtone
|
02f1f8a54d
|
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
|
dac0cca1bc
|
Initial experimental support for parsing pragmas
|
2022-06-07 11:23:08 +02:00 |