When: 2010-10-21 09:00-12:00
Where: LTH, E-huset, Room 1408
Today, domain-specific languages (DSLs) are often implemented with the help of parser generators, e.g., ANTLR, JavaCC, or CUP, and by using the visitor design pattern to program semantics. While these tools help substantially, there is new research that takes you further, using object-orientation, aspect-orientation, and declarative programming.
In this hands-on session, we will introduce the JastAdd system, and how it can be used to implement DSLs declaratively. The advantages are that you get more high-level, concise, and extensible DSL implementations. JastAdd is open source, and is developed at LTH.
We will illustrate the approach by implementing a small DSL together, so preferably bring your own laptop with a WLAN connection.
While we will focus on small DSLs in this session, JastAdd is powerful enough to implement complete programming languages. It has been used to develop extensible compilers for complex languages like Java and Modelica, and is used in many research and development projects. See http://jastadd.org.
Görel Hedin is an associate professor at Lund University. She has developed the JastAdd system with her PhD students. Other interests include object-oriented programming and agile methodology.
Emma Söderberg is a PhD student working on various aspects of the JastAdd system, including IDE development, data-flow analysis, and optimization of JastAdd performance.
Number of particpants: Max 20. First come, first served.