25 lines
1.5 KiB
Markdown
25 lines
1.5 KiB
Markdown
# 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! |