Commit Graph

238 Commits

Author SHA1 Message Date
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 8b0d6b7ebe Updated namespaces test and stdlib 2022-11-28 13:42:12 +01:00
Mattia Giambirtone de981a2ec6 Added test for namespace shadowing 2022-11-27 14:34:09 +01:00
Mattia Giambirtone 582d29d149 Fixed issues with shadowing and cross-shadowing 2022-11-27 14:33:45 +01:00
Mattia Giambirtone 7ab757074f Added attribute resolution, fixed closures, fixed cross-shadowing issues 2022-11-27 13:39:41 +01:00
Mattia Giambirtone b99be47556 Added compilation mode flag 2022-11-23 10:40:45 +01:00
Mattia Giambirtone ab30d0d891 Assignment now checks the type of the operand against the assignee 2022-11-23 09:43:22 +01:00
Mattia Giambirtone b589f8109a Added missing files 2022-11-23 09:29:42 +01:00
Mattia Giambirtone 9567319c40 Major error formatting refactoring. Improved warning system 2022-11-23 01:02:35 +01:00
Mattia Giambirtone 43d67562f1 Added more warnings 2022-11-22 15:27:32 +01:00
Mattia Giambirtone a3b4fd1048 Initial warning support 2022-11-22 15:13:42 +01:00
Mattia Giambirtone 61aee1c0c4 Branch name is now filled in automatically in config.nim 2022-11-05 16:41:32 +01:00
Mattia Giambirtone 29b6aeb9f3 Updated README 2022-11-05 14:33:19 +01:00
Mattia Giambirtone edb6fdb7e6 Fixed TODO list for gitea's gay markdown renderer 2022-11-05 14:31:52 +01:00
Mattia Giambirtone b93ac201f2 Fixed all bugs: test suite is passing 2022-11-05 14:27:57 +01:00
Mattia Giambirtone d048870165 Added test for forward declaration 2022-11-05 14:04:08 +01:00
Mattia Giambirtone ce136a7a3c Implemented forward declarations 2022-11-05 14:03:49 +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 6f444582a4 Improved GC debugging 2022-11-05 09:23:51 +01:00
Mattia Giambirtone d09b72694e Fixed GC issues 2022-11-05 09:14:18 +01:00
Mattia Giambirtone 709b40341c Fix typo 2022-11-04 15:33:07 +01:00
Mattia Giambirtone 1e29796278 Simplified reallocate() and more failed attempts at fixing GC issues 2022-11-04 15:30:22 +01:00
Mattia Giambirtone e09db61bc6 Fixed support for type declarations in the parser 2022-11-04 14:56:42 +01:00
Mattia Giambirtone 31a995b0d8 Switched from TableRef to array for OperatorTable 2022-11-03 13:04:01 +01:00
Mattia Giambirtone 159530072b Minor fix to getStackPos. Git commit hash is now auto filled in config.nim 2022-11-03 12:30:25 +01:00
Mattia Giambirtone 28798789dd Updated config.nim 2022-11-03 11:01:40 +01:00
Mattia Giambirtone 5e1c16bb39 Renamed lookupPaths to moduleLookupPaths 2022-11-03 11:01:28 +01:00
Mattia Giambirtone 55a112a1ab Attempts at fixing GC issues 2022-11-03 10:55:27 +01:00
Mattia Giambirtone c1deebf43b Stopped using ref objects and removed recursive dependency between gc and VM 2022-11-02 13:16:43 +01:00
Mattia Giambirtone e046981f4b Fix for closures 2022-11-02 12:03:14 +01:00
Mattia Giambirtone b903005504 Initial work on fixing calling functions assigned to variables 2022-10-25 11:17:38 +02:00
Mattia Giambirtone dc626a90d9 Improved VM debugger, fixed bugs with fixing CFI offsets, minor docs and code changes 2022-10-24 13:53:27 +02:00
Mattia Giambirtone 6c305d6382 Disabled the GC in the entire VM module and updated config.nim 2022-10-21 19:50:07 +02:00
Mattia Giambirtone 9573769868 Various fixes to module system 2022-10-21 16:10:00 +02:00
Mattia Giambirtone 1c54243d43 Various bug fixes to scopes 2022-10-17 12:03:27 +02:00
Mattia Giambirtone 11f725e176 Added new modular standard library 2022-10-17 11:28:54 +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 8667cbdceb Initial ground work on generics, some stuff is broken :( 2022-10-13 16:52:37 +02:00
Mattia Giambirtone d4d1034cef Return addresses are now 64 bits long, return statements now compile to jumps, initial (broken) work on generics 2022-10-13 13:12:24 +02:00
Mattia Giambirtone 807b48bac9 Renamed compareTypes to compare 2022-10-11 10:01:01 +02:00
Mattia Giambirtone c168d1584b Updated compiler error messages and Generic type object, minor name changes 2022-10-11 09:59:27 +02:00
Mattia Giambirtone 9ef80535f3 Minor fixes to operator system and updated compiler error messages 2022-10-11 09:52:49 +02:00
Mattia Giambirtone 318f09541a Fixed config.nim 2022-10-11 09:36:33 +02:00
Mattia Giambirtone 61dceab9fd Fixed grammatical error in docs 2022-10-11 09:07:50 +02:00
Mattia Giambirtone 15f3143599 Removed makefile + minor fixes 2022-10-11 09:07:25 +02:00
Mattia Giambirtone 3e6e9da475 Fixed a bug where regular functions were mistaken for closures 2022-10-08 15:48:26 +02:00
Mattia Giambirtone ca5a1c1bc9 Updated config.nim 2022-10-08 15:21:32 +02:00
Mattia Giambirtone 66cd6be0be Minor additions/changes 2022-10-08 15:21:13 +02:00