The document discusses the Spoofax language workbench, which allows for integrated development environments to be defined along with domain-specific languages. It enables language definitions to specify transformations for parsing, static analysis, model-to-model transformations, code generation, and editor services like syntax highlighting and error marking. This is done through declarative syntax definitions and rewriting rules, aiming to make language development and IDE creation cheaper and more unified.
15. Syntax definition
Static semantics
Model-to-model transformation Language
Code generation workbenches
Syntactic Editor Services [Fowler ’05]
Semantic Editor Services
how can we make these things cheaply?
17. Holy Grail of Software Language Definition
Automatically derive efficient,
scalable, incremental compiler +
usable IDE from high-level,
declarative language
definition
47. Conclusion
• Co-evolution of language and IDE
• Pure and declarative syntax definition
• Language definition by transformation
• www.spoofax.org: papers, tour, download