Chapter 10. Creating a professional UI for a DSL

 

In this chapter

  • Creating an IDE for your DSL
  • Integrating an IDE into your application
  • Displaying DSL execution
  • DSL code generation

We’ve talked about building DSLs, structuring them, adding advanced language options to them, integrating them into our applications, creating unit tests, and even creating test languages. We even looked at versioning them after they were in production. We can create working DSLs, and quite useful ones, but creating a professional-level DSL takes a bit more. Sometimes it takes a lot more.

A professional DSL is composed of more than the language’s code; it also includes the DSL environment, the tools that are provided, and the overall experience of using it. That generally means some sort of an IDE, and it also means a greater investment in the tooling that you provide.

The IDE is usually the least of your worries. It’s the overall tooling that should concern you. For simple DSLs, you can get away with editing the language in Notepad, and managing everything on your own. For more complex DSLs, you have to provide additional tool support to make the DSL easier to use.

10.1. Creating an IDE for a DSL

10.2. Integrating an IDE with a DSL application

10.3. Creating a graphical representation for a textual DSL

10.4. DSL code generation

10.5. Handling errors and warnings

10.6. Summary