Commit Graph

60 Commits

Author SHA1 Message Date
Mattia Giambirtone f72f7f884a
Initial ground work for context-aware type checking 2024-07-12 19:09:47 +02:00
Mattia Giambirtone c4d51f91d8
Fix compilation issues, add initial parsing test suite and initial work on bytecode backend 2024-07-08 12:37:31 +02:00
Mattia Giambirtone 4fc078d4d8 Initial work on parser tests. Parser bug fixes. Minor changes to type checker 2024-04-08 14:33:14 +02:00
Mattia Giambirtone 740999bbc2 Minor changes to help text. Add AST checker module 2024-04-05 16:39:05 +02:00
Mattia Giambirtone 3953751cef Migrate all tokenizer tests to new format 2024-04-05 16:24:45 +02:00
Mattia Giambirtone 9d9093ca6c Improve testing capabilities, initial work on parser testing. WIP 2024-03-08 11:21:07 +01:00
Mattia Giambirtone e2b4037b73 Switch parameters to ordered hash map 2024-03-06 09:33:54 +01:00
Mattia Giambirtone 40e11c5afe Bug fixes across the toolchain. Minor fixes and touch ups 2024-03-05 21:03:59 +01:00
Mattia Giambirtone eca8d362d2 Fix bugs with type declaration parsing 2024-03-05 19:53:41 +01:00
Mattia Giambirtone f321644c40 Bug fixes to the parser, typechecker cleanup. Added more CLI options 2024-03-05 16:56:09 +01:00
Mattia Giambirtone e7aa19835e Minor test additions 2024-03-04 12:42:55 +01:00
Mattia Giambirtone ecbdf120e3
More lexer bug fixes and tests. Minor changes to error reporting. Added intrinsic aliases 2024-02-23 13:15:11 +01:00
Mattia Giambirtone 92993535d7
Fix bugs that weren't producing expression statements properly 2024-02-23 13:15:10 +01:00
Mattia Giambirtone 20cca2c185
Add --cacheDir option 2024-02-23 13:15:10 +01:00
Mattia Giambirtone b0b7739a63
Change build directory 2024-02-23 13:15:10 +01:00
Mattia Giambirtone c5450a9e19
Build task now fails if tests fail 2024-02-23 13:15:10 +01:00
Mattia Giambirtone f1d2386175
Fix stringWithEscapes test and add more unicode tests 2024-02-23 13:15:10 +01:00
Mattia Giambirtone 6db44570ae
Improve unicode support in the tokenizer and add more tests 2024-02-23 13:15:09 +01:00
Mattia Giambirtone e061bb399b
Added allTokens test 2024-02-23 13:15:09 +01:00
Mattia Giambirtone 79f3803328
Improve test suite and fix bugs in the tokenizer 2024-02-23 13:15:09 +01:00
Mattia Giambirtone 3b603d1fdf
Minor formatting changes to test outcome printing (again) 2024-02-23 13:15:09 +01:00
Mattia Giambirtone 0ec377b308
Minor formatting changes to test outcome printing 2024-02-23 13:15:08 +01:00
Mattia Giambirtone 40cbed2b19
Improve test suite with outcome management 2024-02-23 13:15:08 +01:00
Mattia Giambirtone 41abf59395
Add initial documentation to test suite 2024-02-23 13:15:08 +01:00
Mattia Giambirtone b2efb1c9b5
Update copyright/license notices & README with build instructions. Made peon buildable via nimble build 2024-02-23 13:15:08 +01:00
Mattia Giambirtone eb8f7c0a51
Update README 2024-02-23 13:15:07 +01:00
Mattia Giambirtone 31ee29538e
Improve error handling and error messages 2024-02-23 13:15:07 +01:00
Mattia Giambirtone c3bac2cf46
Add comments to generics example 2024-02-23 13:15:07 +01:00
Mattia Giambirtone ee90dad3d2
Turn peon into a proper nimble package and add initial test suite 2024-02-23 13:15:07 +01:00
Mattia Giambirtone 887d1ce8f5
Added --noGen option 2024-02-23 13:15:06 +01:00
Mattia Giambirtone 3f0a4708d3
Rework generic replacement mechanism 2024-02-23 13:15:06 +01:00
Mattia Giambirtone c0bd1daebf
Significant parser refactoring and cleanup 2024-02-23 13:15:06 +01:00
Mattia Giambirtone d04f412347
Add extra generic test and comments 2024-02-23 13:15:06 +01:00
Mattia Giambirtone 2f74c23774
Whoops 2024-02-23 13:15:05 +01:00
Mattia Giambirtone 60d9b3c37e
More fixes to generics 2024-02-23 13:15:05 +01:00
Mattia Giambirtone 34d5f77f65
Added test for generics 2024-02-23 13:15:05 +01:00
Mattia Giambirtone a6a944a4fa
Completely rework generics 2024-02-23 13:15:05 +01:00
Mattia Giambirtone 838fc3d5a1
preparation for type system overhaul (please send help) 2024-02-23 13:15:04 +01:00
Mattia Giambirtone 83051d67f8
Further work on porting the bytecode target 2024-02-23 13:15:04 +01:00
Mattia Giambirtone 6181c49f1f
Initial work on porting the bytecode backend to peon 0.2 2024-02-23 13:15:04 +01:00
Mattia Giambirtone 8b39cc3bc0
Add parser support for selective import statements 2024-02-23 13:15:04 +01:00
Mattia Giambirtone 3ad22dea12
Improve separation by splitting types from type checker 2024-02-23 13:15:03 +01:00
Mattia Giambirtone e11ada2fec
Minor review and improvements 2024-02-23 13:15:03 +01:00
Mattia Giambirtone 13eea04e74
Fix parsing bug with type declarations 2024-02-23 13:15:03 +01:00
Mattia Giambirtone 8cac75ecef
Minor fixes 2024-02-23 13:15:03 +01:00
Mattia Giambirtone f7f6ae052f
Add missing file 2024-02-23 13:15:02 +01:00
Mattia Giambirtone f2a23b8b77
Minor refactoring of components and names 2024-02-23 13:15:02 +01:00
Mattia Giambirtone 4c8cf89c8e
Remove unused bytecode VM 2024-02-23 13:15:02 +01:00
Mattia Giambirtone 525a11adad
Minor refactoring in preparation for additional modules 2024-02-23 13:15:02 +01:00
Mattia Giambirtone f5d091bb9b
The compiler no longer emits warnings that should be emitted by a control flow analyzer. Major cleanup and refactoring 2024-02-23 13:15:01 +01:00