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

dsl engineering with
SMART_READER_LITE
LIVE PREVIEW

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!


slide-1
SLIDE 1

DSL Engineering
 with

Sven Efftinge - itemis.com

slide-2
SLIDE 2

DOMAIN-SPECIFIC LANGUAGE

A Domain Specific Language (DSL) is a computer programming language focused on a particular domain.

slide-3
SLIDE 3

Why DSLs?

  • Software is eating the world!
  • Abstractions!
  • Better maintainability
  • Work more closely with business people
slide-4
SLIDE 4

Type Inference Engine

Code Generator

Parser

Validation

Linker

Interpreter

Lexer

Abstract Syntax Tree

What’s needed for a DSL?

Type Checker

slide-5
SLIDE 5

syntax highlighting content assist validation mark occurrences match braces toggle comment smart editing formatting find references goto declaration goto implementation hover information rename refactoring quick fixes type hierarchy call hierarchy debugging

  • utline

folding smart word navigation expand selection dirty state management

  • rganize imports

templates IDE features

slide-6
SLIDE 6
slide-7
SLIDE 7

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

slide-8
SLIDE 8

first commit

May 2008

Award: Most Innovative Project

March 2010

Version 0.7

June, 2009

Version 1.0

June, 2010

History… Version 2.0

June, 2011

slide-9
SLIDE 9

Version 2.5

December 2013

Version 2.3 (Xbase)

June, 2012

Version 2.6

May, 2014

XtextCON

May, 2014

Version 2.7

Sep, 2014

Version 2.4

March 2013

Version 2.8

March, 2015

XtextCon

May, 2015

Version 2.9

Yesterday!

slide-10
SLIDE 10

Total 5.747.523 Lines Of Code 27.539 occurrences of @Test

slide-11
SLIDE 11
slide-12
SLIDE 12

DEMO

slide-13
SLIDE 13

Beyond Simple Text

slide-14
SLIDE 14

Sirius & Xtext

slide-15
SLIDE 15

forms with embedded editors

slide-16
SLIDE 16

decision tables formatted

slide-17
SLIDE 17
slide-18
SLIDE 18

Graphical Views

slide-19
SLIDE 19

Users

Users

slide-20
SLIDE 20
slide-21
SLIDE 21

www.xtext.org