cgen offers a simple abstract syntax tree for C and related languages
(C++/CUDA/OpenCL) to allow structured code generation from Python.

cgen can be used to generate C code programmatically, which is useful for:
- Code generators
- Domain-specific language compilers
- High-performance computing applications
- GPU kernel generation (CUDA/OpenCL)

To represent mathematical expressions, cgen can be used with pymbolic.
