Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Spoofax Language Workbench Rules for Declarative specification of language and IDEs Lennart C. L. Kats and Eelco Visser Delft University of Technology.

Similar presentations


Presentation on theme: "The Spoofax Language Workbench Rules for Declarative specification of language and IDEs Lennart C. L. Kats and Eelco Visser Delft University of Technology."— Presentation transcript:

1 The Spoofax Language Workbench Rules for Declarative specification of language and IDEs Lennart C. L. Kats and Eelco Visser Delft University of Technology Presented by: Samta Garg MEng (ECE) CISC 836: Models in Software Development: Methods, Techniques and Tools

2 Evolution of Software Engineering High level languages reduced the gap b/w problem and solution Domain specific Languages further reduced the gap b/w problem and implementation

3 Making langugages should be cheap

4 How can we make these things cheaply? Syntax definition Static semantics Model-to-model transformation Code generation Syntactic Editor Services Semantic Editor Services } Language Workbenches (Fowler ‘05) http://martinfowler.com/articles/languageWorkbench.html Fowler described that language workbenches greatly increase the cost effectiveness of developing a new language, perhaps even to the point that they can be developed for a single application as sometimes strived for in language-oriented programming.

5 Martin Fowler says: I use Language Oriented Programming to mean the general style of development which operates about the idea of building software around of a set of DSLs. I use Language Workbench as a generic term for this new breed of tools. It is one way to do language oriented programming http://martinfowler.com/articles/languageWorkbench.html

6 The Spoofax Language Workbench It is an integrated environment for the specification of languages with IDE support in Eclipse It supports language definition with declarative domain specific languages It enables efficient, agile development of software languages. SDF is used for supporting language extensions and embeddings Stratego is a transformation language which supports analysis, transformation, and code generation

7 For the definition of generic IDE components

8 Syntactic Editor Services Syntax highlighting Code folding Outline view Bracket highlighting and insertion Syntax completion

9 SDF: Declarative Syntax Definition

10 Content Completion

11 Semantic Analysis Stratego ( Error Markings) Desugaring (Simplify abstract representation) Reporting Warnings (Transformational process) Code Generation

12 Stratego: Rewriting Language Error Markings with Rewrite Rules

13 Code Generation with Rewrite Rules

14 Conclusion

15 Positive Points Improvements Comparison to similar tools Coherent flow Future work is explanatory Impactful Conclusion Practical comparison based on performance and precision is not included Error marking is tedious

16 Demo time


Download ppt "The Spoofax Language Workbench Rules for Declarative specification of language and IDEs Lennart C. L. Kats and Eelco Visser Delft University of Technology."

Similar presentations


Ads by Google