Mattia Giambirtone
|
d241333047
|
Initial work on closures (again?)
|
2022-06-13 17:28:05 +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
|
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
|
e9cb3fca89
|
Fixed local variables
|
2022-06-02 11:45:27 +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
|
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
|
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
|
bf9b9389ce
|
Some work for heap vars, wip fixes for higher-order functions
|
2022-05-27 14:01:57 +02:00 |
Mattia Giambirtone
|
0f0a442578
|
Fixed issues with stack frames when returning from functions
|
2022-05-25 14:38:40 +02:00 |
Mattia Giambirtone
|
48d1c3fc8c
|
Initial work on CFI-like functionality for better debugging
|
2022-05-24 22:26:45 +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 |
Mattia Giambirtone
|
8d1699ff9e
|
Refactored calling convention and added stack frame support to the VM as well as StoreVar
|
2022-05-23 10:49:38 +02:00 |
Mattia Giambirtone
|
5f43ea9490
|
Initial work on calls (with runtime support too)
|
2022-05-22 17:23:52 +02:00 |
Mattia Giambirtone
|
9f1769ab71
|
Added LoadVar support to the VM and fixed a minor mistake in the debugger output
|
2022-05-22 13:09:46 +02:00 |
Mattia Giambirtone
|
1a0587d08b
|
Minor style changes, removed findImpl from compiler, made the VM use the multibyte utilities, bytecode chunks now no longer store AST node objects and use a stream of bytes instead, fixed issues with endScope() in the compiler which would not pop properly from self.names, fixed issues with blockStmt in parser, added more multibyte utilities
|
2022-05-20 15:47:04 +02:00 |
Mattia Giambirtone
|
cb21af4aa3
|
Added Makefile, prettyfied code, initial work on pragmas
|
2022-05-18 13:32:32 +02:00 |
Mattia Giambirtone
|
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
|
2022-05-07 10:48:42 +02:00 |
Mattia Giambirtone
|
f189b0214e
|
Initial work on simplifying the type system and added more VM utility functions
|
2022-05-02 23:19:31 +02:00 |
Mattia Giambirtone
|
b4fffe18aa
|
Completely reworked the type inference system. Initial work on specializing the constants table in the bytecode chunk
|
2022-05-02 17:26:38 +02:00 |
Mattia Giambirtone
|
776968bffc
|
Name stropping, added NoOp, minor AST fixes, removed builtin opcodes for most operations
|
2022-04-29 23:04:53 +02:00 |
Mattia Giambirtone
|
299b359344
|
Name stropping now is generic to identifiers
|
2022-04-29 17:15:57 +02:00 |
Mattia Giambirtone
|
223ba603a7
|
Removed old JAPL type system. Initial dummy VM for testing purposes
|
2022-04-28 18:06:53 +02:00 |
Mattia Giambirtone
|
76812a2091
|
Initial commit from JAPL with some changes
|
2022-04-04 12:29:23 +02:00 |