Christoffer Lerno
|
9447913de6
|
Use arena with JSON parser. Slightly altered output for json printing.
|
2024-09-20 00:39:10 +02:00 |
|
Christoffer Lerno
|
800f7970a7
|
Fixes to the socket functions. Improved output when pointer is out of range. Better error when casting to a distinct fails.
|
2024-08-06 17:08:03 +02:00 |
|
Christoffer Lerno
|
cc19168c7b
|
Some general cleanup.
|
2023-02-28 01:15:30 +01:00 |
|
Christoffer Lerno
|
50d2a04c48
|
Default to threads = cpus(). Correct multithreaded benchmark with threads.
|
2022-12-11 23:35:02 +01:00 |
|
Christoffer Lerno
|
1864c69f31
|
Fixes to inc/dec vector element. Improvements to unit tests. Updated task threading. Single threaded by default due to poor LLVM perf.
|
2022-12-10 04:24:56 +01:00 |
|
Christoffer Lerno
|
890c4bc435
|
0.2.0. Build system improvements. Target changes x64-windows -> windows-x64, x64-darwin -> macos-x64. Improved mac support. LLD linking for Mac, Windows, Linux. Cross linking for Mac, Windows. Clean up string use. Fix of debug handling of multiple compilation units per module. MSVC CI
|
2022-04-26 13:20:33 +02:00 |
|
Christoffer Lerno
|
7226bff6ea
|
Use JSON, unifying settings.
|
2022-02-15 18:53:54 +01:00 |
|
Christoffer Lerno
|
a0be188902
|
Lexing updated with simpler code. Note: may have bugs.
|
2021-12-27 15:45:54 +01:00 |
|
Christoffer Lerno
|
b066c25432
|
Remove reminder logs unless --debug-log on. Fix UB in test.
|
2021-12-07 22:20:35 +01:00 |
|
Christoffer Lerno
|
1bb9c2d249
|
Allow the compiler to be called multiple times (while leaking)
|
2021-12-02 22:50:38 +01:00 |
|
Christoffer Lerno
|
05c9b7cb33
|
More explicit conversion and width changes to some field.
|
2021-11-21 23:37:54 +01:00 |
|
Christoffer Lerno
|
b4df56db54
|
Removed original_type, pure, removed bigint, added i128 type, lots of fixes to $Foo, reassigning ct type, catch/macro, "!", removed type inference.
|
2021-10-19 10:39:02 +02:00 |
|
Christoffer Lerno
|
69d9775876
|
Removed define for declaring ct vars and replaced it with var for declarations. Updated error messages. Added $defined.
|
2021-08-31 12:44:18 +02:00 |
|
Christoffer Lerno
|
0605a8c500
|
Introduce "private" keyword and private modules / private import.
|
2021-05-30 16:30:16 +02:00 |
|
Christoffer Lerno
|
1f676c135c
|
Removed func and rewrote typedefs.
|
2021-05-23 13:16:48 +02:00 |
|
Christoffer Lerno
|
c6f671a6ca
|
A bit more global...
|
2021-04-29 22:44:00 +02:00 |
|
Christoffer Lerno
|
fd08c5c980
|
Revert "Remove suppressed warning."
|
2021-04-29 17:23:46 +02:00 |
|
Christoffer Lerno
|
c4585f9bbd
|
Remove suppressed warning.
|
2021-04-29 17:18:50 +02:00 |
|
Christoffer Lerno
|
f028bc274f
|
Use the platform linker by default, which will just be a call to "cc" (the Win solution will be done later)
|
2021-04-14 14:29:03 +02:00 |
|
Christoffer Lerno
|
4210f1ccb2
|
Some work on vararray. Fix span on post unary. Updated error recovery. Updated return analysis to handle void functions. "while" now disallows error prone next line statement. Working on auto linking. Failable load optimized. Optimization and corrections for call returns + documentation.
|
2021-04-05 23:34:40 +02:00 |
|
Christoffer Lerno
|
07595df412
|
Change cast and int rules: constant folding always starts. Promotion using left side on all operands to bit width. Implicit narrowing to max size on right hand side.
|
2021-03-17 18:25:00 +01:00 |
|
Christoffer Lerno
|
77ccfc1f7c
|
Added CT_SWITCH parsing in top level. Nil changed to null. Parsing more in line with grammar. Parse type as expressions. Zero init by default for locals. Corrected bool/fp conversion. Add memcpy pass to fix issue with value load/stores.
|
2020-09-21 11:38:12 +02:00 |
|
Christoffer Lerno
|
b4c661eaad
|
Pre lexing and mmap allocation together with exact exits.
|
2020-07-15 15:42:54 +02:00 |
|
Christoffer Lerno
|
ded367399e
|
Some work towards automated testing. Fixes to bigint. Removed implicit assign cast. Updated cast rules. Fixes *%=. Simplified case. Unified shift code. Major casts rework. Fixed error handling of pointer + integer adds. Removed &&= and ||=. Unified more expression handling and fixed bugs in sematic analysis on expressions.
|
2020-04-02 23:13:04 +02:00 |
|
Christoffer Lerno
|
2e3bbf119c
|
Lexer cleanup
|
2020-03-29 17:40:03 +02:00 |
|
Christoffer Lerno
|
7b4ed09517
|
Introduced a Lexer context, comment parsing now actually works properly. Token use in decl/ast/expr is moved to SourceRange instead. And the SourceRange used start/end, which is better than using start + len for many uses.
|
2020-01-25 17:56:17 +01:00 |
|
Christoffer Lerno
|
cdc1bfe267
|
Start using UnaryOp/PostUnaryOp ++/-- now works post/pre and also on pointers. Fix ++/-- on any number. Added examples. c3c now compiles files by default. Extended symbol resolution. Addition of 'extern'. Multi-level paths.
|
2020-01-16 21:28:13 +01:00 |
|
Christoffer Lerno
|
946ca18cee
|
Support for subscripts. Added helloworld.
|
2019-12-11 17:22:48 +01:00 |
|
Christoffer Lerno
|
990918b609
|
LLVM Codegen
|
2019-11-20 17:09:25 +01:00 |
|
Christoffer Lerno
|
2eb91083a6
|
Refactor type handling, some extremely simple codegen, but mostly work on casts (not finished)
|
2019-09-01 01:58:21 +02:00 |
|
Christoffer Lerno
|
ebce81ad51
|
Parses most of C3.
|
2019-08-25 08:40:07 +02:00 |
|
Christoffer Lerno
|
33770b905d
|
Added decorator keyword and reordered types
|
2019-08-02 14:42:22 +02:00 |
|
Christoffer Lerno
|
386ef35f36
|
Started a bit on parsing. Picking pieces from Titanos and trying to do things better.
|
2019-07-31 23:19:45 +02:00 |
|
Christoffer Lerno
|
8f611a400d
|
Lexing up and running.
|
2019-07-27 17:20:31 +02:00 |
|
Christoffer Lerno
|
7439dccc53
|
Add a little testing and keyword parsing x2
|
2019-07-25 18:57:35 +02:00 |
|