Aurelia is a framework for language-independant program transformation in C++. It provides:

  • A maximally shared reference counted term library
  • A generic strategic programming infrastructure, using expression templates
  • A typed term hierachy generator from a signature definition
  • A scannerless generalized LL parser generator

Aurelia is developed Bergen Language Design Laboratory.

The project is licensed in GPL-3 (see COPYING). It is hosted (visit the project page).