Skip to content

Spoofax 2.1.0 (10-01-2017)

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 <2.1.0-migration-guide> for migrating from Spoofax 2.0 to Spoofax 2.1.

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 <new-completion-framework-migration-guide>{.interpreted-text role="ref"}.

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:

  • Paper
  • Documentation <dynsem-index>
  • Getting started tutorial <dynsem-getting-started>{.interpreted-text role="ref"}
  • Example language

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 <dynsem-getting-started>{.interpreted-text role="ref"}
  4. Added support for unit testing and continuous integration of generated interpreters <dynsem-ci>{.interpreted-text role="ref"}

Last update: October 17, 2024
Created: October 17, 2024