Assignment No. 3 SLP 2011

Navigation

The SLP course

Lab dates / deadlines

  • May 26, 2011: Sketch solution
  • June 7, 2011: Present solution

Title

DSL implementation

Instructions

Implement a DSL with a language or system of your choice.

  • You can use any DSL you like.
  • Make an effort to present the specifics of the chosen language or system.
  • In particular, clarify how the language or system is helpful in implementing DSLs.
  • Make sure to exercise some non-trivial aspect of DSL implementation, e.g., the use of metaprogramming.

You can use any DSL you like, but here is a proposal in case you need one. That is, you could cover a DSL for finite state machines (FSMs) with aspects as follows: a textual syntax, a visual syntax, a fluent API, a check for determinism and unreachable state, a simulator that tries to accept some input stream with the FSM, code generation for graphviz/dot or Java. A good solution should engage in some form of metaprogramming.

References

Try to drill into one of languages or systems that are mentioned below.

Please send an email once you have picked a language or system so that conflicts are avoided.

Names are listed for some options—-meaning that some students have already picked an option.

Languages / language extensions for metaprogramming

Metaprogramming systems

Other(s)

Further reading