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 |
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
|
50b0f98f6a
|
Removed raise in main.nim
|
2022-05-22 15:31:13 +02:00 |
Mattia Giambirtone
|
21a9689f6c
|
Functions can now return functions which return functions... recursively. Initial work on forward declarations and function call resolution
|
2022-05-22 15:27:28 +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
|
42ab1d4c6e
|
Initial work on call resolution, added support for running files
|
2022-05-22 13:02:57 +02:00 |
Mattia Giambirtone
|
6d6ae3ee7a
|
Fixed and improved error reporting and made the parser ignore whitespace/tab (again)
|
2022-05-22 11:49:38 +02:00 |
Mattia Giambirtone
|
7cf69cf0cf
|
Added hasExplicitReturn field to function and lambda declarations to fix some errors with compiling them. Fixed minor issues with function and lambda parsing, the parser is now able to skip whitespace/tab tokens trasparently, made parser.done() inline, removed invalid state error from funDecl
|
2022-05-21 12:20:12 +02:00 |
Mattia Giambirtone
|
e4c2ba2ce2
|
Got rid of serializedRaw in main module and prettyfied the output
|
2022-05-20 18:34:14 +02:00 |
Mattia Giambirtone
|
5b9206a580
|
Updated README
|
2022-05-20 16:22:11 +02:00 |
Mattia Giambirtone
|
b1cc2755b8
|
Updated README
|
2022-05-20 16:16:52 +02:00 |
Mattia Giambirtone
|
919f07df55
|
Updated README
|
2022-05-20 16:16:22 +02:00 |
Mattia Giambirtone
|
00ace4c9ab
|
Updated README
|
2022-05-20 16:15:44 +02:00 |
Mattia Giambirtone
|
ef5f00b69a
|
Updated README
|
2022-05-20 16:15:17 +02:00 |
Mattia Giambirtone
|
2a3e05d6b3
|
Updated README
|
2022-05-20 16:14:08 +02:00 |
Mattia Giambirtone
|
e0fa1342a5
|
Updated README
|
2022-05-20 16:03:19 +02:00 |
Mattia Giambirtone
|
751cf644dc
|
Removed unneded flags
|
2022-05-20 16:01:34 +02:00 |
Mattia Giambirtone
|
64368b636a
|
Added tests directory
|
2022-05-20 15:56:16 +02:00 |
Mattia Giambirtone
|
beb853837a
|
Added skeleton for future expansion
|
2022-05-20 15:55:28 +02:00 |
Mattia Giambirtone
|
c9ac6550d2
|
Updated README since this code is now very different from JAPL's
|
2022-05-20 15:52:29 +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
|
77bd0c8b6f
|
Minor changes to bytecode file
|
2022-05-18 13:47:07 +02:00 |
Mattia Giambirtone
|
cb21af4aa3
|
Added Makefile, prettyfied code, initial work on pragmas
|
2022-05-18 13:32:32 +02:00 |
Mattia Giambirtone
|
e8cbec94bd
|
Minor bug fixes
|
2022-05-16 19:40:13 +02:00 |
Mattia Giambirtone
|
ffee77b6fc
|
Made function jumps absolute
|
2022-05-16 19:31:17 +02:00 |