Spoofax 2.1.0

Spoofax 2.1 improves on Spoofax 2.0 with several bug fixes, an implementation of syntactic completions based on SDF3, and addition of the DynSem dynamic semantics specification meta-language.

See the corresponding migration guide for migrating from Spoofax 2.0 to Spoofax 2.1.

Downloads

Eclipse plugin

Update site

IntelliJ plugin

Command-line utilities

Core API

  • Spoofax Core uber JAR
  • Spoofax Core uber Maven artifact: org.metaborg:org.metaborg.spoofax.core.uber:2.1.0

Maven artifacts

Maven artifacts can be found on our artifact server. The Maven version used for this release is 2.1.0. See the instructions on using MetaBorg Maven artifacts for more information.

Changes

Syntactic Completions

Spoofax now has support for syntactic completions. Syntactic completions are generated automatically from an SDF3 specification. New projects using SDF3 automatically support syntactic completions. Existing projects need to make a few changes, documented in the migration guide.

DynSem

DynSem is a DSL for concise and modular specification of dynamic semantics of programming languages. Fully functional interpreters are automatically derived from dynamic semantics specifications. For more information about DynSem, see the following sources:

While DynSem was included in Spoofax 2.0.0, we did not advertise this as it was still under heavy development. Since 2.0.0, the following major improvements were made:

  1. Redesigned semantic component and explication subsystem
  2. Support for tuples
  3. Updated tutorial for SIMPL
  4. Added support for unit testing and continuous integration of generated interpreters