Mattia Giambirtone
|
a361f91950
|
Updated .gitignore
|
2022-06-14 22:46:25 +02:00 |
Mattia Giambirtone
|
d3b9418fea
|
Added some missing files
|
2022-06-14 22:45:41 +02:00 |
Mattia Giambirtone
|
e32b8e258f
|
Initial work on generics and fixed bugs in the parser with stropped operator names
|
2022-06-14 22:45:32 +02:00 |
Mattia Giambirtone
|
4591e5ca0e
|
Added built-in operators as a single instruction (src/peon/stdlib/arithmetics.pn is now fully functional)
|
2022-06-14 18:10:13 +02:00 |
Mattia Giambirtone
|
73381513f9
|
Minor fixes
|
2022-06-14 12:14:58 +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
|
d241333047
|
Initial work on closures (again?)
|
2022-06-13 17:28:05 +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
|
11b15abc01
|
More work on pragmas, returning functions now works
|
2022-06-08 16:07:08 +02:00 |
Mattia Giambirtone
|
dac0cca1bc
|
Initial experimental support for parsing pragmas
|
2022-06-07 11:23:08 +02:00 |
Mattia Giambirtone
|
aed0f6e8f2
|
Initial work on type declarations
|
2022-06-02 14:23:05 +02:00 |
Mattia Giambirtone
|
1d228c6310
|
Fixed logic bug within if/else construct
|
2022-06-02 12:19:18 +02:00 |
Mattia Giambirtone
|
dfa42d994b
|
Fixed if/else
|
2022-06-02 12:05:22 +02:00 |
Mattia Giambirtone
|
72ba5c7528
|
Updated config.nim
|
2022-06-02 11:48:17 +02:00 |
Mattia Giambirtone
|
e9cb3fca89
|
Fixed local variables
|
2022-06-02 11:45:27 +02:00 |
Mattia Giambirtone
|
6b314f2882
|
Fixed nested calls
|
2022-06-02 10:19:34 +02:00 |
Mattia Giambirtone
|
f2f0fae36f
|
Fixed inverse parameter ordering (whoops)
|
2022-06-02 01:50:06 +02:00 |
Mattia Giambirtone
|
099f733db6
|
Initial work on a two-stack design
|
2022-06-02 01:33:56 +02:00 |
Mattia Giambirtone
|
f8ab292c27
|
Fixed peon calling convention and various errors with function calls
|
2022-05-30 22:06:15 +02:00 |
Mattia Giambirtone
|
369dff7da2
|
Removed debugging print (oops)
|
2022-05-30 12:33:30 +02:00 |
Mattia Giambirtone
|
df105125c4
|
Various fixes to stack frame alignment and added incremental compilation to REPL
|
2022-05-30 12:32:24 +02:00 |
Mattia Giambirtone
|
0887dab246
|
Added lastPop field to VM
|
2022-05-30 09:32:15 +02:00 |
Mattia Giambirtone
|
9f126845fc
|
Initial work on function calls
|
2022-05-30 09:29:03 +02:00 |
Mattia Giambirtone
|
50b7b56feb
|
Fixed some segfaults
|
2022-05-29 23:01:36 +02:00 |
Mattia Giambirtone
|
9dacda4009
|
Various fixes and stack frame changes
|
2022-05-29 17:04:19 +02:00 |
Mattia Giambirtone
|
b0515d3573
|
Refactored the type system which no longer relies on AST node objects. Added types for ref, ptr and mutable types
|
2022-05-29 15:54:01 +02:00 |
Mattia Giambirtone
|
a8345d065a
|
Removed bytecode file
|
2022-05-29 15:01:15 +02:00 |
Mattia Giambirtone
|
74c58fbe5e
|
Updated .gitignore
|
2022-05-29 14:57:37 +02:00 |
Mattia Giambirtone
|
9c20032690
|
Fixed .gitignore (maybe??)
|
2022-05-29 14:54:22 +02:00 |
Mattia Giambirtone
|
57313235a9
|
Added tests directory
|
2022-05-29 14:52:47 +02:00 |
Mattia Giambirtone
|
bf9b9389ce
|
Some work for heap vars, wip fixes for higher-order functions
|
2022-05-27 14:01:57 +02:00 |
Mattia Giambirtone
|
71c05ec1bf
|
Fixed closure variables and debugger output with nested CFI data (also removed unneeded peon files)
|
2022-05-26 18:32:02 +02:00 |
Mattia Giambirtone
|
0f0a442578
|
Fixed issues with stack frames when returning from functions
|
2022-05-25 14:38:40 +02:00 |
Mattia Giambirtone
|
e15b6a4915
|
Fixed recursion error inside inferType
|
2022-05-25 14:17:58 +02:00 |
Mattia Giambirtone
|
5bf5c6d3fd
|
Fixed variable declarations not compiling in some cases
|
2022-05-25 12:15:45 +02:00 |
Mattia Giambirtone
|
990b54fa3e
|
Made main.nim a bit nicer with command-line options
|
2022-05-25 11:49:21 +02:00 |
Mattia Giambirtone
|
a6d22f740d
|
Updated .gitignore
|
2022-05-25 11:43:02 +02:00 |
Mattia Giambirtone
|
be4c2500ac
|
Added info about CFI section and made minor changes to README
|
2022-05-25 11:36:12 +02:00 |
Mattia Giambirtone
|
48d1c3fc8c
|
Initial work on CFI-like functionality for better debugging
|
2022-05-24 22:26:45 +02:00 |
Mattia Giambirtone
|
dbeae16dc4
|
Various fixes to matchImpl. Variables can now shadow functions, but not other variables
|
2022-05-24 10:23:34 +02:00 |
Mattia Giambirtone
|
15f412bcac
|
Updated config.nim and changed mechanism for finding operators (also added binary operator lookup)
|
2022-05-24 09:56:11 +02:00 |
Mattia Giambirtone
|
b02e2c3d02
|
Removed old binary
|
2022-05-23 23:34:33 +02:00 |
Mattia Giambirtone
|
2ff70f912d
|
Merge branch 'master' of https://git.nocturn9x.space/nocturn9x/peon
|
2022-05-23 23:25:21 +02:00 |
Mattia Giambirtone
|
866519b1da
|
Fixed typo
|
2022-05-23 23:15:09 +02:00 |
Mattia Giambirtone
|
630de7a30c
|
Fixed typo
|
2022-05-23 23:15:09 +02:00 |
Mattia Giambirtone
|
de089098ad
|
Removed tests.pbc
|
2022-05-23 23:08:46 +02:00 |
Mattia Giambirtone
|
4230222639
|
Initial work on documentation
|
2022-05-23 23:08:00 +02:00 |
Mattia Giambirtone
|
396f40d3d6
|
Added some docs, LoadVar to the VM and readInt32
|
2022-05-23 14:03:17 +02:00 |
Mattia Giambirtone
|
9c14bfae91
|
Initial work on generics, fixed StoreVar. declareName no longer emits any bytecode (as it doesn't need to)
|
2022-05-23 11:53:34 +02:00 |