Developing C compilers for new (or old) target processors just got easier, faster and more structured. Can’t wait to start developing your new code generator with SuperTest’s new Code Generator Trainer Suite? Be sure to get the SuperTest demo. The first levels are included free.

We assume that you are not writing your compiler from scratch. That you are using an existing compiler development platform, either open source or proprietary, that already has a front-end, optimizations and a more or less retargetable code generator. Your task is to write a code generator for the new target processor.

SuperTest’s new Code Generation Trainer suite (in short we call this the CGtrainer) is going to make your project run smoothly and efficiently. And on top of that, the process is going to be more fun and more interesting. Why? Because you will be experiencing total control while developing. Our CGtrainer places you in a position where you are confident that you are taking the right step at the right time.

Building up, level by level
CGtrainer consists of nearly 1000 test files, split over 25 carefully ordered levels. Each level addresses a specific capability of the code generator. For example, level 0 sets up the minimal interface that is needed to run the tests. The next levels introduce simple integer arithmetic, conversions, pointers, addressing modes for structures, register allocation, control flow and calling conventions. Beyond that are levels dealing with characters and shorts, long arithmetic and varargs.

Each level is constructed to build upon the groundwork of the previous levels. By the time you pass the final boss level, your compiler is ready to take on SuperTest’s big guns: the conformance suites that validate the front-end, optimization correctness and more nitty gritty details of code generation.

More information?
We are proud to present you CGtrainer. Developing high quality C compilers just got easier and faster. Be sure to contact us with questions and feel free to ask for your demo: Marianne Damstra, phone +31650 250 484 or

Subscribe to our monthly blog!