Some features of CGCC
If it works in C or C99 give it a try in CGCC
See the original posting for more info on what CGCC is
Link: Original CGCC Post
This page should give some examples of the capabilities that CGCC already supports.
C Style comments
Multiline block comments can be used to comment out large sections of GCode
Declare functions with return values
Evaluate expressions inside GCode
#Include is supported
Useful for making libraries of functions in header files and including them in your GCode programs.
Assignment from native GCode numbered variables
This is useful in probing operations
Directly Emit GCode with the __gcode__ keyword
Useful if you run into a situation where CGCC doesn't handle exactly what you need. You can just emit the correct GCode manually.
The const keyword to declare constants
Compiler detects the use of uninitialized variables
Compiler detects use of undeclared variables
Postfix Increment and Decrement
If else statements