ACC

ACC is the official ACS compiler.

Download

GitHub

Caveats

Local variable names can conflict with global names

#define SOMENAME1 1
int somename2 = 2;
function void somename3(void) {}
function f(int somename1) // ERROR
{
int somename2; // ERROR
int somename3; // ERROR
}

Local variables can't have the same names as any global names (function, constant, variable names). Unlike other compilers, local variable names don't shadow the global names, but trigger a compiler error.

(void) is mandatory

function void f(void) {} // OK
function void g() {} // ERROR

For some reason, writing (void) for empty argument list is mandatory.

No "fixed" type

There is no type called fixed in ACC. Only int, bool and str.