Christoffer Lerno
|
dd8b850544
|
Support for "static" keyword.
|
2021-05-30 16:30:16 +02:00 |
|
Christoffer Lerno
|
fc31c15914
|
Updated cast syntax in code samples.
|
2021-05-18 17:23:27 +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
|
1d50beb330
|
Work on constant string and inferred array sizes.
|
2021-02-03 23:01:37 +01:00 |
|
Christoffer Lerno
|
4f064e7da2
|
Initial checkin of docs parsing. char is now unsigned, and signed char is "ichar".
|
2021-01-29 18:46:17 +01:00 |
|
Christoffer Lerno
|
26d25e3f74
|
Recursive references between globals are now correctly handled.
|
2021-01-27 00:14:16 +01:00 |
|
Christoffer Lerno
|
3a24fbfa6d
|
Moved examples around. Updated (and corrected) const initialization. Removed "in" keyword. Added "member" attribute domain. Many fixes in struct padding and alignment and tests. Fixed extern global.
|
2021-01-24 00:55:09 +01:00 |
|
Christoffer Lerno
|
3c15e495dd
|
Add macro arguments &foo $foo #foo.
C ABI compatibility aarch64, win64, x86, x64
Added debug info
|
2020-11-22 22:16:19 +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
|
34c7df9ee1
|
Fixed multi line error reporting for tokens. Handle infinite empty for loops. Changed cast syntax to "cast(foo as Foo)". Completed enum casts. Added more tests.
|
2020-07-25 21:54:32 +02:00 |
|
Christoffer Lerno
|
dc86c21210
|
New failable based error handling. Labelled break/continue/next.
|
2020-07-09 13:07:08 +02:00 |
|
Christoffer Lerno
|
a6a4136685
|
Updated examples and grammar for big error change.
|
2020-06-17 18:19:00 +02:00 |
|
Christoffer Lerno
|
50c36789bf
|
Fixes bug handling chained && ||. Work towards more macro functionality. Correctly emit stdcall. Corrected character parsing in escaped string entries.
|
2020-06-11 15:45:58 +02:00 |
|
Christoffer Lerno
|
f4b4bab947
|
Restructuring the parser & split parser into parts. Parsing more constructs now, like enums with extended syntax. Corrected handling of function block to be an expression. Added expression block codegen.
|
2020-03-29 17:40:42 +02:00 |
|
Christoffer Lerno
|
ebbea2ac42
|
Lookahead cleanup. Start work on throws. Fix try expressions. Beginning work on initializer. Some fixes on LLVM types. Moving more target info into C3. Moving alignment into types Introducing a meta type (incomplete). Start work on macros. Splitting '@' from macro name.
|
2020-03-29 17:39:33 +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 |
|