The NewCompiler is a Smalltalk-to-Bytecode compiler for Squeak.

  • Support for full block closures (optional)
  • Easy to understand and modify
  • Based on the AST of the Refactoring Engine
  • Retargable Backend
  • SmaCC based Parser

Users of NewCompiler

The NewCompiler has been used in a number of projects:

  • ByteSurgeon — Runtime Bytecode Transformation for Smalltalk
  • ChangeBoxes — Modeling Change as a first-class entity
  • Reflectivity — Persephone, Geppetto and the rest.
  • AOStASqueak — an experimental port of AOStA to Squeak
  • Babel - Scripting Language Experiments for Squeak
  • ThothCompiler — Enabling the Parser of the NewCompiler to be used in an up-to-date (10/2009) Pharo image.
  • Helvetia — Context Specific Languages with Homogeneous Tool Integration

Ready to run image (Version 290):

To install the code in an existing image (Pharo 0.1, #10244):

  • Load package NewCompilerLoader from SqueakSource
  • install using NewCompilerLoader new loadPackages or, alternatively, load all required packages by hand:
  • Load package SmaCC from SqueakSource
  • Load package AST from SqueakSource
  • Load package NewParser from SqueakSource
  • Load package NewCompiler from SqueakSource
  • recompile the image using class Recompiler


  • Main Contact: Marcus Denker
  • The NewCompiler Mailinglist is You can use the Mailman web interface to subscribe.
  • For reporting bugs, please use the bug tracker.
  • People: Anthony Hannan (original Author), Marcus Denker, Mathieu Suen, Jorge Ressia...
Last changed by admin on 21 April 2009