Skip to content

Spoofax 2.3.0 (29-09-2017)

Spoofax 2.3 fixes several minor bugs, upgrades to the latest Eclipse and Java versions, includes improvements to SDF3 and NaBL2, and introduces experimental parse table generation and parsing features.



  • Improvement: made NaBL2 the default static semantics language.
  • Improvement: put deprecated markers on NaBL+TS and Stratego as static semantics languages, and SDF2 as syntax language.
  • Improvement: allow configuration of source folders in metaborg.yaml.
  • Improvement: allow multiple languages in source and export entries.
  • Improvement: add dynsem as a compile dependency to newly generated languages.

Language specification build

  • Fix: occasional NPEs when the build failed.
  • Fix: hidden dependency error when building Stratego concrete syntax extensions.

Eclipse plugin

  • Improvement: updated Eclipse instance generator to generate Eclipse Oxygen instances.
  • Improvement: updated Eclipse instance generator to include JDK 8u144b01.
  • Improvement: do not reanalyze already analyzed files when opening an editor.
  • Improvement: use a default configuration if metaborg.yaml is not present.


  • Improvement: extended Stratego API to query reference resolution.
  • Improvement: add ? and + operators to regexp syntax for path well-formedness.
  • Fix: regexp normalization was only one level deep.
  • Fix: non-termination in name resolution in the cases of a direct cycle between a scope.
  • Update: conform to latest DynSem version.
  • Fix: support all Stratego constructor and sort names, by allowing dashes and single quotes in sort and constructor names.
  • Fix: do not crash if dynsem properties file is missing.


  • Improvement: more stable SDF3 parser generator.
  • Improvement: new parenthesizer that considers deep priority conflicts.
  • Improvement: (experimental) support for lazy parse table generation, where the parse table is generated on-the-fly by the parser.
  • Fix: bug in the SDF3 normalizer for groups of priorities outside of a chain.
  • Fix: added support for generating the parse table from a \"permissive\" grammar
  • Fix: not necessary to specify the parse table as sdf-new.tbl in the ESV file when using the new parse table generator.


  • Added the new (experimental) SGLR parser implementation JSGLR2.


Eclipse plugin

Premade Eclipse installations

With embedded JRE:

Without embedded JRE:

Update site

  • Eclipse update site:
  • Eclipse update site archive

IntelliJ plugin

  • IntelliJ update site:
  • IntelliJ update site archive

Command-line utilities

Core API

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


Maven artifacts

Maven artifacts can be found on our artifact server. The Maven version used for this release is 2.3.0.

Last update: May 31, 2024
Created: May 31, 2024