Koala Compiler

XT -- A Bundle of Program Transformation Tools



The Koala-compiler package forms an Open Source implementation of Koala. It is independent of the official Koala compiler as developed by Philips Research. The package provides an open compiler implementation that can be used for research and for education purposes.

Koala is a component definition language used by Philips consumer electroniccs to model components (as C modules), composition (as C compilation and linking), and variability (as CPP macros and partial evaluation).

The Koala component model consists of a component language, which supports definition of:

  • interfaces (both required and provided)
  • data types
  • components
  • diversity (by means of a diversity interfaces)
  • component compositions

Component compositions consist of collections of components and wires that connect provides and requires interfaces (see picture below).


The koala-compiler package includes:

  • The Koala language definition in SDF
  • A Koala parser
  • A Koala normalizer
  • A Koala pretty-printer
  • A Koala vizualization tool
  • A backend for C (+Makefile generation). This provides the functionality of the original Philips Koala compiler
  • A backend for Source Tree Composition



  • RobVanOmmering and Frank van der Linden and Jeff Kramer and Jeff Magee. The Koala Component Model for Consumer Electronics. IEEE Software Computer, 33(3), pp. 78-85, March 2000.


Daily builds

-- MerijnDeJonge - 22 Dec 2004