====== ACC ======
* **[[https://github.com/rheit/acc/|GitHub]]**
* **[[https://zdoom.org/downloads|Download]]**
ACC is the official ACS compiler.
===== 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 respective 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 lists is mandatory, unlike other compilers.
==== No "fixed" type ====
There is no type called ''fixed'' in ACC. Only ''int'', ''bool'' and ''str''.