how to install 2.3m6? › 2012 › sites › eclipsecon.org... · 2017-12-06 · • xcore: ecore...

26
How To Install 2.3M6? Grab one of the USB keys Install the Eclipse SDK for your platform Choose File > New > Example... > Eclipse Con 2012 - Xtext Tutorial Mittwoch, 28. März 12

Upload: others

Post on 03-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

How To Install 2.3M6?

• Grab one of the USB keys

• Install the Eclipse SDK for your platform

• Choose File > New > Example... > Eclipse Con 2012 - Xtext Tutorial

Mittwoch, 28. März 12

DSLS FOR JAVA DEVELOPERS Sebastian Zarnekow - Jan Köhnlein

(c) itemis - Licensed under EPL

Mittwoch, 28. März 12

@ ECLIPSECON 2012

Tomorrow

• DESAGN - A DSL for engineer-to-orderEsa Ryhänen and Martin Nilsson - ERules; AB Sandvik Coromant

• Domain Specific LanguagesSven Efftinge - itemis

• Spraying - a quick way to create GraphitisKarsten Thoms - itemis

• Xtext success story at GoogleAlex Ruiz - Google

• Bringing the power of Eclipse to Digital Hardware designersHendrik Eeckhaut - Sigasi

• A Fresh Look at Graphical EditingJan Köhnlein - itemis

Mittwoch, 28. März 12

EVEN MORE

Wednesday

• e(fx)clipse - Eclipse Tooling and Runtime for JavaFX Tom Schindl - bestsolution.at

• Program, thou shalt behave!Birgit Engelmann and Sebastian Benz - BMW Car IT

• Win Friends and Influence People... with DSLsVladimir Bacvanski and LloydMangnall - SciSpike; VHA, Inc.

• Xcore: Ecore Meets XtextEd Merks - itemis

Thursday

• Eclipse Xtend - A Language Made For Java DevelopersSven Efftinge - itemis

• Xtext - Best PracticesSebastian Zarnekow - itemis

Mittwoch, 28. März 12

meta

OUTLINE

Outline

(1) Create a DSL using Xtext

(2) Make your DSL refer to Java

(3) Get acquainted with the JVM model

(4) Map your DSL to Java using Xtend

(5) Add expressions to your DSL

Mittwoch, 28. März 12

DSLs for Java Developers?import java.util.*package hello.world { entity Person { firstName: String lastName: String friends: List<Person>

op getFullName() : String { firstName + ' ' + lastName } op sortedFriends() : List<Person> { friends.sortBy [p | p.fullName] } } }

Mittwoch, 28. März 12

JavaDSL

• Use Java’s type system• Use Java libraries, frameworks and code

• Integrate DSL code into Java application• Execute DSL on JVM

DSLs for Java Developers?

Mittwoch, 28. März 12

DSL

.classFileAST

Type Model

.javaFile

Infrastructure

(point to)

for

Mittwoch, 28. März 12

Inferred Java Types

DSL

.classFile

.javaFile

AST

Mittwoch, 28. März 12

DSL .javaFile

.classFile

.javaFile

Mittwoch, 28. März 12

OUTLINE

(1) Create a DSL using Xtext

(2) Make your DSL refer to Java

(3) Get acquainted with the JVM model

(4) Map your DSL to Java using Xtend

(5) Add expressions to your DSL

Mittwoch, 28. März 12

DSL .javaFile

.classFile

.javaFile

Mittwoch, 28. März 12

DSL .javaFile

.classFile

.javaFile

import types.*

package tutorial { entity Person { firstName: String lastName: String } }

package types { type String}

EXERCISE #1

Mittwoch, 28. März 12

OUTLINE

(1) Create a DSL using Xtext

(2) Make your DSL refer to Java

(3) Get acquainted with the JVM model

(4) Map your DSL to Java using Xtend

(5) Add expressions to your DSL

Mittwoch, 28. März 12

DSL .javaFile

.classFile

.javaFile

Mittwoch, 28. März 12

DSL .javaFile

.classFile

.javaFile

import java.util.*

package tutorial { entity Person { firstName: String lastName: String birthday: Date } }

EXERCISE #2

Mittwoch, 28. März 12

OUTLINE

(1) Create a DSL using Xtext

(2) Make your DSL refer to Java

(3) Get acquainted with the JVM model

(4) Map your DSL to Java using Xtend

(5) Add expressions to your DSL

Mittwoch, 28. März 12

DSL .javaFile

.classFile

.javaFile

Mittwoch, 28. März 12

DSL .javaFile

.classFile

.javaFile

•Get familiar with the JVM model•Learn about the JvmTypesBuilder•Use Xtend to create a JVM model

EXERCISE #3

Mittwoch, 28. März 12

OUTLINE

(1) Create a DSL using Xtext

(2) Make your DSL refer to Java

(3) Get acquainted with the JVM model

(4) Map your DSL to Java using Xtend

(5) Add expressions to your DSL

Mittwoch, 28. März 12

DSL .javaFile

.classFile

.javaFile

Mittwoch, 28. März 12

DSL .javaFile

.classFile

.javaFile

Map your DSL to Java!

EXERCISE #4

Mittwoch, 28. März 12

OUTLINE

(1) Create a DSL using Xtext

(2) Make your DSL refer to Java

(3) Get acquainted with the JVM model

(4) Map your DSL to Java using Xtend

(5) Add expressions to your DSL

Mittwoch, 28. März 12

DSL .javaFile

.classFile

.javaFile

Mittwoch, 28. März 12

DSL .javaFile

.classFile

.javaFile

import java.util.*package hello.world { entity Person { firstName: String lastName: String friends: List<Person>

op getFullName() : String { firstName + ' ' + lastName } op sortedFriends() : List<Person> { friends.sortBy [p | p.fullName] } } }

EXERCISE #5

Mittwoch, 28. März 12

Mittwoch, 28. März 12