The GNU Modula-2 compiler is one of a number of front end languages to GCC (the GNU Compiler Collection). As such, it has been designed to coexist with other GCC languages. For example, it can be used in mixed language projects and it can catch C++ exceptions and throw exceptions which can be caught by C++. Users can also exploit conditional compilation and full gcc backend optimization and architecture coverage. GNU Modula-2 can produce position independent code and can easily produce shared libraries from modules. The compiler provides a swig interface file generator option, which allows scripting languages such as Python to import modules written in Modula-2 and also catch exceptions thrown by Modula-2. The compiler translates PIM2, PIM3, PIM4, and ISO dialects of Modula-2.
Gcmc is a front-end language for generating G-code, SVG, and DXF for CNC mills, lathes, laser cutters, and other numerically controlled machines employing G-code, SVG, or DXF. The language is a context-free grammar created to overcome the archaic format of G-code programming, but can be used more generally for many targets. Gcmc aims to be more readable and understandable than G-code and enable programmatic designing. Gcmc makes extensive use of vector mathematics to support the 3D nature of CNC machining. It handles units as millimeters, mils (inch), degrees, and radians and performs automatic conversions where necessary.