Projects / GCC-MELT

GCC-MELT

GCC-MELT is a high-level domain specific language that eases the development of plugin-like extensions for GCC, the Gnu Compiler Collection. These extensions can analyze or modify GCC internal representations, and can be used for static source code analysis, refactoring, specific warnings, optimizations, etc. The MELT language provides high-level features. Notably, MELT code is translated to C, and can even contain C code. It includes powerful pattern matching facilities and can manipulate dynamically typed values and raw GCC structures. It enables functional/applicative, object-oriented, reflective programming styles and has a familiar Lisp-like syntax.

Tags
Licenses
Operating Systems
Implementation

RSS Recent releases

  •  12 Apr 2012 22:13

    Release Notes: The MELT plugin is available for GCC 4.6 and 4.7. Small MELT language improvement (macro-string syntax). Runtime improvements: handles SIGIO Unix signals with asynchronous input channels (experimental feature), and can be compiled with C++ (like GCC 4.7 often is). Library improvements: many more matchers and much more generated documentation to interface with GCC internals.

    •  04 Mar 2012 19:53

      Release Notes: Several enhancements and bugfixes.

      •  27 Jan 2012 23:03

        Release Notes: Language improvements. The ability to define a named value with the (DEFINE <name<expr>) construct. More support, notably for Gimple & Tree. More cmatchers, etc. have been added. Runtime improvements. Generation of timestamping C file foo+melttime.h included from generated descriptor file foo+meltdesc.c from foo.melt. Numerous bugfixes.

        •  14 Dec 2011 02:15

          Release Notes: This release adds bugfixes and several new features: cloning of values, debugging closures, walking of SSA use-def chains, more support for Gimple and Tree, new MELT hooks for PLUGIN_FINISH_TYPE and PLUGIN_FINISH_DECL, new MELT hooks for other GCC plugin events, more runtime code generation, and additional translating MELT modes.

          •  24 Oct 2011 22:51

            Release Notes: This release features variadic MELT functions, a variadic (DEBUG ...) macro, and variadic ADD2OUT functions. There are bugfixes and other improvements.

            Screenshot

            Project Spotlight

            BitNami Review Board Stack

            An easy-to-install distribution of Review Board.

            Screenshot

            Project Spotlight

            white_dune

            A graphical VRML97 editor, simple 3D modeller, and animation tool.