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:

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!
Description
Languages
C 100%