slcc/README.md

1.3 KiB

slcc

SecureLang C Compiler

History & License

The compiler is based on my years-old and heavily-extended fork of LICE with DECUS C preprocessor added, making for a completely "public domain" self-hosting compiler with some additional language extensions. The compiler 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.

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!