# slcc SecureLang C Compiler ## History & License The compiler is based on my years-old and heavily-extended fork of LICE with the addition of DECUS C preprocessor and a `cc` command-line frontend, making for a completely public domain C compiler (excluding binutils and make tools, for now). The compiler is still far from perfect but is starting to stabilise and can compile itself and a few other programs. The compiler source code is distributed with a copy of the UNLICENSE, as per LICE, but the DECUS C preprocessor public domain attribution can be checked separately (and the compiler can be built in more stripped-down forms). New features such as the RV64 backend, object-oriented extensions and command-line frontend have been written by myself (but are mixed in with the LICE code), and the rest has been heavily refactored to match. Historical links: * https://github.com/ZYSF/ZNCC * https://github.com/dorktype/LICE * https://www.google.com/search?q=decus+c+preprocessor+public+domain ## Language Extensions * High level `@[a,r,r,a,y]` constructors can be used for typesafe vararg functions (experimental!) * Supports simple `@interface`, `@implementation` and `[object messageWithArgument: x andArgument: y]` syntax ## Limitations * Number support is still broken in places so the compiler shouldn't be treated as reliable except in well-tested cases * Complex use of global variables and initialisers should be kept to a minimum, or else you will encounter compiler bugs!