Kick C, in progress by
@Jesper Gravgaard.
It is the most impressive work I've seen in years. If your code is well written, it generates FAST code that I've never seen. His methods of SSA and code optimizations is something I've never seen in a compiler for the 6502 family.
That being said ...
It has a steep learning curve. Not the language of course, which is C, but learning how to witte you code so that your xode becomes optimal. So looking at the generated assembler is how you learn how to apply the most ideal language constructs. And that is where people struggle...
The compiler works with a fragment system that contains hundreds, if not thousands, of 6502 assembler code snippets that are used to generate the assembler.
It has taken me about a year to come to this result. I've helped Jesper to write many fragments that were missing.
Fragments are needed as a result of missing combinations of C code constructs. For example a fragment that implements how to assign an char element in a struct indirected by a constant pointer with variable offset from a byte in memory, assigned from a signed byte indirected by a constant offset from a variable pointer through zero page.
It takes time to learn the compiler and how to use it. It is not perfect yet. It had defects and its error messaging is good but incomplete. Sometimes the compiler will crash and it will take you about 3 weeks to find out why it is crashing.
Of course I've also downloaded the code from github and now I'm at a level where I can debug and correct the compiler code where needed.
But besides all that, the result is there.
Through its users this environment will become better. Users like me who persevere. Jesper had been helping me in the background with bugs and also writing certain fragments.
I've been debugging his code of the compiler to find crashes and intercepting the exceptions to get meaningful error messages and to know WHERE it complains in your code.
But the core of his compiler is solid.
If your are interested we can setup a discord session and I'll explain you my current environment. Or I'll record a video how to use it ...
I am working from a fork from his compiler and have written lots of code for the CX16 as libraries for use by others.
Vera library, heap, banking... etc ...
Let me know if you're interested in this offer. Jesper is a bit offline now due to his personal obligations but I can help you a lot getting you started if you want. On discord.