Skip to content

Spoofax 2.2.0 (18-04-2017)

Spoofax 2.2 improves on Spoofax 2.1 with a new NaBL2 constraint solver which is optimised for performance, improved progress reporting and cancellation in Eclipse, an experimental replacement for sdf2table which fixes several long-standing bugs, improvements to the core API, and several bug fixes.

See the corresponding migration guide <2.2.0-migration-guide> for migrating from Spoofax 2.1 to Spoofax 2.2.

Changes

Overall

  • The deprecated libraries and files from Spoofax 2.1.0 have been removed. If you have not done so yet, follow the Spoofax 2.1.0 migration guide <2.1.0-migration-guide>{.interpreted-text role="ref"} to migrate your project to the new Spoofax library.

Core API

Eclipse

  • Upgrade: Eclipse Neon (4.6) is now required.
  • Improve: Added several switches to the Spoofax (meta) menu for disabling analyses and builds, to improve usability in cases where these operations are very slow.
  • Improve: Bind new progress reporting and cancellation in core to Eclipse progress monitors, enabling reporting of builds and cancellation of analysis.
  • Fix: Fix cancellation not being propagated in SubMonitors, preventing cancellation from working in many places.

SDF3

  • Feature: Re-implemented the parse table generator in Java, removing the dependency on a platform-specific sdf2table binary, and fixing several long-standing bugs. This implementation is still being tested, it is therefore only enabled after opt-in. To enable the new implementation, set the following option in your metaborg.yaml file:
language:
  sdf:
    sdf2table: java
  • Improve: Moved the placeholder and pretty-print options in the metaborg.yaml file to be under language.sdf, as in:
language:
  sdf:
    placeholder:
      prefix: "[["
      suffix: "]]"
    pretty-print: LangName

NaBL2

  • Improve: Introduces a new solver implementation with improved performance.
  • Improve: Introduces separate signature sections for constructors, relations, and functions.
  • Deprecate: The types signature, which will be removed in the next release.

SPT

  • Fix: Several origin tracking issues related to section markers.

DynSem

  • Fix: Analysis crashes on empty rules sections (#161)
  • Improve: Support for abrupt termination: automatic expansion and propagation of read-write semantic components with default values
  • Improve: Analysis performance improvements

Downloads

Eclipse plugin

Premade Eclipse installations

With embedded JRE:

Without embedded JRE:

Update site

  • Eclipse update site: https://artifacts.metaborg.org/content/unzip/releases-unzipped/org/metaborg/org.metaborg.spoofax.eclipse.updatesite/2.2.0/org.metaborg.spoofax.eclipse.updatesite-2.2.0-assembly.zip-unzip/
  • Eclipse update site archive

IntelliJ plugin

  • IntelliJ update site: https://artifacts.metaborg.org/service/local/artifact/maven/redirect?r=releases&g=org.metaborg&a=org.metaborg.intellij.dist&p=zip&v=2.2.0
  • 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.2.0

StrategoXT

Maven artifacts

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


Last update: 2021-11-15
Back to top