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.
Premade Eclipse installations¶
With embedded JRE:
- Windows 32-bits, embedded JRE
- Windows 64-bits, embedded JRE
- Linux 32-bits, embedded JRE
- Linux 64-bits, embedded JRE
- macOS, embedded JRE
Without embedded JRE:
- IntelliJ update site:
- IntelliJ update site archive
- Spoofax Core uber JAR
- Spoofax Core uber Maven artifact:
- 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.
- 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.tblin the ESV file when using the new parse table generator.
- Added the new (experimental) SGLR parser implementation JSGLR2.