dsl engineering with
play

DSL Engineering with Sven Efftinge - itemis.com DOMAIN-SPECIFIC - PowerPoint PPT Presentation

DSL Engineering with Sven Efftinge - itemis.com DOMAIN-SPECIFIC LANGUAGE A Domain Specific Language (DSL) is a computer programming language focused on a particular domain. Why DSLs? Software is eating the world! Abstractions!


  1. DSL Engineering 
 with Sven Efftinge - itemis.com

  2. DOMAIN-SPECIFIC LANGUAGE A Domain Specific Language (DSL) is a computer programming language focused on a particular domain.

  3. Why DSLs? • Software is eating the world! • Abstractions! • Better maintainability • Work more closely with business people

  4. What’s needed for a DSL? Parser Lexer Abstract Syntax Tree Interpreter Code Generator Type Checker Validation Linker Type Inference Engine

  5. IDE features syntax highlighting rename refactoring content assist quick fixes validation type hierarchy mark occurrences call hierarchy match braces debugging toggle comment outline smart editing folding formatting smart word navigation find references expand selection goto declaration dirty state management goto implementation organize imports hover information templates

  6. Language Engineering Framework Grammar-Driven (Single Sourcing) Proven Compiler Architecture Great Defaults Flexible (Dependency Injection) Supports Multiple Platforms Continous Integration 
 (Maven & Gradle)

  7. Histor y … June, 2010 June, 2011 June, 2009 Version 1.0 Version 2.0 Version 0.7 May 2008 March 2010 Award: Most Innovative Project first commit

  8. Yesterday! May, 2014 June, 2012 Sep, 2014 Version 2.9 Version 2.6 Version 2.3 (Xbase) Version 2.7 May, 2015 XtextCon March 2013 December 2013 May, 2014 March, 2015 Version 2.4 Version 2.5 XtextCON Version 2.8

  9. Total 5.747.523 Lines Of Code 27.539 occurrences of @Test

  10. DEMO

  11. Beyond Simple Text

  12. Sirius & Xtext

  13. forms with embedded editors

  14. decision tables formatted

  15. Graphical Views

  16. Users Users

  17. www.xtext.org

Recommend


More recommend