Added operator overloading to my C+ compiler. Most binary and unary operators as well as assignment operators can be overloaded. And a funky feature: '.' and '->' can also be overloaded, so 'int a = b.c;' can be converted to a call like 'int a = operator.(b, "c");'. Probably not very useful, but interesting enough to try.

I also implemented some missing C features, so it will now compile most of C. In order to see how it performs on code I didn't write myself, I tried compiling an open source C project, Zydis (https://zydis.re/), an assembly/disassembly library with a size of about 25kLOC, and I was able to compile the whole project succesfully! I had to write a build script by hand, but after some messing around it was also possible to let CMake generate makefiles that use my compiler, so it is getting closer to be used as a drop-in replacement.